If it was me in the same position (I have been in a similar confrontation in the past) I would lean into the offending person and speaking very quietly tell him / her they are not funny, you find them offensive and obnoxious, and advise them very strongly to go away before you make a point of embarrassing them in front of everyone. Be very calm, do not use offensive language but do put your point across forcefully enough to make them understand you do mean business, oh, and smile as you are doing it as that will really p#ss them off.
I do hope your mum has a smashing birthday.