/* CSS Info for HTML documents created by the 'makeinfo --html' option 
 * Copyright 2014-2025 The Software Samurai.
 * Version: 0.0.16  -  2025_01_29  (see VERSION_HISTORY for change details)
 * 
 *  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 * Copyright Notice:
 * This program is free software: you can redistribute it and/or modify it 
 * under the terms of the GNU General Public License as published by the Free 
 * Software Foundation, either version 3 of the License, or (at your option) 
 * any later version, PROVIDED THAT the copyright notices for both code and 
 * documentation are included and unmodified. 
 * 
 * This program is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License 
 * for more details. 
 * 
 * You should have received a copy of the GNU General Public License along 
 * with this program.  If not, see <http://www.gnu.org/licenses/>.
 *  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 *
 * Description:
 * Texinfo is the official documentation engine for GNU/Linux. It is a capable, but 
 * unpolished system, especially when producing documentation in external formats.
 * The style definitions provided here address the major issues in producing HTML 
 * output from the Texinfo source data.
 *
 * The makeinfo utility when invoked with the --html option references a large number 
 * of CSS class names; however, it does not actually define these classes in a meaningful 
 * way. Instead, it relies on browser defaults to handle the missing classes. While this 
 * is a reasonable default process, we find it to be a bit too Wild-West for our taste.
 *
 * To customize the HTML output, it is necessary to actually define these named classes
 * which are referenced in the HTML output. This is not entirely straightforward because 
 * classes are often embedded within other classes, inheriting from, or overriding definitions 
 * of the parent class.
 *
 *  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  *
 * This file uses CSS version 3 exclusively. Some of the attributes used here    *
 * may not be understood if your browser is ancient (2012 or older).             *
 *                                                                               *
 * Please refer to the accompanying Texinfo document for full  descriptions of   *
 * the CSS styles defined here:                                                  *
 *         info -f infodoc.info -n 'CSS Definition File'                         *
 * and how to apply those styles to your documents:                              *
 *         info -f infodoc.info -n 'Infodoc Post Processor'                      *
 * _____________________________________________________________________________ */
 

/*******************************************
 * These basic definitions should function *
 * even if all the other definitions are   *
 * unsupported by the browser.             *
 *******************************************/
body
{
  /* Some "standard" HTML colors for a pale background: 
   * #FFFFFF = white, #CCFFFF = pale blue, #FFFFCC = pale yellow, 
   * #CCFFCC = pale green, #FFCCFF = pale magenta
   */
  background-color: #CCFFCC;    /* Default background color == pale green */
/*  background-color: #CCFFFF;    /* Default background color == pale blue */
  color: #000000;               /* Default text color == black */
  font-size: 18px;              /* Default font size == 18 pixels */
  font-weight: normal;          /* Default font weight == normal */ 
  font-style: normal;           /* Default font style == not fancy */
  font-variant: normal;         /* Default font varient == not fancy */
  /* Default font family, notes:
   * The structure of Texinfo documents is based on a three-font system:
   *  1) default font (sans-serif)  - body text, paragraphs, and styles  
   *     inherited from top level
   *  2) code font (monospace)      - pre-formatted blocks, special-style blocks, etc.
   *  3) Roman font (serif)         - 'quotation' and 'display' blocks, '@r' command, etc.
   * We recommend the "noto fonts" which are in the public domain and 
   * support the full range of the Unicode standard.
   * 
   * For the default font family, specify as many specific font families 
   * as desired, generic 'Helvetica' for instance, but be sure the list ends 
   * with 'sans-serif' which is supported by all main-stream browsers.
   */
  font-family: sans-serif;

  /* Defensive Programming: The screenshots use a non-standard line height *
   * which may be retained after the screenshot </div>. Therefore, we      *
   * explicitly set the line-height option here.                           *
   */
  line-height: normal;
}
body h1   /* Texinfo Document Title */
{         /* Note that 'settitle' class and 'top' class default to this definition. */
   /* <h1 class="top" id="...">...</h1> */
  font-family: sans-serif;
  font-size: 2.0em;
  font-weight: bold;
}                
body h2   /* Texinfo Chapter Titles */
{         /* Note that 'contents-heading' class and 'unnumbered' class default to this definition. */
   /* <h2 class="contents-heading">Table of Contents</h2> */
   /* <h2 class="unnumbered" id="...</h2> */
  font-family: sans-serif;  /* Force to default family */
  font-size: 1.5em;         /* This is the HTML default */
  font-weight: bold;
}                
body h3   /* Texinfo commands: '@section', '@heading' */
{         /* Note that 'section' class, 'heading' class and 'unnumberedsec' class default to this definition. */
   /* <h3 class="heading">...</h3> */
   /* <h3 class="unnumberedsec unnumbered-level-set-unnumberedsec" id="...</h3> */
  font-family: sans-serif;  /* Force to default family */
  font-size: 1.2em;         /* This is the HTML default */
  font-weight: bold;
}                
body h4   /* Texinfo commands: '@subsection', '@subsubsection', '@subheading', '@subsubheading' */
{         /* Note that 'subsection' class and 'subheading' class default to this definition. */
   /* <h4 class="subheading">...</h4> */
  font-family: sans-serif;  /* Force to default family */
  font-size: 1.05em;        /* This is the HTML default */
  font-weight: bold;
}
h4.subsubsection  /* Defines target class for Texinfo @subsubsection command */
{
  font-family: sans-serif;
  font-size: 1.00em;
  font-weight: bold;
  font-style: italic;
}
h4.subsubheading  /* Defines target class for Texinfo @subsubheading command */
{
  font-family: sans-serif;
  font-size: 1.00em;
  font-weight: bold;
  font-style: italic;
}
body h5   /* Not currently used by Texinfo */
{
  font-family: sans-serif;
  font-size: 1.0em;
  font-weight: bold;
  font-style: normal;
}
body h6   /* Not currently used by Texinfo */
{
  font-family: sans-serif;
  font-size: 1.0em;
  font-weight: normal;
  font-style: italic;
}
p    /* Default Texinfo Text <p></p> (paragraph) contents. */
{
  font-family: inherit;     /* Inherit from parent class */
  font-size: 1.0em;         /* Be sure that size doesn't get trashed */
}
/* Additional heading styles. These are not supported by the Texinfo engine,
 * and are referenced explicitly through macros in "texi_macros.texi".
 * Note that the info-reader document displays all of these in the same format.
 */
