/* ==== Global classes ==== */
/* External widget - overrides box-sizing set in reset.css for all children; to be used with external widgets */
.externalWidget * {
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}

/* Show at low resolution (hides on high resolution) */
.showAtLowRes { display: none; }

/* ==== Special classes for low resolution/mobile devices ==== */
@media handheld, print, only screen and (max-width: 768px) {
	/* Exclude any element at low resolution */
	.excludeAtLowRes {
		display: none !important;
		visibility: hidden !important;
	}
	
	/* Show at low resolution (hides on high resolution) */
	.showAtLowRes { display: block !important; }
	
	/* Display images as text-only */
	img.asTextLowRes { content: attr(alt); }
}

/* ==== reset.css; CSS reset - html4 & html5. ==== */

* {
	background: transparent;
	border: none;
	margin: 0;
	padding: 0;
	outline: invert none medium;
	font-size: 100%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
html:before, html:after { display: none; }
html, body {
	width: 100%;
	/*height: 100%;*/
	min-height: 100%;
	/*z-index: 0;*/
}
html body { font-family: arial, helvetica, sans-serif; font-size: 12pt; /*line-height: 1.5em;*/ white-space: normal; }
html body * { position: relative; /*z-index: inherit;*/ }

/* Block elements */
address, article, aside, blockquote, body, canvas, center, dd, details, dir, div, dialog, dl, dt, fieldset,
figcaption, figure, figure img, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, hr, html, iframe,
legend, main, menu, nav, noframes, noscript, ol, p, pre, section, summary, ul { display: block; }

/* Inline elements */
a, abbr, acronym, b, bdi, bdo, big, br, cite, data, del, dfn, em, font, i, img, ins, kbd, label, mark,
output, q, rp, rt, ruby, s, samp, small, span, strike, strong, sub, sup, time, tt, u, var, xmp { display: inline; }

/* Inline-block elements */
applet, audio, button, code, embed, input[type="button"], input[type="checkbox"], input[type="date"],
input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="file"],
input[type="image"], input[type="month"], input[type="number"], input[type="password"], input[type="radio"],
input[type="reset"], input[type="search"], input[type="submit"], input[type="tel"], input[type="text"],
input[type="time"], input[type="url"], input[type="week"], isindex, meter, object, progress, select, svg,
textarea, video {
	display: inline-block;
	*display: inline !important; /* For IE7 */
    *zoom: 1; /* For IE7 */
}

/* Margin adjustments block elements */
address, article, aside, blockquote, code, details, dir, dialog, dl, fieldset, figure, footer, form,
h1, h2, h3, h4, h5, h6, hgroup, main, menu, noframes, noscript, ol, p, pre, section, summary, ul { margin-top: 10px; }
/* for first children... */
address:first-child, article:first-child, aside:first-child, blockquote:first-child, code:first-child,
details:first-child, dir:first-child, dialog:first-child, dl:first-child, fieldset:first-child, figure:first-child,
footer:first-child, form:first-child, h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child,
hgroup:first-child, main:first-child, menu:first-child, noframes:first-child, noscript:first-child, ol:first-child, p:first-child,
pre:first-child, section:first-child, summary:first-child, ul:first-child { margin-top: 0; }

/* Headings */
h1, h2, h3, h4, h5, h6 { line-height: 100%; }

/* List-item elements */
li { display: list-item; }

/* Table elements */
table { display: table; border-collapse: collapse; border-spacing: 0 0; }
tr { display: table-row; }
thead { display: table-header-group; }
tbody { display: table-row-group; }
tfoot { display: table-footer-group; }
col { display: table-column; }
colgroup { display: table-column-group; }
td, th { display: table-cell; vertical-align: middle; }
td { font-weight: normal; }
th { font-weight: bold; }
caption { display: table-caption; caption-side: top; font-weight: normal; }

/* Focus, active, invalid, etc... pseudo-classes */
:active, :focus, :invalid {
	outline: invert none medium;
	-webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none;
}

/* Pre-formatted */
code, kbd, pre, samp, tt, var, xmp { white-space: pre; font-family: monospace; }
code, pre { overflow: auto; }

