/* ========================================================================= */
/*       file:  /mnt/Vancouver/domains/persagen/public/css/pg-solr.css
last modified:  2025-Jan-07 11:25:57 -0800 (PST)
  description:  Persagen.com CSS Stylesheet for Pg-v05 index.html
     version:   * v07 [Thu 2024-Sep-19]
    versions:   * v07 [Thu 2024-Sep-19] * updated to Atkinson Hyperlegible font
                  and 1.0 >> 1.3rem font-size
                * v06 [2023-09-12] Edited to conform with changes initiated
                  * used with index.html v08 ["Pg-Solr" v08]
                  2023-09-12 in:
                    "public/index.html" v08
                    "persagen/public/js/pg-solr.js" v05
                    "public/widgets/ResultWidget.js" v03
                  * used with index.html v07 ["Pg-Solr" v07]
                  * removed styles for: "split" DIV; bottom pager
                * v05 [2023-04-06]
                  * used with index.html v07 ["Pg-Solr" v07]
                  * removed styles for:
                  *   tooltips
                  *   search autocomplete
                * v04 [2022-08-09] Removed left-hand "Ontology" sidebar (split).
                * v03 [2022-03-25] [Pg-Solr v05]
                * v02 supersedes:
                * v01 persagen/04/css/pg-solr.css
                  * used with index.html v01 ["Pg-Solr" v01]
 */
/* ========================================================================= */

/* Color picker: https://www.colorhexa.com/6998f0 */

/* ------------------------------------------------------------------------------ */

* {
  padding: 0%;
  /* top right bottom left */
  margin: 0%;
}

/* ------------------------------------------------------------------------- */
/* ID, CLASS */

/* https://stackoverflow.com/questions/36026530/target-ul-and-li-within-div-using-css */

/* For elements such as
 * "<div id="foo" class="bar"></div>" ,
 * an "id" is referenced in CSS with a hashtag (e.g. "#keywords), while
 * a "class" is referenced in CSS with a period (e.g. ".tagcloud").
 */

/* Why can't I have a numeric value as the ID of an element?
 * https://stackoverflow.com/questions/7987636/why-cant-i-have-a-numeric-value-as-the-id-of-an-element
 */

/* ------------------------------------------------------------------------- */
/* PADDING vs. MARGINS */

/* https://stackoverflow.com/questions/2189452/when-to-use-margin-vs-padding-in-css
 * TL;DR: By default I use margin everywhere, except when I have a border or
 * background and want to increase the space inside that visible box.
 *
 * To me, the biggest difference between padding and margin is that [overlapping]
 * vertical margins auto-collapse, and padding doesn't. ...
 *
 * https://blog.hubspot.com/website/css-margin-vs-padding
 */

/* ------------------------------------------------------------------------- */
/* FONT PROPERTIES */
/* ------------------------------------------------------------------------- */

/* Use <body> as base with "rem" values. If you change the body font size all styles will be
 * increased/decreased automatically. Rem stands for "root em" because it calculates the size
 * based on the size of the root of the document or body tag.

 * Global default font-size (Firefox, Arial) is 16px.
 * https://tutorial.techaltum.com/cssfontproperties.html
 * Default font sizes: <body>, 16px; <p>, 1rem; <h1>, 2rem, ...

 * <p> has no default font-size value; it simply inherits the value specified within the body.

 * https://developer.mozilla.org/en-US/docs/Web/CSS/font-size
 * rem values were invented in order to sidestep the compounding problem. rem values are
 * relative to the root html element, not the parent element. In other words, it lets you
 * specify a font size in a relative fashion without being affected by the size of the parent,
 * thereby eliminating compounding.

 * Echoed here (StackOverflow): https://stackoverflow.com/a/51756111/1904943
 * The rem unit is based on the font size of the HTML element, not the BODY element.
 * So you should set base font size this way: ...

 * .. and here (StackOverflow):
 * https://stackoverflow.com/questions/16460990/change-text-font-size-of-whole-page-content
 * You can use rem, which is better than em in some places because em cascades
 * and rem does not. With all lengths specified in rem, you can adjust the sizes
 * by changing the font-size of the <html> element.

 * https://www.sitepoint.com/understanding-and-using-rem-units-in-css/
 * https://snook.ca/archives/html_and_css/font-size-with-rem

 * https://stackoverflow.com/questions/51745779/setting-the-font-size-of-a-body-tag
 * https://bootstrapcreative.com/bootstrap-text-sizes/#Bootstrap_4_Text_Sizes
 * https://tutorial.techaltum.com/cssfontproperties.html
 */
/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* ATKINSON HYPERLEGIBLE FONT */
/* ------------------------------------------------------------------------- */
/* /mnt/Vancouver/domains/persagen/public/css/pg-solr.css */
/* [bookmark: aelohf8u] */

/*
 * Atkinson Hyperlegible font
 * https://www.brailleinstitute.org/freefont/
 * https://news.ycombinator.com/item?id=41550211
 * https://www.w3schools.com/howto/tryit.asp?font=Atkinson%20Hyperlegible

 * Google Fonts:
 * <link rel="preconnect" href="https://fonts.googleapis.com">
 * <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
 * <link href="https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400;1,700&display=swap" rel="stylesheet">

 * font-family: 'Atkinson Hyperlegible';
 * font-family: 'Atkinson Hyperlegible', 'Arial', 'Verdana', 'sans-serif';
 * font-family: "Arial", "Verdana", sans-serif;
 * font-family: 'Atkinson Hyperlegible';
 * font-family: 'Courier', 'sans-serif';
 * font-family: 'Verdana', 'sans-serif';

 * Include this in HEAD on each HTML webpage:
 *
 *    <link href="https://fonts.cdnfonts.com/css/atkinson-hyperlegible-2" rel="stylesheet">

 * Test:
 *   <p>B 8 O 0 l 1</p>
 */

/* ------------------------------------------------------------------------- */
/* [end] ATKINSON HYPERLEGIBLE FONT
/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* [end] FONT PROPERTIES */
/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* CURSORS: https://developer.mozilla.org/en-US/docs/Web/CSS/cursor */
/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* CLEAR
  *  clear: { none | both | left | right };
  *  https://developer.mozilla.org/en-US/docs/Web/CSS/clear
  *  https://stackoverflow.com/questions/5671519/arranging-div-one-below-the-other
  *  The clear CSS property sets whether an element must be moved below
  *  (cleared) floating elements that precede it. The clear property applies
  *  to floating and non-floating elements.
  */

/* DISPLAY
  *  display { none | block | flex | grid | inline | inline-block };
  *  https://developer.mozilla.org/en-US/docs/Web/CSS/display
  *  The display CSS property sets whether an element is treated as a block or
  *  inline box and the layout used for its children, such as flow layout
  *  grid or flex.
  */

/* FLOAT
  *  float: { none | left | right };
  *  https://developer.mozilla.org/en-US/docs/Web/CSS/float
  *  The float CSS property places an element on the left or right side of its
  *  container, allowing text and inline elements to wrap around it. The
  *  element is removed from the normal flow of the page, though still
  *  remaining a part of the flow (in contrast to absolute positioning).
  *
  *  Note: place at top of CSS style entries; some styles (e.g. "padding") placed above
  * "float" may cause unintended CSS styling artefacts (see, e.g. bookmark: ueh9phie).
  */

/* POSITION
  *  position: { static | absolute | relative | sticky };
  *  https://developer.mozilla.org/en-US/docs/Web/CSS/position
  *  The position CSS property sets how an element is positioned in a document.
  *  The top, right, bottom, and left properties determine the final location
  *  of positioned elements.
  */

/* Z-INDEX
  *  z-index: { auto | <num> };
  *  https://developer.mozilla.org/en-US/docs/Web/CSS/z-index
  *  The z-index CSS property sets the z-order of a positioned element and its
  *  descendants or flex and grid items. Overlapping elements with a larger
  *  z-index cover those with a smaller one. 
  */
/* ------------------------------------------------------------------------- */

/* ========================================================================= */
/* TABS */

/* https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_tabs */

/* Style the tabs */
.tabs {
  overflow: hidden;
  border-top: 1px solid darkgray;
  border-bottom: 1px solid darkgray;
  /* background-color: red; */
  /* top right bottom left */
  /* margin: 0.0rem 0.0rem -0.25rem 0.0rem; */
  margin: 0.0rem 0.0rem -0.0rem 0.0rem;
}

/* Style the buttons inside the tab */
.tabs button {
  float: left;
  background-color: inherit;
  /* -------------------- */
  /* Border around each button; */
  /* border: solid 2px red; */
  border: none;
  /* -------------------- */
  outline: none;
  cursor: pointer;
  padding: 1px 16px;
  /* padding: 14px 16px; */
  /* transition: 0.3s; */
  /* font-size: 17px; */
  /* font-size: 1.25rem; */
  /* font-size: 0.8rem; */
  /* Tue 2024-Sep-24 changed 0.8rem >> 1.0rem: */
  /* font-size: 1.0rem; */
  font-size: 1.1rem;
}

  /* Change background color of buttons on hover */
  .tabs button:hover {
    /* background-color: magenta; */
    background-color: #ddd;
    /* font-weight: bold; */
  }

  /* Create an active/current tablink class */
  .tabs button.active {
    /* background-color: magenta; */
    background-color: #ccc;
  }

  /* Style the tab content */
  .tabcontent {
    display: none;
    padding: 6px 12px;
    /* border: solid 2px red; */
    /* border-top: none; */
  }

/* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
 * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#Deprecated_attributes=
 * ---------------------------------------- 
 * vh : viewport height
 *   https://stackoverflow.com/questions/5272519/how-do-you-give-iframe-100-height
 *   https://stackoverflow.com/questions/5867985/full-screen-iframe-with-a-height-of-100
*/

#ontology_iframe
,#preview_iframe
,#document_iframe
,#graph_iframe
,#help_iframe {
  border-style: none;
  /* border: 2px solid magenta; */
  /* https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-width */
  /* No apparent effect here, so commented out: */
  /* scrollbar-width: thin; */
  width: 100%;
  /* -------------------- */
  /* Avoid this: */
  /* height: 100%; */
  /* -------------------- */
  /*  -------------------- */
  /* height: 80vh; */
  height: 100vh;
  background: #f8f9f9;
  padding-bottom: 1rem;
}

#documents_iframe {
  border-style: none;
  /* border: 2px solid magenta; */
  /* https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-width */
  /* No apparent effect here, so commented out: */
  /* scrollbar-width: thin; */
  width: 100%;
  /* -------------------- */
  /* Avoid this: */
  /* height: 100%; */
  /* -------------------- */
  /*  -------------------- */
  /* height: 80vh; */
  height: 100vh;
  background: #f8f9f9;
  padding-bottom: 2rem;
}

/* [end] TABS */
/* ============================================================================== */

/* ========================================================================= */
/* GLOBAL STYLES [Persagen.com] */

/* https://stackoverflow.com/questions/6140430/what-are-the-most-common-font-sizes-for-h1-h6-tags */
/* https://html.spec.whatwg.org/multipage/rendering.html#sections-and-headings */
/* p  1.0rem */
/* h1  2.0rem */
/* h2  1.5rem */
/* h3  1.17rem */
/* h4  1.0rem */
/* h5  0.83rem */
/* h6  0.67rem */

/* https://www.w3schools.com/cssref/pr_font_font-style.asp
 * https://developer.mozilla.org/en-US/docs/Web/CSS/font-style
 *
 * font-style: {normal | italic | oblique} */

/* https://www.w3schools.com/cssref/pr_font_weight.asp
 * https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight
 *
 * font-weight: {normal | bold} */

/* https://tutorial.techaltum.com/cssfontproperties.html#font-weight */
/* Numbered font weights (e.g.: "font-weight: 100;") are basically useless. Numbered are
 * not supported in all font families, and only partially work in Firefox (2021-01-29). */
/* Use "font-weight: {normal | bold};" */

/* ------------------------------------------------------------------------- */
/* COLORS | HIGHLIGHTING | ... */

/* [mine] Javascript Text Highlighting and Background Colors Pallette
   /mnt/Vancouver/programming/javascript/docs/javascript-text_highlighting_and_background_colors_pallette.html
 */

html {
  /* 62.5% of 16px = 10px | 100% = 16px, my browser default */
  /* https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#ems_and_rems */
  /* Keep this as px (not %, em, rem, ...): */
  font-size: 16px;
  /* ... then you can resize everything (e.g.) by swapping the line above with: */
  /* font-size: 12px; */
  /* Using that and rem, font size changes can be globally implemented by changing line, above
  * (Font-sizes can be overridden, fine-tuned using px, e.g. "letter-spacing: 0.5px;".) */

  /* line-height: normal; */
  /* More space but easier to read: */
  /* TEST: */
  /* line-height: 3.5; color: magenta; */
  line-height: 1.75;
  /* min-height: 700px; */
  /* ---------------------------------------- */
  /* https://stackoverflow.com/questions/2189452/when-to-use-margin-vs-padding-in-css
  /* This appears to set top, right, left margins (not bottom): */
  /* margin-top: 0.0rem; */
  /* margin-right: 1.0rem; */
  /* margin-left: 1.0rem; */
  /* Bottom: nope:
   *   margin-bottom: 20rem !important;
   * Use this: */
  /* padding-bottom: 10.0rem; */
  padding-bottom: 2.0rem;
}

/* font-family: "Arial", "Verdana", "Helvetica", sans-serif;
 *
 * Font family names ("Arial", ...) are quoted in MDN docs,
 * https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts).
 *
 * Google Docs uses "Arial": https://www.w3schools.com/cssref/css_websafe_fonts.asp
 *
 * https://www.w3schools.com/css/css_font.asp
 * https://www.w3schools.com/cssref/css_websafe_fonts.asp
 * https://ux.stackexchange.com/questions/94892/is-helvetica-considered-a-web-safe-font/94896
 * */

body {
  /* margin: 1.0rem 1.0rem 1.0rem 1.0rem; */
  margin: 0.0rem 1.0rem 1.0rem 1.0rem;
  background-color: #f8f9f9;
  /* padding-bottom: 2.0rem; */
  font-size: 1.25rem;
}