p.h5heading
{
  font-family: sans-serif;
  font-size: 1.0em;
  font-weight:bold;
  text-decoration:underline;
  margin-top: -0.5em;
  margin-bottom: 0.5em;
}
p.h6heading
{
  font-family: sans-serif;
  font-size: 1.0em;
  font-weight:bold;
  font-style:italic;
  text-decoration:underline;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
p.h7heading
{
  font-family: sans-serif;
  font-size: 1.0em;
  font-weight:normal;
  text-decoration:underline;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
p.h8heading
{
  font-family: sans-serif;
  font-size: 1.0em;
  font-weight:normal;
  font-style:italic;
  text-decoration:underline;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

/* Basic Layout of Page 
 * Restrict all page content to left area of screen.
 * Ensures that lower-resolution monitors (phones) can contain the data. 
 * Fits comfortably within a 1280 pixel display. 1170 + 15 + 15 == 1200px
 */
.infodoc_container
{
  margin-left: 0;
  margin-right: auto;
  margin-top: 0;
  max-width: 1170px;
  padding-right: 15px;
  padding-left: 15px;
  text-align: left;
  border: 1px solid blue;
}

/***********************************
 * Lists: <ul> and <ol> variations *
 ***********************************/
ul.itemize                          /* If invoked without a secondary class, but with a   */
{                                   /* style element, ensure bullet position is 'outside' */
  list-style-position: outside;
}
ul.mark-bullet                      /* Generated directly by makeinfo */
{                                   /* '•' U+2022 &bull; */
  list-style-type: disc;            /* U+25CF ? U+2022 ? */
  list-style-position: outside;
}
ul.mark-minus                       /* Generated directly by makeinfo (U+2212) */
{                                   /* (generated mark is Unicode minus: U+2212 */
  list-style-type: "\2013\ ";       /* HTML En dash &#x2013 */
  list-style-position: outside;
}
ul.mark-textdegree                  /* Generated directly by makeinfo */
{                                   /* '°' U+00B0 textdegree   &deg;  */
  list-style-type: "\00B0\ ";
  list-style-position: outside;
}
ul.mark-none                        /* Generated directly by makeinfo */
{
  list-style-type: none;
  list-style-position: normal ;
}


/* LARGE-----  MEDIUM----  MED-SMALL-  SMALL-----  */
/* '⏺' U+23FA  '●' U+25CF  ' ' U+????  '•' U+2022  */
/* '◯' U+25EF  '○' U+25CB  '⚬' U+26AC  '◦' U+25E6  */
/* '■' U+25A0  '◼' U+25FC  '◾' U+25FE  '▪' U+25AA  */
/* '□' U+25A1  '◻' U+25FB  '◽' U+25FD  '▫' U+25AB  */
/* ---------------------- */
/* '►' U+25BA  '▻' U+25BB */
/* '▸' U+25B8  '▹' U+25B9 */
/* '♦' U+2666  '♢' U+2662 diamond suit */
/* Technical Note: The actual size of the character displayed depends   *
 * to some extent on the font used. For instance Noto and Liberation    *
 * appear to disagree on the sizes of &#x23FA; and &#x25CF; characters. */

ul.disc-small                       /* Infodoc class - see @SDISC macro         */
{                                   /* (this is the value generate by makeinfo) */
  list-style-type: '\2022\ ';
  list-style-position: outside;
}
ul.disc-medium                      /* Infodoc class - see @MDISC macro   */
{                                   /* (this is the Firefox 'disc;' type) */
  list-style-type: disc;
/*  list-style-type: '\25CF\ ';*/
/*  list-style-type: <span style="font-size: 0.8em;">'\25CF\ '</span>;*/
  list-style-position: outside;
}
ul.disc-large                       /* Infodoc class - see @LDISC macro */
{
  list-style-type: '\23FA\ ';
  list-style-position: outside;
}
ul.circle-small                     /* Infodoc class - see @SCIRCLE macro */
{                                   
  list-style-type: "\25E6\ ";       /* small circle &#x25E6 */
/*  list-style-type: circle;          /* &#x____ */
/*  list-style-type: "\25CB\ ";       /* medium circle &#x25CB */
  list-style-position: outside;
}
ul.circle-medium                    /* Infodoc class - see @MCIRCLE macro */
{                                   /* (see also legacy @BCIRCLE U+26AC)  */
/*  list-style-type: '\26AC\ ';*/
  list-style-type: circle;          /* (standard HTML circle bullet)      */
  list-style-position: outside;
}
ul.circle-large                     /* Infodoc class - see @LCIRCLE macro */
{
  list-style-type: '\25CB\ ';
/*(*  list-style-type: '\25EF\ ';*//* (too large) */
  list-style-position: outside;
}
ul.square-small                     /* Infodoc class - see @SSQUARE macro */
{                                   /* (this is the standard HTML square) */
  list-style-type: square;          /* Note: The @SSQUARE macros uses U+25AB '▫' */
  list-style-position: outside;
}
ul.square-medium                    /* Infodoc class - see @MSQUARE macro */
{                                   /* HTML entity: blacksquare;          */
  list-style-type: "\25AA\ ";       /* medium square &#x25AA */
/*  list-style-type: "\25A0\ ";       /* large square &#x25A0 */
/*  list-style-type: "\220E\ ";  /* TEMP '∎' U+220E */
/*  list-style-type: "\25FE\ ";  /* TEMP '◾' U+25FE */
/*  list-style-type: "\25FC\ ";  /* TEMP '◼' U+25FC */
/*  list-style-type: square; /* TEMP */
  list-style-position: outside;
}
ul.square-large                     /* Infodoc class - see @LSQUARE macro */
{
  list-style-type: '\25FB\ ';       /* '◻' U+25FB (hollow square)  */
/*  list-style-type: "\25A0\ ";       /* '■' U+25A0 (filled square)  */
  list-style-position: outside;
}
ul.pointer-small                    /* Infodoc class - see @SPOINTER macro */
{
  list-style-type: '\2023\ ';
  list-style-position: outside;
}
ul.pointer-medium                   /* Infodoc class - see @MPOINTER macro */
{                                   /* HTML entity: blacktriangleright;    */
  list-style-type: '\25B8\ ';
  list-style-position: outside;
}
ul.pointer-large                    /* Infodoc class - see @LPOINTER macro */
{
  list-style-type: '\25B7\ ';       /* U+25B7 '▷' (hollow pointer) */
/*  list-style-type: '\25B6\ ';       /* U+25B6 '' (filled pointer) */
  list-style-position: outside;
}
ul.diamond-small                    /* Infodoc class - see @SDIAMOND macro */
{
  list-style-type: '\2666\ ';
  list-style-position: outside;
}
ul.diamond-medium                   /* Infodoc class - see @MDIAMOND macro */
{
  list-style-type: '\25C6\ ';
  list-style-position: outside;
}
ul.diamond-large                    /* Infodoc class - see @LDIAMOND macro */
{
  list-style-type: '\25C7\ ';       /* U+25C7 '◇' (hollow diamond) */
/*  list-style-type: '\2BC1\ ';       /* U+2BC1 '⯁' (filled diamond) */
  list-style-position: outside;
}
ul li               /* Force vertical spacing between items */
{
  margin-bottom: 0.3em;
}
ul.font-small     /* For unordered lists <ul> 15% smaller font size */
{
  font-size: 0.85em;
}
ul.font-large     /* For unordered lists <ul> 15% larger font size */
{
  font-size: 1.15em;
}

/* ------------------------------------------------------------------------------- */
/* makeinfo v:6 and idpp v:0.0.14 classes. These are deprecated and will be removed*/
ul.no-bullet    /* For unordered lists: add NO bullet to the <li> item */
{               /* NOTE: This is the auto-generator's default class. See notes below. */
  list-style-type: none;
  list-style-position: outside;
}
ul.disc-bullet      /* Replace the auto-generated 'no-bullet' invocation with this to get disc-bullet */
{                   /* (similar to Texinfo @itemize list OR @itemize @bullet list) */
  list-style-type: disc;
  list-style-position: outside;
}
ul.circle-bullet    /* Replace the auto-generated 'no-bullet' invocation with this to get circle-bullet */
{                   /* (similar to Texinfo @itemize @textdegree list) */
  list-style-type: circle;
  list-style-position: outside;
}
ul.square-bullet    /* Replace the auto-generated 'no-bullet' invocation with this to get square-bullet */
{                   /* (use this to replace @itemize @minus list because a '-' bullet is not supported in HTML) */
  list-style-type: square;
  list-style-position: outside;
}
ul.custom-bullet    /* For unordered lists: replace 'square' with the character literal */
{
  list-style-type: square;        /* Modify this statement to produce your custom-bulleted items */
  list-style-position: outside;
}


/* This is the controlling class for the Table of Contents IF the Texinfo 
 * source does not not specify a "@contents" element. (makeinfo v:7) 
 * It is also the class for chapter menus.
 */
ul.mini-toc
{
  list-style-type: disc;
  list-style-position: outside;
}

/* Default 'ordered-list' element *
 * Texinfo '@enumerate' and '@enumerate 1' commands. 
 * Any Arabic (decimal) number as argument (or no argument) should invoke this default class.
 */
ol
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  list-style-type: decimal;
  list-style-position: outside;
}
ol li           /* Line-item spacing. Compensates for an off-by-one error in the texi-to-HTML converter. */
{
  margin-bottom: 0.5em;
}
ol.enum-decimal /* For ordered lists <ol> that use decimal numbers.   */
{
  list-style-type: decimal;
  list-style-position: inherit;
}
ol.enum-decimal-zero /* For ordered lists <ol> that use decimal numbers with leading zeros.   */
{
  list-style-type: decimal-leading-zero;
  list-style-position: inherit;
}
ol.enum-lower-alpha   /* For ordered lists <ol> that use lower-case alphabetical.   */
{
  list-style-type: lower-alpha;
  list-style-position: inherit;
}
ol.enum-upper-alpha   /* For ordered lists <ol> that use upper-case alphabetical.   */
{
  list-style-type: upper-alpha;
  list-style-position: inherit;
}
ol.enum-lower-roman   /* For ordered lists <ol> that use lower-case Roman numerals. */
{
  list-style-type: lower-roman;
  list-style-position: inherit;
}
ol.enum-upper-roman  /* For ordered lists <ol> that use upper-case Roman numerals. */
{
  list-style-type: upper-roman;
  list-style-position: inherit;
}
ol.enum-lower-greek  /* For ordered lists <ol> that use lower-case Greek letters. */
{
  list-style-type: lower-greek;
  list-style-position: inherit;
}
ol.enum-upper-greek  /* For ordered lists <ol> that use upper-case Greek letters. */
{  /* NOTE: Not all browsers support upper-case Greek i.e. Firefox */
  list-style-type: upper-greek;
  list-style-position: inherit;
}
ol.enum-cjk-decimal  /* For ordered lists <ol> that use Han (informal) decimal. */
{
  list-style-type: cjk-decimal;
  list-style-position: inherit;
}
ol.enum-katakana     /* For ordered lists <ol> that use Katakana (Japanese) decimal. */
{
  list-style-type: katakana;
  list-style-position: inherit;
}
ol.enum-hebrew       /* For ordered lists <ol> that use Hebrew decimal. */
{
  list-style-type: hebrew;
  list-style-position: inherit;
  margin-left: auto;
  text-align: right;
  margin-right: 0;
  direction: rtl;
}
ol.enum-arabic-indic /* For ordered lists <ol> that use Arabic/Indic decimal. */
{
  list-style-type: arabic-indic;
  list-style-position: inherit;
  margin-left: auto;
  text-align: right;
  margin-right: 0;
  direction: rtl;
}
ol.enum-custom  /* For ordered lists <ol>: */
{          /* Used for an argument option not otherwise supported by this definition file.
            * Options: Please see the official list of enumerators under HTML5 at
            *          https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-type
            */
  list-style-type: decimal-leading-zero;  /* modify this parameter as needed */
  list-style-position: inherit;
}
ol.enum-small     /* For ordered lists<ol> 15% smaller font size */
{
  font-size: 0.85em;
}
ol.enum-large     /* For ordered lists<ol> 15% larger font size */
{
  font-size: 1.15em;
}


/* Redefine the HTML 'blockquote' element.
 * This is necessary to overcome a logical error in the texi-to-HTML converter 
 * which assumes that the @quotation command is the same as the HTML 'blockquote' 
 * element - which it is not! See 'infodoc.info' for more details.
 */
blockquote
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  margin-left: 3.2em;
  margin-right: 3.2em;
}
blockquote.quotation
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  margin-left: 3.2em;
  margin-right: 3.2em;
}
blockquote.smallquotation
{
  font-family: inherit;
  font-size: smaller;   /* 'smaller' means approximately 0.9em; */
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  margin-left: 3.8em;   /* Maintain equal indentation with standard font size.*/
  margin-right: 3.2em;
}
blockquote.largequotation
{
  font-family: inherit;
  font-size: larger;    /* 'larger' means approximately 1.1em; */
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  margin-left: 2.6em;   /* Maintain equal indentation with standard font size.*/
  margin-right: 3.2em;
}
.quote-author           /* Format the 'author' entry of a quotation block */
{
  font-size: inherit;
  margin-left: 3.2em;
  font-style: italic;
}