/* Anchors */
a[href] { text-decoration: underline; }
a[href]:active, a[href]:focus { outline: invert dotted medium; }

/* Images, embedded content, audio & video and object */
img {
	-ms-interpolation-mode: bicubic; /* For IE */
	font-size: 0;
	vertical-align: top;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}
a img { border: none; }
figure img { width: 100%; }
svg { overflow: hidden; /* For IE9 */ }
audio, embed, iframe, img, object, video { max-width: 100%; }

/* Lists */
dir, ul { list-style: disc inside none; margin: 1em; }
ol { list-style: decimal inside none; margin: 1em; }
li { display: list-item; }

/* Quotes */
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

/* Edits & Specialized text (emphasis, bold, etc...) */
ins { text-decoration: none; }
del, s, strike { text-decoration: line-through; }
b, strong { font-weight: bold; }
abbr, acronym, address, cite, em { font-style: italic; }
mark { background-color: #ffff00; }

/* Small text elements */
figcaption, small, sub, sup { font-size: .75em; }
sub, sup { line-height: 0; vertical-align: baseline; }
sub { bottom: -.5em; }
sup { top: -.5em; }

/* HTML5 U tag - non-textual annotation */
.html5 u, u.html5 {
	text-decoration: none;
	border-bottom: solid #ff0000 1px; 
}

/* Label & Legend */
label, legend { font-weight: bold; }
.ltr fieldset legend, fieldset.ltr legend, fieldset legend.ltr { text-align: left; }
.rtl fieldset legend, fieldset.rtl legend, fieldset legend.rtl { text-align: right; }

/* Inputs */
button:focus, input:focus, select:focus, textarea:focus { outline: invert dotted medium; }
button, input[type="button"], input[type="date"], input[type="datetime"], input[type="datetime-local"],
input[type="email"], input[type="file"], input[type="month"], input[type="number"], input[type="password"],
input[type="reset"], input[type="search"], input[type="submit"], input[type="tel"], input[type="text"],
input[type="time"], input[type="url"], input[type="week"], isindex, select, textarea {
	width: auto;
	height: 1.5em;
	border: solid 1px;
	font-family: arial, helvetica, sans-serif;
	font-size: 100%;
	-moz-background-clip: padding; -webkit-background-clip: padding; background-clip: padding-box;
}
input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="file"],
input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"],
input[type="text"], input[type="time"], input[type="url"], input[type="week"], isindex, select, textarea {
	padding: 1px;
	line-height: 1.5em;
	/*-moz-appearance: none; -webkit-appearance: none; appearance: none;*/
}
textarea {
	height: auto;
}

/* Buttons */
button, input[type="button"], input[type="reset"], input[type="submit"] {
	padding: 2px;
	*padding-bottom: 0; /* For IE7 */
	cursor: pointer;
	overflow: visible;
	vertical-align: top;
	line-height: 100%;
	-moz-appearance: button; -webkit-appearance: button; appearance: button;
}
button::-moz-focus-inner, input[type="button"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner {
	border: none;
	padding: 0;
}

/* ==== common.css; Common predefined CSS classes. ==== */

/* ==== Text & image horizontal alignment ==== */
.inheritAlign { text-align: inherit !important; }
.initialAlign { text-align: initial !important; }
.alignCenter { text-align: center !important; }
.alignLeft { text-align: left !important; }
.alignRight { text-align: right !important; }
.alignJustify { text-align: justify !important; }

/* ==== Image vertical alignment ==== */
.inheritValign { vertical-align: inherit !important; }
.initialValign { vertical-align: initial !important; }
.valignTop { vertical-align: top !important; }
.valignTextTop { vertical-align: text-top !important; }
.valignMiddle { vertical-align: middle !important; }
.valignBottom { vertical-align: bottom !important; }
.valignTextBottom { vertical-align: text-bottom !important; }
.valignBaseline { vertical-align: baseline !important; }
.valignSub { vertical-align: sub !important; }
.valignSuper { vertical-align: super !important; }

/* ==== Margins ==== */
.noMargin { margin: 0em !important; }
.autoMargin { margin: auto !important; }
.marginCenter { margin-left: auto !important; margin-right: auto !important; }

/* ==== Padding ==== */
.noPadding { padding: 0em !important; }

/* ==== Display & Visibility ==== */
.inline { display: inline !important; }
.block { display: block !important; }
.inlineBlock {
	display: inline-block !important;
	*display: inline !important; /* For IE6/IE7 */
    *zoom: 1; /* For IE6/IE7 */}
 }
