calc(100% + 30px) Maybe you simply forgot to apply this at 50.001%?
50.001% { transform: translateX(calc( (100% + 30px) * -1) ); }