.menu {
    padding-top: 5px;
    width: 550px;
    height: 32px;
    position: relative;
    z-index: 100;
}

/* hack to correct IE5.5 faulty box model */
* html .menu {
    width: 551px;
    w\idth: 550px;
}

/* remove all the bullets, borders and padding from the default list styling */
.menu ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.menu ul ul {
    width: 110px;
}

/* float the list to make it horizontal and a relative positon so that you can control the dropdown menu positon */
.menu li {
    float: left;
    width: 110px;
    position: relative;
}

/* style the links for the top level */
.menu a, .menu a:visited {
    display: block;
    text-decoration: none;
    color: #fff;
    width: 110px;
    height: 30px;
    line-height: 29px;
    text-align: center;
    font-size: 13px;
    font-weight: bold;
}

/* a hack so that IE5.5 faulty box model is corrected */
* html .menu a, * html .menu a:visited {
    width: 110px;
     w\idth: 111px;
}

/* style the second level background */
.menu ul ul a.drop, .menu ul ul a.drop:visited {
    width: 103px;
    height: 29px;
    background: url(/images/menu_background.jpg);
    font-size: 11px;
}

/* style the second level hover */
.menu ul ul a.drop:hover {
    width: 103px;
    height: 29px;
    background: url(/images/menu_background_sub.jpg);
    font-size: 11px;
    font-weight: none;
}

.menu ul ul :hover > a.drop {
    width: 103px;
    height: 29px;
    background: url(/images/menu_background_sub.jpg);
    font-size: 11px;
    font-weight: none;
}

/* style the third level background */
.menu ul ul ul a, .menu ul ul ul a:visited {
    width: 103px;
    height: 29px;
    background: url(/images/menu_background.jpg);
    font-size: 11px;
    font-weight; none;
}

/* style the third level hover */
.menu ul ul ul a:hover {
    width: 103px;
    height: 29px;
    background: url(/images/menu_background_sub.jpg);
    font-size: 11px;
    font-weight; none;
}

/* hide the sub levels and give them a positon absolute so that they take up no room */
.menu ul ul {
    visibility: hidden;
    position: absolute;
    height: 0;
    top: 31px;
    left: 0;
    width: 103px;
}

/* another hack for IE5.5 */
* html .menu ul ul {
    top: 30px;
    t\op: 31px;
}

/* position the third level flyout menu */
.menu ul ul ul{
    left: 103px;
    top: 0px;
    width: 103px;
}

/* position the third level flyout menu for a left flyout */
.menu ul ul ul.left {
    left: -110px;
}

/* style the table so that it takes no ppart in the layout - required for IE to work */
.menu table {
    position: absolute;
    top: 0;
    left: 0;
    border-collapse: collapse;
}

/* style the second level links */
.menu ul ul a, .menu ul ul a:visited {
    width: 103px;
    height: 29px;
    background: url(/images/menu_background.jpg);
    font-size: 11px;
    font-weight: none;
}

/* style the second level links */
.menu ul ul a:hover {
    width: 103px;
    height: 29px;
    background: url(/images/menu_background_sub.jpg);
    font-size: 11px;
    font-weight: none;
}

/* yet another hack for IE5.5 */
* html .menu ul ul a, * html .menu ul ul a:visited {
    width: 110px;
    w\idth: 116px;
    font-size: 11px;
    font-weight: none;
}

/* style the top level hover */
.menu a:hover {
    font-size: 13px;
    color: #fff;
    font-weight: bold;
}

.menu :hover > a {
    font-size: 13px;
    color: #fff;
    font-weight: bold;
}

/* style the second level hover */
.menu ul ul a:hover{
    font-size: 11px;
    color: #fff;
    font-weight: none;
}

.menu ul ul :hover > a {
    font-size: 11px;
    color: #fff;
    font-weight: none;
}

/* make the second level visible when hover on first level list OR link */
.menu ul li:hover ul,
.menu ul a:hover ul{
    visibility: visible;
}

/* keep the third level hidden when you hover on first level list OR link */
.menu ul :hover ul ul{
    visibility: hidden;
}

/* make the third level visible when you hover over second level list OR link */
.menu ul :hover ul :hover ul{
    visibility: visible;
}