/* "fm" classes are mostly for imitating MathML in browsers without it; we try to roughly mimic
	Firefox's MathML layout, which seems better than http://www.w3.org/TR/mathml-for-css/ */

/* Cambria [Math]'s line height currently (2/11) is large in most non-Microsoft browsers: */
fmath, .fm-math		{ font-family: STIXGeneral, 'DejaVu Serif', 'DejaVu Sans',
						/* Cambria, 'Cambria Math', */ Times, 'Lucida Sans Unicode',
						OpenSymbol, 'Standard Symbols L', serif; line-height: 1.2 }
fmath mtext, .fm-math mtext
					{ line-height: normal }
fmath mo, .fm-mo, .ma-sans-serif, fmath mi[mathvariant*=sans-serif],
fmath mn[mathvariant*=sans-serif], fmath mtext[mathvariant*=sans-serif],
fmath ms[mathvariant*=sans-serif]
/* some (crossbrowsertesting/browsershots) IE7s require no line break before
	'Lucida Sans Unicode': */
{ font-family: STIXGeneral, 'DejaVu Sans', 'DejaVu Serif', /* Cambria, 'Cambria Math', */ 'Lucida Sans Unicode',
						'Arial Unicode MS', 'Lucida Grande', Times,
						OpenSymbol, 'Standard Symbols L', sans-serif }
.fm-mo-Luc	/* avoid extra space at character tops, especially when stretched */
{ font-family: STIXGeneral, 'DejaVu Sans', 'DejaVu Serif', /* Cambria, 'Cambria Math', */ 'Lucida Sans Unicode',
						'Lucida Grande', 'Arial Unicode MS', Times,
						OpenSymbol, 'Standard Symbols L', sans-serif }
* html fmath, * html .fm-math, * html fmath mo, * html .fm-mo, * html .IE6-LSU
					{ font-family: 'Lucida Sans Unicode' !important }	/* IE <=6 only */
mo.fm-radic			{ font-family: 'Lucida Sans Unicode', 'Lucida Grande',
						Verdana, sans-serif !important }
.ma-script, fmath mi[mathvariant*=script], fmath mo[mathvariant*=script],
fmath mn[mathvariant*=script], fmath mtext[mathvariant*=script], fmath ms[mathvariant*=script]
					{ font-family:
						'England Hand DB', 'Embassy BT', 'Amazone BT', 'Bank Script D',
						'URW Chancery L', 'Lucida Calligraphy', 'Apple Chancery',
						'Monotype Corsiva', Corsiva,
						'Vivaldi D', Gabriola, 'Segoe Script', cursive }
.ma-fraktur, fmath mi[mathvariant*=fraktur], fmath mo[mathvariant*=fraktur],
fmath mn[mathvariant*=fraktur], fmath mtext[mathvariant*=fraktur],
fmath ms[mathvariant*=fraktur]
					{ font-family: UnifrakturMaguntia, Impact, fantasy }
fmath mi[mathvariant*=monospace], fmath mo[mathvariant*=monospace],
fmath mn[mathvariant*=monospace], fmath mtext[mathvariant*=monospace],
fmath ms[mathvariant*=monospace]
					{ font-family: monospace }
/* .ma-double-struck currently ignored */

.fm-mi-length-1		{ font-style: italic }
fmath mi[mathvariant]	{ font-style: normal }

.ma-bold, fmath mi[mathvariant*=bold], fmath mo[mathvariant*=bold],
fmath mn[mathvariant*=bold], fmath mtext[mathvariant*=bold], fmath ms[mathvariant*=bold]
					{ font-weight: bold }
.ma-nonbold			{ font-weight: normal }
.ma-upright			{ font-style: normal !important }
.ma-italic, fmath mi[mathvariant*=italic], fmath mo[mathvariant*=italic],
fmath mn[mathvariant*=italic], fmath mtext[mathvariant*=italic], fmath ms[mathvariant*=italic]
					{ font-style: italic }

fmath.ma-block		{ display: block; text-align: center; text-indent: 0;
						page-break-inside: avoid }