p {
  /* margin: 1.0rem 1.0rem 1.0rem 1.0rem; */
  margin: 1.0rem 0.0rem 1.0rem 0.0rem;
  font-family: 'Atkinson Hyperlegible', 'Arial', 'Verdana', 'sans-serif';
  font-size: 1.25rem;
  font-style: normal;
  /* color: magenta; */
  line-height: 1.5rem;
}

/* Use "h0" for page titles. */
h0 {
  /* color: brown;  */
  margin: 0.0rem 0.0rem 0.5rem 0.0rem;
  text-align:center;
  /* font-size: 1.75rem; */
  font-size: 2.0rem;
  font-style: normal;
  line-height: 2.4rem;
}

h1 {
  /* margin: 1.75rem 1.0rem 1.0rem 1.0rem; */
  margin: 0.0rem 0.0rem 0.5rem 0.0rem;
  /* color: brown;  */
  /* color: magenta;  */
  /* font-size: 2.0rem; */
  font-size: 1.75rem;
  font-style: normal;
  line-height: 2.4rem;
}

/* Thu 2024-Sep-19 noted misspelling: */
/*    h1 #articke { */
/* Corrected: */
h1 #article {
  /* color: brown;  */
  color: magenta; 
  /* font-size: 2.0rem; */
  font-size: 1.75rem;
  font-style: normal;
  /* line-height: 2.4rem; */
  /* margin: 1.75rem 1.0rem 1.0rem 1.0rem; */
  margin: 0.5rem 1.0rem 0.5rem 0.0rem;
}

h1#article_h1 {
  /* color: brown;  */
  /* color: magenta;  */
  /* font-size: 2.0rem; */
  font-size: 1.75rem;
  font-style: normal;
  /* line-height: 2.4rem; */
  /* margin: 1.75rem 1.0rem 1.0rem 1.0rem; */
  margin: 0.25rem 1.0rem 0.25rem 1.0rem;
}

h2 {
  /* margin: 1.75rem 1.0rem 1.0rem 1.0rem; */
  /* Needed "!important here (not in "h1" style, however): */
  margin: 1.75rem 0.0rem 0.5rem -0.0rem !important;
  /* color: brown;  */
  font-size: 1.5rem;
  font-style: normal;
  line-height: 2.0rem;
}

/* Clone of h2 style: */
#subtitle {
  /* Needed "!important here (not in "h1" style, however): */
  margin: 0.0rem 0.0rem 0.5rem -0.0rem !important;
  /* color: brown;  */
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 2.0rem;
}

h3 {
  /* margin: 1.75rem 1.0rem 1.0rem 1.0rem; */
  /* Needed "!important here (not in "h1" style, however): */
  margin: 1.5rem 0.0rem 0.5rem -0.0rem !important;
  /* color: brown;  */
  /* font-size: 1.17rem; */
  font-size: 1.25rem;
  font-style: normal;
  line-height: 1.6rem;
}

h4 {
  /* margin: 1.5rem 1.0rem 1.0rem 1.0rem; */
  /* Needed "!important here (not in "h1" style, however): */
  margin: 1.5rem 0.0rem 0.5rem -0.0rem !important;
  /* color: brown;  */
  /* font-size: 1.0rem; */
  /* font-size: 1.17rem; */
  /* 1.04 half way between 1.25, 0.83 */
  font-size: 1.04rem;
  font-style: normal;
  line-height: 1.4rem;
}

h5 {
  /* margin: 1.25rem 1.0rem 1.0rem 1.0rem; */
  /* Needed "!important here (not in "h1" style, however): */
  margin: 1.5rem 0.0rem 0.5rem -0.0rem !important;
  /* color: brown;  */
  /* font-size: 0.83rem; */
  font-size: 0.95rem;
  font-style: normal;
  line-height: 1.4rem;
}

h6 {
  /* margin: 1.0rem 1.0rem 1.0rem 1.0rem; */
  /* Needed "!important here (not in "h1" style, however): */
  margin: 1.5rem 0.0rem 0.5rem -0.0rem !important;
  /* color: brown;  */
  /* font-size: 0.67rem; */
  font-size: 0.85rem;
  font-style: normal;
  line-height: 1.4rem;
}

a {
  /* font-family: 'Atkinson Hyperlegible', 'Arial', 'Verdana', 'sans-serif'; */
  /* font-size: 1.0rem; */
  font-size: 1.25rem;
  font-style: normal;
  line-height: 1.5rem;
  /* color: magenta; */
  /* No underline: */
  text-decoration: none;
}

/* a { */
/*   /* https://stackoverflow.com/questions/2189452/when-to-use-margin-vs-padding-in-css */
/*   * ... [overlapping] vertical margins auto-collapse, and padding doesn't. */ */
/*   margin: 1.0rem 1.0rem 1.0rem 1.0rem; */
/*   /* ---------------------------------------- */ */
/*   /* font-family: "Arial", "Verdana", sans-serif; */ */
/*   font-family: 'Atkinson Hyperlegible', 'Arial', 'Verdana', 'sans-serif'; */
/*   /* color: magenta; */ */
/*   /* font-size: 1.25rem; */ */
/*   font-size: 1.25rem; */
/*   font-style: normal; */
/*   line-height: 1.5rem; */
/* } */


/* https://stackoverflow.com/questions/44860766/how-to-create-underline-effect-on-hovered-links-in-css */
/* Keep the "color:blue" as this will recolor visited links (purple) as blue, when hovered over. */

a:hover {
  color: blue;
  /* https://stackoverflow.com/questions/22674633/text-that-shows-an-underline-on-hover */
  /* text-decoration: underline; */
  /* text-decoration: normal; */
  /* font-weight: bold; */
  /* font-size: 1.0rem; */
  border-bottom: 1px solid blue;
}

/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* PICTURE ICON | IMAGE ICON */

/* https://www.svgrepo.com/svg/13704/picture */
/* /mnt/Vancouver/domains/persagen/public/images/picture-icon.svg */

/* Used with "hover_img" CLASS. */

/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* INFORMATION (TOOLTIP) ICON */

/* https://www.svgrepo.com/svg/211431/information-info */
/* Used with "information" CLASS. */

/* { information-icon.svg | information-icon-2.svg | information-icon-3.svg | information-icon-4.svg } */

a.info {
  /* background: url(../images/information-icon.svg) no-repeat 0 80%; */
  background: url(../images/information-icon-4.svg) no-repeat;
  padding-left: 18px;
  /* -------------------- */
  /* "padding-top" will "superscript," slightly: */
  /* padding-top: 2px; */
  /* -------------------- */
  position:relative;
  /* background-size: 0.75rem; */
  /* background-size: 0.8rem; */
  background-size: 0.9rem;
  /* background-size: 1.0rem; */
}

/* Usage (e.g.): <a class="info" target="ext_link" title="Example.com is a &quot;demonstration&quot; website." href="https://example.com">Example.com</a> */

/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* PDF ICON */

/* https://developer.mozilla.org/en-US/docs/Web/CSS/url() */
/*   The url() CSS function is used to include a file. */

/* https://stackoverflow.com/questions/6602744/whats-the-best-practices-to-place-an-icon-before-or-after-links-to-indicate-f */
/* https://stackoverflow.com/questions/18377671/if-an-a-link-is-a-pdf-file-style-accordingly */
/* https://www.svgrepo.com/vectors/pdf/ */

/* background: url(../images/pdf-icon.svg) no-repeat 0 50%; */
/* background: url(../images/pdf-icon-2.svg) no-repeat 0 50%; */

/* USE THIS (icon before link): */

a[href$=".pdf"] {
  /* background: url(../images/pdf-icon-3.svg) no-repeat 0 50%; */
  background: url(../images/pdf-icon-3.svg) no-repeat;
  /* background: url(../images/pdf-icon-4.svg) no-repeat; */
  padding-left: 30px !important;
  /* color: inherit; */
}
/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* MAIL ICON */

/* https://electrictoolbox.com/add-offsite-link-icon-after-external-links-css/ */
/* https://www.svgrepo.com/vectors/email-mail/ */
a[href^="mailto"] {
  background: url(../images/email-icon.svg) no-repeat;
  padding-left: 30px;
}
/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* DOWNLOAD ICON */

/* https://www.svgrepo.com/svg/23189/download */

/* Match ultiple file types: */
/*    a[href$=".tsv"], a[href$=".py"] { */
/* .py files open in browser, so "" (above) not needed. */

a[href$=".tsv"], a[href$=".tgz"] {
  background: url(../images/download-icon.svg) no-repeat;
  padding-left: 30px !important;
  /* color: inherit; */
}
/* ------------------------------------------------------------------------- */

/* FOR REFERENCE - icon after URL, but messy: after period, so include at end
 * of link title; also appears before byline (if included).
 * Per StackOverflow articles also looked at :after, ::after, content: url(...),
 * etc. NONE of those worked. */
/*
  a[href$=".pdf"] {
    background: transparent url(../images/pdf-icon-3.svg) right no-repeat;
    padding-right: 30px;
  }
*/
/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* EXTERNAL LINK ICON */
/* /mnt/Vancouver/domains/persagen/public/css/pg-solr.css */
/* [bookmark: zaegh6sh] */

/* For use with links in Table of Contents that opens external site (e.g. Wikipedia). */

/* https://stackoverflow.com/questions/1899772/new-window-icon-for-web-accessibility */

a[target="ext_link"]::after {
  content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQElEQVR42qXKwQkAIAxDUUdxtO6/RBQkQZvSi8I/pL4BoGw/XPkh4XigPmsUgh0626AjRsgxHTkUThsG2T/sIlzdTsp52kSS1wAAAABJRU5ErkJggg==);
  margin: 0 3px 0 5px;
}

/* Sample use (add to <a href="... i.e. <a target="ext_link href="... ): */
  /* <p>
   *   <a target="ext_link" href="https://en.wikipedia.org/wiki/Twitter#Content">Content</a>
   * </p>
   */

/*  If I refine this, search for external.e091ac5d.svg here (and proceed from there):
 *  https://gist.github.com/bgoonz/f27cd28cd174e69a59ea5f925b16c604
 */

/* ------------------------------------------------------------------------- */
/* IMAGE CAPTIONS */

span#image_caption {
  font-size: 1.2rem;
  /* color: magenta; */
  /* No underline: */
  text-decoration: none;
}
/* ------------------------------------------------------------------------- */

span#image_caption a {
  font-size: 1.2rem;
  /* color: magenta; */
  /* No underline: */
  text-decoration: none;
}

span#image_caption a:hover {
  /* color: magenta; */
  /* https://stackoverflow.com/questions/22674633/text-that-shows-an-underline-on-hover */
  /* text-decoration: underline; */
  /* text-decoration: normal; */
  /* font-weight: bold; */
  /* font-size: 0.8rem; */
  /* border-bottom: 1px solid blue; */
}

/* Persagen hyperlink styling: see also bookmark iex8oobo */
span#image_caption a.persagen:hover {
  /* color: green; */
  /* text-decoration: underline; */
  /* text-decoration: none; */
  /* font-weight: normal; */
  /* font-size: 1.0rem; */
  /* font-weight: bold; */
  border-bottom: 1px solid green;
}

#image span#image_caption p {
  /* order (below): top right bottom left */
  margin: 0.0rem 0.5rem 0.0rem 0.0rem;
  /* color: magenta; */
  /* font-family: "Arial", "Verdana", sans-serif; */
  font-family: 'Atkinson Hyperlegible', 'Arial', 'Verdana', 'sans-serif';
  font-size: 1.2rem;
  /* font-style: normal; */
  /* line-height: 1.5rem; */
}

/* ------------------------------------------------------------------------- */
/* PRE-tag */

pre {
  font-family: monospace;
  /* font-family: 'Courier New'; */
  font-size: 0.8rem;
  width: 95%;
  /* height: 200px; */
  height: auto;
  max-height: 400px;
  /* Preference: "monospace" is a better monospaced font than "Courier New". */
  /* ---------------------------------------- */
  /* "line-height: 1.5" is the same as not being applied. */
  /* line-height: 1.5; */
  /* ---------------------------------------- */
  overflow-x: auto;
  white-space: pre-wrap;
  word-wrap: break-word;
  /* border: 2px solid magenta; */
  /* border: 1px solid gray; */
  border: 1px solid darkgray;
  /* order (below): top right bottom left */
  margin: 0.0rem 0.25rem 0.25rem 1.0rem;
}

/* Used in: /mnt/Vancouver/domains/persagen/public/html/intro_01.html */
/* Note: no space before "#fitted-content": */
pre#fitted-content {
  /* font-family: courier; */
  font-family: monospace;
  /* font-size: 1.15rem; */
  font-size: 0.8rem;
  /* color: magenta; */
  color: brown;
  font-style: normal;
  line-height: 1.0rem;
  /* border: 0px; */
  border: 1px solid darkgray;
  width: fit-content;
  /* top right bottom left */
  padding: 0.25rem 1.0rem 0.25em 0.5rem;
  /* https://stackoverflow.com/questions/17365838/remove-leading-whitespace-from-whitespace-pre-element */
  white-space: pre-line;
}

/** Highlighted code:
 * E.g.:  
 *     <pre>
 *       <code class="bash">date; pwd</code>
 *       <code class="python">def fib(n):. ...</code>
 *     </pre>
 *
 * /mnt/Vancouver/domains/persagen/public/css/pg-solr.css
 * https://highlightjs.org/
 * https://cdnjs.com/libraries?q=hghlght.js
 * https://stackoverflow.com/questions/62029757/nicely-formatted-python-code-in-html-files
 */

pre code {
  white-space: pre-wrap;
  /* ---------------------------------------- */
  /* Negative values here to eliminate non-code, non-shaded (background) space;
   * bottom larger, to accommodate different program language <code> sections.
   *    <code class="bash">date; pwd</code>
   *    <code class="python">def fib(n):. ...</code>
   */
  /* order (below): top right bottom left */
  margin: -2.0rem 0.0rem -3.0rem 0.0rem;
  /* ---------------------------------------- */
  /* Overflow: */
  /* "overflow: auto;" here works (globally): */
  /* overflow: auto; */
  /* overflow-y: visible; */
  /* overflow-y: hidden; */
  /* overflow-y: scroll; */
  /* overflow-y: auto; */
  /* ---------------------------------------- */
}

