/* cmsms stylesheet: markui2 - ui modified: 08/25/21 00:56:59 */
/* ==== ui.css; Classes for UI elements and alterations. ==== */

/* ==== Pure CSS drop menu ==== */
/*
	Known issues:
	* In LTR scenarios, .popLeft needs to be applied to same element as .dropdownParent for extreme right-side menus
	* In RTL scenarios, .popRight needs to be applied to same element as .dropdownParent for extreme left-side menus
	* LI has to have tabindex attribute if using :focus - only for desktop browsers
	* The container of the menu list, and the menu list itself CANNOT have overflow: hidden; on it - it cuts off the drop menu
	* The menu container MUST be set to a higher z-index, else menus will disappear prematurely
*/
/* Drop menu - apply ONLY to lists */
ul.dropMenu, ol.dropMenu { margin: 0; padding: 0; list-style: none; }
/* Remove margins, padding, and list styling, position absolute, and hide dropmenus & submenus */
.dropMenu > li.dropdownParent > .dropdown,
.dropMenu > li.dropdownParent > .dropdown li.submenuParent .submenu,
.dropMenu > li.dropupParent > .dropup,
.dropMenu > li.dropupParent > .dropup li.submenuParent .submenu {
	position: absolute;
	margin: 0; padding: 0;
	list-style: none;
	display: none;
	border-collapse: separate; /* For IE9 - it can't render external box shadow without it */
}
/* Activate root dropdown on hovering or focusing over/on .dropXParent */
.dropMenu > li.dropdownParent:hover > .dropdown,
.dropMenu > li.dropdownParent:focus > .dropdown,
.dropMenu > li.dropdownParent:focus-within > .dropdown,
.dropMenu > li.dropupParent:hover > .dropup,
.dropMenu > li.dropupParent:focus > .dropup,
.dropMenu > li.dropupParent:focus-within > .dropup { display: block; }
/* Activate submenu on hovering or focusing over/on .submenuParent */
.dropMenu > li.dropdownParent > .dropdown li.submenuParent:hover > .submenu,
.dropMenu > li.dropdownParent > .dropdown li.submenuParent:focus > .submenu,
.dropMenu > li.dropdownParent > .dropdown li.submenuParent:focus-within > .submenu,
.dropMenu > li.dropupParent > .dropup li.submenuParent:hover > .submenu,
.dropMenu > li.dropupParent > .dropup li.submenuParent:focus > .submenu,
.dropMenu > li.dropupParent > .dropup li.submenuParent:focus-within > .submenu { display: block; }
/* Apply basic menu-type styles to A tags in the menu - drills all the way down, even into submenus */
.dropMenu > li.dropdownParent > .dropdown li a,
.dropMenu > li.dropupParent > .dropup li a { height: 100%; display: block; white-space: nowrap; overflow: hidden; }

/* Drop DOWN */
/* Dropdown parent - apply to an LI element in the TOP LEVEL of a UL.dropMenu / OL.dropMenu */
.dropMenu > li.dropdownParent {}
/* Dropdown parent contains a panel (set position: static to allow dropdown to be as wide as entire .dropMenu)... */
/* ...then set .dropdown left and right properties to 0 */
.dropMenu > li.dropdownParent.panel { position: static; }
.dropMenu > li.dropdownParent.panel > .dropdown { left: 0; right: 0; }
/* Submenu parent - apply to an LI element in root dropdown, or another submenu, to enable a submenus to show */
.dropMenu > li.dropdownParent > .dropdown li.submenuParent {}
/* Drop DOWN LTR setup */
/* Root dropdown menu - apply to a list IMMEDIATELY inside the LI.dropdownParent element */
.ltr .dropMenu > li.dropdownParent > .dropdown,
.ltr.dropMenu > li.dropdownParent > .dropdown { top: 100%; left: 0px; }
/* Submenu - apply to a list beneath LI.submenuParent to declare it as a submenu */
.ltr .dropMenu > li.dropdownParent > .dropdown li.submenuParent .submenu,
.ltr.dropMenu > li.dropdownParent > .dropdown li.submenuParent .submenu { top: 0px; left: 100%; }
/* Left shifted root dropdown - for use on extreme right edge of screen */
.ltr .dropMenu > li.dropdownParent.popLeft > .dropdown,
.ltr.dropMenu > li.dropdownParent.popLeft > .dropdown { left: auto; right: 0%; text-align: right; }
/* Left shifted submenu - for use on extreme right edge of screen */
.ltr .dropMenu > li.dropdownParent.popLeft > .dropdown li.submenuParent .submenu,
.ltr.dropMenu > li.dropdownParent.popLeft > .dropdown li.submenuParent .submenu { left: auto; right: 100%; }
/* Drop DOWN RTL setup */
/* Root dropdown menu - apply to a list IMMEDIATELY inside the LI.dropdownParent element */
.rtl .dropMenu > li.dropdownParent > .dropdown,
.rtl.dropMenu > li.dropdownParent > .dropdown { top: 100%; right: 0px; }
/* Submenu - apply to a list beneath LI.submenuParent to declare it as a submenu */
.rtl .dropMenu > li.dropdownParent > .dropdown li.submenuParent .submenu,
.rtl.dropMenu > li.dropdownParent > .dropdown li.submenuParent .submenu { top: 0px; right: 100%; }
/* Right shifted root dropdown - for use on extreme left edge of screen */
.rtl .dropMenu > li.dropdownParent.popRight > .dropdown,
.rtl.dropMenu > li.dropdownParent.popRight > .dropdown { right: auto; left: 0%; text-align: left; }
/* Right shifted submenu - for use on extreme left edge of screen */
.rtl .dropMenu > li.dropdownParent.popRight > .dropdown li.submenuParent .submenu,
.rtl.dropMenu > li.dropdownParent.popRight > .dropdown li.submenuParent .submenu { right: auto; left: 100%; }