/* note an operator might be 'mo' or "embellished": */
.fm-separator		{ padding: 0 0.56ex 0 0 }
.fm-infix-loose		{ padding: 0 0.56ex }	/* typically a relation */
.fm-infix			{ padding: 0 0.44ex }
.fm-prefix			{ padding: 0 0.33ex 0 0 }
.fm-postfix			{ padding: 0 0 0 0.33ex }
.fm-prefix-tight	{ padding: 0 0.11ex 0 0 }
.fm-postfix-tight	{ padding: 0 0 0 0.11ex }
.fm-quantifier		{ padding: 0 0.11ex 0 0.22ex }	/* to match MathML */
/* fences should have no padding */
.ma-non-marking		{ display: none }

.fm-large-op		{ font-size: 1.3em }
.fm-inline .fm-large-op	{ font-size: 1em }

fmath mrow			{ white-space: nowrap }

.fm-vert			{ display: inline-block; vertical-align: middle }

fmath table, fmath tbody, fmath tr, fmath td	/* reset to default(?) styles */
					{ border: 0 !important; padding: 0 !important; margin: 0 !important;
						outline: 0 !important }

fmath table			{ border-collapse: collapse !important; text-align: center !important;
						table-layout: auto !important; float: none !important }

.fm-frac			{ padding: 0 1px !important }
td.fm-den-frac		{ border-top: solid thin !important }

.fm-root			{ font-size: 0.6em }
.fm-radicand		{ padding: 0 1px 0 0; border-top: solid; margin-top: 0.1em }

.fm-script			{ font-size: 0.71em }
.fm-script .fm-script .fm-script	{ font-size: 1em }

td.fm-underover-base	{ line-height: 1 !important }

td.fm-mtd			{ padding: 0.5ex 0.4em !important; vertical-align: baseline !important }

fmath mphantom		{ visibility: hidden }
fmath menclose, menclose.fm-menclose
					{ display: inline-block }
fmath menclose[notation=top], menclose.fm-menclose[notation=top]
					{ border-top: solid thin }
fmath menclose[notation=right], menclose.fm-menclose[notation=right]
					{ border-right: solid thin }
fmath menclose[notation=bottom], menclose.fm-menclose[notation=bottom]
					{ border-bottom: solid thin }
fmath menclose[notation=left], menclose.fm-menclose[notation=left]
					{ border-left: solid thin }
fmath menclose[notation=box], menclose.fm-menclose[notation=box]
					{ border: solid thin }
fmath none			{ display: none }	/* probably unnecessary */

mtd.middle, fmath td.middle	{ vertical-align: middle !important }

fmath table[columnalign=left], fmath tr[columnalign=left], fmath td[columnalign=left]
					{ text-align: left !important }
fmath table[columnalign=right], fmath tr[columnalign=right], fmath td[columnalign=right]
					{ text-align: right !important }
fmath td[rowalign=top]
					{ vertical-align: top !important }
fmath td[rowalign=bottom]
					{ vertical-align: bottom !important }
fmath td[rowalign=center]
					{ vertical-align: middle !important }

mtable.ma-join-align > mtr > mtd:first-child,
fmath span.ma-join-align > table > tbody > tr > td:first-child
					{ text-align: right; padding-right: 0 !important }
mtable.ma-join-align > mtr > mtd:first-child + mtd,
fmath span.ma-join-align > table > tbody > tr > td:first-child + td
					{ text-align: left; padding-left: 0 !important }
mtable.ma-join1-align > mtr > mtd:first-child,	/* e.g. for cases after a stretched { */
fmath span.ma-join1-align > table > tbody > tr > td:first-child
					{ text-align: left; padding-left: 0 !important }

mtable.ma-binom > mtr > mtd, fmath span.ma-binom > table > tbody > tr > td
					{ padding: 0 !important }
mtable.ma-binom > mtr:first-child > mtd,
fmath span.ma-binom > table > tbody > tr:first-child > td
					{ padding: 0 0 0.18em 0 !important }