/* pre code:hover { */
pre:hover {
  height: auto;
  max-height: 600px;
}
/* ------------------------------------------------------------------------- */

blockquote {
  font: 0.95rem normal sans-serif;
  width: 60%;
  margin-top: 1.0rem;
  margin-bottom: 1.0rem;
  margin-left: 2.0rem;
  padding-left: 1.0rem;
  /* border-left: 3px solid #ccc; */
  /* border-left: 3px solid lightgray; */
  border-left: 3px solid darkgray;
}

/* Need this to not have other <p>-tag styles override blockquote <p>-tag text. */
blockquote p {
  font: 0.95rem normal sans-serif;
  display: inline;
}

li h2 {
  margin: 1.75rem 1.0rem 1.0rem 0.0rem;
}

li h3 {
  margin: 1.75rem 1.0rem 1.0rem 0.0rem;
}

li h4 {
  margin: 1.5rem 1.0rem 1.0rem 0.0rem;
}

ul {
  /* margin: 1.0rem 0.0rem 1.0rem 2.0rem; */
  margin: 0.25rem 0.0rem 0.25rem 2.0rem;
}

/* ------------------------------------------------------------------------- */
/* hr [HORIZONTAL RULE] */

/* My Vim snippet "hrr" sets these horizontal rules.*/

/* https://stackoverflow.com/questions/13466136/styling-additional-hr-tag */

/* ISSUE: like my table row shading,
 * tr:nth-child(even) {background-color: red;}
 * I was getting alternate <hr> styling slightly differently. Applying that
 * observation this confirmed it,
 * hr:nth-child(even) {background-color: red;}
 * hr:nth-child(odd) {background-color: green;}
 *
 * https://www.w3schools.com/cssref/sel_nth-child.asp
 * https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child
 *
 * SOLUTION: using fractional heights (1.5px; 0.2rem; ...) apparently
 * auto-enables "nth-child() {}" behavior. Use integer values.
 *
 * https://stackoverflow.com/questions/28406582/hr-breaks-nth-child-selector
 * "Peripherally related, although I didn't code it I was getting "nth-child" styling applied to successive <hr> elements, giving alternating line weights (as viewed in Firefox). I chased this behavior down to the use of fractional, e.g. 1.5px; 0.2rem; -- not integer, e.g. 1px; -- values for the "height" of the <hr> defined in my CSS stylesheet." - Victoria Stuart 2 mins ago [2021-02-09]
 *
 * ISSUE: first use in a section or DIV may appear with height: 2px, not 1px.
 */


/* <hr> */

/* hr color: https://stackoverflow.com/questions/6382023/changing-the-color-of-an-hr-element */
hr {
  height: 1px;
  border-width: 0px;
  color: #949494;
  background-color: #949494;
  /* Automatically adjust width if there is an element (e.g. an entity_infobox)
   * to the right: */
  /* width: 95%; */
  width: auto;
  text-align: left;
  /* Adding "!important" here forces these margins for all "hr" DI variants,
   * e.g. "hr#two", "hr#three" ...*/
  margin: 2.0rem 0.0rem 0.75rem 0.0rem;
  /* margin-top: 1.5rem; */
  /* margin-right: 2.0rem; */
  /* margin-bottom: 1.5rem; */
  /* margin-left: 2.0rem; */
}

/* <hr class="green"> */
/* hr.green {} */
/* <hr id="green"> */
hr#green {
  height: 1px;
  border-width: 0px;
  color: green;
  /* "background-color" actually colors the line: */
  background-color: green;
  width: auto;
  text-align: left;
  /* margin-top: 1.5rem; */
  /* margin-bottom: 1.5rem; */
  /* margin-left: 2.0rem; */
}

/* <hr class="hr" id="two"> */
hr#two {
  height: 1px;
  border-width: 0px;
  color: #949494;
  /* "background-color" actually colors the line: */
  background-color: #949494;
  width: 75%;
  text-align: left;
  /* margin-top: 1.5rem; */
  /* margin-bottom: 1.5rem; */
  /* margin-left: 2.0rem; */
}

hr#three {
  height: 1px;
  border-width: 0px;
  color: #949494;
  /* "background-color" actually colors the line: */
  /* background-color: magenta; */
  background-color: #949494;
  width: 50%;
  text-align: left;
  /* margin-top: 1.5rem; */
  /* margin-bottom: 1.5rem; */
  /* margin-bottom: 1.25rem; */
  /* margin-left: 2.0rem; */
}

hr#four {
  height: 1px;
  border-width: 0px;
  color: #949494;
  /* "background-color" actually colors the line: */
  background-color: #949494;
  width: 25%;
  text-align: left;
  /* margin-top: 1.5rem; */
  /* margin-bottom: 1.5rem; */
  /* margin-left: 2.0rem; */
}

hr#five {
  height: 1px;
  border-width: 0px;
  color: #949494;
  /* "background-color" actually colors the line: */
  background-color: #949494;
  width: 15%;
  text-align: left;
  /* margin-top: 1.5rem; */
  /* margin-bottom: 1.5rem; */
  /* margin-left: 2.0rem; */
}
/* ------------------------------------------------------------------------- */
/* TABLES */

/* https://stackoverflow.com/questions/8498005/thin-black-border-for-a-table
 * https://www.sitepoint.com/community/t/cellpadding-only-horizontal/1264
 * https://stackoverflow.com/questions/47775948/i-want-to-alternate-shading-of-table-rows-in-html-but-only-apply-it-to-one-of-mu
 *
 * <thead> : header content
 * <tfoot> : footer content
 * <th> elements are "tabular headers"
 * <tr> elements are "tabular rows"
 * <td> elements are "tabular data"
 */

table {
  font-size: 0.9rem;
  margin: 1.0rem 1.0rem 1.0rem 1.0rem;
  border: 1px solid darkgray;
  border-collapse: collapse;
  /* #f8f9f9; is the Pg-Solr body background */
  background-color: #f8f9f9;
}

/* #add8e6 : lightblue */
/* #cbe6ef : lighter lightblue */

table td {
  border: 1px solid darkgray;
  /* order (below): top right bottom left */
  /* margin: 0.25rem 0.25rem 0.25rem 0.25rem !important; */
  padding: 0.0rem 0.25rem 0.0rem 0.5rem;
}

/* https://stackoverflow.com/questions/48857605/increase-width-of-first-column-in-html-css-table-only */
/* https://stackoverflow.com/questions/11984767/how-to-apply-text-align-left-in-the-first-column-and-text-align-right-in-the-oth */
table td:first-child {
  /* width: auto; */
  white-space: nowrap;
  /* text-align: center; */
}

table th {
  border: 1px solid darkgray;
  /* text-align: left; */
}

table a {
  font-size: 0.9rem;
}

table a:hover {
  /* font-size: 0.9rem; */
  border-bottom: 1px solid blue;
}

/* Persagen hyperlink styling: see also bookmark iex8oobo */
table a.persagen {
  font-size: 0.9rem;
}

table a.persagen:hover {
  /* font-size: 0.9rem; */
  border-bottom: 1px solid green;
}

table ul {
  margin: 0.0rem 0.0rem 0.0rem 1.0rem;
  /* list-style-type: circle; */
}

/* https://stackoverflow.com/questions/46832156/how-to-set-first-table-column-as-bold-css/46832266 */
table tr:nth-child(odd) { background-color: #edf0f0; }

/* ---------------------------------------- */
/* #f8f9f9; is the Pg-Solr body background */
/* background-color: #f8f9f9; */
/* ---------------------------------------- */

/* The following did not work in "public/css/pg-solr-reveal_js.css" so moved
 * here, "public/css/pg-solr.css":
 * Why? "reveal_jss.css" called before "pg-solr.css" in "public/html/intro_01a.html" ??
 */
table#sei5arai tr:nth-child(odd) { background-color: #f8f9f9; }
  
table thead td {
  /* background: #b0c4de; */
  background: #cbe6ef;
  font-weight: bold;
  text-align: left !important;
}

table tfoot td {
  /* font-size: 0.8rem; */
  font-size: 1.0rem;
  font-weight: normal;
  text-align: left !important;
}

table tfoot td a {
  font-size: 0.8rem;
  font-weight: normal;
}

table tfoot td a.persagen_ext {
  color:magenta;
  font-size: 1.0rem;
  font-weight: normal;
}

table tfoot td a:hover {
  /* font-size: 0.8rem; */
  /* color: red; */
  /* text-decoration: underline; */
  /* text-decoration: normal; */
  /* font-weight: bold; */
  border-bottom: 1px solid blue;
}

/* Persagen hyperlink styling: see also bookmark iex8oobo */
/* .persagen links are green */
table tfoot td a.persagen {
  font-size: 0.8rem;
  font-weight: normal;
}

/* a.persagen:hover { */
table tfoot td a.persagen:hover {
  /* font-size: 0.8rem; */
  /* color: red; */
  /* text-decoration: underline; */
  /* text-decoration: normal; */
  /* font-weight: bold; */
  border-bottom: 1px solid green;
}
/* [end TABLES] */
/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* IMAGES */

/* Not currently used [2021-01-12], other than the following. */

/* Ctrl-r to see changes here: */
img {
  border: none;
  /* border: 1px solid magenta; */
}

/* No space between "#" and "search_bar", here: */
img#search_bar {
  border: none;
  /* border: 1px solid magenta; */
  vertical-align: middle;
  /* top right bottom left */
  /* margin: 0.0rem 0.0rem 0.0rem 0.25rem; */
}

/* ---------------------------------------- */

/* I underline URLs when hovered over; however, this was also underlining images, */
/* as I include those in a "<a ...>" links, so that they can be opened, as a link. */
/* The ".image" class CSS below prevents the underlining of those images/links. */
/* https://www.w3schools.com/cssref/pr_border-bottom_style.asp */

a.image:hover {
  /* color: blue; */
  /* https://stackoverflow.com/questions/22674633/text-that-shows-an-underline-on-hover */
  /* text-decoration: underline; */
  /* text-decoration: normal; */
  /* font-weight: bold; */
  /* font-size: 1.0rem; */
  /* border-bottom: 1px solid blue; */
  /* ---------------------------------------- */
  /* See comment, style immediately following. */
  border-bottom: none;
  /* ---------------------------------------- */
}

/* Per CSS immediately above, images in #entity_infobox were still underlined on hover; */
/* I could use the "!important" override (above), or add this CSS style.) */

#article_infobox_tab_div {
  /* top right bottom left */
  margin-top: 0.5rem;
}


#article_infobox a.image:hover {
  border-bottom: none;
}

#article_infobox_no_entity_infobox a.image:hover {
  border-bottom: none;
}

#entity_infobox a.image:hover {
  border-bottom: none;
}

/* ---------------------------------------- */

/* https://stackoverflow.com/questions/10769016/display-image-on-text-link-hover-css-only */

/* MOUSEOVER IMAGE WITH IMAGE ICON */

.hover_img a {
  /* background: url(../images/picture-icon.svg) no-repeat 0 40%; */
  background: url(../images/picture-icon.svg) no-repeat;
  padding-left: 25px;
  position:relative;
}

.hover_img a span { position:absolute; display:none; z-index:99; }

.hover_img a:hover span { display:block; }

/* Usage (e.g.): <span class="hover_img"><a href="URL">TITLE</a></span> */

/* ---------------------------------------- */

/* ------------------------------------------------------------------------- */


/* ------------------------------------------------------------------------- */
/* DOCUMENT-SPECIFIC ELEMENTS */

/* ---------------------------------------- */
/* DOCUMENT TITLES */

/* My document titles are hyperlinks (<a/>) created / embedded by
 * Ajax ("ResultWidget.js") inside a <h3>-element. Hence, the <h3>-element specifies
 * the font size, and here I override the index.html file <a>-element (hyperlink
 * color) to color those titles by embedding the ResultWidget.js <a><h3> Ajax
 * construct within a <div> element containing an id tag,
 *
 * <div id="title><h3><a class="doc_title" href="...>
 *
 * Notes: /mnt/Vancouver/programming/css/css-notes.txt
 *
 * #3366FF is the unvisited link color in Firefox; however, for consistency
 * among colors throughout the page, I will use #6998f0 which is the non-hovered
 * tagcloud color: https://www.colorhexa.com/6998f0
 * lighter | #80a8f3 | #6998f0 | #5288ee | #3b78ec | #2468e9 | #165bde | darker
 *
 * I can specify bolded URLs in this CSS stylesheet, but that was affecting other URLs
 * as well. Quick workaround: directly made titles bolded <b/> in the
 *
 * var output = '<div id="title"><h3><a href="http://127.0.0.1:8080/test/' +
 * doc.filename + '"><b>' + doc.title + '</b></a></h3>';
 *
 * statement in
 *
 * /mnt/Vancouver/apps/solr/ajax-solr-bt/examples/reuters/widgets/ResultWidget.js
 */

/* PUFFIN: DELETE THIS (index.html TOO): */
/* #result { */
/*   display: inline; */
/* } */

/* [bookmark] uom2haac */
/* This will set the font size for document titles returned by Solr: */
/* #titles a.doc_title { */
#titles a {
  display: block;
  /* color: #6998f0; */
  /* color: #4e4eff; */
  /* font-size: 0.8rem; */
  font-size: 0.9rem;
  font-weight: normal;
  /* line-height: 1.335; */
  /* top right bottom left */
  margin: 0.0rem 0.25rem -0.25rem 0.25rem;
  /* margin-bottom: -1.0rem !important; */
}

/* Here, I set the same color for the unvisited | visited title links, with a
 * different hover color. Note: no space after "a:" */

#titles a.doc_title:link {color: #4e4eff;}

#titles a.doc_title:visited{color: #4e4eff;}

#titles a.doc_title:hover{
  /* color: blue; */
  /* color: #0000b1; */
  color: #4e4eff;
  /* #3b78ec " lighter blue than "blue": */
  /* color: #3b78ec; *3
  /* font-weight: bold; */
  /* This will make the bolded title occupy the same length as the non-bold,
  * font-size 1.0 rem title. I also tweaked the line-height (default 1.5)
  * so that the remaining text didn't (subtly) shift vertically on hover. */
  /* font-size: 1.1rem; */
  /* font-weight: bold; */
  /* text-decoration: underline; */
  border-bottom: 1px solid #4e4eff;
}

