body {
    margin: 0px;
    padding: 0px;
}
#left-column {
    position: absolute;
    left: 4px;
    top: 162px;
    width: 192px;
}
#centre-column {
    margin: 11px 198px 0px 198px;
    padding: 10px 10px 10px 10px;
    /*
    IE5x PC mis-implements the box model. Because of that we sometimes have
    to perform a little CSS trickery to get pixel-perfect display across browsers.
    The following bit of code was proposed by Tantek Celik, and it preys upon a CSS
    parsing bug in IE5x PC that will prematurely close a style rule when it runs
    into the string "\"}\"". After that string appears in a rule, then, we can override
    previously set attribute values and only browsers without the parse bug will
    recognize the new values. So any of the name-value pairs above this comment
    that we need to override for browsers with correct box-model implementations
    will be listed below.

    We use the voice-family property because it is likely to be used very infrequently,
    and where it is used it will be set on the body tag. So the second voice-family value 
    of "inherit" will override our bogus "\"}\"" value and allow the proper value to
    cascade down from the body tag.

    The style rule immediately following this rule offers another chance for CSS2
    aware browsers to pick up the values meant for correct box-model implementations.
    It uses a CSS2 selector that will be ignored by IE5x PC.

    Read more at http://www.glish.com/css/hacks.asp
    */
    voice-family: "\"}\"";
    voice-family: inherit;
    margin: 11px 200px 0px 200px;
}
html>body #centre-column {
    margin: 11px 201px 0px 201px;
}
#right-column {
    position: absolute;
    right: 4px;
    top: 162px;
    width: 192px;
}
#header {
    height: 166px;
    voice-family: "\"}\"";
    voice-family: inherit;
    height: 165px;
}
html>body #header {
    height: 165px;
}
#footer {
    clear: both;
    padding: 5px;
    margin: 10px;
}