/* ***** Remove special background colors then
         copy to MJH-NM Public => MJH-NM.NET\public ***** */
:root {
  /* define global custom properties (variables) in root */
  --MJH-color: #FFF8DE;  /* my parchment color RGB 255, 248, 222 */
  --background: var(--MJH-color);
  --button-color: #87CEFA;  /* LightSkyBlue */
  --hover-color: #AAEFFC;  /* LighterSkyBlue */
/* can predefine the 'v's as they are fixed alternatives */
  --vheight: 100vh;
  --vwidth: 100vw;
  --vh: 1vh;
  --vw: 1vw;
/* set basic rem value to the browser default
   typically this is 16px=12pt */
  font-size: 100%; 
}
/* ======================================== */

html {
  /* so everything within html uses the whole viewport */
  height: 100%; /* matters */
  width: 100%; /* matters */
  margin: 0; /* matters */
  padding: 0; /* matters */
}

/* NOTE: for my use all default values are for monitors!!!
   @media at the end makes changes for smaller devices */

/* Font size "should" be expressed twice: first as pt for a default,
   then if the browser does recognize rem override with those units.
   However, rem is now sufficiently recognized that I don't bother.  */

/* CSS Syntax Reminder:
   4 entries: top right bottom left; 3: top right&left bottom;
   2: top&bottom right&left; 1: all_four_equal  */

body {
  /* for size values rem & vh/vw can be used
     since font-size is set in html above */
  /* this seems necessary to avoid scrollbar */
  height: calc(97 * var(--vh, 1vh));
  /* this overrides any width setting */
  max-width: 52rem;
  /* set based on em, thus font family specific
     need a calc only if font is full but line-height is different */
  --base-line-height: 1.3em;
  line-height: var(--base-line-height);
  margin: 0;
  /* I prefer % to vw as it is a fixed amount for the device */
  padding: 0 3% 0 5%; /* top/right/bottom/left standard for monitors */

  --scroll-padding-top: 6.6rem;
  /* exposes ~two rows above */
  /* this is changed in @media
     only used for "padding-top" of "div.Scroll a[name]"
     to bring hyperlink target within a scrolled table
     down below the heading of the table 
  */

  --FNum-padding-top: 4rem;
  /* padding for footnote marker number */

  --index-padding-top: 4.1rem;
  /* this is changed in @media
     only used for "padding-top" of "div.main a[name]"
     and only an Index file has <div class="main">
     inserted for that file by the Perl script
     as part of defining the alphabet jumpbar.
  NOTE: I leave this in this CSS because I may test it here
        The PERL script inserts navigation based on the filename
        and I might add a test filename from this group.
        It is triggered by paragraph <NAV CLASS="Navigate">
        containing characters with format of "menuletter"
       The @media amounts vary considerably based on
       -- widest screens fit the jumpbar in one row
          thus less padding: 2.5rem
       -- standard desktop monitor with two rows
          default): 4.1rem
       -- intermediate screens but still needs two rows
          tablets and mobiles in landscape: 3.9rem
       -- the narrowest screens have the jumpbar as the side
          and thus need little space above
          mobiles in portrait: 0.3rem
  */

  background-color: var(--background);
}

/* All Font definitions are in separate group CSS Stylesheet files
   which are linked in HEAD in the individual HTML files,  and
   are typically added to the FM/HTML file by a PERL script, e.g.:
      EXAMPLES:
<link rel="preload" as="style" href="./Computer-Fonts.css">
<link rel="stylesheet" href="./Computer-Fonts.css" CHARSET="UTF-8" TYPE="text/css">
<link rel="preload" as="style" href="./Computer-Extra-Fonts.css">
<link rel="stylesheet" href="./Computer-Extra-Fonts.css" CHARSET="UTF-8" TYPE="text/css">

   These font stylesheets are optional,
   links are not added if don't exist.

   These stylesheets invoke local copies of the actual font definitions.
   Both these master defining stylesheets AND the local definitions
   use a relative address which is RELATIVE TO the folder in which
   the file INVOKING the stylesheet is located.
   Thus most HTML files which are in a subfolder (like Computer)
   will need a sibling reference to a stylesheet i.e. ../Common/
   However most stylesheet files are already in /Common/ thus
   a reference to another stylesheet within Common will be ./
   and a reference within a stylesheet to a font definition file
   will require a child reference to "./Server-Fonts/"
   My font-family names all end in "-local" to make that clear.
   Basic fonts are expected, but extra fonts are likely group specific.
*/

/* Finally settled on the following families
   ---------------
   serif: New Century Schoolbook-local
   sans-serif: FreeSans-local
   computer: Inconsolata-w-local (~sans, no true italics)
   mono serif: Courier Prime-local
   mono sans-serif: Noto Sans Mono-local, FreeMono-local
*/

/* Emoji/Symbols as a separate set of styles if needed
   -------------
   Within text: Symbola-local
   Specifically for symbols/emoji (all in order):
      Noto Emoji-local, Symbola-local, Noto Color Emoji-local
*/

/* ***** group all font specific settings together ***** */

/* These are the overall font-family default settings. */
/* I prefer a serif font as default for all text */
/* Include the variable spaced serif Symbola as fallback here
   which also adds most symbols in the Basic Multilingual Plane */