/* Texinfo @indentedblock Command */
.indentedblock
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  margin-left: 3.2em;
}
/* Texinfo @smallindentedblock Command */
.smallindentedblock
{
  font-family: inherit;
  font-size: smaller;   /* 'smaller' means approximately 0.9em; */
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  margin-left: 3.8em;   /* Maintain equal indentation with standard font size.*/
}
/* Infodoc extension: Large indentedblock */
.largeindentedblock
{
  font-family: inherit;
  font-size: larger;    /* 'larger' means approximately 1.1em; */
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  margin-left: 2.6em;   /* Maintain equal indentation with standard font size.*/
}

/* Note that because Texinfo (unnecessarily) declares a <pre> tag inside the the 
 * following class invocations, we define our own 'pre' class for each of them  
 * so that the extra 'pre' in the HTML output does nothing.
 * @example ('example' class) and @smallexample ('smallexample' class) 
 * @display ('display' class) and @smalldisplay ('smalldisplay' class)
 * @format  ('format'  class) and @smallformat  ('smallformat'  class) 
 * @lisp    ('lisp'    class) and @smalllisp    ('smalllisp'    class) 
 */

/* Texinfo @example Command */
.example
{
  font-family: monospace;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 3.2em;
}
.example pre
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: inherit;
  margin-left: 0;
}
/* Texinfo @smallexample Command */
.smallexample
{
  font-family: monospace;
  font-size: smaller;   /* 'smaller' means approximately 0.9em; */
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 3.8em;   /* Maintain equal indentation with standard font size.*/
}
.smallexample pre
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: inherit;
  margin-left: 0;
}
/* Texinfo @largeexample Command */
.largeexample
{
  font-family: monospace;
  font-size: larger;    /* 'larger' means approximately 0.9em; */
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 2.6em;   /* Maintain equal indentation with standard font size.*/
}
.largeexample pre
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: inherit;
  margin-left: 0;
}

/* Texinfo @lisp Command */
.lisp       /* The @lisp command is documented as "synonymous with @example" */
{
  font-family: monospace;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 3.2em;
}
.lisp pre
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: inherit;
  margin-left: 0;
}
/* Texinfo @smalllisp Command */
.smalllisp  /* The @smalllisp command is documented as "synonymous with @smallexample" */
{
  font-family: monospace;
  font-size: smaller;   /* 'smaller' means approximately 0.9em; */
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 3.8em;   /* Maintain equal indentation with standard font size.*/
}
.smalllisp pre
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: inherit;
  margin-left: 0;
}
/* Texinfo @largelisp Command */
.largelisp
{
  font-family: monospace;
  font-size: larger;    /* 'larger' means approximately 1.1em; */
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 2.6em;   /* Maintain equal indentation with standard font size.*/
}
.largelisp pre
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: inherit;
  margin-left: 0;
}

/* Texinfo @display Command */
.display
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 3.2em;
}
.display pre
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: inherit;
  margin-left: 0;
}
/* Texinfo @smalldisplay Command */
.smalldisplay
{
  font-family: inherit;
  font-size: smaller;   /* 'smaller' means approximately 0.9em; */
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 3.8em;   /* Maintain equal indentation with standard font size.*/
}
.smalldisplay pre
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: inherit;
  margin-left: 0;
}
/* Texinfo @largedisplay Command */
.largedisplay
{
  font-family: inherit;
  font-size: larger;    /* 'larger' means approximately 1.1em; */
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 2.6em;   /* Maintain equal indentation with standard font size.*/
}
.largedisplay pre
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: inherit;
  margin-left: 0;
}

/* Texinfo @format Command */
.format
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 0;
}
.format pre
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: inherit;
  margin-left: 0;
}
/* Texinfo @smallformat Command */
.smallformat
{
  font-family: inherit;
  font-size: smaller;   /* 'smaller' means approximately 0.9em; */
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 0;
}
.smallformat pre
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: inherit;
  margin-left: 0;
}
/* Texinfo @largeformat Command */
.largeformat
{
  font-family: inherit;
  font-size: larger;    /* 'larger' means approximately 1.1em; */
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 0;
}
.largeformat pre
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: inherit;
  margin-left: 0;
}

/* Texinfo @verbatim Command - pre-formatted text in monospace font. *
 * The texi-to-HTML converter (perhaps unnecessarily) declares a verbatim class inside 
 * the <pre> tag block: <pre class="verbatim"> ... </pre>
 * This causes an error in the font-size inheritance, so we fully define the 'verbatim' 
 * sub-element along with the 'pre' element. These elements are identical.
 */
pre
{
  font-family: monospace;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 0;
}
pre.verbatim
{
  font-family: monospace;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 0;
}
pre.smallverbatim
{
  font-family: monospace;
  font-size: smaller;   /* 'smaller' means approximately 0.9em; */
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 0;
}
pre.largeverbatim
{
  font-family: monospace;
  font-size: larger;    /* 'larger' means approximately 1.1em; */
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
  margin-left: 0;
}

