Как реализовать поворот background?
Конечно очень ужасный код. И почему у вас для разных браузеров разные углы поворота. Так задумано?
Взял поворот для webkit. Вот ваши ромбы
Делаете внутри дополнительный div, в котором переворачиваете в обратную сторону, а нешнему присваиваете overflow:hidden. Закрашивание так же можно реализовать дополнительным дивом, который будет "выезжать" на половину