/*
 * IE7 is missing support for table display types. Work around this by
 * calculating the height using IEs non-standard CSS expressions.
 */

.selections .main .content {
    height: expression(document.documentElement.clientHeight
		       - this.parentNode.previousSibling.offsetTop
		       - this.parentNode.previousSibling.offsetHeight
		       + 'px'); /* NB. This is not valid. */
}

/*
 * IE7 calculates the width of a 100% table to include the width of
 * the containing block's scrollbar. This causes the table to overflow
 * the containing block.
 */

div.selnbody table { width: auto; }
div.selnbody table th.runner.details { width: 100%; }

/*
 * With 100% width set on a table cell, all other widths are ignored
 * in the MCW calculation. The only solution is to set widths on
 * children of table cells. Doing the proper thing and setting
 * min-width instead causes content to overflow and be obscured.
 */

th.seln,
th.price,
th.header.back,
th.header.lay { width: auto; }
th.seln .IE-bugfix,
th.price .IE-bugfix,
th.header.back .IE-bugfix,
th.header.lay .IE-bugfix { width: 4em; }
div.selnbody.pool-type-EX th.seln,
div.selnbody.pool-type-TR th.seln,
div.selnbody.pool-type-TI th.seln,
div.selnbody.pool-type-SW th.seln,
div.selnbody.pool-type-QN th.seln { width: auto; }
div.selnbody.pool-type-EX th.seln .IE-bugfix,
div.selnbody.pool-type-TR th.seln .IE-bugfix,
div.selnbody.pool-type-TI th.seln .IE-bugfix,
div.selnbody.pool-type-SW th.seln .IE-bugfix,
div.selnbody.pool-type-QN th.seln .IE-bugfix { width: 6.1em; }
div.selnbody.pool-type-PP th.seln,
div.selnbody.pool-type-P6 th.seln,
div.selnbody.pool-type-P7 th.seln { width: auto; }
div.selnbody.pool-type-PP th.seln .IE-bugfix,
div.selnbody.pool-type-P6 th.seln .IE-bugfix,
div.selnbody.pool-type-P7 th.seln .IE-bugfix { width: 3em; }
th.price_header { width: auto; }
th.price_header .IE-bugfix { width: 6.4em; }
th .IE-bugfix {
    height: 0px;
    min-height: 0px;
/*  line-height: 0px; Gives it a bottom margin. */
}

/*
 * IE7 does not support the CSS3 "opacity" property.
 */

div.selections div.pool_shroud {
    filter: alpha(opacity=60); /* NB. This is not valid. */
}

/*
 * IE7 cannot calculate the width of this element unless it
 * "hasLayout".
 */

div.bets div.footer { display: inline-block; }

/*
 * IE7 erroneously creates a stacking context on some elements which
 * prevents their children from being pushed higher in the stack than
 * subsequent elements. The workaround is to push the elements which
 * receive the bogus stacking context up the stack when the child may
 * be visible.
 */

th.runner.details div.runner.details:hover { z-index: 1; }

/*
 * For some reason the above rule is ignored without the following.
 * The value is arbitrary.
 */

th.runner.details div.runner.details:hover { background-color: transparent; }

/*
 * IE7 won't allow padding to be removed from the button. Allowing
 * overflow works around this.
 */

div.bets div.footer div.betslip_buttons button { overflow: visible; }

/*
 * IE7 does not implement inline-block correctly, but setting inline
 * and triggering hasLayout has about the same effect.
 */

div.pool-info {
    display: inline;
    min-width: 0;
}

/*
 * IE7 does not implement inherit.
 */

td.price div.button a,
td.price div.button div.checkbox { color: #333333; }

/*
 * IE7 always selects outset colours darker than the target colour.
 */

td.price.back div.button a {
    border-style: solid;
    border-color: #EEF0F7 #6E727E #6E727E #EEF0F7;
}

td.price.lay div.button a {
    border-style: solid;
    border-color: #F5E5F1 #876C7F #876C7F #F5E5F1;
}

td.price.combo div.button div.checkbox {
    border-style: solid;
    border-color: #F9F9F9 #838383 #838383 #F9F9F9;
}

td.price.combo div.button div.checkbox.checked {
    border-style: solid;
    border-color: #838383 #F9F9F9 #F9F9F9 #838383;
}