P, SPAN.serif, SPAN.smSerif, SPAN.top-button {
  font-family: 
  "New Century Schoolbook-local", "Symbola-local", 
  "New Century Schoolbook", "Symbola", 
  "Times New Roman", 
  serif;
}
/* For entities which use sans-serif for contrast */
/* Symbola not included here:
   symbols not expected in these formats
   plus Symbola characters are serif */
P.Major, P.Minor, P.DefHead, P.Title,
  P.BodySans, P.Body1Sans, P.IndentSans, P.Indent1Sans,
  P.SubindentSans, P.Subindent1Sans, P.SmallSans, P.SansCtr,
  P.Mapping-Table-Cell, P.IndexMain, P.IndexSub2,
  SPAN.lgSans, SPAN.lgSansRed, SPAN.sans, SPAN.sansRed,
  SPAN.smSans, SPAN.smSansRed, 
  SPAN.footnoteNumber, A.footnote {
  font-family:
  "FreeSans-local", "FreeSans",
  "Helvetica", "Arial",
  sans-serif;
}
/* lower alignment for these Sans Serif paragraphs */
P.BodySans, P.Body1Sans, P.IndentSans, P.Indent1Sans,
  P.SubindentSans, P.Subindent1Sans, P.SmallSans, P.SansCtr,
  P.IndexMain, P.IndexSub2 {
  position: relative;
  top: 0.095rem;
}
/* For computer data use bold monospaced “sort of” sans */
/* Symbola not included since serif and not monospaced */
P.Computer, SPAN.computer, SPAN.smComputer,
  P.IndexLetter, SPAN.indexLtr, SPAN.menuletter {
  font-family:
  "Inconsolata-w-local", "Inconsolata",
  "Courier Prime", "Courier New",
  "Source Code Pro", "Roboto Mono",
  monospace;
  font-weight: 600;
}
/* For fixed data use monospaced serif */
/* Symbola not included since not monospaced */
P.MonoSerif, P.E-mail, P.e-mail,
  SPAN.monoSerif  {
  font-family:
  "Courier Prime-local", "Courier Prime",
  "Courier New", "Inconsolata",
  monospace;
}
/* For general monospaced text output use sans-serif  */
/* Use this if monospaced special characters are included 
   such as UBMP emojis/symbols */
P.MonoSans, P.Equation, SPAN.monoSans, 
  SPAN.Equation, SPAN.EquationVariables  {
  font-family:
  "Noto Sans Mono-local", "FreeMono-local",
  "Noto Sans Mono", "FreeMono",
  monospace;
}
/* For text intended to contain only symbols and emoji  */
/* Include the Symbola family as fallback for text characters */
P.Symbol, P.SymbolCtr, SPAN.symbol, SPAN.smSymbol {
  font-family: 
  "Noto Emoji-local", "Symbola-local", "Noto Color Emoji-local", 
  "Noto Emoji", "Symbola", "Noto Color Emoji",
  emoji;
}

/* ***** end of font specific settings ***** */

/* ***** group color specific settings together ***** */

/* Bridge uses this for more elements  */
SPAN.blue, SPAN.Blue {
	/* text of light blue */
	color: #276EFF;
}

SPAN.red, SPAN.Red, 
 SPAN.sansRed, SPAN.smSansRed,
 SPAN.lgRed, SPAN.lgSansRed {
	color: #ff0000;
}

/* ***** end of color specific settings ***** */

/* Horizontal Rule classes */
hr.Thin {
  margin: 0.0625rem auto 0 0;
  max-width: 21rem;
  border: none;
  color: black;
  background-color: black;
  height: 0.0625rem;
  line-height: 0.0625rem;
}

hr.Thick {
  margin: 0.1875rem auto 0 auto;
  max-width: calc(0.3 * var(--vwidth));
  border: none;
  color: black;
  background-color: black;
  height: 0.1875rem;
  line-height: 0.1875rem;
}

/* *********** HOME button *********** */
SPAN.Home {
  background-color: var(--button-color);
  display: inline-block;
  border-radius: .4rem;
  border: .2rem black solid;
  padding: 0 .1rem .2rem .1rem;
  margin:  -0.2rem 0 0 0;
}


/* *********** bottom buttons *********** */
SPAN.top-button {
  line-height: 0.65rem;
  margin: 0;  
  text-align: center;
  position: fixed;
  bottom: 0.1825rem;
  z-index: 3;
  font-size: 0.75rem;
  left: 0.1825rem;
}
SPAN.top-button a {
  background-color: var(--button-color);
  display: inline-block;
  border-radius: .4rem;
  border: .2rem black solid;
  padding: .2rem;
  margin: .2rem 0;
}

div.email-button {
  line-height: 0.5rem;
  margin: 0;  
  text-align: center;
  position: fixed;
  bottom: 0.1825rem;
  z-index: 3;
  font-size: 0.75rem;
  text-decoration-line: underline;
  right: 0.1825rem;
  background-color: var(--button-color);
  display: inline-block;
  border-radius: .4rem;
  border: .2rem black solid;
  padding: .2rem;
  margin: .2rem 0;
}

div.email-button:hover {
  background-color: var(--hover-color);
  cursor: pointer;
}

