City Council candidate apologizes for offensive tweets