/********************************************
 * Miscellaneous font modification classes. *
 ********************************************
 ************************************************************************
 * These classes are handled reasonably well by the browser default     *
 * settings; however, the classes are defined for consistency among     *
 * browsers. Note that these classes are defined as case-sensitive by   *
 * prepending the full-stop character.                                  *
 ************************************************************************/
/* Texinfo @b      (bold text) - HTML: <b class="b"> ... </b> */
.b
{
  font-weight: bold;
}
/* Texinfo @strong (bold text) - HTML: <strong class="strong"> ... </strong> */
.strong
{
  font-weight: bold;
}

/* Texinfo @i       (italic text) - HTML: <i class="i"> ... </i>       */
i.i
{
  font-style:italic;
  font-size: 1.05em;    /* This compensates for the apparent shrinkage */
}
/* Texinfo @slanted (italic text) - HTML: <i class="slanted"> ... </i> */
i.slanted
{
  font-style: oblique;
}
/* Texinfo @emph    (italic text) - HTML: <em class="emph"> ... </em>   *
 * The <em> tag is usually just italic font; however, the author feels  *
 * that italic AND a bolder weight distinguishes it from the @i command.*
 * Note that a weight of 400 = normal and a weight of 700 = bold.       */
em.emph
{
  font-style:italic;
  font-weight: 450;
}
/* Texinfo macro @uline (underlined text)    *
 * HTML: <span class="uline"> ... </span>    */
.uline
{
   font-style: inherit;
   font-weight: normal;
   font-size: inherit;
   text-decoration: underline;
}
/* Texinfo macro @oline (overlined text)     *
 * HTML: <span class="oline"> ... </span>    */
.oline
{
   font-style: inherit;
   font-weight: normal;
   font-size: inherit;
   text-decoration: overline;
}
/* Texinfo macro @tline (throughlined text)  *
 * HTML: <span class="tline"> ... </span>    */
.tline
{
   font-style: inherit;
   font-weight: normal;
   font-size: inherit;
   text-decoration: line-through;
}
/* Texinfo macro @smalltext (smaller text)    *
 * HTML: <span class="smalltext"> ... </span> */
.smalltext
{
   font-style: inherit;
   font-weight: normal;
   font-size: smaller;
   text-decoration: none;
}
/* Texinfo macro @smallboldtext (smaller, bold text) *
 * HTML: <span class="smallboldtext"> ... </span>    */
.smallboldtext
{
   font-style: inherit;
   font-weight: bolder;
   font-size: smaller;
   text-decoration: none;
}
/* Texinfo macro @largetext (larger text)     *
 * HTML: <span class="largetext"> ... </span> */
.largetext
{
   font-style: inherit;
   font-weight: inherit;
   font-size: larger;
   text-decoration: none;
}
/* Texinfo macro @redtext (standard red text)    *
 * HTML: <span class="smallredtext"> ... </span> */
.redtext
{
   font-style: inherit;
   font-weight: bolder;
   font-size: inherit;
   color: red;
   text-decoration: none;
}
/* Texinfo macro @Sredtext (smaller, red text)   *
 * HTML: <span class="smallredtext"> ... </span> */
.smallredtext
{
   font-style: inherit;
   font-weight: bolder;
   font-size: smaller;
   color: red;
   text-decoration: none;
}
/* Texinfo macro @Lredtext (larger, red text)    *
 * HTML: <span class="largeredtext"> ... </span> */
.largeredtext
{
   font-style: inherit;
   font-weight: bolder;
   font-size: larger;
   color: red;
   text-decoration: none;
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */


/* Texinfo @exdent ("outdent" i.e. cancel text indentation).    *
 * This is unreliable (and ugly). Use it cautiously, if at all. */
.exdent
{
   text-indent: -2.0em;
}

/* SmallCaps Font = @sc makeinfo HTML: <small class="sc"> ... </small> */
small.sc
{
  font-variant: smallcaps;
}

/* Texinfo @t and @verb (monospace font):                                  *
 * Formerly, these commands were encoded using the HTML <tt>...</tt> tag.  *
 * Legacy support for the <tt> tag is defined below.                       *
 * However, HTML5 no longer supports the <tt> tag,                         *
 * Texinfo @verb (monospace) - HTML: <code class="verb"> . . . </code>     *
 * Texinfo @t    (monospace) - HTML: <code class="t">...</code>.           *
 * Therefore, these classes have implemented to handle the syntax change.  */
.verb
{
  font-family: monospace;
  white-space: pre;
  font-size: inherit;
  font-style: normal;
}
.t
{
  font-family: monospace;
  white-space: pre;
  font-size: inherit;
  font-style: normal;
}

/* Texinfo @flushleft   - HTML: <div class="flushleft"><p class="flushleft-paragraph:>*/
.flushleft
{
  text-align: left;
}
p.flushleft-paragraph
{
  text-align: left;
}

/* Texinfo @flushright  - HTML: <div class="flushright"><p class="flushright-paragraph:>*/
.flushright
{
  text-align: right;
}
p.flushright-paragraph
{
  text-align: right;
}


/******************
 * Font Families: *
 ******************
 *********************************************************************
 * The "generic" fonts are as follows: serif, sans-serif, monospace, *
 * cursive and fantasy. The specific fonts supported by a system and *
 * the web browser software on that system varies widely; however,   *
 * all systems and browsers SHOULD support at least one concrete     *
 * example for each of these generic types except 'fantasy' for      *
 * which a custom definition is provided. (see below)                *
 * Texinfo does not support built-in command to access all these     *
 * types, but does support commands to invoke "Roman" with and       *
 * without serif: @r{} and @sansserif{}, respectively.               *
 * In addition, the Infodoc package provides Texinfo macros for      *
 * invoking each of the generic types. These macros reference the    *
 * five(5) generics types listed here.                               *
 * See texi_macros.texi for more information.                        *
 *********************************************************************/
.serif
{
  font-family: serif;
}
.sansserif
{
  font-family: sans-serif;
}
.monospace
{
  font-family: monospace;
}
.cursive
{
  font-family: cursive;
  font-size: 1.35em;
}
.fantasy
{
/*  font-family: fantasy;*/ /* (may not be available) */
  font-family: cursive;
  font-size: 2.00em;
  font-style: oblique;
}
/* Texinfo @r command - makeinfo HTML: <span class="r"> ... </span> */
.r
{
  font-family: serif;
}

/* The makeinfo @center command formerly generated HTML in the format:
 *   <div align="center">
 * For makeinfo v:7 the @center command now generates: <div class="center">
 * For this reason, we define the "center" class.
 */
.center
{
  text-align: center;
}

/* Texinfo @xref, @pxref, @ref commands - cross-references:       *
 *    <a class="xref" href="#...">...</a>                         *
 * By default, cross-references are allowed to break across lines *
 * in both 'info' and HTML documents; however, this is considered *
 * to be very rude, rising almost to the level of a bug.          *
 * Therefore the "xref" class is defined to impose a bit of       *
 * civilized behaviour, at least in the HTML document.            *
 */
a.xref
{
  white-space: nowrap;
}
a.pxref
{
  white-space: nowrap;
}
a.ref
{
  white-space: nowrap;
}

/* Texinfo @w (non-breaking line) - HTML: Hello&nbsp;World!           *
 * Note that the HTML &nbsp; "entity" replaces whitespace characters. *
 * Note that makeinfo DOES NOT generate an HTML container of any kind *
 * for this sequence, so we are unable to directly define a class for *
 * the sequence; but see the semi-functional @W macro. (uppercase W)  *
 * This macro allows us to enclose cross-references so there is no    *
 * risk of them breaking across lines (at least in the HTML).         */
.nowrap
{
  font-family: inherit;
  overflow-x: clip;
  white-space: nowrap;
}
.rewrap
{
  font-family: inherit;
  overflow-x: auto;
  white-space: normal;
}
/* Texinfo @w{} Command - As of makeinfo v:7, no longer references this class.
 * .nolinebreak
 * {
 *  white-space: nowrap;
 *  overflow: hidden;
 * }*/

/********************************************
 * TextInfo @multitable and @table Commands *
 *************************************************************************
 * We redefine the standard HTML <table> element and its sub-elements to *
 * support the @multitable command. This is necessary because although   *
 * the 'info' formatted @multitable looks very good, its unmodified HTML *
 * equivalent is rather embarrassing.                                    *
 *************************************************************************/ 
table
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  text-decoration: none;
  margin-left: 0;
}
table thead       /* Heading row */
{
}
table th          /* Heading text */
{
/*  padding-right: 1em;*/
  text-align: center;
  padding: 0.0em 0.5em 0.5em 0.5em; /* top, right, bottom, left */
/*  padding-bottom: 0.5em;*/
  font-weight: bold;
  text-decoration: underline;
}
table tr          /* Table row */
{
}
table td          /* Table-row data */
{
  padding: 0.0em 1.0em 0.0em 0.5em;
/*  padding-right: 1em;*/
  color: inherit;
}

