Actually they are visible - it's just that they are white text on a white background. Also, they moving off that green background you created. That solution it not going to work (applying background image to body of page) in a responsive template - you need to use multiple background images if you want to do that sort of thing (putting the green background on the menu-block).
You can use media queries to make certain CSS apply at different viewport sizes - you might need to emply this technique for that design in order to control the positioning of things in different viewport sizes.
/* Smartphones */
@media (max-width: 480px) {
}
/* Smartphones to Tablets */
@media (min-width: 481px) and (max-width: 767px) {
}
/* Tablets */
@media (min-width: 768px) and (max-width: 959px) {
}
/* Desktop */
@media (min-width: 960px) and (max-width: 1199px) {
}
/* Large Display */
@media (min-width: 1200px) {
}
Regards, Mark.