Thank you for fixing the HTML errors on your page. At least we can eliminate them from the problem now.
On further investigation, the problem may not be due to global CSS.
If you load the gallery from the a menu page and the layout appears broken, try resizing the browser window and you should see the gallery redrawn and look OK.
The problem seems to be with how your theme seems to load everything on the page at once and then selectively display whatever is chosen by the user. When the Juicebox code is first run on the page, the container into which the gallery is embedded is not visible on the page at all (and Juicebox may not be able to determine what its dimensions should be until its parent container is displayed).
Try changing the gallery's width from 100% to a fixed pixel value (such as 800px) to see if this makes a difference.
Also, when the gallery's link is clicked, you could try forcing the gallery to be redrawn by using the setGallerySize() and showGallery() Juicebox-Pro API methods. (Please note that this requires Juicebox-Pro.)
However, this may be difficult to implement within a WordPress environment where the pages are created dynamically.
It would require more than just a modification of the WP-Juicebox files as the call to the API methods would have to be placed in the links to the galleries.
I hope this points you in the right direction.