/* If needed, these override the above. NOTE THE ORDER (see notes, link above):
 * unvisited | visited | hover | active
 *
 * #titles a:link {color: green;}
 * #titles a:visited{color: #ff99ff;}
 * #ff00ff : magenta
 * #titles a:hover{color: cyan;}
 * #titles a:active {color: blue;} */

/* [2021-04-26] Title, keywords + named entities links, and ontologies all appear
 * within the var output = '...' variable specified near the end of ResultWidget.js ;
 * hence, I can style the "Ontologies: " prefix to the <span id="ontology_links...>
 * element that presents the document-specific ontology categories.*/
/* [2021-04-27] Deprecated: added ontologies as a separate output2 <div> <div id="ontology_links" ...>,
 * formatted elsewhere in this stylesheet. */
/*
  #titles {
    font-size: 1.8rem;
  }
*/

/* ***************************************************************************
 * CAN STYLE TITLES AT bookmark rohzahm1 in: public/widgets/ResultWidget.js
 * ***************************************************************************/
#titles {
  /* ---------------------------------------- */
  /* No effect (titles are hyperlinks): */
  /* color: magenta !important; */
  /* ---------------------------------------- */
  /* display: inline; */
  /* ---------------------------------------- */
  /* margin-bottom: 4.0rem !important; */
}

/* ---------------------------------------- */

/* ---------------------------------------- */
/* DOCUMENT SNIPPETS: */

/* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details */

/* These are for the "snippets" ("fq_snippet") - coded ~83% down in "ResultWidget.js".
 *    "margin" sets "outside" spacing
 *   "padding" sets "inside" spacing */

/* I was getting an annoying auto-styled, shadowed border around the Search input,
 * that was overlaying the "#search input {}" styling, above. Solution:
 * https://stackoverflow.com/questions/12297600/how-to-remove-default-chrome-style-for-select-input
 *
 *   textarea, input { outline: none; }
 *
 * Ditto here: when I navigated away and returned, I was often getting a shaded
 * "placeholder | outline" line around the <details>-element.
 */

/* ---------------------------------------- */
/* Aside: since [date] is constructed with the snippets via Ajax at line ~1060
 * in ResultWidget.js - e.g.:
 *
 *   fq_snippet += '<details><summary><font style="color:#6c6c6c;
 *                  font-size:0.85rem;">[' + doc.date.substr(0,10) + '] </font>' +
 *                  fq_snippets_arr.slice(0,2).join('<br/>');
 *
 * I need to style (gray; size) that portion of the snippets in that file.
 * Likewise, the "more | less" that follows multiple snippets (if present) is
 * hard-coded in that portion of ResultWidget.js, so I need to set that font
 * size there, as well.
 */

#snippets {
  display: none;
  /* display: inline; */
  /* color: magenta; */
}

#preview_div #snippets {
  /* display: none; */
  display: inline;
  /* color: magenta !important; */
}

/* Hanging indent:
 * "text-indent" indents the first line; I also need to move that content to
 * the right (margin-left: 1.0rem;).
 * https://css-tricks.com/almanac/properties/t/text-indent/
 */
#preview_div #snippets p {
  /* color: magenta; */
  /* color: brown !important; */
  /* order (below): top right bottom left */
  margin: 0.0rem 1.0rem -1.2rem 1.0rem;
  text-indent: -0.8rem;
  font-size: 0.9rem;
}

/*
#preview_div #snippets {
  margin: 0.0rem 1.0rem -1.5rem 1.0rem;
  text-indent: -0.8rem;
  font-size: 0.9rem;
}
*/


/* ------------------------------------------------------------------------- */
/** DETAILS DISCLOSURE ELEMENT [DETAILS / SUMMARY]
 * Demo / template: /mnt/Vancouver/programming/html/examples/details-summary-css.html
 */

/* ---------------------------------------- */
/* Details disclosure element CSS - "untagged" DIV */

details {
  /* ---------------------------------------- */
  /* "color" here colors both "summary" (title) and "details" (contents): */
  /* color: magenta; */
  /* ---------------------------------------- */
  /* "font-size" is not needed here (set in "details[open] {}" style, below): */
  /* font-size: 2.0rem; */
  /* ---------------------------------------- */
  /* width: 95vw; */
  width: 95%;
  /* border: 2px solid red; */
  border: 1px solid #c6c6c6;
  outline: none;
  border-radius: 4px;
  padding: 0.0rem 0.0rem 0.0rem 0.5rem;
  background-color: #f7f7f7;
}

summary {
  /* ---------------------------------------- */
  /* "color" here colors "summary" (title) only, not "details" (contents): */
  /* color: magenta; */
  /* ---------------------------------------- */
  /* font-size: 0.9rem; */
  line-height: 1.5rem;
  font-family: 'Atkinson Hyperlegible', 'Arial', 'Verdana', 'sans-serif';
  font-size: 1.25rem;
  padding: 0.0rem;
  cursor: pointer;
}

summary a {
  /* font-size: 0.9rem; */
  font-size: 1.25rem;
}

summary:hover {
  /* font-weight: bold; */
  color: green;
}

details[open] {
  /* color: brown; */
  /* font-size: 0.9rem; */
  /* font-size: 0.9rem; */
  line-height: 1.5rem;
  font-family: 'Atkinson Hyperlegible', 'Arial', 'Verdana', 'sans-serif';
  font-size: 1.25rem;
  /* font-weight: bold; */
}

details .inner {
  margin: 0.0rem 0.0rem -1.0rem 0.0rem;
}

details .inner[open] {
  /* border: 1px solid brown !important; */
  border: none !important;
  /* color: brown; */
  /* font-size: 0.9rem; */
  font-size: 1.25rem;
  /* font-weight: bold; */
}
details .inner[open] summary {
  /* border-bottom: 2px solid magenta !important; */
  border-bottom: none !important;
}

details[open] summary {
  /* ---------------------------------------- */
  /* When opened, "color" here colors "summary" (title) only - not "details" (contents): */
  /* color: magenta; */
  /* ---------------------------------------- */
  color: green;
  /* Larger "summary" font, when opened: */
  font-size: 1.25rem !important;
  border-bottom: 1px solid #c6c6c6;
}
/* [end] Details disclosure element CSS - "untagged" DIV */
/* ---------------------------------------- */

/* ---------------------------------------- */
/* Details disclosure element CSS - "#faq" DIV: */

#faq {
  /* order (below): top right bottom left */
  margin: 0.5rem 0.0rem 0.5rem 0.0rem;
}

#faq details {
  /* ---------------------------------------- */
  /* "color" here colors both "summary" (title) and "details" (contents): */
  /* color: magenta; */
  /* ---------------------------------------- */
  /* "font-size" is not needed here (set in "details[open] {}" style, below): */
  /* font-size: 2.0rem; */
  /* ---------------------------------------- */
  border: 1px solid #c6c6c6;
  outline: none;
  border-radius: 4px;
  padding: 0.0rem 0.0rem 0.0rem 0.5rem;
  background-color: #f7f7f7;
}

#faq summary {
  /* ---------------------------------------- */
  /* "color" here colors "summary" (title) only, not "details" (contents): */
  /* color: magenta; */
  /* ---------------------------------------- */
  font-size: 1.25rem;
  padding: 0.0rem;
  cursor: pointer;
}

#faq summary:hover {
  /* font-weight: bold; */
  color: green;
}

/* Whereas "#faq details[open] {}" sufficed in my HTML details disclose element demo,
*     /mnt/Vancouver/programming/html/examples/details-summary-css.html
*due to p-element styles elsewhere in this CSS stylesheet, here I need to also include
* the p-element tag. */

#faq details[open] div {
  /* color: magenta; */
  /* color: brown; */
  /* font-size: 0.95rem; */
  /* font-size: 1.0rem; */
  font-size: 1.25rem;
  /* font-weight: bold; */
}

#faq details[open] a {
  /* font-size: 1.0rem; */
  font-size: 1.25rem;
}

/* Persagen hyperlink styling: see also bookmark iex8oobo */
#faq details[open] a.persagen {
  color: green;
  /* font-size: 1.0rem; */
  font-size: 1.25rem;
  font-weight: normal;
}

#faq details[open] a.persagen:hover {
  background-color: transparent;
  text-decoration: underline;
  border-bottom: none !important;
}

#faq details[open] a.persagen:visited {color: green}

#faq details[open] summary {
  /* ---------------------------------------- */
  /* When opened, "color" here colors "summary" (title) only - not "details" (contents): */
  /* color: magenta; */
  /* ---------------------------------------- */
  color: green;
  /* Larger "summary" font, when opened: */
  /* font-size: 1.0rem; */
  border-bottom: 1px solid #c6c6c6;
}
/* [end] Details disclosure element CSS - "#faq" DIV: */
/* ---------------------------------------- */

/* [end] details disclosure element CSS subsection */
/* ------------------------------------------------------------------------- */

/* This is for instances where there are <=2 snippets. */
/* PUFFIN [2022-04-03] replaced, ResultWidget, "snippet_summary" ID with "snippets" */
/* FOLLOWING NOW DEPRECATED - DELETE: */
.snippet_summary {
  /* display: none: */
  font-size: 0.9rem;
  border: 1px solid #c6c6c6;
  border-radius: 4px;
  padding: 0.0rem 0.0rem 0.0rem 0.5rem;
  /* background-color: #ededed;  */
  background-color: #f7f7f7;
}
/* ---------------------------------------- */

/* ---------------------------------------- */
/* PUFFIN [2022-04-03] DEPRECATED - REMOVE: */

#ontology_links {
  font-size: 0.8rem;
  margin-bottom: 0.0rem;
}
/* ---------------------------------------- */

/* [end] DOCUMENT-SPECIFIC ELEMENTS */
/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* CLEAR */

/* Although I don't use "<div class="clear"></div>" in index.html, I'm leaving
 * this here for reference.
 *   https://developer.mozilla.org/en-US/docs/Web/CSS/clear
 *     "The clear CSS property sets whether an element must be moved below (cleared)
 *     floating elements that precede it. The clear property applies to floating and
 *     non-floating elements. When applied to non-floating blocks, it moves the border
 *     edge of the element down until it is below the margin edge of all relevant floats.
 *     The non-floated block's top margin collapses. ..."
 * The MDN page also has a very helpful demo.
 */
.clear {
  clear: both;
  padding-top: 0.4rem;
}

/* ------------------------------------------------------------------------- */
/* BANNER */

/* Banner is the two-line header ("Persagen knowledge engine")
 * at the top of the page.
 *
 * DIV structure (HTML file):
 *
 *    ...
 *    .banner
 *    | .banner-left
 *    | | .subnav               : "Home" button
 *    | | | .homeButtonSubnav   : "About" | "Blog" | "Contact" | ... | "Sources" pages
 *    | | .subnav               : "Help" button
 *    | | .subnav               : { "Login" button (Persagen "index.html" page only)
 *    | | .subnav               :   "Login" button (Persagen "index.php" page only) }
 *    | .banner-right           : "Persagen.com ..." at the far-right of the "banner-left" DIV
 *    .split                    : DEPRECATED: "split" DIV removed in
 *                                  public/css/pg-solr.css v06 (this file) and
 *                                  /public/index.html v08
 *    ...
 */

/* This ("banner {}") does not appear t be used: */
.banner {
  position: relative;
  background-color: #f8f9f9;
  margin-top: 0.2rem;
  margin-bottom: 0.0rem;
}
/* [end] banner
/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* BANNER-LEFT DIV */

/* The margin above the "Home About ..." menu is set in the "body {}" style. */
.banner-left {
  float: left;
  /* https://stackoverflow.com/questions/1017880/expand-div-to-max-width-when-floatleft-is-set */
  width: 100%;
  position: absolute;

  /* https://stackoverflow.com/questions/10451445/two-div-blocks-on-same-line */
  display: inline-block;

  border-width: 0px;
  /* background: linear-gradient(to bottom, #f8f9f9, #e7e7e7); */
  /* background-color: #f8f9f9; */
  /* background-color: yellow; */
  background-color: #f8f9f9;
  border: none;
  border-bottom: 1px solid darkgray;
  /* ---------------------------------------- */
  /* NOTE [bookmark: ueh9phie]: the ordering here matters: placing this padding above "float" (above)
   * breaks the banner CSS placement in the web page. */
  /* padding: 0px; */
  /* padding-left: 0.5rem; */
  /* padding: { top right bottom left }: */
  padding: 0.0rem 0.0rem 0.2rem 0.5rem;
  /* ---------------------------------------- */
}

.banner-left a {
  /* font-size: 0.9rem; */
  font-size: 1.0rem;
  /* color: magenta; */
  color: #646464;
  text-align: center;
  /* padding: { top right bottom left }: */
  padding: 0.0rem 0.5rem;
  text-decoration: none;
}

.banner-left a:hover:not(.active) {
  /* background-color: #111; */
  /* font-size: 1.5rem; */
  /* font-weight: bold; */
  /* color: magenta; */
  color: black;
  /* background-color: #ccc; */
  background-color: #ddd;
  /* text-decoration: none; */
  border-bottom: 1px solid black;
}

.banner-left .active {
  /* background-color: #4CAF50; */
  background: #f8f9f9;
  font-weight: bold;
  color: black;
  }

.subnav span {
  font-size: 0.9rem;
  color: #646464;
  text-align: center;
  padding: 0.0rem 0.5rem;
  text-decoration: none;
  /* font-weight: bold; */
  /* color: magenta; */
  /* color: black; */
}

/* [2023-08-04] Not used? */
/*
.subnav span:hover .guest_user_help {
  // background-color: #ddd;
  // background-color: #eee;
  color: magenta;
  // color: black;
  visibility: visible;
}
*/

/* { Home | Help | Guest login / Login help | Login } in upper pane. */
.subnav {
  float: left;
  overflow: hidden;
  margin-left: 0.5rem;
}

.subnav a {
  /* color: white; */
  text-decoration: none;
}

/* 2022-03-23: #ddd (sl. darker than #eee) is used in my { Ontology | Documents | Graph } tabs hover shading */
.subnav a:hover {
  /* background-color: #ddd; */
  /* background-color: #eee; */
  /* font-weight: bold; */
  /* color: magenta; */
  color: black;
}

