At one point “formal” meant white-tie and ball gown, and “semi-formal” meant black tie and evening gown. But these days most people use “formal” for black-tie and evening gown because true formal events are extremely rare.
So semi-formal is kicked down a notch, too: a suit and tie for you, and a cocktail dress for her. That’s a suit, not a jacket and tie, though I bet you wouldn’t be the only one wearing a sportcoat if it’s all you’ve got. And a dark suit: black, charcoal, or maybe dark navy.
Her dress should be knee length (or maybe just a tiny bit shorter, if she wants to be daring) or almost ankle length, but not full ball-gown length. It can be fairly tight-fitting and show some skin, if she likes. And the color can be catchy; red is perfectly fine if she can pull it off. If she hasn’t got that, nice business wear or her nicest blouse-and-skirt will do.