I am trying to style some nested unordered lists with CSS. When I use the IE7 standards or Quirks mode, the nested <li> elements get the background properties of their parents, the borders also don't show correctly. I think that nesting the ul's is causing the problem, and since I have a very good reason to do that, can anybody show me a CSS solution?

HTML Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nested ul's</title>
<style type="text/css">
#div_menu {
	margin: 0px;
	padding: 0px;
	width: 200px;
	font-weight: normal;
	position: absolute;
	left: 10px;
	top: 10px;
	visibility: visible;
	z-index: 10;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	border: 4px double #000;
}
#div_menu ul {
	list-style: none;
	padding: 0;
	border: none;
	margin: 0;
}
#div_menu li {
	border-bottom: 1px solid #000;
	margin: 0;
}
#div_menu li a {
	display: block;
	padding: 4px 5px 4px 5px;
	color: #000;
	text-decoration: none;
	font-weight: bold;
	background-color: #CCC;
}
#div_menu li a:hover {
	background-color: #fff;
	color: #017397;
}
#div_menu li.heading1 a {
	display: block;
	padding: 4px 5px 4px 5px;
	color: #e5e5e5;
	text-decoration: none;
	font-weight: bold;
	background-color: #000f19;
}
#div_menu li.heading1 a:hover {
	background-color: #39769b;
	color: #2f2401;
}
#div_menu li.heading2 a {
	display: block;
	padding: 4px 5px 4px 5px;
	color: #e5e5e5;
	text-decoration: none;
	font-weight: bold;
	background-color: #1186ac;
}
#div_menu li.heading2 a:hover {
	background-color: #74ceeb;
	color: #017397;
}
#div_menu li.heading3 a {
	display: block;
	padding: 4px 5px 4px 5px;
	color: #e5e5e5;
	text-decoration: none;
	font-weight: bold;
	background-color: #1d9ea0;
}
#div_menu li.heading3 a:hover {
	background-color: #10dbdd;
	color: #017397;
}
</style>
</head>

<body>
<div id="div_menu">
  <ul>
    <li class="heading1"><a href="#">Heading 1</a></li>
    <ul>
      <li><a href="#">item 1.1</a></li>
      <li><a href="#">item 1.2</a></li>
      <li><a href="#">item 1.3</a></li>
      <li><a href="#">item 1.4</a></li>
      <li><a href="#">item 1.5</a></li>
      <li><a href="#">item 1.6</a></li>
      <li><a href="#">item 1.7</a></li>
      <li><a href="#">item 1.8</a></li>
      <li class="heading2"><a href="#">Heading 2</a></li>
      <ul>
        <li><a href="#">item 2.1</a></li>
      </ul>
      <li class="heading2"><a href="#">Heading 2</a></li>
      <ul>
        <li><a href="#">item 2.1</a></li>
        <li><a href="#">item 2.2</a></li>
        <li class="heading3"><a href="#">Heading 3</a></li>
        <ul>
          <li><a href="#">item 3.1</a></li>
        </ul>
      </ul>
    </ul>
    <li class="heading1"><a href="#">Heading 1</a></li>
    <ul>
      <li class="heading2"><a href="#">Heading 2</a></li>
      <ul>
        <li><a href="#">item 2.1</a></li>
        <li><a href="#">item 2.2</a></li>
      </ul>
      <li class="heading2"><a href="#">Heading 2</a></li>
      <ul>
        <li><a href="#">item 2.1</a></li>
        <li><a href="#">item 2.2</a></li>
        <li><a href="#">item 2.3</a></li>
      </ul>
    </ul>
  </ul>
</div>
</body>
</html>