.table { display: table !important; }
.tableRow { display: table-row !important; }
.tableCell { display: table-cell !important; }
.hidden { display: none !important; }
.invisible { visibility: hidden !important; }
.visible { visibility: visible !important; }

/* ==== Clearing & Floating ==== */
.inheritClear { clear: inherit !important; }
.noClear { clear: none !important; }
.clearBoth { clear: both !important; }
.clearLeft { clear: left !important; }
.clearRight { clear: right !important; }
.inheritFloat { float: inherit !important; }
.noFloat { float: none !important; }
.floatLeft { float: left !important; }
.floatRight { float: right !important; }

/* ==== Borders ==== */
.inheritBorder { border-style: inherit !important; }
.noBorder { border: none !important; }
.borderHidden { border-style: hidden !important; }
.borderDotted { border-style: dotted !important; } 
.borderDashed { border-style: dashed !important; }
.borderSolid { border-style: solid !important; }
.borderDouble { border-style: double !important; }
.borderGroove { border-style: groove !important; }
.borderRidge { border-style: ridge !important; }
.borderInset { border-style: inset !important; }
.borderOutset { border-style: outset !important; }
.collapseBorder { border-collapse: collapse !important; }
.separateBorder { border-collapse: separate !important; }
.borderCollapseInherit { border-collapse: inherit !important; }

/* ==== Overflow ==== */
.inheritOverflow { overflow: inherit !important; }
.overflowHidden { overflow: hidden !important; }
.overflowShow { overflow: visible !important; }
.overflowAuto { overflow: auto !important; }
.overflowScroll { overflow: scroll !important; }
/* Following overflow classes are CSS3 only */
.overflowXHidden { overflow-x: hidden !important; }
.overflowXShow { overflow-x: visible !important; }
.overflowXAuto { overflow-x: auto !important; }
.overflowXScroll { overflow-x: scroll !important; }
.overflowYHidden { overflow-y: hidden !important; }
.overflowYShow { overflow-y: visible !important; }
.overflowYAuto { overflow-y: auto !important; }
.overflowYScroll { overflow-y: scroll !important; }

/* ==== Indention ==== */
.inheritIndent { text-indent: inherit !important; }
.paddingIndent { padding-left: 4em !important; }
.marginIndent { margin-left: 4em !important; }
.textIndent { text-indent: 4em !important; }

/* ==== Text Decoration ==== */
.inheritDecoration { text-decoration: inherit !important; }
.noDecoration { text-decoration: none !important; }
.underline { text-decoration: underline !important; }
.overline { text-decoration: overline !important; }
.strikeout { text-decoration: line-through !important; }
.blink { text-decoration: blink !important; }

/* ==== Positioning ==== */
.inheritPosition { position: inherit !important; }
.posAbsolute { position: absolute !important; }
.posFixed { position: fixed !important; }
.posRelative { position: relative !important; }
.posStatic { position: static !important; }

/* ==== Language ==== */
.inheritLanguageDirection { direction: inherit !important; }
.rtl { direction: rtl !important; }
.ltr { direction: ltr !important; }

/* ==== Fonts ==== */
.inheritFontSize { font-size: inherit !important; }
.initialFontSize { font-size: initial !important; }
.xxLargeFont { font-size: xx-large !important; }
.xLargeFont { font-size: x-large !important; }
.largeFont { font-size: large !important; }
.xxSmallFont { font-size: xx-small !important; }
.xSmallFont { font-size: x-small !important; }
.smallFont { font-size: small !important; }
.mediumFont { font-size: medium !important; }
.smallerFont { font-size: smaller !important; }
.largerFont { font-size: larger !important; }
.inheritCaseFont { text-transform: inherit !important; }
.initialCaseFont { text-transform: initial !important; }
.removeCaseFont { text-transform: none !important; }
.upperCaseFont { text-transform: uppercase !important; }
.lowerCaseFont { text-transform: lowercase !important; }
.capitalizeWords { text-transform: capitalize !important; }