.subnav:hover .homeButtonSubnav {
  display: inline-block;
  /* background: linear-gradient(to bottom, #f8f9f9, #e7e7e7); */
  background-color: #f8f9f9;
  /* This colors the entire width of the "banner-left" DIV's subnav menu: */
  /* border: 1px solid magenta; */
  /* border: 1px solid darkgray; */
  border: 1px solid lightgray;
  /* border-bottom: none; */
  padding-left: 0.5rem;
}

/* ---------------------------------------- */
/* (display: inline) https://stackoverflow.com/questions/10540446/how-do-i-keep-two-divs-on-the-same-line */
div.login_help {
  /* width: auto; */
  /* margin-left: 0.5rem; */
  display: inline;
}

/* https://www.colorhexa.com/a52a2a
 * brown: #a52a2a
 * lighter brown: #d14a4a
 */
/* a #login_help { */

div.login_help a {
  font-size: 0.9rem;
  /* font-weight: bold; */
  /* color: magenta; */
  /* color: brown; */
  color: green;
}

/* a #login_help:hover { */
div.login_help a:hover {
  /* font-weight: bold; */
  /* color: magenta; */
  /* color: brown; */
  /* color: green; */
  color: brown;
}

/* ---------------------------------------- */

/* ----------------------------------------- */
/* "BANNER-LEFT" DIV "HOME" BUTTON SUBMENU ENTRY: */

/* HOME BUTTON: */
/* .subnav .homeButton {} affects (only) the "Home" button, which is the entry to the */
/* "subnav" 2022-03-23: { About | Blog | Contact | Glossary | ... } menu. */
.subnav .homeButton {
  /* font-size: 1.0rem; */
  font-size: 0.9rem;
  border: none;
  outline: none;
  /* background: linear-gradient(to bottom, #f8f9f9, #e7e7e7); */
  background-color: #f8f9f9;
  /* color: magenta; */
  color: #646464;
  /* padding: { top right bottom left }: */
  padding: 0.0rem 1.0rem 0rem 0rem;
  /* This will move the beginning of "Home" under the beginning of "Persagen knowledge engine": */
  /* padding: 0.0rem 0.5rem; */
  font-family: inherit;
  margin: 0;
}

/* Currently (2022-03-23) affects "Help" "BANNER-LEFT" DIV's button only (hard page reload needed): */
/* 2022-03-23: #ddd (sl. darker than #eee) is used in my { Ontology | Documents | Graph } tabs hover shading */
.banner-left a:hover, .subnav:hover .homeButton {
  /* background-color: red !important; */
  /* background-color: #ddd; */
  /* ---------------------------------------- */
  /* Affects all elements on LHS (only) of the "BANNER-LEFT" DIV: */
  /* font-weight: bold; */
  /* ---------------------------------------- */
  /* color: black; */
  /* padding: { top right bottom left }: */
  /* padding: 0.0rem 0.5rem; */
  /* -------------------- */
  /* This affects the bottom border of both the "BANNER-LEFT" DIV and "BANNER-LEFT" subnav menu: */
  /* border-bottom: 2px solid red !important; */
  /* border-bottom: 1px solid black; */
  /* This "!important" override removes that bottom border: */
  border-bottom: none !important;
  /* -------------------- */
}
/* ---------------------------------------- */

/* ---------------------------------------- */
.homeButtonSubnav {
  /* The following "height" attribute increases the space under the "Home" button
   * subnav items - making it easier to mouseover the { About | Blog | Contact | ... }
   * submenu items, without accidentally losing that focus due to mouse movement. */
  height: 3rem;
  display: none;
  position: absolute;
  left: 0;
  width: auto;
  /* z-index: 1; */
}

.homeButtonSubnav a {
  /* color: white; */
  text-decoration: none;
}

/* 2022-03-23: #ddd (sl. darker than #eee) is used in my { Ontology | Documents | Graph } tabs hover shading */
.homeButtonSubnav a:hover {
  /* background-color: #ddd; */
  /* background-color: #eee; */
  color: black;
}

/* [end] banner-left DIV */
/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* "BANNER-RIGHT" DIV: */
/* This is the "Persagen.com" at the far-right of the "BANNER-LEFT" DIV: */

/* https://stackoverflow.com/questions/7693224/how-do-i-right-align-div-elements */
.banner-right {
  float: right;
  position: relative;
  /* font-size: 0.9rem; */
  font-size: 1.0rem;
  padding-right: 1.5rem;
}

/* Persagen hyperlink styling: see also bookmark iex8oobo */

/* Font size here >1.0rem interferes disrupts seamless bottom border, when the "Home"
 * button is moused over. "Persagen.com" is a Persagen link, so colored green via
 * "a.persagen {}" CSS (below). Need a "!important" overrides (below), if you want to
 * locally change that ("Persagen.com") color, size, ... here ("BANNER-LEFT" DIV). */

.banner-right a.persagen {
  color: green;
  /* font-size: 0.9rem; */
  font-size: 1.1rem;
  font-weight: normal;
}

/* https://stackoverflow.com/questions/22674633/text-that-shows-an-underline-on-hover */
/* https://stackoverflow.com/questions/44860766/how-to-create-underline-effect-on-hovered-links-in-css */

.banner-right a.persagen:hover {
  /* Nope: "none" not valid for "background-color"; use "transparent": */
  /* https://stackoverflow.com/questions/8739665/is-background-colornone-valid-css */

  background-color: transparent;
  /* background-color: #ddd; */
  /* font-weight: bold; */
  text-decoration: underline;

  /* -------------------- */
  /* border-bottom: 1px solid #4e4eff; */
  /* This removes the underlining of the "Persagen.com" "BANNER-LEFT" DIV item itself (the underlining */
  /* of hyperlinks is preserved): */
  border-bottom: none !important;
  /* border-bottom: 1px solid green !important; */
  /* -------------------- */
}

/* .banner-right a:visited{color: #4e4eff;} */

/* Persagen hyperlink styling: see also bookmark iex8oobo */
.banner-right a.persagen:visited {color: green}

/* [end] banner-right DIV */
/* ------------------------------------------------------------------------- */



/* ========================================================================= */
/* PERSAGEN LINKS                                                            */
/* ========================================================================= */
/* [bookmark: iex8oobo] */

a.persagen {
  font-family: 'Atkinson Hyperlegible', 'Arial', 'Verdana', 'sans-serif';
  font-size: 1.25rem;
  /* font-size: 1.0rem; */
  /* No underline: */
  text-decoration: none;
  color: green;
}

/* https://stackoverflow.com/questions/22674633/text-that-shows-an-underline-on-hover */
/* https://stackoverflow.com/questions/44860766/how-to-create-underline-effect-on-hovered-links-in-css */
a.persagen:hover {
  /* color: green; */
  /* color: magenta !important; */
  /* text-decoration: underline; */
  /* text-decoration: none; */
  /* font-weight: normal; */
  /* font-size: 1.0rem; */
  /* font-weight: bold; */
  border-bottom: 1px solid green;
}

a.persagen:visited{color: green;}

/* ========================================================================= */
/* [end] PERSAGEN LINKS */
/* ========================================================================= */

/* ---------------------------------------- */
/* [bookmark: ub2laith] */

/* ISSUE [2023-10-25 but preexisting many months] There is a issue with links
 * containing 'class="persagen"' e.g.
 *    <a target="ext_link" class="persagen" onclick="pg_solr(this); return false;" href="https://persagen.com/#q="></a>
 * Those fail to open properly, for some (yet) undetermined reason.
 * WORKAROUND. As a temporary solution I will define a new ".persagen-ext" class
 * that will open Persagen links / content in an external page but will continue
 * to color those links green.
 */

a.persagen_ext {
  /* font-size: 1.0rem; */
  font-size: 1.25rem;
  /* No underline: */
  text-decoration: none;
  color: green;
}

/* Re: "!important" below: there is likely an "infobox" a-link style elsewhere
 * in this "public/css/pg-solr.css" stylesheet that is overriding the followinf
 * style.
 */
a.persagen_ext:hover {
  /* border-bottom: 1px solid magenta !important; */
  border-bottom: 1px solid green !important;
}

a.persagen_ext:visited{color: green;}

/* ========================================================================= */

/* Note: no space before ID tag in "span" (e.g. "span#sc {}" not "span #sc {}")" */

/* sc: Small caps */
span#sc {
  font-family: 'Atkinson Hyperlegible', 'Arial', 'Verdana', 'sans-serif';
  /* font-size: 1.25rem; */
  font-variant: small-caps;
  /* font-family: courier; */
  /* font-weight: bold; */
  /* color: magenta; */
}

/* <span id="pgsc"></span> */
span#pgsc {
  font-family: 'Atkinson Hyperlegible', 'Arial', 'Verdana', 'sans-serif';
  /* font-size: 1.25rem; */
  font-variant: small-caps;
  /* color: green; */
  color: brown;
}

/* <span id="green"></span> */
span#green {
  color: green;
}

span#comment {
  color: green;
  /* font-weight: bold; */
}

/* Used in sources.html */
span#red_flag {
  color: yellow;
  font-weight: bold;
}

/* Used in sources.html */
span#red_flag {
  color: red;
  /* background-color: black; */
  font-weight: bold;
}

/* Used in sources.html */
span#yellow_flag {
  /* color: yellow; */
  /* background-color: black; */
  /* color: brown; */
  /* color: orange; */
  /* #ff4c00 : darker orange */
  color: #ff4c00;
  font-weight: bold;
}

li.body {
  /* order (below): top right bottom left */
  margin: 0.25rem 0.0rem 0.25rem 2.5rem;
  /* color: brown; */
}

li.body p {
  /* color: brown; */
  /* order (below): top right bottom left */
  /* margin: 0.0rem 1.0rem 0.0rem 0.25rem; */
  margin: 0.5rem 1.0rem 0.0rem 0.25rem;
}

/* ------------------------------------------------------------------------- */


/* ------------------------------------------------------------------------- */
/* PAGER NAVIGATION ELEMENT */

/* The "pager" DIV (which resides in the "navigation" DIV) contains the
 * <li>-elements that comprise the "... <#> Displaying # to # of #" that
 * appears at the upper right-hand side of the Pg-Solr main page.
 *
 * While the relevant code is found in
 *    /mnt/Vancouver/domains/persagen/05/widgets/jquery/PagerWidget.js
 * that "pager" string is constructed near the top of
 *    /mnt/Vancouver/domains/persagen/05/js/pg-solr.js
 */

/* #navigation{} is needed to place the bottom border across the .split DIV: */

#navigation {
  /* border-bottom: 1px solid #000; */
  /* border: 1px solid magenta; */
  border-bottom: 1px solid lightgray;
  margin-top: -0.25rem;
  margin-bottom: 0.25rem;
}

/* This <a>-element styles the right-most page number decades (groups of 10 documents
 * and the "[next]" text - all of which precedes the "[Displaying x to y of z items.]"
 * (which itself is styled in #pager-top, #pager-header-top {}", further below. */
#navigation a {
  margin-right: 0.0rem;
  margin-left: 0.0rem;
  font-size: 0.8rem;
  /* color: magenta; */
  color: green;
}

#navigation a:hover {
  margin-right: 0.0rem;
  margin-left: 0.0rem;
  font-size: 1.0rem;
  color: green;
  /* color: magenta; */
  /* background-color: transparent; */
  /* font-weight: bold; */
  border-bottom: none;
}

/* This includes the (e.g.) "[Displaying 1 to 10 of 747 items.]" text. */
#pager,
#pager-header {
  display: inline;
  font-size: 0.8rem;
  /* color: magenta !important; */
  /* color: gray; */
  /* Darker gray: */
  color: #646464;
  margin-left: 0.0rem;
}

#pager li:hover {
  /* border: 1px solid #949494; */
  /* Lighter border than gray, https://www.colorhexa.com/808080 : */
  /* background-color: magenta;  */
  /* background-color: #bcdfeb; */
}

#pager li {
  /* https://www.w3schools.com/jsref/prop_style_liststyletype.asp */
  /* https://www.w3schools.com/css/css_list.asp */
  /* Problem: cannot style contents of <li/> (list) items! */
  list-style-type: none;
  font-size: 0.8rem;
  /* Colors, here, affects the "<#>" that appears in "<#> displaying # to # of #" */
  /* color: red; */
  /* color: brown; */
  color: green;
  display: inline;
}

#pager li:hover {
  /* color: brown; */
  /* color: green; */
  /* font-weight: bold; */
}
/* ------------------------------------------------------------------------- */


/* ------------------------------------------------------------------------- */
/* DOCUMENTS */

/* COMMENT [2022-04-03] "docs" DIV is deprecated in index.html v05. */

/* #docs { */
/*   margin-top: 0.5rem; */
/* } */

/* PUFFIN - per COMMENT ABOVE, THESE ARE DEPRECATED IN index.html v04 - DELETE: */
/* color: red; */
/* #docs p { */
/*   font-size: 0.8rem; */
/* } */

/* color: magenta; */
/* font-weight: bold; */
/* #docs a.more:hover { */
/*   color: brown; */
/*   border-bottom: 1px solid brown; */
/* } */
/* ---------------------------------------- */


/* ========================================================================= */
/* ONTOLOGY d3.js + RELATED DOM STYLES */

/* ------------------------------------------------------------------------- */
/* d3.js COLLAPSIBLE TREE */

.node {
  cursor: pointer;
}

/* nodes in d3.js are called "circles"; the size attribute, .attr()
 * is set via "r" (radius). */

/* #fff : white */
.node circle {
  fill: #fff;
  stroke: steelblue;
  stroke-width: 1.0px;
}

/* JavaScript-scripted attributes [ .style(... d.class...)] override these. */
/* #ff4136 : red */
.found {
  fill: #ff4136;
  stroke: #ff4136;
}

.node text {
  font: 10px sans-serif;
  /* font: 11px sans-serif; */
  /* font: 12px sans-serif; */
}

/* Link, i.e. edge: */
.link {
  fill: none;
  /* stroke: #ccc;
   * #ccc is slightly darker than lightgray, https://www.colorhexa.com/d3d3d3
   * stroke: lightgray; */
  stroke: #d3d3d3;
  stroke-width: 2.0px;
}
/* ========================================================================= */


