I am not a CSS expert, especially when this is positioning, and I hope it will be easy to solve.
Here is my simplified HTML:
<body>
<div style="height:100%;width:100%;">
<div id="map" style="bottom:250px;height:100%;overflow:hidden;position:absolute;width:100%;">
<div id="controls" style="left:10px;position:absolute;top:10px;">
</div>
<div id="legend" style="bottom:45px;left:10px;position:absolute;">
</div>
<div id="logos" style="bottom:5px;left:10px;position:absolute;">
</div>
</div>
<div id="search" style="bottom:0;height:250px;position:absolute;width:100%;">
</div>
</div>
</body>
"Controls" do not display correctly. In fact, it does not appear at all. If I pull out "top: 10px;" style and replace it with "bottom: 400px;", it displays correctly. However, this is not what I want, since the height of the "map" div is adjusted if the user resizes the browser window. I also do not want to use JavaScript to place the div.
The separators "legend" and "logos" are both displayed correctly.
I am doing my testing in Firefox.