/* *********** top email link *********** */
span.email-head {
  cursor: pointer;
  color: blue;
  text-decoration-line: underline;
}

/* This produces a responsive one-column list */
/* resulting from contiguous FM */
/* "List" and "List Narrow" paragraphs */
/* If a different column width is needed, */
/* define new paragraph and section styles */
/* and set its widths for their HTML output */

SECTION.ListSecNarrow {
/* made smaller for just this output */
  -webkit-column-width: 7.9rem;
  -moz-column-width: 7.9rem;
  column-width: 7.9rem;
}
SECTION.ListSec {
  -webkit-column-width: 12rem;
  -moz-column-width: 12rem;
  column-width: 12rem;
}

/* **************** Tables *************** */
/* **** set no default for all tables ****
   ** this allows a true browser default * */

/* ** Only set Specific Table Formats ** */

/* Perl script adds the elements to bracket
   all the beginning rows containing th with thead
   and all the ending rows containing th with tfoot
   to allow a unique border separator from body  */

/* NOTE: can use nth-child(num) num = index
   index of first child is 1, also can use odd/even
   but because thead/tfoot has been added
    can use just "thead" for all heading rows
    or more specifically "thead tr:last-child th"
   can use formula (an+b) to create a series of indices
   counter n starts at 0, (3n+0) is multiples of 3
   (-n+3) will apply to the first three rows
   (n+4) will apply to the fourth and all later rows
 */

/* ***** class=blank tables ***** */
table.blank, table.blankBorder {
  padding: 0.5rem;
  border: none;
  border-collapse: collapse;
  margin: 0.75rem 0;
}
table.blankBorder {
  border: medium solid black;
}
table.blank th, table.blankBorder th {
  /* margin: not valid for th */
  padding: 0.18rem 0.24rem 0.12rem;
  min-width: 2rem;  /* less due to no borders */
  border: none;
}
table.blank td, table.blankBorder td {
  /* margin: not valid for td */
  padding: 0;
  min-width: 1.5rem;  /* less due to no borders */
  border: none;
  vertical-align: top;
}
table.blank td p, table.blankBorder td p {
  /* Make the line height smaller due to no separators
     max(default Paragraph font, font override size) */
  line-height: calc(0.9 * var(--base-line-height));
}

/* ***** Flex Section ***** */

SECTION.Flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

P.Flex {
  /* This paragraph type is used as their paragraph and after
     two or more tables which might fit side by side */
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: 0;
	margin-right: 0;
	margin-left: 0;
	font-size: 0;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}

/* ***** class=basic tables ***** */
table.basicB, table.basicM, table.basicT,
 table.basicCtrB, table.basicCtrM,table.basicCtrT {
  margin: 0.5rem 0;
  padding: 0.5rem;
  border-collapse: collapse; 
  border: thin solid grey;
}
table.basicCtrB, table.basicCtrM, table.basicCtrT {
  /* center the table */
  margin-left: auto;
  margin-right: auto;
  /* ensure some left/right space */
  max-width: 90%;
}
table.basicB th, table.basicCtrB th,
 table.basicM th, table.basicCtrM th,
 table.basicT th, table.basicCtrT th {
  /* margin: not valid for th */
  vertical-align: middle;
  padding: 0.18rem 0.24rem 0.12rem;
  min-width: 3rem;  /* modify this for @media */
  border: thin solid grey;
}
  /* margin: not valid for td */
table.basicB td, table.basicCtrB td {
  vertical-align: bottom;
  padding: 0.18rem 0.24rem 0.12rem;
  min-width: 2rem;  /* modify this for @media */
  border: thin solid grey;
}
table.basicM td, table.basicCtrM td {
  vertical-align: middle;
  padding: 0.18rem 0.24rem 0.12rem;
  min-width: 2rem;  /* modify this for @media */
  border: thin solid grey;;
}
table.basicT td, table.basicCtrT td {
  vertical-align: top;
  padding: 0.18rem 0.24rem 0.12rem;
  min-width: 2rem;  /* modify this for @media */
  border: thin solid grey;
}
table.basicB thead tr:last-child th,
 table.basicM thead tr:last-child th,
 table.basicT thead tr:last-child th,
 table.basicCtrB thead tr:last-child th,
 table.basicCtrM thead tr:last-child th,
 table.basicCtrT thead tr:last-child th {
  /* the last header row */
  border-bottom: 0.1825rem solid grey;
}
table.basicB tfoot tr:first-child th,
 table.basicM tfoot tr:first-child th,
 table.basicT tfoot tr:first-child th,
 table.basicCtrB tfoot tr:first-child th,
 table.basicCtrM tfoot tr:first-child th,
 table.basicCtrT tfoot tr:first-child th {
  /* the first footer row */
  border-top: 0.1825rem solid grey;
}
div.Scroll table.basicB thead th,
 div.Scroll table.basicM thead th, 
 div.Scroll table.basicT thead th, 
 div.Scroll table.basicCtrB thead th, 
 div.Scroll table.basicCtrM thead th, 
 div.Scroll table.basicCtrT thead th {
  box-shadow:
   inset -0.03rem 0 grey,   /* inside left */
   inset 0.015rem 0 grey,   /* inside right */
   inset 0 0.03rem grey;    /* inside top */
}
/* ****** only the last th stays with scroll
   but any Title/Caption is pushed up  ****** */