/* ========================================================================= */
/* ONTOLOGY | ONTOLOGY "select2" SEARCH */

/* This is the d3.js collapsible tree visualization - with search, pan, and
 * zoom - for my ontology. */

/* This is the element that contains all ontology visualization-related objects: */
.ontology_d3_viz {
  /* ---------------------------------------- */
  /* "height", below, needs to be set to "500px" for the
   *   <button id='ontologyDivToggle' class='toggleName'>Expand</button>
   * and
   *   $("#ontologyDivToggle").on("click", function () {...}
   * JavaScript code to execute properly in index.html .
   */
  /* ---------------------------------------- */
  width: 98%;
  /* height: 500px; */
  height: 80vh;
  border: 1px solid darkgray;
  /* border: 4px solid magenta; */
  background-color: #f8f9f9;
  /* order (below): top right bottom left */
  margin: 0.5rem 0.5rem 1.0rem 0.25rem;
  /* transition: width 0.25s; */
  overflow: auto;
  position: relative;
}

.ontology_d3_viz p {
  font-size: 0.7rem;
  color: gray;
  /* Darker gray: */
  /* color: #646464; */
  /* NO EFFECT?! */
  /* color: magenta; */
  /* order (below): top right bottom left */
  margin: 0.0rem 0.5rem 0.5rem 0.5rem;
}

/* Increase font size and darken on hover: */
.ontology_d3_viz p:hover {
  font-size: 0.9rem;
  color: #454545;
}

#d3_object_div {
  /* border: 2px solid magenta; */
  /* This holds the d3.js collapsible tree visualization. */
  /* ---------------------------------------- */
  height: 70vh;
  /* height, width of d3.js SVG visualization set in ontology.js. */
  /* ---------------------------------------- */
  /* To have the SVG bounded on all sides by a border, I need to add this: */
  /* border-bottom: 1px solid #c6c6c6; */
  /* ---------------------------------------- */
  /* order (below): top right bottom left */
  /* margin: 0.0rem 0.0rem 0.0rem 0.5rem; */
  /* Right Bottom margins set via SVG size in ontology.js;
   * Left margin set here:
   */
  /* margin-left: 0.5rem; */
  /* order (below): top right bottom left */
  margin: 0.0rem 0.5rem 0.5rem 0.5rem;
  /* ---------------------------------------- */
  /* overflow: auto; */
}


/* ----------------------------------------------------------------------------
 * These to adjust spacing (margins) for H4 header, comment in d3.js VIZ:
 */
h4#ont {
  /* color: magenta; */
  /* color: green; */
  /* order (below): top right bottom left */
  margin: 0.0rem 0.0rem 0.0rem 0.5rem;
}

/* Needed "!important" here to force styling of this URL font size: */
#ont-comment a { 
  /* color: magenta; */
  font-size: 0.8rem !important;
  /* order (below): top right bottom left */
  margin: 0.0rem 0.0rem 0.0rem 0.5rem;
}

#ont-comment p { 
  /* color: magenta; */
  font-size: 0.8rem;
  /* order (below): top right bottom left */
  margin: 0.0rem 0.0rem 0.0rem 0.5rem;
}
/* ------------------------------------------------------------------------- */

/* INPUT element for the d3.js ontology visualization: */
#ont_input {
  /* order (below): top right bottom left */
  margin: 0.5rem 0.5rem 0.5rem 0.5rem;
}

#ontologyDivToggle {
  /* order (below): top right bottom left */
  margin: 0.0rem 0.0rem 0.0rem -1.8rem;
}

/* This is the width of the dropdown menu <input> selector, and the dropdown list: */
.dropdown_item_all {
  /* width: 90%; */
  width: 50%;
  /* order (below): top right bottom left */
  margin: 0.0rem 0.0rem 0.0rem 1.8rem;
  /* margin-left: 0.5rem !important; */
}

/* This is the width of the document-specific (fq) dropdown menu <input> selector, and the dropdown list: */
.dropdown_item_fq {
  width: 90%;
  /* margin-left: 0.5rem !important; */
}

/* https://stackoverflow.com/questions/42788525/how-can-i-change-the-font-size-of-one-select-box-option-text-select2-with-css
 * ... added
 *   dropdownCssClass: "select2Font"
 * to
 *   $(".dropdown_item_all").select2({...})
 * in: /mnt/Vancouver/domains/persagen/04/js/ontology.js
 */
.select2Font {
  font-size: 12px;
}

/* select2 placeholder text style:
 *   How to change the css of default select2 placeholder color?
 *   https://codepen.io/josephting/pen/LsDbG
 * #f00 : red
 */
.dropdown_item_all .select2-default {
  /* font-size: 12px; */
  font-size: 0.8rem;
  /* color: #f00 !important; */
  /* color: red !important; */
}

.dropdown_item_fq .select2-default {
  /* font-size: 12px; */
  font-size: 0.8rem;
  /* color: #f00 !important; */
  /* color: red !important; */
}

/* https://stackoverflow.com/questions/3063167/css-content-not-staying-inside-border */
/* Originally if I set a height anywhere below,
 *   height: 30rem;
 * then the d3.js object (the ontology visualization) is bounded by the
 *   <object id="d3_object">
 * on the top, right, and left but not the bottom.
 * Solution: add the following to the appropriate element:
 *   overflow: auto;
 *   https://stackoverflow.com/questions/3063167/css-content-not-staying-inside-border
 */
/* [end] ONTOLOGY | ONTOLOGY "select2" SEARCH */
/* ========================================================================= */


/* ------------------------------------------------------------------------- */
/* SEARCH */

#search {
  /* order (below): top right bottom left */
  /* margin: -1.25rem 0.25rem 0.25rem 0.0rem; */
  margin: 2.0rem 0.25rem 0.25rem 0.75rem;
}

/* Keep the "Reset" button on the same line as the "Search" input field: */
/* "#search_h2_span {}" includes the search input field, and the Reset and Help buttons. In */
/* combination with "display: inline", those three elements will display on the same line. */
#search_h2_span {
  /* "margin" has no effect, here: */
  /* margin-right: 2.25rem !important; */
}

/* ---------------------------------------- */
/* SEARCH INPUT BOX AND RESET LINK ON SAME LINE: */

/* https://stackoverflow.com/questions/9067892/how-to-align-two-elements-on-the-same-line-without-changing-html */

#search_reset {
  display: inline-block;
  font-size: 0.8rem;
}

/* #search input { */
#search input {
  display: inline-block;
  margin-top: 0.0rem;
  margin-bottom: 0.0rem;
  /* width: 90vw; */
  width: 90%;
  height: 1.25rem;
  text-align: left;
  padding-left: 0.5rem;

  /* This input box styling (font color, background, borders) is the same as
   * the tooltips. The search font color (#454545) is darker than gray,
   * https://www.colorhexa.com/808080 */
  color: #454545;
  /* background-color: #edf0f0; */
  /* background: linear-gradient(to bottom, #f8f9f9, #e7e7e7); */
  background-color: #edf0f0;
  /* background-color: #e7e7e7;  */
  font-size: 1.0rem;

  border: 1px solid;
  /* border-color: green; */
  /* border-color: red !important; */
  border-color: darkgray;
  border-radius: 6px;
  /* border: none !important; */
}

/* I was getting an annoying auto-styled, shadowed border around the Search input,
 * that was overlaying the "#search input {}" styling, above. Solution:
 * https://stackoverflow.com/questions/12297600/how-to-remove-default-chrome-style-for-select-input */

textarea, input { outline: none; }

/* ---------------------------------------- */

/* PUFFIN - NO EFFECT - DELETE?  USED BY TOOLTIPS: deleting this shows tooltips
 * text on index.html: */
#search_reset a {
  font-size: 0.8rem;
  color: brown !important;
}

#reset_button {
  text-align: center;
  /* font-size: 0.8rem; */
  font-size: 1.0rem;
  /* color: brown; */
  color: black;
  /* top right bottom left | padding within button: */
  padding: 0.0rem 0.25rem 0.0rem 0.25rem;
}
/* PUFFIN: NOT USED? */
/* #search_reset a:hover { */
/*   color: brown; */
/*   font-weight: bold; */
/*   text-decoration: none; */
/* } */

#help_button a {
  text-align: center;
  /* color: magenta; */
  color: black;
  /* margin: -0.25rem 0.0rem 0.0rem 0.0rem; */
  /* font-size: 0.8rem; */
  font-size: 1.0rem;
  /* top right bottom left | padding within button: */
  padding: 0.0rem 0.25rem 0.0rem 0.25rem;
  /* border-radius: 5px; */
  /* border: 1px solid darkgray; */
  border-bottom: none;
}

#login_button a {
  text-align: center;
  /* color: magenta; */
  color: green;
  /* margin: -0.25rem 0.0rem 0.0rem 0.0rem; */
  font-size: 0.8rem;
  /* top right bottom left | padding within button: */
  padding: 0.0rem 0.25rem 0.0rem 0.25rem;
  /* border-radius: 5px; */
  /* border: 1px solid darkgray; */
  border-bottom: none;
}

#logout_button a {
  text-align: center;
  /* color: magenta; */
  color: green;
  /* margin: -0.25rem 0.0rem 0.0rem 0.0rem; */
  font-size: 0.8rem;
  /* top right bottom left | padding within button: */
  padding: 0.0rem 0.25rem 0.0rem 0.25rem;
  /* border-radius: 5px; */
  /* border: 1px solid darkgray; */
  border-bottom: none;
}

/* ========================================================================= */

/* ===================================================================== */
/* INFOBOXES */

/* Side-by-side layout: there are several approaches: float | flex | grid | ...
 *
 * https://stackoverflow.com/questions/17217766/two-divs-side-by-side-fluid-display
 * https://stackoverflow.com/a/32269770/1904943
 * https://coder-coder.com/display-divs-side-by-side/
 * https://developer.mozilla.org/en-US/docs/Web/CSS/flex
 * https://css-tricks.com/snippets/css/a-guide-to-flexbox/
 */

/* PRECAUTIONARY NOTE!
 * 2021-04-{14:15} I spent the better part of a day implementing, then removing,
 * "flex" display / formatting for my infoboxes and ToC.  The issue was wrapping
 * of <body> text around (e.g.) the right-side entities infobox (could not do).
 * Flex formatting is well-suited to placing <div> elements; not so suited for
 * wrapping (external) text around those <div>.
 */

/* ------------------------------------------------------------------------- */
/* ARTICLE INFOBOX [see also: ENTITY INFOBOX (below)] */

/* Infobox text is generally not wrapped in <p>-elements and thus the font-size
 * appears to be set via the ("html" CSS setting at top of this page: 16px ??) 0.9rem.  Thus, I
 * need to adjust  infobox <a>-linked text, to match. */

/* ---------------------------------------- */
/* ARTICLE INFOBOX + ENTITY INFOBOX
 * [see also: ARTICLE INFOBOX ONLY (NO ENTITY INFOBOX) (below)]: */

/* NOTE: #article_infobox {} is used in conjunction with #entity_infobox {}.
 * For pages lacking an entity infobox, use #article_infobox_no_entity_infobox {}.
 */

/* https://www.w3schools.com/cssref/pr_dim_max-width.asp */
#article_infobox {
  float: left;
  /* PUFFIN - COMMENT: "wrap: inline" throws a CSS warning in console; not needed: DELETE? */
  /* wrap: inline; */
  width: 60%;
  margin: 0.0rem 0.0rem 0.5rem 0.0rem;
}

#article_infobox table {
  /* Order: top right bottom left : */
  margin: 0.0rem 0.25rem 0.0rem 1.0rem;
}

#article_infobox table p {
  font-size: 0.9rem;
  margin: 0.0rem 0.0rem 0.75rem 0.0rem;
}

#article_infobox table a {
  font-size: 0.9rem;
}

#article_infobox table a:hover {
  /* text-decoration: underline; */
  /* text-decoration: none; */
  /* font-size: 0.9rem; */
  /* font-weight: bold; */
  border-bottom: 1px solid blue;
}

/* Persagen hyperlink styling: see also bookmark iex8oobo */
#article_infobox a.persagen {
  font-size: 0.9rem;
  color: green;
}

#article_infobox a.persagen:hover {
  /* font-size: 0.9rem; */
  /* color: green; */
  border-bottom: 1px solid green;
}

/* Bolded first column: */
#article_infobox table td:nth-child(1) {
  /* color: magenta; */
  text-align: right;
  /* font-weight: bold; */
}

/* https://stackoverflow.com/questions/48857605/increase-width-of-first-column-in-html-css-table-only */
/* https://stackoverflow.com/questions/4757844/css-table-column-autowidth */
#article_infobox table td:first-child {
  /* width: auto; */
  white-space: nowrap;
}

#article_infobox li {
  /* Order: top right bottom left : */
  margin: 0.0rem 0.25rem 0.0rem 0.0rem;
  list-style-type: circle;
  /* color: red; */
}

#article_infobox table li {
  /* Order: top right bottom left : */
  margin: 0.0rem 0.25rem 0.0rem 0.25rem;
  list-style-type: circle;
}

#article_infobox table ul p {
  /* color: red; */
  font-size: 0.9rem;
  margin: 0.0rem 0.0rem 0.5rem 0.0rem;
}

/* ---------------------------------------- */
/* ARTICLE INFOBOX ONLY (NO ENTITY INFOBOX)
 * [see also: ARTICLE INFOBOX + ENTITY INFOBOX (above)] */

/* NOTE: #article_infobox {} is used in conjunction with #entity_infobox {}.
 * For pages lacking an entity infobox, use #article_infobox_no_entity_infobox {}.
 */

#article_infobox_no_entity_infobox {
  float: left;
  width: 98%;
  margin: 0.0rem 0.0rem 0.5rem 0.0rem;
}

/*
#article_infobox_no_entity_infobox table {
  font-size: 0.9rem;
}
*/

#article_infobox_no_entity_infobox table p {
  font-size: 0.9rem;
  margin: 0.0rem 0.0rem 0.75rem 0.0rem;
}

#article_infobox_no_entity_infobox table a {
  font-size: 0.9rem;
}

