Actually, the content is covered if you reduce the width of any browser.
remove #intro float attribute and instead add:
display: inline-block;
vertical-align: top;
to both #intro and .fadein
what this does is displays each block as an inline block, meaning, with space they will display horizontally and when it is reduced it will wrap; however, there is one other thing that will keep this wrapping from happening properly, that is, the relative width of #intro. Now, you can keep this, but also add:
min-width: someWidthInReaUnits
This will make the text force the image div to wrap once the minimum width is hit.
Finally, you can use margins fine-tune the position of both elements as needed.