Morocco beat Portugal to become first African nation in World Cup semis