div.Scroll table.basicB thead tr:last-child th,
 div.Scroll table.basicM thead tr:last-child th, 
 div.Scroll table.basicT thead tr:last-child th, 
 div.Scroll table.basicCtrB thead tr:last-child th, 
 div.Scroll table.basicCtrM thead tr:last-child th, 
 div.Scroll table.basicCtrT thead tr:last-child th {
  /* force last header row to stick to the top in front of td */
  position: sticky;
  top: 0;
  /* be sure it is visually in front of the table cells */
  z-index: 2;
  /* row must have a background-color to cover rows behind */
  background-color: var(--background);
  /* force th borders to be inside with box-shadow
     since outside will not show anyway */ 
  border: none 0 currentcolor;
  padding-bottom: 0.1825rem;
  box-shadow:
   inset -0.03rem 0 grey,   /* inside left */
   inset 0.015rem 0 grey,   /* inside right */
   inset 0 0.03rem grey,    /* inside top */
   inset 0 -0.1825rem grey; /* inside bottom */
}

/* **** Common settings for the three decorated
   classes of Formats B, M, and T  ****  */

table.FormatB, table.FormatM, table.FormatT {
  /* center the table */
  margin: 1.0rem auto;
  /* ensure some left/right space */
  max-width: 90%;
  padding: 0.5rem;
  border: 0.1825rem solid black;
  border-collapse: collapse; 
}
table.FormatB th, table.FormatM th, table.FormatT th {
  /* margin: not valid for th */
  padding: 0.18rem 0.24rem 0.12rem;
  min-width: 3rem;  /* modify this for @media */
  vertical-align: middle;
  border: thin solid black;
}
table.FormatB td {
  /* margin: not valid for td */
  border: thin solid black;
  vertical-align: bottom;
}
table.FormatM td {
  /* margin: not valid for td */
  border: thin solid black;
  vertical-align: middle;
}
table.FormatT td {
  /* margin: not valid for td */
  border: thin solid black;
  vertical-align: top;
}
table.FormatB thead tr:last-child th,
 table.FormatM thead tr:last-child th,
 table.FormatT thead tr:last-child th {
  /* the last header row */
  border-bottom: thick double black;
}
table.FormatB tfoot tr:first-child th,
 table.FormatM tfoot tr:first-child th,
 table.FormatT tfoot tr:first-child th {
  /* the first footer row */
  border-top: thick double black;
}
/* ****** entire thead stays with scroll
   but any Title/Caption is pushed up  ****** */
div.Scroll table.FormatB thead,
 div.Scroll table.FormatM thead, 
 div.Scroll table.FormatT thead {
  /* force heading to stick to the top in front of td's */
  position: sticky;
  top: 0;
  /* be sure it is visually in front of the table cells */
  z-index: 2;
  /* must have a background-color to cover rows behind */
  background-color: var(--background);
  /* force a line at the bottom with outline
     since outside "border" will not show
     due to sticky it only shows at the bottom */ 
  outline: 0.1rem solid black;
}
div.Scroll table.FormatB thead th,
 div.Scroll table.FormatM thead th, 
 div.Scroll table.FormatT thead th {
  box-shadow:
   inset -0.03rem 0 black,   /* inside left */
   inset 0.015rem 0 black,   /* inside right */
   inset 0 0.03rem black;    /* inside top */
}
div.Scroll table.FormatB thead tr:last-child th,
 div.Scroll table.FormatM thead tr:last-child th,
 div.Scroll table.FormatT thead tr:last-child th {
  /* the last header row */
  padding-bottom: 0.1825rem;
  box-shadow:
   inset -0.03rem 0 black,   /* inside left */
   inset 0.015rem 0 black,   /* inside right */
   inset 0 0.03rem black,    /* inside top */
   inset 0 -0.1rem black;    /* inside bottom */
}
/* **** settings for all Scrolled tables **** */
/* scrolling table HTML structure
    div ScrollM (only if a table in the middle)
      div Scroll
        table TableName
        /table
      /div Scroll
    /div ScrollM (only if necessary)
*/

div.Scroll {
  overflow-y: scroll;
  overflow-x: auto;
  max-height: 90vh;
  border-top: 0.1825rem solid grey;
  border-bottom: 0.1825rem solid grey;
  margin-top: 0.25rem;
  /* inline-block required in case
     containing div.ScrollM centers */
  display: inline-block;
  max-width: 100%;
}
div.Scroll table {
   margin: 0 0 0 0;
   max-width: 100%;
} 
div.ScrollM {
  /* make the div.Scroll centered if it should be */
  display: flex;
  justify-content: center;
}

/* **********Index Navigation Code************
   div navoutside
    div navcontainer
      NAV Navigate
        SPAN.menuletter
        SPAN.menuletter
        SPAN.menuletter
        SPAN.menuletter </NAV>
    /div navcontainer
    div main
      -- contents of the scrolled index contains
      periodic P.IndexLetter with SPAN.indexLtr
      entries which use paragraphs
        P.IndexMain
        P.IndexMainSee
        P.IndexSub1
        P.IndexSub1See
        P.IndexSub2
        P.IndexSub2See
        P.IndexSub3
        P.IndexSub3See
    /div main
   /div navoutside
  ********* */

