This happens because you have defined this: .box-width { height: 198px; This makes this box have that measure and since the photo is larger than the box, it makes the text appear above the photo.
change this: height: 198px; for this: height: auto;
This happens because you have defined this: .box-width { height: 198px; This makes this box have that measure and since the photo is larger than the box, it makes the text appear above the photo.
change this: height: 198px; for this: height: auto;