/***************************************************************
 * Table class for <table> ... </table> blocks with borders.   *
 * REQUIRES POST-PROCESSING TO: <table class="bordered">       *
 * Inherits everything from parent <table> tag EXCEPT          *
 * for the addition of a border. Note where the borders are    *
 * placed to avoid border duplication among the elements.      *
 ***************************************************************/
table.bordered
{
  border-top: thin solid blue;
  border-right: thin solid blue;
}
table.bordered thead
{
}
table.bordered th
{
  border-left: thin solid blue;
  border-bottom: thin solid blue;
  text-decoration: none;        /* underlining is unnecessary if we have borders */
}
table.bordered tr
{
}
table.bordered td
{
  border-left: thin solid blue;
  border-bottom: thin solid blue;
}

/** Borderless table */
table.borderless
{
  border: none;
}

/*********************************************************************
 * Structure of table classes for the document Index:                *
 * makeinfo v:7:                                                     *
 * -------------                                                     *
 * This class structure is clearly more complex than it needs to be. *
 * The individual classes are defined as necessary, but are allowed  *
 * to inherit everything except as noted.                            *
 * 1) enclosure for the entire index:                                *
 *    <div class="printindex cp-printindex">                         *
 * 2) main index table:                                              *
 *    <table class="cp-entries-printindex" border="0">               *
 *    a) column headings:                                            *
 *       <th class="entries-header-printindex">       (not defined)  *
 *       <th class="sections-header-printindex">      (not defined)  *
 *    b) individual table entries                                    *
 *       <td class="printindex-index-entry">          (not defined)  *
 *       <td class="printindex-index-section">        (not defined)  *
 * 3) summary-letter jump-to tables above and below the main table:  *
 *    a) upper and lower jump-to tables:                             *
 *       <table class="cp-letters-header-printindex">                *
 *       <table class="cp-letters-footer-printindex">                *
 *       -- for each alpha-numeric group:                            *
 *           <a class="summary-letter-printindex" ...                *
 *                                                                   *
 * makeinfo v:6: <table class="index-cp" border="0">                 *
 * Inherits everything from parent <table> except as noted.          *
 *********************************************************************/
div.printindex                      /* makeinfo v:7 */
{
}
div.cp-printindex                   /* makeinfo v:7 */
{
}
table.cp-entries-printindex         /* makeinfo v:7 */
{
}
table.cp-entries-printindex th      /* makeinfo v:7 */
{
}
table.cp-letters-header-printindex  /* makeinfo v:7 */
{
}
table.cp-letters-header-printindex th  /* makeinfo v:7 */
{
  text-decoration: none;
}
table.cp-letters-footer-printindex  /* makeinfo v:7 */
{
}
table.cp-letters-footer-printindex th  /* makeinfo v:7 */
{
  text-decoration: none;
}
a.summary-letter-printindex         /* makeinfo v:7 */
{
  text-decoration: none;
}
table.index-cp                      /* makeinfo v:6 */
{
}
table.index-cp th                   /* makeinfo v:6 */
{
  text-decoration: none;
}
table.jumpto                        /* makeinfo v:6 */
{
}
table.jumpto th                     /* makeinfo v:6 */
{
  text-decoration: none;
}
table.jumpto a.summary-letter       /* makeinfo v:6 */
{
  text-decoration: none;
}


/*********************************************************************
 * The "cartouche" class:                                            *
 * This class is called out by the Texinfo '@cartouche' command, but *
 * is not defined by default. Even so, the generated HTML looks fine *
 * without it. Be aware, however, that the generated HTML explicitly *
 * calls out the attribute:  border="1"  which may generate it own   *
 * border IN ADDITION TO the border style defined in this class.     *
 * For this reason, the 'idpp' post processor removes the extra      *
 * attribute by default.                                             *
 *                                                                   *
 * There are several available options for 'border-style'. We have   *
 * chosen 'ridge' as the default value because it most closely       *
 * resembles the deleted attribute, but feel free to experiment with *
 * other border styles.                                              *
 *                                                                   *
 * Notes:                                                            *
 * Classes are defined here to support inherited, smaller and larger *
 * font size, as well as pre-formatted vs. flowing text formats.     *
 * Two Texinfo macros are also defined to support these formatting   *
 * options.                                                          *
 * 1) @Cartouche which "styles" the 'info' document object, and      *
 *    references these CSS classes for the HTML document.            *
 * 2) @CartHtml which is for HTML output only, and implements support*
 *    for an embedded token which specifies the text formatting and  *
 *    font size.                                                     *
 * See "texi_macros.texi" file for information on these macros.      *
 *********************************************************************/
table.cartouche
{
  border-style: ridge;
  border-width: thick;
  border-color: gray;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  margin: auto auto auto 8.0%;
  padding: 0.5em 1.0em 0.5em 1.0em;
  white-space: pre;
}
table.cartouche p
{
  margin: -1.0em auto auto auto;
}
table.smallerpre           /* Referenced by cartouche for smaller font */
{                          /* and pre-formatted text.                  */
  font-size: smaller;
  white-space: pre;
}
table.largerpre            /* Referenced by cartouche for larger font  */
{                          /* and pre-formatted text.                  */
  font-size: larger;
  white-space: pre;
}
table.standardflow         /* Referenced by cartouche for standard     */
{                          /* font and flowing text.                   */
  font-size: inherit;
  white-space: normal;
}
table.smallerflow          /* Referenced by cartouche for smaller font */
{                          /* and flowing text.                        */
  font-size: smaller;
  white-space: normal;
}
table.largerflow           /* Referenced by cartouche for larger font  */
{                          /*and flowing text.                         */
  font-size: larger;
  white-space: normal;
}

/* The Texinfo @table command looks bad in the 'info' output and TERRIBLE in HTML.
 * Avoid the @table command if possible, and always use @multitable instead.
 * If you absolutely must use the @table command, we have redefined the 
 * standard HTML <dl> tag below so it at least looks no worse than the 'info' output.
 * NOTE: The @table command has been significantly redesigned for texi2any v:7;
 * however, the definitions here are robust enough to handle the changes.
 * If we get start getting requests, we will define the "samp" class (see below).
 */
dl      /* 'description list' */
{
  display: block;
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 0;
  margin-right: 0;
  font-family: inherit;
  font-size: inherit;
  font-style: normal;
} 
dt      /* 'term' (column 1) */
{       /*Note that the font family and style of this element MAY be explicitly overriden in the output. */
  display: inherit;
  margin: 0;
} 
dd      /*'description' (column 2) */
{
  display: inherit;
  margin-left: 2.5em; /* (this is a key to beautification) */
}
dd p{ margin: 0; }    /* (this is another key to beautification) */


/************************************
 * Texinfo HTML Table Of Contents   *
 ************************************
 * The Table Of Contents is declared within:
 * <div class="element-contents" id="SEC_Contents"> ... </div>
 *   AND
 * <div class="contents"> ... </div>
 * All levels of lists within the block are defined as:
 * <ul class="toc-numbered-mark"> ... </ul>
 * If the HTML Table Of Contents is not modified, then it is rendered without bullets.
 * For our website, we prefer to replace the "no-bullet" class (see notes below).
 */