/* ==== IE hacks ==== */
.gainLayout { _zoom: 1 !important; /* IE6 and below */ }

/* ==== grids.css; Layout Grids and supporting classes. ==== */

/* ==== Grid cell size classes, push & pull for desktop devices (.ltr and .rtl classes (text directional classes) from common.css) ==== */
.grid .row .cell.size1, .gridTable .row .cell.size1 { width: 5%; }
.grid .row .cell.size2, .gridTable .row .cell.size2 { width: 10%; }
.grid .row .cell.size3, .gridTable .row .cell.size3 { width: 15%; }
.grid .row .cell.size4, .gridTable .row .cell.size4 { width: 20%; }
.grid .row .cell.size5, .gridTable .row .cell.size5 { width: 25%; }
.grid .row .cell.size6, .gridTable .row .cell.size6 { width: 30%; }
.grid .row .cell.size7, .gridTable .row .cell.size7 { width: 35%; }
.grid .row .cell.size8, .gridTable .row .cell.size8 { width: 40%; }
.grid .row .cell.size9, .gridTable .row .cell.size9 { width: 45%; }
.grid .row .cell.size10, .gridTable .row .cell.size10 { width: 50%; }
.grid .row .cell.size11, .gridTable .row .cell.size11 { width: 55%; }
.grid .row .cell.size12, .gridTable .row .cell.size12 { width: 60%; }
.grid .row .cell.size13, .gridTable .row .cell.size13 { width: 65%; }
.grid .row .cell.size14, .gridTable .row .cell.size14 { width: 70%; }
.grid .row .cell.size15, .gridTable .row .cell.size15 { width: 75%; }
.grid .row .cell.size16, .gridTable .row .cell.size16 { width: 80%; }
.grid .row .cell.size17, .gridTable .row .cell.size17 { width: 85%; }
.grid .row .cell.size18, .gridTable .row .cell.size18 { width: 90%; }
.grid .row .cell.size19, .gridTable .row .cell.size19 { width: 95%; }
.grid .row .cell.sizeWhole { float: none !important; width: 100%; clear: both; }

/* LTR & RTL push (.ltr and .rtl classes (text directional classes) from common.css) */
.ltr .grid .row .cell.push, .ltr.grid .row .cell.push { float: right !important; }
.rtl .grid .row .cell.push, .rtl.grid .row .cell.push { float: left !important; }

