/* This is the core of how everything works. Most of the rest are just positioning */
.meyermenu, .meyermenu ul { padding: 0; margin: 0; border: 2px solid; }
.meyermenu ul { display: none; border-top: none; position: absolute; top: 1.25em; }
.meyermenu li:hover > ul {
  display: inherit; /* Causes the list marker to appear on the first element in Firefox */
  display: block;
}

.meyermenu a { display: block; line-height: 1.25em; }

.meyermenu li { list-style-type: none; text-align: center; position: relative;
                border: 2px solid transparent; }

/* The default is for the menu to be to the left */
.meyermenu ul { right: -2px; }
.meyermenu.vertical.right ul, .meyermenu.tab ul { left: -2px; }
.meyermenu.tab ul { right: auto; }

/* I don't know how to make them go left like they go right */
.meyermenu.tab.right ul { }

.meyermenu.vertical, .meyermenu.vertical ul, .meyermenu .vertical
  { width: 9.5em; }
.meyermenu.vertical li.parent:hover, .meyermenu .vertical li.parent:hover
  { border-top: 2px solid; }
.meyermenu.vertical li.parent:hover, .meyermenu .vertical li.parent:hover
  { margin-right: -9.75em; padding-right: 1em; text-align: right; border-right: 2px solid; }
.meyermenu.vertical.right li.parent:hover, .meyermenu .vertical.right li.parent
  { margin: 0; margin-left: -9.75em; padding-left: 1em;
    text-align: left; border-right: none; border/*-left*/: 2px solid; }

.meyermenu.tab ul { display: inherit; }
.meyermenu.tab, .meyermenu.tab > li:last-child > ul:first-child { display: inherit; }

.meyermenu.tab { text-align: left; }
.meyermenu.tab.right { text-align: right; }

.meyermenu.tab li { background-color: transparent; padding: 0 .25em 0 .25em;
                    display: block; }
/* This is a hack and ineffective. Five nonparent li's in a row will throw it off.
 * These rules also have a high priority and must be overridden with the !important
 *  directive.
 */
.meyermenu.tab li.parent/*, .meyermenu.tab li + li.parent, .meyermenu.tab li.parent + li,
  .meyermenu.tab li + li + li.parent, .meyermenu.tab li.parent + li + li,
  .meyermenu.tab a*/
 { display: inline; }

.meyermenu.tab .vertical li { display: block !important; }

.meyermenu.tab, .meyermenu.tab ul { border: 2px solid; }
.meyermenu.tab { line-height: 1.25em; }
