Every inner div is given the same basic styling, and has the same background image applied to it. You need to get the background positions right, so that a whole sprite is displayed, not a part of two sprites. I never really understood how the background positioning worked until now. In the illustration, it looked like the value corresponded to the line and its length and not its position on the axis. This way, you have to define four values two keyword—number pairs in total. It takes one of three values: padding-box which is the default value, content-box and border-box.
background-position | Codrops CSS Reference
Once I did that, I lost the influence it could have on its siblings. These values do not relate specifically to the position of the top left hand corner of the background image, but rather the overall position of the background image inside the element. The four value syntax is not supported very widely across browsers. Although lengths are allowed, they are not recommended due to their inherent weakness in dealing with differing display resolutions. There is something to keep in mind when using the four-value syntax: When three or four values are given, then each percentage or length represents an offset and must be preceded by a keyword which specifies from which edge the offset is given.