/* Sized push classes (.ltr and .rtl classes (text directional classes) from common.css) */
.ltr .grid .row .cell.push1, .ltr.grid .row .cell.push1 { left: 5%; }
.rtl .grid .row .cell.push1, .rtl.grid .row .cell.push1 { right: 5%; }
.ltr .grid .row .cell.push2, .ltr.grid .row .cell.push2 { left: 10%; }
.rtl .grid .row .cell.push2, .rtl.grid .row .cell.push2 { right: 10%; }
.ltr .grid .row .cell.push3, .ltr.grid .row .cell.push3 { left: 15%; }
.rtl .grid .row .cell.push3, .rtl.grid .row .cell.push3 { right: 15%; }
.ltr .grid .row .cell.push4, .ltr.grid .row .cell.push4 { left: 20%; }
.rtl .grid .row .cell.push4, .rtl.grid .row .cell.push4 { right: 20%; }
.ltr .grid .row .cell.push5, .ltr.grid .row .cell.push5 { left: 25%; }
.rtl .grid .row .cell.push5, .rtl.grid .row .cell.push5 { right: 25%; }
.ltr .grid .row .cell.push6, .ltr.grid .row .cell.push6 { left: 30%; }
.rtl .grid .row .cell.push6, .rtl.grid .row .cell.push6 { right: 30%; }
.ltr .grid .row .cell.push7, .ltr.grid .row .cell.push7 { left: 35%; }
.rtl .grid .row .cell.push7, .rtl.grid .row .cell.push7 { right: 35%; }
.ltr .grid .row .cell.push8, .ltr.grid .row .cell.push8 { left: 40%; }
.rtl .grid .row .cell.push8, .rtl.grid .row .cell.push8 { right: 40%; }
.ltr .grid .row .cell.push9, .ltr.grid .row .cell.push9 { left: 45%; }
.rtl .grid .row .cell.push9, .rtl.grid .row .cell.push9 { right: 45%; }
.ltr .grid .row .cell.push10, .ltr.grid .row .cell.push10 { left: 50%; }
.rtl .grid .row .cell.push10, .rtl.grid .row .cell.push10 { right: 50%; }
.ltr .grid .row .cell.push11, .ltr.grid .row .cell.push11 { left: 55%; }
.rtl .grid .row .cell.push11, .rtl.grid .row .cell.push11 { right: 55%; }
.ltr .grid .row .cell.push12, .ltr.grid .row .cell.push12 { left: 60%; }
.rtl .grid .row .cell.push12, .rtl.grid .row .cell.push12 { right: 60%; }
.ltr .grid .row .cell.push13, .ltr.grid .row .cell.push13 { left: 65%; }
.rtl .grid .row .cell.push13, .rtl.grid .row .cell.push13 { right: 65%; }
.ltr .grid .row .cell.push14, .ltr.grid .row .cell.push14 { left: 70%; }
.rtl .grid .row .cell.push14, .rtl.grid .row .cell.push14 { right: 70%; }
.ltr .grid .row .cell.push15, .ltr.grid .row .cell.push15 { left: 75%; }
.rtl .grid .row .cell.push15, .rtl.grid .row .cell.push15 { right: 75%; }
.ltr .grid .row .cell.push16, .ltr.grid .row .cell.push16 { left: 80%; }
.rtl .grid .row .cell.push16, .rtl.grid .row .cell.push16 { right: 80%; }
.ltr .grid .row .cell.push17, .ltr.grid .row .cell.push17 { left: 85%; }
.rtl .grid .row .cell.push17, .rtl.grid .row .cell.push17 { right: 85%; }
.ltr .grid .row .cell.push18, .ltr.grid .row .cell.push18 { left: 90%; }
.rtl .grid .row .cell.push18, .rtl.grid .row .cell.push18 { right: 90%; }
.ltr .grid .row .cell.push19, .ltr.grid .row .cell.push19 { left: 95%; }
.rtl .grid .row .cell.push19, .rtl.grid .row .cell.push19 { right: 95%; }

