I can't give you a URL because it's on an intranet, however it's a very simple, traditional CSS only horizontal menu with vertical drop downs that just happen to be very wide.
Your CSS solution has no effect.
I've come up with a jQuery solution that works, though I'm sure it could be prettier:
var marginAdjust = 100;
var parentElement = $(this).parent();
var navPosition = $(parentElement).position();
var navWidth = $(parentElement).width();
var navRight = navPosition.left+navWidth;
var position = $(this).position();
var thisWidth = $(this).children('ul').width();
var thisRight = position.left+thisWidth-marginAdjust;
if (thisRight > navWidth) $(this).children('ul').css('margin-left', navWidth-thisRight);
It requires a little adjusting because of margins etc, but otherwise that pretty much does the job. The menus now no longer go past the right hand side of the screen