The problem is likely to be due to your gallery being loaded on your web page as soon as the page is displayed but the container for the gallery not being visible/displayed until the 'Photo Gallery' tab is selected and so Juicebox (when it is loaded) cannot determine what its size should be.
Try changing your gallery's dimensions from percentages to absolute pixel values to see if this makes a difference.
If it works but you would rather keep percentage dimensions, try loading the gallery on demand (rather than when the page is initially displayed).
Change your embedding code to the following:
<!--START JUICEBOX EMBED-->
<script src="h_i_slide/jbcore/juicebox.js"></script>
<script>
function loadGallery() {
new juicebox({
containerId : "juicebox-container",
baseUrl : 'h_i_slide/',
galleryWidth: "100%",
galleryHeight: "100%",
backgroundColor: "rgba(252,242,204,100)"
});
}
</script>
<div id="juicebox-container"></div>
<!--END JUICEBOX EMBED-->
... and change line 237 from:
<li class="TabbedPanelsTab" tabindex="0"><a href="#gallery">Photo gallery</a></li>
... to:
<li class="TabbedPanelsTab" tabindex="0"><a href="#gallery" onclick="javascript: loadGallery(); return true;">Photo gallery</a></li>