.element-contents
{
  font-family: inherit;     /* Inherit from parent class */
  font-size: 1.0em;
  font-weight: normal;
  font-style: normal;
}
.contents
{
  font-family: inherit;     /* Inherit from parent class */
  font-size: 1.0em;
  font-weight: normal;
  font-style: normal;
}
.contents ul                /* Default style (makeinfo below v:7) */
{
  list-style-type: none;
  list-style-position: outside;
}
.contents ul.toc-numbered-mark /* Default style (makeinfo v:7 and above) */
{
  list-style-type: none;
  list-style-position: outside;
}
.contents ul.no-bullet      /* 'no-bullet' style */
{
  list-style-type: none;
  list-style-position: outside;
}
.contents ul.toc-level1     /* Table Of Contents - top level */
{
  list-style-type: disc;
  list-style-position: outside;
}
.contents ul.toc-level2     /* Table Of Contents - second level */
{
  list-style-type: circle;
  list-style-position: outside;
}
.contents ul.toc-level3     /* Table Of Contents - third and subsequent levels */
{
  list-style-type: square;
  list-style-position: outside;
}


/*********************************
 * Texinfo Node (chapter) Header *
 *********************************
 ***************************************************************************
 * The node header (navigation bar) looks something like this in the HTML  *
 * output:                                                                 *
 * <div class="nav-panel"><p>                                              *
 *  Next: <a href="" accesskey="n" rel="next"></a>,                        *
 *  Previous: <a href="#Top" accesskey="p" rel="prev"></a>,                *
 *  Up: <a href="#Top" accesskey="u" rel="up"></a> &nbsp;                  *
 *  [<a href="" title="Table of contents" rel="contents">Contents</a>]     *
 *  [<a href="#Index" title="Index" rel="index">Index</a>]                 *
 * </p></div>                                                              *
 *                                                                         *
 * The default layout and rendering is quite acceptable for general use.   *
 * However, if you want to customize this navigation bar, start here.      *
 * The tags used inside the page header / navigation bar are:              *
 * 1) <div class="nav-panel"> which encloses the entire block.             *
 * 2) <p>  inherits everything from the parent                             *
 * 3) <a>  inherits everything from the parent AND from the browser takes: *
 *         before-click-color(blue), and after-click-color(purple), and    *
 *         the underline the text decoration.                              *
 * The definitions here show no obvious visual differences from the        *
 * default tag definitions used by the browsers we use for testing,        *
 * so they are commented out by default.                                   *
 ***************************************************************************/
/*
.nav-panel
{
  font-family: sans-serif;
  font-size: 1.00em;
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  color: inherit;
}
.nav-panel p
{
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  text-decoration: none;
  color: inherit;
}
.nav-panel a
{
  text-decoration: underline;
  color: #0000FF;
}
.nav-panel a:visited
{
  color: #800080;
}
*/

/************************************************************
 * Styles which have functional and pleasing HTML defaults. *
 ************************************************************
 ***************************************************************************
 * These standard HTML tags are called out in the code generated by the    *
 * text-to-HTML converter. When this CSS style file IS NOT used, some of   *
 * the HTML output for these tags looks pretty bad.                        *
 * The HTML output for these standard tags when this file IS IN USE is     *
 * acceptably formatted by default browser behavior, so unless you have    *
 * special requirements for these tags, there is no need for custom        *
 * definitions.                                                            *
 * We have researched these tags (www.w3schools.com/tags/) and in our test *
 * setup, the definitions provided here show no obvious visual differences *
 * from the default tag formatting. However, if you want to go wild, these *
 * definitions are a reasonable starting point.                            *
 ***************************************************************************/
/*.code
{
  font-family: monospace;
  font-size: inherit;
  font-style: normal;
}*/
.kbd
{
  font-family: monospace;
  font-size: inherit;
  font-style: oblique;
}
.key
{
  font-family: monospace;
  font-size: inherit;
  font-style: normal;
  font-weight: bold;
}
/*samp
{
  font-family: monospace;
  font-size: inherit;
  font-style: normal;
}*/
/*cite
{
  font-family: inherit;
  font-size: inherit;
  font-style: italic;
}*/
/*var
{
  font-family: inherit;
  font-size: inherit;
  font-style: italic;
}*/
/*abbr
{
  font-family: sans-serif;
  font-size: inherit;
  font-style: inherit;
}*/
/*em
{
  font-family: inherit;
  font-size: inherit;
  font-style: italic;
}*/
/*.dfn
{
  font-family: inherit;
  font-size: inherit;
  font-style: italic;
}*/
tt      /* NOTE: <tt> tag is not supported in HTML5, so we define it explicitly (see <code>) */
{
  font-family: monospace;
  white-space: pre;
  font-size: inherit;
  font-style: normal;
}
tt.key  /* NOTE: 'key' sub-class of <tt> tag must also be explicitly defined. */
{
  font-family: inherit;
  font-size: inherit;
  font-style: normal;
}
acronym /* NOTE: <acronym> tag is not supported in HTML5, so we define it explicitly (see <abbr>) */
{
  font-family: sans-serif;
  font-size: inherit;
  font-style: inherit;
}

 
/* Defines a class for Texinfo-generated menus within a <table></table>
 * Note that the Texinfo output overrides the 'border' and 'cellspacing' definitions 
 * for the 'table' class, and overides some alignment definitions of the 'td' class. 
 * A 'table' is a multi-dimensional data object.
 * Note that tables can get much more complex than we describe here.
 * 'tbody' defines a block of 'tr' elements (optional, and not used by Texinfo menus)
 * 'tr' defines a row of cells in a table (one 'tr' element per menu item)
 * 'td' defines a single data cell in a table (three 'td' elements per menu item)
 * 'a'  defines the hyperlink's style
 */
.menu
{
  font-family: inherit;
  font-variant: normal;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  text-align: left;
  color: inherit;             /* the color you select will propagate through sub-elements */
  margin-left: inherit;
  border: none;   /* TEMP - TESTING */
}
.menu tr
{
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
}
.menu td
{
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  border: none;   /* TEMP - TESTING */
}
.menu td a
{
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  /* uses the HTML default <a> element color */
  text-decoration: underline; /* this is the HTML default */
}
/* * * *
Pat says that these are used in special circumstances, so we need to include 
them in our definitions. Unfortunately, we haven't yet been able to invoke them 
from the texi source, so we don't know what they are intended to do. 
(see email exchange)
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
.menu-comment
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
}
.menu-preformatted
{
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  color: inherit;
  white-space: pre;
}
 * * * */

/*******************************************************************************
 *                 Styles specific to SoftwareSam's website.                   *
 *                 -- not necessary for generic documents --                   *
 *******************************************************************************
 * Style for site internal-links header (e.g. 'Back to HTML Docs')
 */
.infodoc_interlink
{
  position: relative;
  left: 0;
  margin-left: 0;
  margin-right:  auto;
  max-width: 300px;
  /*       top right bottom left   */
  padding: 8px 10px 8px 10px;
  text-align: center;
  white-space: nowrap;
  font-size: 18px;
  font-weight: bold;
  background-color: #FFFF00;
  border-style: solid;
  border-color: #0000FF;
  border-width: 3px;
}
.infodoc_interlink a
{
  color: #0000FF;
  text-decoration: none;
}

/* Defines the container for a terminal screen capture.
 * approximate max-width:(columns x 0.61257)em;
 * background-color:(specified during capture)
 */
.tscap
{
  font-family: monospace;        /* Equal-width characters */
  font-size: 1.0em;              /* Document's base size */
  font-weight: normal;           /* Normal only - bold will cause errors */
  font-style: normal;            /* Default font style == not fancy */
  font-variant: normal;          /* Default font varient == not fancy */
  white-space: pre;              /* Whitespace IS NOT collapsed, fixed line breaks */
  line-height: 1.165em;          /* Compress vertically so no background between lines */
  font-variant-east-asian: full-width; /* OpenType feature non-standard */
  margin: 0 0 0 0;               /* Top Right Bottom Left */
  padding: 0% 0% 0% 0%;
  background-color: #FFFFDD;    /* Default background color == terminal */
  color: #000000;               /* Default text color == black */
}
/*************************
 ** Color Pairs 00h-07h **
 ** Color Pairs 40h-47h **
 *************************/
.bw_n                      /* Black on White, normal */
{
  color: black;
  background-color: white;
  font-size: inherit;
  font-weight: normal;
  text-decoration: none;
}
.bw_u                      /* Black on White, underline */
{
  color: black;
  background-color: white;
  font-size: inherit;
  font-weight: normal;
  text-decoration: underline;
}
.bw_r                      /* Black on White, reverse */
{
  color: white;
  background-color: black;
  font-size: inherit;
  font-weight: normal;
  text-decoration: none;
}
.bw_y                      /* Black on White, reverse + underline */
{
  color: white;
  background-color: black;
  font-size: inherit;
  font-weight: normal;
  text-decoration: underline;
}

