A Yagi at Site C will be more than enough. I actually prefer some of the nicer panels that are out now, as they are cheaper (with similar gain and beamwidth) and sometimes easier to place on the building.
The solid dish at Site A maybe needs a second thought - grid dishes are available at 24dBi, which would give you tolerance for more than 4dB of loss on the cable (which is all you should allow for the 21dBi dish at that distance - assuming you want the highest data rate).
If Site B can see both sites within 120 degrees, there's a new 11dBi sector antenna at a very reasonable price - it would help you avoid all of the noise that the omni would pull in.
BTW - you will need 3.5 meters clearance above the tallest obstacle between B & C, 10 meters above obstacles between A & B.
Matthew Wheeler
Chief Wireless Architect
http://www.BlueModal.com