/*  These defaults are for the monitors  */
div.navoutside {
  overflow-y: scroll;
  overflow-x: auto;
  max-height: 100%;
  border: solid black;
  border-width: 0 0.1825rem 0.1825rem;
  display: inline-block;
  max-width: 100%;
}
div.main {
   margin: 0 0 0 0;
   padding: 0 0 0.2rem 0.8rem;
   max-width: 100%;
}
div.navcontainer {
  z-index: 2;
  position: sticky;
  top: 0;
  background-color: var(--background);
  border: none 0 currentcolor;
  box-shadow:
   inset -0.1875rem 0 black,
   inset 0.015625rem 0 black,
   inset 0 0.1875rem black,
   0 0.1875rem black;
}
NAV.Navigate {
/* center letters in button  */
  text-align: center;
  text-decoration-line: none;
  padding: .2rem 0; /* top&bottom right&left */
}
P.NavTest {
/* center letters in button  */
  text-align: center;
  text-decoration-line: none;
  /* top right&left bottom */
  padding: .2rem 0;
}

div.main a[name] {
/* move a target within main below index heading rows */
  position: relative;
  padding-top: var(--index-padding-top);
}

SPAN.menuletter a {
  font-size: 1.3333rem;
  /* the above is for the letters themselves */
  /* be sure it matches with SPAN.menuletter below */
  /* the rest affects the "button" around the letter */
  padding-bottom: .4rem; /* need room for underline */
  padding-top: .2rem;
  background-color: var(--button-color);
  display: inline-block;
  border-radius: .4rem;
  width: 1.4rem;
  height: 1rem;
  border: thin solid grey;
  /* margins around the buttons: top right/left bottom */
  margin: 0.3rem calc(0.5 * var(--vw, 1vw)) 0.1rem;
}
SPAN.indexLtr { 
	font-size: 1.3333rem;
/*	font-weight: bold;
	 is included with the font assignment */
	color: #000000;
	vertical-align: text-top;
	text-align: center;
  /* be sure it matches with P.IndexLetter below */
  /* the rest affects the "button" around the letter */
  padding-bottom: 1.0rem;
  background-color: var(--button-color);
  display: inline-block;
  border-radius: .4rem;
  width: 1.4rem;
  height: 0.8rem;
  border: thin solid grey;
  /* margins around the buttons: top right/left bottom */
  margin: 0.3rem calc(0.5 * var(--vw, 1vw)) 0.1rem;
}
/* **********END Navigation Code************ */

/* **** Styles for footnote markers and Endnotes ***** */

div.Scroll a[name] {
/* move <a...> target which has a name within any scrolling table
  down below the headers */
  position: relative;
  padding-top: var(--scroll-padding-top);
}

a[name|=FNum] {
  /* A<> link name begins with "FNum-"  */
  /* when the target is a footnote/endnote marker number,
     move down somewhat so the context/sentence surrounding
     this footnote marker is visible */
    position: relative;
    padding-top: var(--FNum-padding-top);
}

A.footnote { /* for all inline footnote marker numbers */
  /* A smaller superscript font is automatic in FrameMaker,
     the HTML conversion does not provide this */
  font-size: 0.75em;
  font-weight: normal;
  font-style: normal;
  /* Avoid added space above caused by relative position */
  vertical-align: baseline;
  position: relative;
  top: -0.6em;
  line-height: 100%;
}

/* ***** highlight Endnote target only when in a table */
div.Scroll div.footnotes div.footnote A:target::before {
  content: "⏩ ";
  color: red;
}

/* ***** highlight footnote marker in text when a target */
A[name|="FNum"]:target::before {
  content: "⯅";
  color: red;
}

/* **** End Styles for footnote markers and Endnotes ***** */

/* NOTE: changed all obsolete "font-weight: normal;"
   to the new standard "font-weight: normal;"
   and "font-style: normal;" to "font-style: normal"
   also "text-decoration:" to text-decoration-line:"
     for underline and line-through.
   WARNING!!!  If a text-decoration is set in a Paragraph
     it CANNOT be removed/overridden by a Character SPAN
 */

/* End of MJH specific entity changes and additions,
   ***** but see @media at end of file *****

   All FrameMaker non-zero pt values changed to rem
   line-height: var(--base-line-height); is now default
 
   paragraph/P class name should begin with uppercase
   character/SPAN class name should begin with lowercase
   Note that *both* upper and lowercase names exist for
   some paragraph/P and char/SPAN styles to handle
   legacy names before I imposed a naming convention
   ************************************************* */
