/* "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
}


.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.3rem
}

.fm-inline .fm-large-op {
    font-size: 1rem
}

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.6rem
}

.fm-radicand {
    padding: 0 1px 0 0;
    border-top: solid;
    margin-top: 0.1em
}

.fm-script {
    font-size: 0.71rem;
}

.fm-script .fm-script .fm-script {
    font-size: 1rem
}

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
}