/* Drop UP */
/* Dropup parent - apply to an LI element in the TOP LEVEL of a UL.dropMenu / OL.dropMenu */
.dropMenu > li.dropupParent {}
/* Submenu parent - apply to an LI element in root dropup, or another submenu, to enable a submenus to show */
.dropMenu > li.dropupParent > .dropup li.submenuParent {}
/* Drop UP LTR setup */
/* Root dropup menu - apply to a list IMMEDIATELY inside the LI.dropupParent element */
.ltr .dropMenu > li.dropupParent > .dropup,
.ltr.dropMenu > li.dropupParent > .dropup { bottom: 100%; left: 0px; }
/* Submenu - apply to a list beneath LI.submenuParent to declare it as a submenu */
.ltr .dropMenu > li.dropupParent > .dropup li.submenuParent .submenu,
.ltr.dropMenu > li.dropupParent > .dropup li.submenuParent .submenu { bottom: 0px; left: 100%; }
/* Left shifted root dropup - for use on extreme right edge of screen */
.ltr .dropMenu > li.dropupParent.popLeft > .dropup,
.ltr.dropMenu > li.dropupParent.popLeft > .dropup { left: auto; right: 0%; text-align: right; }
/* Left shifted submenu - for use on extreme right edge of screen */
.ltr .dropMenu > li.dropupParent.popLeft > .dropup li.submenuParent .submenu,
.ltr.dropMenu > li.dropupParent.popLeft > .dropup li.submenuParent .submenu { left: auto; right: 100%; }
/* Drop UP RTL setup */
/* Root dropup menu - apply to a list IMMEDIATELY inside the LI.dropupParent element */
.rtl .dropMenu > li.dropupParent > .dropup,
.rtl.dropMenu > li.dropupParent > .dropup { bottom: 100%; right: 0px; }
/* Submenu - apply to a list beneath LI.submenuParent to declare it as a submenu */
.rtl .dropMenu > li.dropupParent > .dropup li.submenuParent .submenu,
.rtl.dropMenu > li.dropupParent > .dropup li.submenuParent .submenu { bottom: 0px; right: 100%; }
/* Right shifted root dropup - for use on extreme left edge of screen */
.rtl .dropMenu > li.dropupParent.popRight > .dropup,
.rtl.dropMenu > li.dropupParent.popRight > .dropup { right: auto; left: 0%; text-align: left; }
/* Right shifted submenu - for use on extreme left edge of screen */
.rtl .dropMenu > li.dropupParent.popRight > .dropup li.submenuParent .submenu,
.rtl.dropMenu > li.dropupParent.popRight > .dropup li.submenuParent .submenu { right: auto; left: 100%; }

/* ==== List styling ==== */
/* Flat horizontal & vertical lists */
ol.flatList, ul.flatList, ol.horizList, ul.horizList {
	margin: 0;
	padding: 0;
	list-style: none;
	display: block;
}
ol.horizList > li, ul.horizList > li {
	display: inline-block;
}

/* Decimal-bulleted definition list - places decimal before each DD element */
dl.decimalDefList { counter-reset: decimal-dl-counter 0; }
dl.decimalDefList > dd:before { content: counter(decimal-dl-counter, decimal) ". "; counter-increment: decimal-dl-counter 1; }
