Реализация выпадающего меню

Выпадающее HTML меню выполнено в двух вариантах: горизонтальное меню и вертикальное (боковое) меню. Количество вложений подменю ограничено только размерами экрана, а стиль задается только для корневого элемента <ul> - контейнера меню: menu-h для горизонтального и menu-v - для вертикального расположения меню. Специфика реализации выпадающего меню с неограниченным числом вложений заключается в установке селекторов стилей CSS для пунктов меню с учетом их контекста. Например, запись '.menu-v li a' означает, что стиль будет применен к тэгу <a> в контексте вертикального меню и при условии, что среди его предков есть элемент <li>. А запись '.menu-h ul > li' означает, что этот стиль относится к элементу списка (<li>) в контексте горизонтального меню, но при условии, что непосредственным родителем его является не корневое меню, а подменю - вложенный <ul> элемент. Именно благодаря этой возможности CSS описывать селекторы с учетом контекста можно разделить описание стиля для подменю первого уровня и подменю более глубоких вложений. В случае с горизонтальным расположением, подменю 1-го и любого другого уровня отличаются, как минимум, параметрами позиционирования: на первом уровне подменю смещается ниже относительно выделенного пункта меню, а на последующих уровнях оно смещается вправо. В обоих примерах подменю второго уровня определено для пункта [Разное]/[Обучающие программы].