Getting divs to match heights is very hard to do with CSS. There are some tricks to doing it, but I think there's an easier solution here.
Why not just make the red pattern the body background image and have it tile? If you want to display something else, just have it go on top. From what I can see of your design, that looks like the easiest solution to me.
If you do want to try to get the divs to match heights, I'd suggest using the absolute columns trick. Something like this will work, I think: (Although I haven't actually tested it.)
<div id="content">
<div id="left-shadow"></div>
<div id="text">
text goes here
</div>
<div id="right-shadow"></div>
</div>
With this CSS:
#content {
position: absolute;
}
#left-shadow {
position: relative;
left: 0; top: 0; bottom: 0;
/* width needs to be specified */
}
#text {
/* width needs to be specified */
}
#right-shadow {
position: relative;
right: 0; top: 0; bottom: 0;
/* width needs to be specified */
}
And then set the pattern as the background images for left/right-shadow.