A.link {
	color: blue;
	text-decoration-line: underline;
}
A.visited {
	color: purple;
	text-decoration-line: underline;
}
A.active {
	color: red;
	text-decoration-line: underline;
}
P.Body, P.BodySans {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 1.1667rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 0;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Body1, P.Body1Sans {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 0;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.BotLeft, P.MidLeft, P.TopLeft,
 P.Singleline, P.singleline, P.Symbol {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 0;
	margin-left: 0;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.BotRight, P.MidRight, P.TopRight {
	display: block;
	text-align: right;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 0;
	margin-left: 0;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}

P.Bullet, P.bullet {
	display: block;
	text-align: left;
	text-indent: -1.875rem;
	margin-top: 0.5834rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 1.875rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Bullet1, P.bullet1 {
	display: block;
	text-align: left;
	text-indent: -1.875rem;
	margin-top: 0;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 1.875rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.BulletL {
	display: block;
	text-align: left;
	text-indent: -1.875rem;
	margin-top: 1.1667rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 1.875rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Computer, P.computer {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 0;
	margin-left: 3.75rem;
	font-size: 1.0rem;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.DefHead {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 1.1667rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 0;
	font-size: 1.1667rem;
	font-weight: bold;
	font-style: normal;
	color: #000000;
/* WARNING!!!  A text-decoration set in a Paragraph
    CANNOT be removed/overridden by a Character SPAN
*/
	text-decoration-line: underline;
	vertical-align: baseline;
	text-transform: none;
}
P.DefHeadSee {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0.25rem;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 0.8333rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: italic;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Definition, P.Indent1, P.Indent1Sans {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 1.875rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.DefinitionSee {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0.25rem;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 2.7083rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: italic;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.DefTerm {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 0;
	font-size: 1.0rem;
	font-weight: bold;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.DefTermSee {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0.25rem;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 0.8333rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: italic;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.E-mail, P.e-mail {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 0;
	margin-left: 0;
	font-size: 0.9167rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Equation {
	display: block;
	text-align: center;
	text-indent: 0;
	margin-top: 0.8333rem;
	margin-bottom: 0.8333rem;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 0;
	margin-left: 0;
	font-size: 0.8334rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Footnote, P.TableFootnote {
	display: block;
	text-align: left;
	text-indent: -1.5625rem;
	margin-top: 0;
	margin-bottom: 0;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 1.5625rem;
	margin-left: 1.5625rem;
	font-size: 0.8334rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Halfline, P.halfline {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0.5834rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 0;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.HeadFoot {
	display: block;
	text-align: center;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 0;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.BotCtr, P.MidCtr, P.TopCtr, P.SansCtr, P.SymbolCtr {
	display: block;
	text-align: center;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 0;
	margin-left: 0;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Indent, P.IndentSans {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0.5834rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 1.875rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.MidIndent {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 0;
	margin-left: 1.875rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.IndentL {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 1.1667rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 1.875rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.IndentFoot {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 1.5625rem;
	margin-left: 1.5625rem;
	font-size: 0.8333rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.IndexLetter {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0.4rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 0;
	font-size: 1.3333rem;
/*	font-weight: bold; is set with the font */
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.IndexMain {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0.4rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 0;
	font-size: 1.0rem;
	font-weight: bold;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.IndexMainSee {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 0;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.IndexSub1 {
	display: block;
	text-align: left;
	text-indent: -1.18rem;
	margin-top: 0;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 1.18rem;
	font-size: 1.0rem;
	font-weight: bold;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.IndexSub1See {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 1.18rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.IndexSub2 {
	display: block;
	text-align: left;
	text-indent: -0.985rem;
	margin-top: 0;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 2.165rem;
	/* special alignment for this font */
	position: relative;
	top: 0.095em;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.IndexSub2See {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 2.165rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.IndexSub3 {
	display: block;
	text-align: left;
	text-indent: -1.556rem;
	margin-top: 0;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 3.721rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.IndexSub3See {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 3.721rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.List, P.ListNarrow {
	display: block;
	text-align: left;
	text-indent: -1.6333rem;
	margin-top: 0;
	margin-bottom: 0;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 0;
	margin-left: 1.6333rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Major {
	display: block;
	text-align: center;
	text-indent: 0;
	margin-top: 1.8333rem;
	margin-bottom: 1.1667rem;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 0;
	margin-left: 0;
	font-size: 1.50rem;
	font-weight: bold;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Mapping-Table-Cell {
	display: block;
	text-align: justify;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 0;
	margin-left: 0;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Mapping-Table-Title {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 0;
	margin-left: 0;
	font-size: 1.3333rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Minor {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 1.5rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 0;
	font-size: 1.1667rem;
	font-weight: bold;
	font-style: normal;
	color: #000000;
/* WARNING!!!  A text-decoration set in a Paragraph
    CANNOT be removed/overridden by a Character SPAN
*/
	text-decoration-line: underline;
	vertical-align: baseline;
	text-transform: none;
}
P.MonoSans {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	/* this font-family has large x-height characters */
	line-height: calc(0.886 * var(--base-line-height));
	margin-right: 0;
	margin-left: 0;
	font-size: 1.0rem;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.MonoSerif {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	/* this font-family has large x-height characters */
	line-height: calc(0.906 * var(--base-line-height)); 
	margin-right: 0;
	margin-left: 0;
	font-size: 1.0rem;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Number, P.number {
	display: block;
	text-align: left;
	text-indent: -1.875rem;
	margin-top: 0.5834rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 1.875rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Number1, P.number1, P.NumberL {
	display: block;
	text-align: left;
	text-indent: -1.875rem;
	margin-top: 1.1667rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 1.875rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Quotation, P.Quote, P.quote {
	display: block;
	text-align: left;
	text-indent: -0.445833rem;
	margin-top: 0.5834rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 3.75rem;
	margin-left: 3.75rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Small, P.SmallSans, P.small {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 0;
	margin-left: 0;
	font-size: 0.8333rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.SmallCtr {
	display: block;
	text-align: center;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: calc(0.81 * var(--base-line-height));
	margin-right: 0;
	margin-left: 0;
	font-size: 0.8333rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Subbullet, P.subbullet {
	display: block;
	text-align: left;
	text-indent: -1.875rem;
	margin-top: 0.5834rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 3.75rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Subbullet1, P.subbullet1 {
	display: block;
	text-align: left;
	text-indent: -1.875rem;
	margin-top: 0;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 3.75rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.SubbulletL, P.subbulletL {
	display: block;
	text-align: left;
	text-indent: -1.875rem;
	margin-top: 0.8333rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 3.75rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Subindent, P.SubindentSans, P.subindent {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0.5834rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 3.75rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Subindent1, P.Subindent1Sans, P.subindent1 {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 3.75rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.SubindentL, P.subindentL {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 1.1667rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 3.75rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Subnumber, P.subnumber {
	display: block;
	text-align: left;
	text-indent: -1.875rem;
	margin-top: 0.5834rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 3.75rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Subnumber1, P.subnumber1 {
	display: block;
	text-align: left;
	text-indent: -1.875rem;
	margin-top: 0.8333rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 3.75rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.SubnumberL {
	display: block;
	text-align: left;
	text-indent: -1.875rem;
	margin-top: 0.8333rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 3.75rem;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Title {
	display: block;
	text-align: center;
	text-indent: 0;
	margin-top: 0;
	margin-bottom: 0.25rem;
	line-height: calc(0.9 * var(--base-line-height));
	margin-right: 0;
	margin-left: 0;
	font-size: 1.1667rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	text-decoration: none;
	vertical-align: baseline;
	text-transform: none;
}
P.Topic {
	display: block;
	text-align: left;
	text-indent: 0;
	margin-top: 1.1667rem;
	margin-bottom: 0;
	line-height: var(--base-line-height);
	margin-right: 0;
	margin-left: 0;
	font-size: 1.0rem;
	font-weight: normal;
	font-style: italic;
	color: #000000;
/* WARNING!!!  A text-decoration set in a Paragraph
    CANNOT be removed/overridden by a Character SPAN
*/
	text-decoration-line: underline;
	vertical-align: baseline;
	text-transform: none;
}
/* NOTE: This format is referenced in the PERL script
   to replace the special FM non-breaking hyphen */
SPAN.noWrap, SPAN.NoWrap {
	white-space: nowrap;
}
SPAN.bold, SPAN.Bold {
	font-weight: Bold;
}
SPAN.caps, SPAN.Caps {
	text-transform: uppercase;
}
SPAN.computer {
	color: #000000;
	vertical-align: baseline;
	text-transform: none;
	font-size: 1.0rem;
}
SPAN.disable, SPAN.Disable {
	text-decoration-line: line-through;
}
SPAN.dkBlue {
	/* text of dark blue */
	color: blue;
}
SPAN.dkGreen {
	/* text of dark green */
	color: green;
}
SPAN.dkYellow {
	/* text of dark yellow/gold */
	color: #B49400;
}
SPAN.emphasis, SPAN.Emphasis {
	font-style: italic;
}
/* FM sets equation classes to begin uppercase
   so these violate my naming convention */
/* The character format EqNum converts to PLAIN TEXT
   so there is no SPAN declaration for it */
SPAN.Equation {
	font-size: 0.8333rem;
	font-weight: normal;
	font-style: normal;
	color: #000000;
	vertical-align: baseline;
	text-transform: none;
}
SPAN.EquationVariables {
	font-size: 0.8333rem;
	font-weight: normal;
	font-style: italic;
	color: #000000;
	vertical-align: baseline;
	text-transform: none;
}
SPAN.footnoteNumber {
	font-size: 0.8333rem;
}

/* PLAIN-TEXT.hyperLink, PLAIN-TEXT.HyperLink */
SPAN.italic, SPAN.Italic {
	font-style: italic;
}

SPAN.large, SPAN.Large {
	font-size: 1.25em;
}
SPAN.lgRed, SPAN.lgSansRed {
	font-size: 1.6em;
	position: relative;
	top: 0.095rem; 
}
SPAN.lgSans {
	font-size: 1.25em;
}
SPAN.menuletter {
	font-size: 1.3333rem;
	font-weight: bold;
	color: #000000;
	text-decoration-line: underline;
	vertical-align: baseline;
}
SPAN.monoSans {
	font-size: 1.0rem;
}
SPAN.monoSerif {
	font-size: 1.0rem;
}
SPAN.sans, SPAN.sansRed {
	font-size: 0.97em;
}
SPAN.small, SPAN.Small, SPAN.smSerif, SPAN.smSymbol {
	font-size: 0.75em;
}
SPAN.smCaps, SPAN.SmCaps {
	font-size: 0.8em;
	font-variant: small-caps;
}
SPAN.smComputer {
	font-size: 0.9em;
	color: #000000;
	vertical-align: baseline;
	text-transform: none;
}
SPAN.smSans, SPAN.smSansRed {
	font-size: 0.7275em;
}
SPAN.subscript, SPAN.Subscript {
	font-size: 0.75em;
	vertical-align: baseline;
	position: relative;
	top: 0.3em;
	line-height: 100%;
}
SPAN.superscript, SPAN.Superscript {
	font-size: 0.75em;
	vertical-align: baseline;
	position: relative;
	top: -0.4em;
	line-height: 100%;
}
SPAN.underline {
	text-decoration-line: underline;
}
SPAN.white {
	color: #ffffff;
}
SPAN.xref {
	white-space: nowrap;
	font-size: 0.75em;
}
SPAN.yellow {
	/* text of light yellow */
	color: yellow; 
}

/* ***** Adding @media rules for responsive ***** */
/* Values are based on rem, browser's default font size  */
/* Remember that for widths matching multiple rules  */
/* values in the LAST matching rule will override  */
/* Thus these rules should always be last, since above  */
/* values are for default monitors, below for smaller */
/* or for super-large monitors */

@media screen and (max-width: 50rem) {
/* 800px = 50rem */
/* For tablets and mobiles in landscape: */
  body {
   padding: 0 1% 0 3%;
  --scroll-padding-top: 5.5rem; /* exposes one+ rows above */
  --index-padding-top: 3.9rem;
  --base-line-height: 1.2em;
  }
  SPAN.menuletter a {
    /* letters will always be two rows at top */
    /* need to be larger to be touchable */
    font-size: 1.5rem;  /* the letters themselves */
    padding-bottom: 0.1rem;
    line-height: .7rem;
    width: 1.6rem;
    height: 1.0rem;
    /* margins around the buttons: top right/left bottom */
    margin: 0.2rem 0.3rem 0.1rem;
  }
  table.blank th {
    min-width: 2rem;
  }
  table.blank td {
    min-width: 1.2rem;
  }
  table.basicB th, table.basicCtrB th,
   table.basicM th, table.basicCtrM th,
   table.basicT th, table.basicCtrT th,
   table.FormatB th, table.FormatM th, table.FormatT th {
    min-width: 2.5rem;
  }
  table.basicB td, table.basicCtrB td,
   table.basicM td, table.basicCtrM td,
   table.basicT td, table.basicCtrT td,
   table.FormatB td, table.FormatM td, table.FormatT td {
    min-width: 1.5rem;
  }
}

@media screen and (max-width: 39.375rem) {
/* 630px = 39.375rem */
/* For mobiles in portrait */
  body {
   padding: 0 0.1875rem 0 0.375rem;
  --scroll-padding-top: 4.0rem; /* exposes ~one rows above */
  --index-padding-top: .3rem; /* index letters are at the side */
  --base-line-height: 1.1em;
  }
  table.blank th {
    min-width: 1.1rem;
  }
  table.blank td {
    min-width: 1.0rem;
  }
  table.basicB th, table.basicCtrB th,
   table.basicM th, table.basicCtrM th,
   table.basicT th, table.basicCtrT th,
   table.FormatB th, table.FormatM th, table.FormatT th {
    min-width: 1.4rem;
  }
  table.basicB td, table.basicCtrB td,
   table.basicM td, table.basicCtrM td,
   table.basicT td, table.basicCtrT td,
   table.FormatB td, table.FormatM td, table.FormatT td {
    min-width: 1.2rem;
  }
/* **********Navigation Code************ */
  div.navoutside {
    display: flex;
    overflow-y: auto;
    overflow-x: auto;
  border: solid black;
  border-width: 0 0.1825rem 0.1825rem;
  }
  div.main {
    right: 0;
    margin: 0 0 0 0;
    padding: 0 0.2rem 0 0.6rem;
    display: inline-block;
    overflow-y: auto;
    box-shadow: 
     inset 0 0.1875rem black;
  }
  div.navcontainer {
    display: block;
    min-width: 2.8rem;
    max-width: 3rem;
    overflow-y: auto;
    float: left;  
    left: 0;
  }
  NAV.Navigate {
    line-height: 0;
  }
  div.main a[name] {
  /* move an index target within main down somewhat
    only an Index file has <div class="main">  */
    position: relative;
    padding-top: var(--index-padding-top);
  }
  SPAN.menuletter a {
  /* letters sized for alphabet to fit vertically */
    font-size: 1.1667rem;
    margin-top: .3rem;
    line-height: .9rem;
    padding-bottom: 0rem;
    padding-top: 0.1rem;
    background-color: var(--button-color);
    display: inline-block;
    border-radius: .4rem;
    width: 2rem;
    height: 0.9rem;
  }
  /* **********END Navigation Code************ */
}

@media screen and (min-width: 59rem) {
/* 944px = 59rem */
/* For wide screens */
/* html is body's container, so use it to center body
   once width exceeds body's max-width=52rem plus 7rem
   Note that because body has a fixed max-width
   sub-items, like images may want to have their
   max-widths set to a responsive percent (of body) */

  html {
    display: flex;
    justify-content: center;
  }
  body {
   /* reset display to body's default to avoid inherit */
   display: block;
  --index-padding-top: 2.5rem; /* single line jumpbar */
  }
}

@media screen and (min-width: 75rem) {
/* 1200px = 75rem, 1440px = 90rem */
/* Increase line-height for extra-large monitors,
   recommended at 1200px */
  body {
   --base-line-height: 1.5em;
  --index-padding-top: 2.5rem; /* single line jumpbar */
  }
}