/* Sized pull classes (.ltr and .rtl classes (text directional classes) from common.css) */
.ltr .grid .row .cell.pull1, .ltr.grid .row .cell.pull1 { right: 5%; }
.rtl .grid .row .cell.pull1, .rtl.grid .row .cell.pull1 { left: 5%; }
.ltr .grid .row .cell.pull2, .ltr.grid .row .cell.pull2 { right: 10%; }
.rtl .grid .row .cell.pull2, .rtl.grid .row .cell.pull2 { left: 10%; }
.ltr .grid .row .cell.pull3, .ltr.grid .row .cell.pull3 { right: 15%; }
.rtl .grid .row .cell.pull3, .rtl.grid .row .cell.pull3 { left: 15%; }
.ltr .grid .row .cell.pull4, .ltr.grid .row .cell.pull4 { right: 20%; }
.rtl .grid .row .cell.pull4, .rtl.grid .row .cell.pull4 { left: 20%; }
.ltr .grid .row .cell.pull5, .ltr.grid .row .cell.pull5 { right: 25%; }
.rtl .grid .row .cell.pull5, .rtl.grid .row .cell.pull5 { left: 25%; }
.ltr .grid .row .cell.pull6, .ltr.grid .row .cell.pull6 { right: 30%; }
.rtl .grid .row .cell.pull6, .rtl.grid .row .cell.pull6 { left: 30%; }
.ltr .grid .row .cell.pull7, .ltr.grid .row .cell.pull7 { right: 35%; }
.rtl .grid .row .cell.pull7, .rtl.grid .row .cell.pull7 { left: 35%; }
.ltr .grid .row .cell.pull8, .ltr.grid .row .cell.pull8 { right: 40%; }
.rtl .grid .row .cell.pull8, .rtl.grid .row .cell.pull8 { left: 40%; }
.ltr .grid .row .cell.pull9, .ltr.grid .row .cell.pull9 { right: 45%; }
.rtl .grid .row .cell.pull9, .rtl.grid .row .cell.pull9 { left: 45%; }
.ltr .grid .row .cell.pull10, .ltr.grid .row .cell.pull10 { right: 50%; }
.rtl .grid .row .cell.pull10, .rtl.grid .row .cell.pull10 { left: 50%; }
.ltr .grid .row .cell.pull11, .ltr.grid .row .cell.pull11 { right: 55%; }
.rtl .grid .row .cell.pull11, .rtl.grid .row .cell.pull11 { left: 55%; }
.ltr .grid .row .cell.pull12, .ltr.grid .row .cell.pull12 { right: 60%; }
.rtl .grid .row .cell.pull12, .rtl.grid .row .cell.pull12 { left: 60%; }
.ltr .grid .row .cell.pull13, .ltr.grid .row .cell.pull13 { right: 65%; }
.rtl .grid .row .cell.pull13, .rtl.grid .row .cell.pull13 { left: 65%; }
.ltr .grid .row .cell.pull14, .ltr.grid .row .cell.pull14 { right: 70%; }
.rtl .grid .row .cell.pull14, .rtl.grid .row .cell.pull14 { left: 70%; }
.ltr .grid .row .cell.pull15, .ltr.grid .row .cell.pull15 { right: 75%; }
.rtl .grid .row .cell.pull15, .rtl.grid .row .cell.pull15 { left: 75%; }
.ltr .grid .row .cell.pull16, .ltr.grid .row .cell.pull16 { right: 80%; }
.rtl .grid .row .cell.pull16, .rtl.grid .row .cell.pull16 { left: 80%; }
.ltr .grid .row .cell.pull17, .ltr.grid .row .cell.pull17 { right: 85%; }
.rtl .grid .row .cell.pull17, .rtl.grid .row .cell.pull17 { left: 85%; }
.ltr .grid .row .cell.pull18, .ltr.grid .row .cell.pull18 { right: 90%; }
.rtl .grid .row .cell.pull18, .rtl.grid .row .cell.pull18 { left: 90%; }
.ltr .grid .row .cell.pull19, .ltr.grid .row .cell.pull19 { right: 95%; }
.rtl .grid .row .cell.pull19, .rtl.grid .row .cell.pull19 { left: 95%; }

/* ==== Layout control classes (.ltr and .rtl classes (text directional classes) from common.css) ==== */
.grid {	/*white-space: nowrap;*/ }
.grid .row { white-space-collapsing: discard; }
.grid .row .cell, .grid .row .lastCell {
	min-height: 1px;
	margin: 0;
	padding: 5px;
	white-space: normal;
	white-space-collapsing: collapse;
}
.grid .row .lastCell {
	float: none !important;
	width: auto;
	overflow: hidden;
}
.grid:after, .grid .row:after, .grid .row .cell:after, .grid .row .lastCell:after {
	content: "";
	display: table;
	clear: both;
}

/* Grid cells (.ltr and .rtl classes (text directional classes) from common.css) */
/* LTR language layout support */
.ltr .grid .row .cell, .ltr.grid .row .cell { float: left; }
/* Text alignment of LTR cells beneath an RTL element */
.rtl .ltr .grid .row .cell,
.rtl .ltr.grid .row .cell,
.rtl .ltr .grid .row .cell *,
.rtl .ltr.grid .row .cell *,
.rtl .ltr .grid .row .lastCell,
.rtl .ltr.grid .row .lastCell,
.rtl .ltr .grid .row .lastCell *,
.rtl .ltr.grid .row .lastCell * { text-align: left; }
/* RTL language layout support */
.rtl .grid .row .cell, .rtl.grid .row .cell { float: right; }
/* Text alignment of RTL cells beneath an LTR element */
.ltr .rtl .grid .row .cell,
.ltr .rtl.grid .row .cell,
.ltr .rtl .grid .row .cell *,
.ltr .rtl.grid .row .cell *,
.ltr .rtl .grid .row .lastCell,
.ltr .rtl.grid .row .lastCell,
.ltr .rtl .grid .row .lastCell *,
.ltr .rtl.grid .row .lastCell * { text-align: right; }