.re_n                      /* Red on White, normal */
{
  color: #CC0000;
  background-color: white;
  font-size: inherit;
  font-weight: normal;
  text-decoration: none;
}
.re_u                      /* Red on White, underline */
{
  color: #CC0000;
  background-color: white;
  font-size: inherit;
  font-weight: normal;
  text-decoration: underline;
}
.re_r                      /* Red on White, reverse */
{
  color: white;
  background-color: #CC0000;
  font-size: inherit;
  font-weight: normal;
  text-decoration: none;
}
.re_y                      /* Red on White, reverse + underline */
{
  color: white;
  background-color: #CC0000;
  font-size: inherit;
  font-weight: normal;
  text-decoration: underline;
}

.gr_n                      /* Green on White, normal */
{
  color: green;
  background-color: white;
  font-weight: normal;
  text-decoration: none;
}
.gr_u                      /* Green on White, underline */
{
  color: green;
  background-color: white;
  font-weight: normal;
  text-decoration: underline;
}
.gr_r                      /* Green on White, reverse */
{
  color: white;
  background-color: green;
  font-weight: normal;
  text-decoration: none;
}
.gr_y                      /* Green on White, reverse + underline */
{
  color: white;
  background-color: green;
  font-weight: normal;
  text-decoration: underline;
}

.br_n                      /* Brown on White, normal */
{
  color: maroon;
  background-color: white;
  font-weight: normal;
  text-decoration: none;
}
.br_u                      /* Brown on White, underline */
{
  color: maroon;
  background-color: white;
  font-weight: normal;
  text-decoration: underline;
}
.br_r                      /* Brown on White, reverse */
{
  color: white;
  background-color: #993300;
  font-weight: normal;
  text-decoration: none;
}
.br_y                      /* Brown on White, reverse + underline */
{
  color: white;
  background-color: #993300;
  font-weight: normal;
  text-decoration: underline;
}

.bl_n                      /* Blue on White, normal */
{
  color: blue;
  background-color: white;
  font-weight: normal;
  text-decoration: none;
}
.bl_u                      /* Blue on White, underline */
{
  color: blue;
  background-color: white;
  font-weight: normal;
  text-decoration: underline;
}
.bl_r                      /* Blue on White, reverse */
{
  color: white;
  background-color: blue;
  font-weight: normal;
  text-decoration: none;
}
.bl_y                      /* Blue on White, reverse + underline */
{
  color: white;
  background-color: blue;
  font-weight: normal;
  text-decoration: underline;
}

.ma_n                      /* Magenta on White, normal */
{
  color: #990099;
  background-color: white;
  font-weight: normal;
  text-decoration: none;
}
.ma_u                      /* Magenta on White, underline */
{
  color: #990099;
  background-color: white;
  font-weight: normal;
  text-decoration: underline;
}
.ma_r                      /* Magenta on White, reverse */
{
  color: white;
  background-color: #990099;
  font-weight: normal;
  text-decoration: none;
}
.ma_y                      /* Magenta on White, reverse + underline */
{
  color: white;
  background-color: #990099;
  font-weight: normal;
  text-decoration: underline;
}

.cy_n                      /* Cyan on White, normal */
{
  color: #009999;
  background-color: white;
  font-weight: normal;
  text-decoration: none;
}
.cy_u                      /* Cyan on White, underline */
{
  color: #009999;
  background-color: white;
  font-weight: normal;
  text-decoration: underline;
}
.cy_r                      /* Cyan on White, reverse */
{
  color: white;
  background-color: #009999;
  font-weight: normal;
  text-decoration: none;
}
.cy_y                      /* Cyan on White, reverse + underline */
{
  color: white;
  background-color: #009999;
  font-weight: normal;
  text-decoration: underline;
}

.gy_n                      /* Grey on White, normal */
{
  color: gray;
  background-color: white;
  font-weight: normal;
  text-decoration: none;
}
.gy_u                      /* Grey on White, underline */
{
  color: gray;
  background-color: white;
  font-weight: normal;
  text-decoration: underline;
}
.gy_r                      /* Grey on White, reverse */
{
  color: white;
  background-color: gray;
  font-weight: normal;
  text-decoration: none;
}
.gy_y                      /* Grey on White, reverse + underline */
{
  color: white;
  background-color: gray;
  font-weight: normal;
  text-decoration: underline;
}


/*************************
 ** Color Pairs 08h-3Fh **
 ** Color Pairs 48h-7Fh **
 *************************/
/* The following color pairs are not supported:                       *
 * Black-on-Black  Red-on-Red          Green-on-Green  Brown-on-Brown *
 * Blue-on-Blue    Magenta-on-Magenta  Cyan-on-Cyan    Grey-on-Grey   */
.rebk                      /* Red on Black      */
{
  color: red;
  background-color: black;
  font-weight: normal;
  text-decoration: none;
}
.grbk                      /* Green on Black    */
{
  color: lime;
  background-color: black;
  font-weight: normal;
  text-decoration: none;
}
.brbk                      /* Brown on Black    */
{
  color: yellow;
  background-color: black;
  font-weight: normal;
  text-decoration: none;
}
.blbk                      /* Blue on Black     */
{
  color: blue;
  background-color: black;
  font-weight: normal;
  text-decoration: none;
}
.mabk                      /* Magenta on Black  */
{
  color: #FF00FF;
  background-color: black;
  font-weight: normal;
  text-decoration: none;
}
.cybk                      /* Cyan on Black     */
{
  color: aqua;
  background-color: black;
  font-weight: normal;
  text-decoration: none;
}
.gybk                      /* Grey on Black     */
{
  color: #CCCCCC;
  background-color: black;
  font-weight: normal;
  text-decoration: none;
}

.bkre                      /* Black on Red      */
{
  color: black;
  background-color: red;
  font-weight: normal;
  text-decoration: none;
}
.grre                      /* Green on Red      */
{
  color: lime;
  background-color: red;
  font-weight: normal;
  text-decoration: none;
}
.brre                      /* Brown on Red      */
{
  color: yellow;
  background-color: red;
  font-weight: normal;
  text-decoration: none;
}
.blre                      /* Blue on Red       */
{
  color: blue;
  background-color: red;
  font-weight: normal;
  text-decoration: none;
}
.mare                      /* Magenta on Red    */
{
  color: #990099;
  background-color: red;
  font-weight: normal;
  text-decoration: none;
}
.cyre                      /* Cyan on Red       */
{
  color: aqua;
  background-color: red;
  font-weight: normal;
  text-decoration: none;
}
.gyre                      /* Grey on Red       */
{
  color: #CCCCCC;
  background-color: red;
  font-weight: normal;
  text-decoration: none;
}

.bkgr                      /* Black on Green    */
{
  color: black;
  background-color: green;
  font-weight: normal;
  text-decoration: none;
}
.regr                      /* Red on Green      */
{
  color: red;
  background-color: green;
  font-weight: normal;
  text-decoration: none;
}
.brgr                      /* Brown on Green    */
{
  color: yellow;
  background-color: green;
  font-weight: normal;
  text-decoration: none;
}
.blgr                      /* Blue on Green     */
{
  color: blue;
  background-color: green;
  font-weight: normal;
  text-decoration: none;
}
.magr                      /* Magenta on Green  */
{
  color: #CC00CC;
  background-color: green;
  font-weight: normal;
  text-decoration: none;
}
.cygr                      /* Cyan on Green     */
{
  color: aqua;
  background-color: green;
  font-weight: normal;
  text-decoration: none;
}
.gygr                      /* Grey on Green     */
{
  color: #CCCCCC;
  background-color: green;
  font-weight: normal;
  text-decoration: none;
}