#article_infobox_no_entity_infobox table a:hover {
  /* color: red; */
  /* text-decoration: underline; */
  /* text-decoration: none; */
  /* Since I have an infobox "a:hover" defined above, commenting this out
   * will have no effect: to unbold these selections, set to "normal".
   *   no:  // font-weight: normal;
   *  yes:  font-weight: normal
   */
  /* font-weight: normal; */
  /* font-weight: bold; */
  border-bottom: 1px solid blue;
}

/* Persagen hyperlink styling: see also bookmark iex8oobo */
#article_infobox_no_entity_infobox table a.persagen:hover {
  /* font-size: 0.9rem; */
  border-bottom: 1px solid green;
}

/* https://stackoverflow.com/questions/48857605/increase-width-of-first-column-in-html-css-table-only */
/* https://stackoverflow.com/questions/4757844/css-table-column-autowidth */
#article_infobox_no_entity_infobox table td:first-child {
  /* width: auto; */
  white-space: nowrap;
}

#article_infobox_no_entity_infobox table li {
  /* Order: top right bottom left : */
  margin: 0.0rem 0.25rem 0.0rem 0.25rem;
  list-style-type: circle;
}

#article_infobox_no_entity_infobox table ul p {
  /* color: red; */
  font-size: 0.9rem;
  margin: 0.0rem 0.0rem 0.5rem 0.0rem;
}

/* ------------------------------------------------------------------------- */
/* ENTITY INFOBOX  [see also: ARTICLE INFOBOX (above)] */

/* Infobox text is not wrapped in <p>-elements and thus the font-size appears
 * to be ("html" CSS setting at top of this page: 16px ??) 0.9rem.  Thus, I
 * need to adjust  infobox <a>-linked text, to match. */

#entity_infobox {
  float: right;
  clear: right;
  width: 39%;
}

/* Persagen hyperlink styling: see also bookmark iex8oobo */
#entity_infobox a.persagen {
  font-size: 0.9rem;
}

#entity_infobox a:hover {
  /* font-size: 0.9rem; */
  /* text-decoration: underline; */
  /* text-decoration: none; */
  /* font-weight: bold; */
  border-bottom: 1px solid blue;
}

#entity_infobox a.persagen {
  font-size: 0.9rem;
  color: green;
}

#entity_infobox a.persagen:hover {
  /* font-size: 0.9rem; */
  /* color: green; */
  border-bottom: 1px solid green;
}

#entity_infobox table {
  /* Order: top right bottom left : */
  margin: 0.0rem 1.0rem 0.0rem 0.25rem;
}

#entity_infobox table p {
  font-size: 0.9rem;
}

/*
2021-08-10: set this, <td id=entity_infobox_table_td colspan="2">
to get long titles and captions to wrap when in that table.
However, with "white-space: pre-wrap" got extra padding around table.
Solution: "white-space: normal"
2021-08-12: NOTE: if the content in the entity infobox is too short to wrap,
that infobox may appear slightly less wide, than those on other pages (normal,
not a bug / artefact!).
*/
#entity_infobox table td#entity_infobox_table_td {
  /* color: magenta; */
  white-space: normal;
  /* word-wrap: break-word; */
  text-align: center;
}

/* Following added 2021-10-28 so I could include an image in pages without
 * an entity infobox. Example (usage):
 *   /mnt/Vancouver/domains/persagen/04/docs/climate_change_denial.html
 * In that example, for size of the image I specified a 'rowspan="<row_number>"',
 * and set the <tr> as <tr colspan="3">.  For the rows UNDER the image,
 * I set the 2nd <td> as <td colspan="2">.
 */
#article_infobox_no_entity_infobox table td#article_infobox_table_td {
  /* color: magenta; */
  white-space: normal;
  /* word-wrap: break-word; */
  text-align: center;
}

/* Bolded first column: */
#entity_infobox table td:nth-child(1) {
  /* color: magenta; */
  text-align: right;
  /* font-weight: bold; */
}

/* https://stackoverflow.com/questions/48857605/increase-width-of-first-column-in-html-css-table-only */
/* https://stackoverflow.com/questions/4757844/css-table-column-autowidth */
#entity_infobox table td:first-child {
  /* width: auto; */
  white-space: nowrap;
}

#entity_infobox li {
  /* Order: top right bottom left : */
  margin: 0.0rem 0.25rem 0.0rem 0.25rem;
  list-style-type: circle;
  /* color: green; */
}


/* Without the following, if there was space between the "article_infobox" (e.g.
 * width=40%) and "entity_infobox" (e.g. width=30%) <div>, then body text was
 * wrapping between the two adjacent (float {left | right}) <div, above.
 * Solution, based on following StackOverflow post, was to follow with
 * "clear: left" in a div, that enabled text to flow (as wanted below the
 * "article_infobox" <div>, but to the left of the "entity_infobox" <div>.
 * https://stackoverflow.com/questions/3258944/how-can-stop-text-wrapping-around-some-floated-divs
 */

#clear_left {
  clear: left;
}

/* ===================================================================== */
/* TABLE of CONTENTS */

/* Persagen.com documents that contain a Table of Contents have that ToC
 * called via "<a href="#" id="toc" class="more">Contents</a> ...", rendered by
 * an Ajax/JQuery script (embedded in the <head> of those documents. With that
 * <a>-element, I can identify and style those ToC.
 *
 * For some reason I cannot (directly) include that <a>-element inside another
 * <div> | <h2> | ... element. Thus, I directly style that <a>-element, below.
 */

/* With float:left and other CSS styling, I can have the <body> text flow around
  * the "table_of_contents" <div>.  However, this can be confusing as it suggests
  * the flowed text is part of the "Contents" section.
  * While I can attempt styling edits (e.g. a "border-right" style ...), it is
  * noted that Wikipedia does not wrap text around their TOC; e.g.
  *   https://en.wikipedia.org/wiki/Halifax,_Nova_Scotia
  *
  * Addendum: with a "max-width" <div>, you can have the size of that <div>
  * auto-adjust it's width (if all the content is e.g. lines of short text) by
  * adding the "display:inline-block" style! See:
  *   https://stackoverflow.com/questions/450903/how-can-i-make-a-div-not-larger-than-its-contents
  */

#table_of_contents {
  float: left;
  /* Disable "float" to prevent [e.g., <body>] text from wrapping around this <div>. */
  /* float: none; */
  clear: left;
  /* This max-width prevents collision with "article_infobox" <div> */
  /* max-width: 67.5%; */
  max-width: 58.5%;
  margin: 0.0rem 0.5rem 0.0rem 1.0rem;
}

#toc_span div {
  border: 1px solid darkgray;
  /* For reference, this (only) colors the bullets: */
  /*   color: red; */
  /* #f8f9f9; is the Pg-Solr body background */
  /* background-color: #f8f9f9; */
  /* This is a slightly darker gray: */
  background-color: #edf0f0;
}

a#toc.toc_more {
  font-size: 1.5rem;
  /* Same as tagclouds: */
  color: #6998f0;
}

a#toc.toc_more:hover {
  font-weight: bold;
  color: blue;
  text-decoration: none;
}

a#infobox_toggle.infobox_more {
  font-size: 0.8rem;
  /* Same as tagclouds: */
  color: #6998f0;
}

a#infobox_toggle.infobox_more:hover {
  font-size: 0.8rem;
  font-weight: bold;
  color: blue;
  text-decoration: none;
}

#table_of_contents li {
  /* Order: top right bottom left : */
  margin: 0.0rem 0.25rem 0.25rem 0.25rem;
  /* list-style-type: circle; */
  /* color: green; */
}

#table_of_contents ul {
  clear: left;
  margin: 0.0rem 0.5rem 0.0rem 2.25rem;
  /* Over-rides top margin, above: */
  margin-top: 0.5rem;
  line-height: 1.25;
}

#table_of_contents ul ul {
  margin: 0.0rem 0.5rem 0.0rem 1.0rem;
}

#table_of_contents ul ul a {
  /* font-size: 0.95rem; */
  font-size: 1.25rem;
}

#table_of_contents ul ul ul {
  margin: 0.0rem 0.5rem 0.0rem 1.0rem;
}

#table_of_contents ul ul ul a {
  /* font-size: 0.9rem; */
  font-size: 1.25rem;
}

#table_of_contents ul ul ul ul {
  margin: 0.0rem 0.5rem 0.0rem 1.0rem;
}

#table_of_contents ul ul ul ul a {
  font-size: 0.9rem;
}

  /* ---------------------------------------- */
  /* Tue 2024-Sep-24 - added "!important" to this */
  /*    font-size: 1.25rem; */
  /* to force bulleted links in "public/docs/sources.html" table of contents */
  /* to have same size as nonbulleted text: */
  /* font-size: 1.25rem !important; */
  /* ---------------------------------------- */

/* ========================================================================= */
/* WIKIPEDIA STYLES */

/*
light blue:
  color: #6998f0;
  color: #4e4eff;
*/

/* https://www.w3schools.com/tags/tag_sup.asp */

sup.reference {
  color: #6998f0;
  font-size: 0.75rem;
  vertical-align: super;
}

sup.reference:hover {
  color: blue;
  font-size: 0.9rem;
}

sup.reference a  {
  font-size: 0.75rem;
  color: #6998f0;
}

sup.reference a:hover {
  color: blue;
  font-size: 0.9rem;
  font-weight: bold;
}

/* Examples:
 *  <br/>APPLE<sup id="cite_ref-1" class="reference">a <a href="#cite_note-1">&#91;1&#93;</a> b</sup><br/>
 *  <br/>APPLE<sup id="cite_ref-1" class="reference">a <a href="#cite_note-1">[1]</a> b</sup><br/>
 */

/* ALTERNATE STYING: */

/* https://cssdeck.com/blog/create-superscript-and-subscript-text-in-css/ */

/* Used generically to center items. Can also use SPAN element (not coded
 * here), h/e SPAN text not in <p> tags will not center. Use DIV.
 *
 * The <?php flash(); ?> PHP FLASH message at the bottom of "public/login.php"
 *   Thank you for visiting Persagen.com! 🙂
 *   We look forward to your return. 👋
 * is styled in the
 *   <div class="center"><?php flash(); ?></div>
 * on that page.
 */

/* ----------------------------------------------------------------------------
 * STYLING OF Pg-Solr WEB PAGES CONTAINING FORMS
 *
 * Excerpted from:
 *  /mnt/Vancouver/domains/persagen/src/inc/body-success.php
 *
 * COMMENT (2023-07-28): there are 3 pages with forms on Persagen.com:
 * 
 *   "public/register.php" | generic (routinely used) "public/login.php"
 * 
 * The header and footer for those files are (respectively)
 * 
 *   "src/inc/header.php" | "src/inc/footer.php".
 * 
 * The login page initially to which the Client is directed to (one-time use;
 * this "src/inc/body-success.php" is likewise crafted using
 * 
 *   "src/inc/header.php" | "src/inc/footer.php".
 * 
 * For the first two files only,
 * 
 *   "header.php" adds "<body><main>..." while
 *   "footer.php" adds "...</main></body>".
 * 
 * Hence, the "main {text-align: center; ...}" CSS style in "public/css/pg-solr.css"
 * centers the forms and associated text in the "public/register.php" and
 * "public/login.php" pages.
 * 
 * However, this script ("src/inc/body-success.php") does renders that one-time
 * success "login" page directly, without adding the header/footer content.
 * Hence, to style this page, I added the "<div class="center">" DIV below which
 * encapsulates that page content and styles it via "public/css/pg-solr.css", i.e.
 * the "div.center {text-align: center; ...}" CSS style.
 * ----------------------------------------------------------------------------
 */

main {
  /* float: right; */
  /* float: center; */
  text-align: center;
  /* border-top: solid 1px #ccc; */
  /* padding: 0.5rem 0; */
  margin: 0.5rem 0;
  font-size: 1.0rem;
  /* color: magenta; */
}

div.center {
  /* float: right; */
  /* float: center; */
  text-align: center;
  /* border-top: solid 1px #ccc; */
  /* padding: 0.5rem 0; */
  margin: 0.5rem 0;
  font-size: 1.0rem;
  /* color: magenta; */
}

div.center p {
  text-align: center;
  /* border-top: solid 1px var #ccc; */
  /* padding: 0.5rem 0; */
  margin: 0.5rem 0;
  font-size: 1.0rem;
  /* color: red; */
}

/* CENTER TABLE ON PAGE
 * Set the left and right margins to auto. The table cannot be centered if the
 * width is set to 100%.
 * https://www.geeksforgeeks.org/how-to-center-a-table-with-css/
 */
div.center table {
  margin-left: auto;
  margin-right: auto;
}

/* "public/index.html" contains a NOSCRIPT element that is displayed if
 * JavaScript is disabled. Also provides comments re: need for popups
 * (needed to login to Pg-Solr backend).
 *
 * Apparently cannot directly style NOSCRIPT element
 *   div #js_noscript {}
 * Instead wrap in styled DIV element.
 *
 *  div #js_noscript {
 *
 * Nope:
 *   noscript#js_noscript {...}
 * Use this:
 *   div #js_noscript { font-size: 0.9rem; color: magenta; }
 */
div #js_noscript {
  font-size: 0.9rem;
  /* color: magenta; */
}
div #js_noscript a {
  font-size: 0.9rem;
  /* color: brown; */
}

span.super {
  color: #6998f0;
  font-size: 0.75rem;
  vertical-align: super;
 }

span.super:hover {
  color: blue;
  font-size: 0.9rem;
 }

span.super a {
  color: #6998f0;
  font-size: 0.75rem;
 }

span.super a:hover {
  color: blue;
  font-size: 0.9rem;
  font-weight: bold;
 }

/* Example:
 *   https://www.w3schools.com/tags/tag_sup.asp
*/

span.sub {
  color: #6998f0;
  font-size: 0.75rem;
  vertical-align: sub;
 }

/* ============================================================================
 * HORIZONTAL PADDING
 *
 * See: http://stackoverflow.com/questions/1571648/html-tab-space-instead-of-multiple-nbsp
*/

span.tab2{
    padding: 0 40px;
}

span.tab{
    padding-left: 20px;
}

