Without seeing the rest of your code, including the HTML, it's impossible to tell what the problem might be. There's nothing in the CSS that you posted that would be a problem. You also need to explain what the problem is in more detail. Are the elements invisible or is it just that they aren't being styled as you expect them to be?
You should be able to use a tool like Firebug for Firefox, the Web Developer Toolbar in Firefox or Chrome, or even the Developer Tools in Internet Explorer to see which CSS rules are being applied to these elements. The CSS inspection tools they include can help you diagnose the problem pretty quickly.
otherwise the last two would never be used. But there's so much overlap between the two linux families, you probably don't need both. (codestyle dot org says that if you don't have the first, there's only a 3% chance you've got the second. At least I think that's what they're saying.)
No matter what else you've got, the last item in your font stack should always be one of the generic five font families. Assuming for the sake of discussion that you've got the nerve to assemble stacks for cursive or fantasy ;)
One last suggestion, because I'm trying to read your mind I'm now thinking you didn't want all letters is CAPS but only the first letter of each word. If yes then substitute text-transform:uppercase; with font-variant:small-caps;
Assuming for the sake of discussion that you've got the nerve to assemble stacks for cursive or fantasy ;)
I eat cursive fantasy stacks for breakfast, with a spoon full of sugar and raspberries :)