I just bounced over your code quickly, but this probably won't work:
Code:
.promo { background-repeat: no-repeat; }
.promo.one { background-image: url(../img/promo_1.jpg); }
.promo.two { background-image: url(../img/promo_2.jpg); }
.promo.three { background-image: url(../img/promo_3.jpg); }
.. should be something like ..
Code:
.promo { background-repeat: no-repeat; }
.one { background-image: url(../img/promo_1.jpg); }
.two { background-image: url(../img/promo_2.jpg); }
.three { background-image: url(../img/promo_3.jpg); }
At least, I think it does; I'm guessing at what you're trying to achieve. You are adding multiple classes in your HTML — as separated by spaces — but you don't need to reference the classes you're using together in the CSS.