span3.tab{
    padding: 0 3px;
}
span5.tab{
    padding: 0 5px;
}
span7.tab{
    padding: 0 7px;
}
span10.tab{
    padding: 0 10px;
}
span15.tab{
    padding: 0 15px;
}
span20.tab{
    padding: 0 20px;
}
span25.tab{
    padding: 0 25px;
}
span30.tab{
    padding: 0 30px;
}
span35.tab{
    padding: 0 35px;
}
span40.tab{
    padding: 0 40px;
}
span45.tab{
    padding: 0 45px;
}
span50.tab{
    padding: 0 50px;
}
span55.tab{
    padding: 0 55px;
}
span60.tab{
    padding: 0 60px;
}

/* USAGE: Put these anywhere you want horizontal space:
    <span class="tab"></span>
    <span3 class="tab"></span>
    <span5 class="tab"></span>
    <span7 class="tab"></span>
    <span10 class="tab"></span>
    <span15 class="tab"></span>
    <span20 class="tab"></span>
    <span25 class="tab"></span>
    <span30 class="tab"></span>
    <span35 class="tab"></span>
    <span40 class="tab"></span>
    <span45 class="tab"></span>
    <span50 class="tab"></span>
    <span55 class="tab"></span>
    <span60 class="tab"></span>
You can "fine-tune" the spacing using multiple span tags, and &nbsp; as needed:
  <span25 class="tab"></span><span5 class="tab"></span>
*/
/*  ======================================================================== */


/* body main DIV */
#contents {
 float: right;
}


/* ========================================================================= */
/* STRIPE REGISTRATION / PAYMENT FORM CSS
/* ========================================================================= */
/* /mnt/Vancouver/domains/persagen/public/css/style.css
 * [bookmark: ohl7aipi]
 */

/* CSS : center form in page horizontally and vertically
 * https://stackoverflow.com/a/22658297/1904943
 *    margin:auto;
 */

/* ----------------------------------------------------------------------------
 * Changing Credit Card Placeholder color
 * https://stackoverflow.com/questions/50426431/changing-credit-card-placeholder-color
 * >> https://jsfiddle.net/2a9fjyuh/  <<
 *
 *    base: {
 *      iconColor: '#666EE8',
 *      color: '#31325F',
 *      lineHeight: '40px',
 *      fontWeight: 300,
 *      fontFamily: 'Helvetica Neue',
 *      fontSize: '15px',
 *      '::placeholder': {
 *        color: '#CFD7E0',
 *      },
 *    }
 * ----------------------------------------------------------------------------
*/

/* "align:center" is obsolete; use "text-align:center;"
 * https://stackoverflow.com/questions/22658141/css-center-form-in-page-horizontally-and-vertically
 */

form {
  text-align:left;
  align-items: center;
  /* color: magenta; */
}

form img {
  padding-top: 1.0rem;
}
/* Note - no space after "form": */
form#payment-form {
  width: 600px;
  /* display:table; */
  margin:auto;
}

form#login-form {
  width: 400px;
  /* display:table; */
  margin:auto;
}

/* Center the Pg logo at the top of /public/ { login.php | register.php }
 *    <img class="center" src="img/persagen.com.png" alt="Persagen logo" />
 * https://stackoverflow.com/questions/7055393/center-image-using-text-align-center
 */
img.center {
  /* ------------------------------------------ */
  /* The following will center-align the image: */
  display: block;
  /* top right bottom left */
  /* margin: 0.0rem auto; */
  margin: 0.0rem auto 0.0rem auto;
  /* ------------------------------------------ */
  /* height: 26px !important; */
  height: 30px !important;
}
/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* BOOTSTRAP */
/* ------------------------------------------------------------------------- */

/* BOOTSTRAP ALERTS [≡ PHP FLASH MESSAGES]
 * https://isabelcastillo.com/error-info-messages-css
 * https://www.w3schools.com/bootstrap/bootstrap_alerts.asp
 * https://getbootstrap.com/docs/5.0/components/alerts/
 *
 * green shades ("success" color): https://html-color.codes/css/lightgreen
 *
 * ".alert" is Bootstrap alert class,
 *    https://getbootstrap.com/docs/5.0/components/alerts/
 *
 * Used in:
 *
 *    /mnt/Vancouver/domains/persagen/src/inc/header.php
 *     ...
 *
 * e.g.
 *
 *    /mnt/Vancouver/domains/persagen/src/inc/body-success.php
 *    ...
 *    <div class="alert alert-success" id="bs_messageDiv" style="display:none"></div>
 *    ...
 *
 * It is initially styled (refer above) as "display:none" but the
 * "src/inc/body-success.php" is is built by
 * "src/inc/header.php" + "src/inc/body-success.php"  + "src/inc/footer.php" 
 * "src/inc/header.php" includes the "emailData()" function which emails the
 * Client their transaction data and also sets that DIV in "body-success" to
 * "display:block" and appends the "E-mail message sent" message.
 */

.alert.alert-success#bs_messageDiv {
  height: 2rem;
  padding-top: 0.4rem;
}

/* ---------------------------------------- */
/* [bookmark: iel0ait7] */

/* Toggle password visibility: the following CSS element places the Bootstrap
 * "eye" icon inside the password input.
 * Used in Stripe registration forms:
 *    "public/register.php" | "public/login.php".
 * via included script (bottom of those files) "public/js/pw_toggle-registration.js"
 * and a link to the Font Awesome CSS: 
 *    https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css
 *
 * https://www.javascripttutorial.net/javascript-dom/javascript-toggle-password-visibility/
 * https://stackoverflow.com/questions/25470752/how-to-include-local-file-of-font-awesome-4-1-without-using-cdn
 */

/* This is needed to place the Bootstrap library eye icon within the Password
 * input element:
 */
i#togglePassword, #togglePassword2 {
  margin-top: -32px;
  margin-left: 600px;
  position: absolute;
  cursor: pointer;
}

/* Comments:
 * 1. The margins are different on 
 *      form#payment-form { width: 600px; ...}
 *      form#login-form { width: 600px; ...}
 *    so I need to use position the toggle eye indicator differently.
 * 2. I also had to add a "togglePassword2.addEventListener()" to
 *      "public/js/pw_toggle-login.js". 
*/
i#toggleLoginPassword {
  /* padding-top: -60px; */
  /* padding-left: -40px; */
  margin-top: -32px;
  margin-left: 400px;
  position: absolute;
  cursor: pointer;
}

/* ------------------------------------------------------------------------- */
/* [end] BOOTSTRAP */
/* ------------------------------------------------------------------------- */

/* ------------------------------------------------------------------------- */
/* REGISTRATION FORM | STRIPE PAYMENT STYLES */
/* ------------------------------------------------------------------------- */

/* [Stripe customer portal] Prebuilt subscription page with Stripe Checkout
 * https://stripe.com/docs/billing/quickstart
 */

/* ----------------------------------------------------------------------------
 * UPDATE 1 (2023-07-14): made edits here ("public/css/pg-solr.css" with NO
 * effect on the styling of the "public/registration.php" registration form
 * styling! Chased down to "src/inc/header.php", which is involved in the
 * creation / styling of the registration form in "public/register.php".
 *
 * "src/inc/header.php" includes
 *
 *    <link rel="stylesheet" href="../css/style.css" type="text/css">
 *
 * i.e. "public/css/style.css" which is ACTUALLY styling the registration form.
 *
 *  See:  bookmark ohl7aipi in
 *        /mnt/Vancouver/domains/persagen/public/css/style.css
 *
 * ----------------------------------------------------------------------------
 * UPDATE 2: (2023-07-14) added
 *
 *    <link href="css/pg-solr.css" type="text/css" rel="stylesheet">
 *
 * to "public/register.php" to include default Pg-Solr CSS stylesheet.
 *
 * Nevertheless, since most of the styling of the registration form is via
 * Stripe styles in "public/css/style.css", I'll do that styling, there.
 *
 * ----------------------------------------------------------------------------
 * UPDATE 3: (2023-07-15) removed the link to "public/css/pg-solr.css" in
 * "public/register.php" and added it to "src/inc/header.php" - which, with
 * "src/inc/body.php" and "src/inc/footer.php" - creates the registration page
 * { "public/register.php" | "src/register.php" }.
 *
 * ----------------------------------------------------------------------------
 * NOTE: no space before # , below).
 *
 * Works:
 *
 *    form#payment-form {
 *      align: center;
 *      border: 10px solid magenta;
 *      background-color: light blue;
 *      width: 600px;
 *    }
 *
 * No effect:
 *
 *    form#payment-element {
 *      border: 7px solid orange;
 *      background-color: light blue;
 *      font-size: 2.25rem;
 *      color: magenta;
 *    }
 * ----------------------------------------------------------------------------
 */

form h1 {
  /* padding: 5px 0; */
  /* top right bottom left */
  /* margin: 1.0rem 0rem; */
  margin: 0.0rem 0.0rem 0.0rem 0.0rem;
    font-size: 1.4rem;
    font-weight: 400;
    text-align: center;
    color: #000;
    /* color: magenta; */
}

form p {
    margin-bottom: 0.5rem;
    /* color: magenta; */
}

form>section {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

form>footer {
    text-align: center;
    border-top: solid 1px #ccc;
    padding: 0.5rem 0;
    font-size: 0.9rem;
}

footer {
    text-align: center;
    /* border-top: solid 1px #ccc; */
    /* padding: 0.5rem 0; */
    margin: 0.5rem 0;
    font-size: 0.9rem;
}

form>div {
    margin-bottom: 0.75rem;
}

/* ------------------------------------------------------------------------- */

form input+small, label+small, textarea+small {
    color: purple;
}

small.error {
  /* color:magenta; */
  color:purple;
  font-size: 0.8rem;
}
/*
small#error {
  color:purple;
  font-size: 0.8rem;
}
*/

/* ---------------------------------------- */
/*  How to align the checkbox and label in same line in html?
 *  https://stackoverflow.com/a/22322034/1904943
 */

input[type="checkbox"] {
  vertical-align:middle;
  width: auto;
}

label {
  display: inline-block;
  vertical-align: middle;
  margin: auto;
  margin-bottom: 5px;
  /* width: 100%; */
  width: auto;
  /* color: magenta; */
}

/* ---------------------------------------- */

/* This sets the width of the non-Stripe INPUT elements */
/* form input, select, textarea { */
form input {
  background-color: #fff;
  color: #000;
  border: 1px solid #ccc;
  border-radius: 0.35rem;
  display: inline-block;
  padding: 0.5rem 0.75rem;
  width: 100%;
  font-family: inherit;
  font-size: 1rem;
  vertical-align:middle;
}

form input::placeholder {
  color: purple;
}

/* purple: #800080
 * https://www.colorhexa.com/800080   // purple
 * https://www.colorhexa.com/7e55bb
 * https://www.colorhexa.com/8c67c2
 * https://www.colorhexa.com/7146b0
 * https://www.colorhexa.com/50327c
 */
/* Note: no space after button before # : */
/* button#submit { */
button#submitBtn {
  display: block;
  border-radius: 0.35rem;
  width: 100%;
  cursor: pointer;
  padding: 1px 16px;
  /* padding: 14px 16px; */
  /* transition: 0.3s; */
  /* font-size: 17px; */
  /* font-size: 1.25rem; */
  font-size: 1.1rem;
  /* background-color: #7e55bb; */
  background-color: #8c67c2;
  color: white;
}

/* button#submit:hover { */
button#submitBtn:hover {
  background-color: #7146b0;
  font-weight: bold;
}

button#loginSubmitBtn {
  display: block;
  border-radius: 0.35rem;
  width: 40%;
  /* margin: auto; */
  cursor: pointer;
  padding: 1px 16px;
  /* padding: 14px 16px; */
  /* transition: 0.3s; */
  /* font-size: 17px; */
  /* font-size: 1.25rem; */
  font-size: 1.1rem;
  /* background-color: #7e55bb; */
  background-color: #8c67c2;
  color: white;
}

button#loginSubmitBtn:hover {
  background-color: #7146b0;
  font-weight: bold;
}

/* public/register.php  "I agree with the Terms of Service" checkbox */
input#agree {
  margin: auto;
  /* vertical-align: middle; */
  /* ---------------------------------------- */
  /* https://stackoverflow.com/a/48211655/1904943 */
  position: relative;
  bottom: 2px;
  /* ---------------------------------------- */
}

/* public/login.php "Remember me" checkbox */
input#remember_me {
  margin: auto;
  /* vertical-align: middle; */
  /* ---------------------------------------- */
  /* https://stackoverflow.com/a/48211655/1904943 */
  position: relative;
  bottom: 2px;
  /* ---------------------------------------- */
}


/* In the <form> I need to include "margin:auto;" to center elements. */
#registration {
  /* color: magenta; */
  margin: auto;
  text-align: center;
  font-size: 0.8rem;
  font-weight: bold;
}

/* Persagen hyperlink styling: see also bookmark iex8oobo */
#registration-agree a.persagen {
  font-size: 1.0rem;
  /* No underline: */
  text-decoration: none;
  /* color: purple; */
  color: green !important;
  display: inline;
}

#registration-agree a.persagen:hover {
  /* border-bottom: 1px solid purple; */
  border-bottom: 1px solid green;
}

#registration-agree a.persagen:visited{color: purple;}

/* ========================================================================= */
/* [end] REGISTRATION FORM | STRIPE PAYMENT STYLES */
/* ========================================================================= */

/* ========================================================================= */
/* GLOSSARY */

.glossary {
  /* color: magenta; */
}

.glossary#menu {
  /* top right bottom left */
  margin: 0.0rem 0.0rem 0.0rem 1.0rem;
  font-size: 0.9rem;
}

.glossary#menu a {
  /* top right bottom left */
  font-size: 0.9rem;
  color: green;
}

.glossary#return_to_top {
  /* top right bottom left */
  margin: 1.0rem 0.0rem 0.0rem 1.0rem;
  font-size: 0.9rem;
}

.glossary#return_to_top a {
  font-size: 0.9rem;
}

h3.glossary {
  /* top right bottom left */
  margin: 0.0rem 0.0rem 1.0rem 1.0rem;
  /* color: brown;  */
  font-style: normal;
  /* line-height: 1.6rem; */
}

.glossary p {
  font-size: 0.9rem;
}

a.glossary {
  color: green;
  font-size: 0.9rem;
}
/* [end] GLOSSARY */
/* ========================================================================= */