.bkbr                      /* Black on Brown    */
{
  color: black;
  background-color: #993300;
  font-weight: normal;
  text-decoration: none;
}
.rebr                      /* Red on Brown      */
{
  color: red;
  background-color: #993300;
  font-weight: normal;
  text-decoration: none;
}
.grbr                      /* Green on Brown    */
{
  color: lime;
  background-color: #993300;
  font-weight: normal;
  text-decoration: none;
}
.blbr                      /* Blue on Brown     */
{
  color: blue;
  background-color: #993300;
  font-weight: normal;
  text-decoration: none;
}
.mabr                      /* Magenta on Brown  */
{
  color: #FF00FF;
  background-color: #993300;
  font-weight: normal;
  text-decoration: none;
}
.cybr                      /* Cyan on Brown     */
{
  color: aqua;
  background-color: #993300;
  font-weight: normal;
  text-decoration: none;
}
.gybr                      /* Grey on Brown     */
{
  color: #CCCCCC;
  background-color: #993300;
  font-weight: normal;
  text-decoration: none;
}

.bkbl                      /* Black on Blue     */
{
  color: black;
  background-color: blue;
  font-weight: normal;
  text-decoration: none;
}
.rebl                      /* Red on Blue       */
{
  color: red;
  background-color: blue;
  font-weight: normal;
  text-decoration: none;
}
.grbl                      /* Green on Blue     */
{
  color: lime;
  background-color: blue;
  font-weight: normal;
  text-decoration: none;
}
.brbl                      /* Brown (yellow) on Blue     */
{
  color: yellow;
  background-color: blue;
  font-weight: normal;
  text-decoration: none;
}
.mabl                      /* Magenta on Blue   */
{
  color: #FF00FF;
  background-color: blue;
  font-weight: normal;
  text-decoration: none;
}
.cybl                      /* Cyan on Blue      */
{
  color: aqua;
  background-color: blue;
  font-weight: normal;
  text-decoration: none;
}
.gybl                      /* Grey on Blue      */
{
  color: #CCCCCC;
  background-color: blue;
  font-weight: normal;
  text-decoration: none;
}

.bkma                      /* Black on Magenta  */
{
  color: black;
  background-color: #990099;
  font-weight: normal;
  text-decoration: none;
}
.rema                      /* Red on Magenta    */
{
  color: red;
  background-color: #990099;
  font-weight: normal;
  text-decoration: none;
}
.grma                      /* Green on Magenta  */
{
  color: lime;
  background-color:#990099;
  font-weight: normal;
  text-decoration: none;
}
.brma                      /* Brown (yellow) on Magenta  */
{
  color: yellow;
  background-color: #990099;
  font-weight: normal;
  text-decoration: none;
}
.blma                      /* Blue on Magenta   */
{
  color: blue;
  background-color: #990099;
  font-weight: normal;
  text-decoration: none;
}
.cyma                      /* Cyan on Magenta   */
{
  color: aqua;
  background-color: #990099;
  font-weight: normal;
  text-decoration: none;
}
.gyma                      /* Grey on Magenta   */
{
  color: #CCCCCC;
  background-color: #990099;
  font-weight: normal;
  text-decoration: none;
}

.bkcy                      /* Black on Cyan     */
{
  color: black;
  background-color: #009999;
  font-weight: normal;
  text-decoration: none;
}
.recy                      /* Red on Cyan       */
{
  color: red;
  background-color: #009999;
  font-weight: normal;
  text-decoration: none;
}
.grcy                      /* Green on Cyan     */
{
  color: lime;
  background-color: #009999;
  font-weight: normal;
  text-decoration: none;
}
.brcy                      /* Brown (yellow) on Cyan     */
{
  color: yellow;
  background-color: #009999;
  font-weight: normal;
  text-decoration: none;
}
.blcy                      /* Blue on Cyan      */
{
  color: blue;
  background-color: #009999;
  font-weight: normal;
  text-decoration: none;
}
.macy                      /* Cyan on Cyan      */
{
  color: #FF00FF;
  background-color: #009999;
  font-weight: normal;
  text-decoration: none;
}
.gycy                      /* Grey on Cyan      */
{
  color: #CCCCCC;
  background-color: #009999;
  font-weight: normal;
  text-decoration: none;
}

.bkgy                      /* Black on Grey     */
{
  color: black;
  background-color: gray;
  font-weight: normal;
  text-decoration: none;
}
.regy                      /* Red on Grey       */
{
  color: red;
  background-color: gray;
  font-weight: normal;
  text-decoration: none;
}
.grgy                      /* Green on Grey     */
{
  color: lime;
  background-color: gray;
  font-weight: normal;
  text-decoration: none;
}
.brgy                      /* Brown (yellow) on Grey     */
{
  color: yellow;
  background-color: gray;
  font-weight: normal;
  text-decoration: none;
}
.blgy                      /* Blue on Grey      */
{
  color: blue;
  background-color: gray;
  font-weight: normal;
  text-decoration: none;
}
.magy                      /* Magenta on Grey   */
{
  color: #FF00FF;
  background-color: gray;
  font-weight: normal;
  text-decoration: none;
}
.cygy                      /* Cyan on Grey      */
{
  color: aqua;
  background-color: gray;
  font-weight: normal;
  text-decoration: none;
}
.ulin                      /* UnderlineModifier */
{
  color: inherit;
  background-color: inherit;
  font-weight: inherit;
  text-decoration: underline;
}

/* Vertical alignment of CJK characters within screenshots.
 * --------------------------------------------------------
 * Many documentation projects are written in multiple languages, or in 
 * a mixture of languages. At times the text of these languages interact 
 * in unexpected ways. This is especially true when including screenshots 
 * in the documentation.
 * This author often mixes English with other languages, primarily the 
 * Chinese language. Screenshots which contain a mixture of single-column 
 * and multi-column text are often rendered with poor vertical column 
 * alignment. This is addressed by the "cjk" style class which combines 
 * an ordinary sans-serif font with the "letter-spacing" style element 
 * which may be used to enclose CJK (2-column) characters to provide 
 * alignment with the surrounding single-column text data.
 * The following example comes very close to proper vertical column 
 * alignment of CJK characters.
 *    <span style="letter-spacing:0.200em;">有翅膀的夜鹰去哪儿了？</span>
 *     (Where went the winged whipporwill?)
 * This would indicate that CJK characters are rendered at approximately
 * 1.800em. While this may be pleasing in ordinary written text, it 
 * causes significant mis-alignment for screenshots taken from the terminal 
 * window, and which are rendered in monospace font.
 * 
 * While microspacing (see below), can be used to provide vertical column 
 * alignment for mixed single-column and multi-column characters, 
 * experimentation shows that the "letter-spacing"' style element produces 
 * a superior result. It is also easier to work with.
 * For this reason, the "letter-spacing" style was added to the "cjk" class, 
 * making the insertion of micro-space characters unnecessary in most cases.
 * -----  -----  -----  -----  -----  -----  -----  -----  -----  -----  
 * 
 * Unicode micro-spaces for alignment of CJK characters within screenshots.
 * U+2002  EN SPACE             &#x2002; &ensp;
 * U+2003  EM SPACE             &#x2003; &emsp;
 * U+2004  THREE-PER-EM SPACE   &#x2004; &emsp13;
 * U+2005  FOUR-PER-EM SPACE    &#x2005; &emsp14;
 * U+2006  SIX-PER-EM SPACE     &#x2006;
 * U+2007  FIGURE SPACE         &#x2007; &numsp;
 * U+2008  PUNCTUATION SPACE    &#x2008; &puncsp;
 * U+2009  THIN SPACE           &#x2009; &thinsp; (subject to kerning)
 * U+200A  HAIR SPACE           &#x200A; &hairsp;
 * Note that inside a fixed-width class, all of these micro-space characters 
 * are rendered as 1.0em spaces; therefore, a sans-serif, variable-width 
 * font is required for application of micro-space alignment.
 * Example<span class="cjk">&hairsp;书&hairsp;呆&hairsp;子</span>
 * 
 * To use the "cjk" class in combination with microspacing,
 * COMMENT OUT the "letter-spacing" element of the class.
 */
.cjk           /* CJK character alignment */
{
  font-family: sans-serif;
  letter-spacing:0.200em;
  color: inherit;
  background-color: inherit;
  font-size: inherit;
  font-weight: inherit;
  text-decoration: inherit;
}


/* ______________________________________________________________________________________________
 * 
 * Application Notes:
 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 * 1) Have fun!
 * 
 * ______________________________________________________________________________________________
 */