/* Allow a cell to take the width of its contents */
.grid .row .cell.shrinkWrap {
	width: auto !important;
	display: inline-block !important;
	*display: inline !important; /* For IE7 */
    *zoom: 1; /* For IE7 */
}

/* Table grid & cells */
.gridTable {
	display: table;
	table-layout: fixed;
	border-collapse: collapse;
}
.gridTable .row { display: table-row; }
.gridTable .head { display: table-header-group; }
.gridTable .foot { display: table-footer-group; }
.gridTable .caption { display: table-caption; caption-side: top; font-weight: normal; }
.gridTable .row .cell {
	display: table-cell;
	/*vertical-align: top;*/
	/*word-wrap: break-word;*/ /* Disabled because IE doesn't get that text-overflow overrides this... */
}
/* Text alignment of LTR cells beneath an RTL element */
.rtl .ltr .gridTable .row .cell,
.rtl .ltr.gridTable .row .cell,
.rtl .ltr .gridTable .row .cell *,
.rtl .ltr.gridTable .row .cell * { text-align: left !important; }
/* Text alignment of RTL cells beneath an LTR element */
.ltr .rtl .gridTable .row .cell,
.ltr .rtl.gridTable .row .cell,
.ltr .rtl .gridTable .row .cell *,
.ltr .rtl.gridTable .row .cell * { text-align: right !important; }

/* ==== Overrides for low resolution/mobile devices ==== */
@media handheld, print, screen and (max-width: 768px) {
	/* Grid cell size classes for low resolution/mobile devices */
	.grid .row .cell.size1,
	.grid .row .cell.size2,
	.grid .row .cell.size3,
	.grid .row .cell.size4,
	.grid .row .cell.size5,
	.grid .row .cell.size6,
	.grid .row .cell.size7,
	.grid .row .cell.size8,
	.grid .row .cell.size9,
	.grid .row .cell.size10,
	.grid .row .cell.size11,
	.grid .row .cell.size12,
	.grid .row .cell.size13,
	.grid .row .cell.size14,
	.grid .row .cell.size15,
	.grid .row .cell.size16,
	.grid .row .cell.size17,
	.grid .row .cell.size18,
	.grid .row .cell.size19,
	.grid .row .cell.push {
		float: none !important;
		width: auto;
		min-height: none !important;
		max-width: none !important;
		/*display: block !important;*/
	}
	
	/* Remove positioning for sized push & pull */
	.grid .row .cell.push1,
	.grid .row .cell.push2,
	.grid .row .cell.push3,
	.grid .row .cell.push4,
	.grid .row .cell.push5,
	.grid .row .cell.push6,
	.grid .row .cell.push7,
	.grid .row .cell.push8,
	.grid .row .cell.push9,
	.grid .row .cell.push10,
	.grid .row .cell.push11,
	.grid .row .cell.push12,
	.grid .row .cell.push13,
	.grid .row .cell.push14,
	.grid .row .cell.push15,
	.grid .row .cell.push16,
	.grid .row .cell.push17,
	.grid .row .cell.push18,
	.grid .row .cell.push19,
	.grid .row .cell.pull1,
	.grid .row .cell.pull2,
	.grid .row .cell.pull3,
	.grid .row .cell.pull4,
	.grid .row .cell.pull5,
	.grid .row .cell.pull6,
	.grid .row .cell.pull7,
	.grid .row .cell.pull8,
	.grid .row .cell.pull9,
	.grid .row .cell.pull10,
	.grid .row .cell.pull11,
	.grid .row .cell.pull12,
	.grid .row .cell.pull13,
	.grid .row .cell.pull14,
	.grid .row .cell.pull15,
	.grid .row .cell.pull16,
	.grid .row .cell.pull17,
	.grid .row .cell.pull18,
	.grid .row .cell.pull19 { left: auto !important; right: auto !important; }
}

/* ==== 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.dropupParent:hover > .dropup,
.dropMenu > li.dropupParent:focus > .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.dropupParent > .dropup li.submenuParent:hover > .submenu,
.dropMenu > li.dropupParent > .dropup li.submenuParent:focus > .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 {}
/* 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; }