From 02718313824caa0e87eb0f1448684ff8d2dbe4d1 Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph.amissah@gmail.com>
Date: Tue, 5 Oct 2021 12:39:53 -0400
Subject: primarily org related

---
 src/COPYRIGHT                                  |   14 +-
 src/doc_reform/COPYRIGHT                       |   14 +-
 src/doc_reform/conf/compile_time_info.d        |    2 +-
 src/doc_reform/io_in/paths_source.d            |    2 +-
 src/doc_reform/io_in/read_config_files.d       |   10 +-
 src/doc_reform/io_in/read_source_files.d       |    2 +-
 src/doc_reform/io_out/cgi_sqlite_search_form.d | 1044 ++--
 src/doc_reform/io_out/create_zip_file.d        |    2 +-
 src/doc_reform/io_out/defaults.d               |    2 +-
 src/doc_reform/io_out/epub3.d                  |    8 +-
 src/doc_reform/io_out/html.d                   |    4 +-
 src/doc_reform/io_out/hub.d                    |    2 +-
 src/doc_reform/io_out/latex.d                  |  396 +-
 src/doc_reform/io_out/metadata.d               |    2 +-
 src/doc_reform/io_out/odt.d                    |  372 +-
 src/doc_reform/io_out/package.d                |    2 +-
 src/doc_reform/io_out/paths_output.d           |    2 +-
 src/doc_reform/io_out/rgx.d                    |    2 +-
 src/doc_reform/io_out/source_pod.d             |    4 +-
 src/doc_reform/io_out/sqlite.d                 |  162 +-
 src/doc_reform/io_out/xmls.d                   |    2 +-
 src/doc_reform/io_out/xmls_css.d               | 7388 ++++++++++++------------
 src/doc_reform/meta/conf_make_meta_json.d      |    2 +-
 src/doc_reform/meta/conf_make_meta_structs.d   |    2 +-
 src/doc_reform/meta/conf_make_meta_yaml.d      |    8 +-
 src/doc_reform/meta/defaults.d                 |    2 +-
 src/doc_reform/meta/doc_debugs.d               |    2 +-
 src/doc_reform/meta/metadoc.d                  |  254 +-
 src/doc_reform/meta/metadoc_curate.d           |    2 +-
 src/doc_reform/meta/metadoc_curate_authors.d   |    2 +-
 src/doc_reform/meta/metadoc_curate_topics.d    |    2 +-
 src/doc_reform/meta/metadoc_from_src.d         |    2 +-
 src/doc_reform/meta/metadoc_object_setter.d    |    2 +-
 src/doc_reform/meta/metadoc_show_config.d      |    2 +-
 src/doc_reform/meta/metadoc_show_make.d        |    2 +-
 src/doc_reform/meta/metadoc_show_metadata.d    |    2 +-
 src/doc_reform/meta/metadoc_show_summary.d     |    2 +-
 src/doc_reform/meta/package.d                  |    2 +-
 src/doc_reform/meta/rgx.d                      |    2 +-
 src/doc_reform/share/defaults.d                |    2 +-
 src/doc_reform/spine.d                         |   30 +-
 41 files changed, 4882 insertions(+), 4880 deletions(-)

(limited to 'src')

diff --git a/src/COPYRIGHT b/src/COPYRIGHT
index 6995436..6f8b82e 100644
--- a/src/COPYRIGHT
+++ b/src/COPYRIGHT
@@ -40,7 +40,7 @@
     - docReform object numbering (based on SiSU object citation numbering)
       - standard SiSU document object numbering
 
-  - Hompages:
+  - Homepages:
     [https://www.sisudoc.org]
 
 - Spine, Doc Reform (SiSU) markup samples
@@ -64,7 +64,7 @@
         Boost Software License 1.0
         [https://www.boost.org/LICENSE_1_0.txt]
 
-    - Hompages:
+    - Homepages:
       [https://github.com/dlang-community/d2sqlite3]
       [https://code.dlang.org/packages/d2sqlite3]
 
@@ -82,7 +82,7 @@
         Boost Software License 1.0
         [https://www.boost.org/LICENSE_1_0.txt]
 
-    - Hompages:
+    - Homepages:
       [https://github.com/dlang-community/D-YAML]
       [https://code.dlang.org/packages/dyaml]
 
@@ -99,7 +99,7 @@
         Boost Software License 1.0
         [https://www.boost.org/LICENSE_1_0.txt]
 
-    - Hompages:
+    - Homepages:
       [https://github.com/lgvz/imageformats]
       [https://code.dlang.org/packages/imageformats]
 
@@ -117,7 +117,7 @@
         Boost Software License 1.0
         [https://www.boost.org/LICENSE_1_0.txt]
 
-    - Hompages:
+    - Homepages:
       [https://github.com/dlang-community/tinyendian]
       [https://code.dlang.org/packages/tinyendian]
 
@@ -137,7 +137,7 @@
       [https://www.boost.org/LICENSE_1_0.txt]
       (Check the bottom of the file for details)
 
-  - Hompages:
+  - Homepages:
     [https://github.com/adamdruppe/arsd]
 
 
@@ -152,5 +152,5 @@
   - code: mkDub.nix (modified as needed)
     - License: MIT License
 
-  - Hompages:
+  - Homepages:
     [https://github.com/lionello/dub2nix]
diff --git a/src/doc_reform/COPYRIGHT b/src/doc_reform/COPYRIGHT
index 6995436..6f8b82e 100644
--- a/src/doc_reform/COPYRIGHT
+++ b/src/doc_reform/COPYRIGHT
@@ -40,7 +40,7 @@
     - docReform object numbering (based on SiSU object citation numbering)
       - standard SiSU document object numbering
 
-  - Hompages:
+  - Homepages:
     [https://www.sisudoc.org]
 
 - Spine, Doc Reform (SiSU) markup samples
@@ -64,7 +64,7 @@
         Boost Software License 1.0
         [https://www.boost.org/LICENSE_1_0.txt]
 
-    - Hompages:
+    - Homepages:
       [https://github.com/dlang-community/d2sqlite3]
       [https://code.dlang.org/packages/d2sqlite3]
 
@@ -82,7 +82,7 @@
         Boost Software License 1.0
         [https://www.boost.org/LICENSE_1_0.txt]
 
-    - Hompages:
+    - Homepages:
       [https://github.com/dlang-community/D-YAML]
       [https://code.dlang.org/packages/dyaml]
 
@@ -99,7 +99,7 @@
         Boost Software License 1.0
         [https://www.boost.org/LICENSE_1_0.txt]
 
-    - Hompages:
+    - Homepages:
       [https://github.com/lgvz/imageformats]
       [https://code.dlang.org/packages/imageformats]
 
@@ -117,7 +117,7 @@
         Boost Software License 1.0
         [https://www.boost.org/LICENSE_1_0.txt]
 
-    - Hompages:
+    - Homepages:
       [https://github.com/dlang-community/tinyendian]
       [https://code.dlang.org/packages/tinyendian]
 
@@ -137,7 +137,7 @@
       [https://www.boost.org/LICENSE_1_0.txt]
       (Check the bottom of the file for details)
 
-  - Hompages:
+  - Homepages:
     [https://github.com/adamdruppe/arsd]
 
 
@@ -152,5 +152,5 @@
   - code: mkDub.nix (modified as needed)
     - License: MIT License
 
-  - Hompages:
+  - Homepages:
     [https://github.com/lionello/dub2nix]
diff --git a/src/doc_reform/conf/compile_time_info.d b/src/doc_reform/conf/compile_time_info.d
index daffa76..15aca1e 100644
--- a/src/doc_reform/conf/compile_time_info.d
+++ b/src/doc_reform/conf/compile_time_info.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/io_in/paths_source.d b/src/doc_reform/io_in/paths_source.d
index 3791df9..01691ca 100644
--- a/src/doc_reform/io_in/paths_source.d
+++ b/src/doc_reform/io_in/paths_source.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/io_in/read_config_files.d b/src/doc_reform/io_in/read_config_files.d
index a3a5dd8..da21315 100644
--- a/src/doc_reform/io_in/read_config_files.d
+++ b/src/doc_reform/io_in/read_config_files.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
@@ -105,11 +105,11 @@ webserv:
   _cfg.www_doc_root,          // doc root
   _cfg.www_http,              // http
   _cfg.www_host,              // host / domain
-  _cfg.www_http,              // data http
-  _cfg.www_host,              // data domain
-  _cfg.www_url_doc_root,      // data root url
+  _cfg.www_http,              // data "http" or "https"
+  _cfg.www_host,              // data domain "localhost"
+  _cfg.www_url_doc_root,      // data root url "http://locahost" "https://sisudoc.org"
   _cfg.www_doc_root,          // data root path
-  _cfg.cgi_search_form_title, // cgi title
+  _cfg.cgi_search_form_title, // cgi title // e.g. "≅ SiSU Spine search"
   _cfg.www_http,              // cgi http
   _cfg.www_host,              // cgi host
   _cfg.cgi_url_root,          // cgi bin url
diff --git a/src/doc_reform/io_in/read_source_files.d b/src/doc_reform/io_in/read_source_files.d
index ce744ce..bd06dd8 100644
--- a/src/doc_reform/io_in/read_source_files.d
+++ b/src/doc_reform/io_in/read_source_files.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/io_out/cgi_sqlite_search_form.d b/src/doc_reform/io_out/cgi_sqlite_search_form.d
index 3265ae7..585ea50 100644
--- a/src/doc_reform/io_out/cgi_sqlite_search_form.d
+++ b/src/doc_reform/io_out/cgi_sqlite_search_form.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
@@ -142,317 +142,317 @@ void cgi_function_intro(Cgi cgi) {
       //   cgi.write(field ~ ": " ~ content ~ "<br>");
       // }
     }
-    static struct Rgx {
-      // static canned_query   = ctRegex!(`\A(?P<matched>.+)\Z`,                            "m");
-      static search_text_area  = ctRegex!(`\A(?P<matched>.+)\Z`,                            "m");
-      // static fulltext       = ctRegex!(`\A(?P<matched>.+)\Z`,                            "m");
-      static line              = ctRegex!(`^(?P<matched>.+?)(?: ~|$)`,                      "m");
-      static text              = ctRegex!(`(?:^|\s~\s*)text:\s+(?P<matched>.+?)(?: ~|$)`,   "m");
-      static author            = ctRegex!(`(?:^|\s~\s*)author:\s+(?P<matched>.+)$`,         "m");
-      static title             = ctRegex!(`(?:^|\s~\s*)title:\s+(?P<matched>.+)$`,          "m");
-      static uid               = ctRegex!(`(?:^|\s~\s*)uid:\s+(?P<matched>.+)$`,            "m");
-      static fn                = ctRegex!(`(?:^|\s~\s*)fn:\s+(?P<matched>.+)$`,             "m");
-      static keywords          = ctRegex!(`(?:^|\s~\s*)keywords:\s+(?P<matched>.+)$`,       "m");
-      static topic_register    = ctRegex!(`(?:^|\s~\s*)topic_register:\s+(?P<matched>.+)$`, "m");
-      static subject           = ctRegex!(`(?:^|\s~\s*)subject:\s+(?P<matched>.+)$`,        "m");
-      static description       = ctRegex!(`(?:^|\s~\s*)description:\s+(?P<matched>.+)$`,    "m");
-      static publisher         = ctRegex!(`(?:^|\s~\s*)publisher:\s+(?P<matched>.+)$`,      "m");
-      static editor            = ctRegex!(`(?:^|\s~\s*)editor:\s+(?P<matched>.+)$`,         "m");
-      static contributor       = ctRegex!(`(?:^|\s~\s*)contributor:\s+(?P<matched>.+)$`,    "m");
-      static date              = ctRegex!(`(?:^|\s~\s*)date:\s+(?P<matched>.+)$`,           "m");
-      static results_type      = ctRegex!(`(?:^|\s~\s*)type:\s+(?P<matched>.+)$`,           "m");
-      static format            = ctRegex!(`(?:^|\s~\s*)format:\s+(?P<matched>.+)$`,         "m");
-      static source            = ctRegex!(`(?:^|\s~\s*)source:\s+(?P<matched>.+)$`,         "m");
-      static language          = ctRegex!(`(?:^|\s~\s*)language:\s+(?P<matched>.+)$`,       "m");
-      static relation          = ctRegex!(`(?:^|\s~\s*)relation:\s+(?P<matched>.+)$`,       "m");
-      static coverage          = ctRegex!(`(?:^|\s~\s*)coverage:\s+(?P<matched>.+)$`,       "m");
-      static rights            = ctRegex!(`(?:^|\s~\s*)rights:\s+(?P<matched>.+)$`,         "m");
-      static comment           = ctRegex!(`(?:^|\s~\s*)comment:\s+(?P<matched>.+)$`,        "m");
-      // static abstract_         = ctRegex!(`(?:^|\s~\s*)abstract:\s+(?P<matched>.+)$`,       "m");
-      static src_filename_base = ctRegex!(`^src_filename_base:\s+(?P<matched>.+)$`,         "m");
-    }
-    struct searchFields {
-      string canned_query      = ""; // GET  canned_query     == cq
-      string search_text_area  = ""; // POST search_text_area == tsa
-      string text              = ""; // text              == txt
-      string author            = ""; // author            == au
-      string title             = ""; // title             == ti
-      string uid               = ""; // uid               == uid
-      string fn                = ""; // fn                == fn
-      string keywords          = ""; // keywords          == kw
-      string topic_register    = ""; // topic_register    == tr
-      string subject           = ""; // subject           == su
-      string description       = ""; // description       == de
-      string publisher         = ""; // publisher         == pb
-      string editor            = ""; // editor            == ed
-      string contributor       = ""; // contributor       == ct
-      string date              = ""; // date              == dt
-      string format            = ""; // format            == fmt
-      string source            = ""; // source            == src sfn
-      string language          = ""; // language          == lng
-      string relation          = ""; // relation          == rl
-      string coverage          = ""; // coverage          == cv
-      string rights            = ""; // rights            == rgt
-      string comment           = ""; // comment           == cmt
-      // string abstract          = "";
-      string src_filename_base = ""; // src_filename_base == bfn
-      string results_type      = ""; // results_type      == rt     radio
-      string sql_match_limit   = ""; // sql_match_limit   == sml    radio
-      string sql_match_offset  = ""; // sql_match_offset  == smo
-      string stats             = ""; // stats             == sts    checked
-      string echo              = ""; // echo              == ec     checked
-      string url               = ""; // url               == url    checked
-      string searched          = ""; // searched          == se     checked
-      string sql               = ""; // sql               == sql    checked
-    }
-    auto rgx  = Rgx();
-    auto got  = searchFields();
-    if (environment.get("REQUEST_METHOD", "POST") == "POST") {
-      if ("sf" in cgi.post) {
-        got.search_text_area =  cgi.post["sf"];
-        if (auto m = got.search_text_area.matchFirst(rgx.text)) {
+  static struct Rgx {
+    // static canned_query   = ctRegex!(`\A(?P<matched>.+)\Z`,                            "m");
+    static search_text_area  = ctRegex!(`\A(?P<matched>.+)\Z`,                            "m");
+    // static fulltext       = ctRegex!(`\A(?P<matched>.+)\Z`,                            "m");
+    static line              = ctRegex!(`^(?P<matched>.+?)(?: ~|$)`,                      "m");
+    static text              = ctRegex!(`(?:^|\s~\s*)text:\s+(?P<matched>.+?)(?: ~|$)`,   "m");
+    static author            = ctRegex!(`(?:^|\s~\s*)author:\s+(?P<matched>.+)$`,         "m");
+    static title             = ctRegex!(`(?:^|\s~\s*)title:\s+(?P<matched>.+)$`,          "m");
+    static uid               = ctRegex!(`(?:^|\s~\s*)uid:\s+(?P<matched>.+)$`,            "m");
+    static fn                = ctRegex!(`(?:^|\s~\s*)fn:\s+(?P<matched>.+)$`,             "m");
+    static keywords          = ctRegex!(`(?:^|\s~\s*)keywords:\s+(?P<matched>.+)$`,       "m");
+    static topic_register    = ctRegex!(`(?:^|\s~\s*)topic_register:\s+(?P<matched>.+)$`, "m");
+    static subject           = ctRegex!(`(?:^|\s~\s*)subject:\s+(?P<matched>.+)$`,        "m");
+    static description       = ctRegex!(`(?:^|\s~\s*)description:\s+(?P<matched>.+)$`,    "m");
+    static publisher         = ctRegex!(`(?:^|\s~\s*)publisher:\s+(?P<matched>.+)$`,      "m");
+    static editor            = ctRegex!(`(?:^|\s~\s*)editor:\s+(?P<matched>.+)$`,         "m");
+    static contributor       = ctRegex!(`(?:^|\s~\s*)contributor:\s+(?P<matched>.+)$`,    "m");
+    static date              = ctRegex!(`(?:^|\s~\s*)date:\s+(?P<matched>.+)$`,           "m");
+    static results_type      = ctRegex!(`(?:^|\s~\s*)type:\s+(?P<matched>.+)$`,           "m");
+    static format            = ctRegex!(`(?:^|\s~\s*)format:\s+(?P<matched>.+)$`,         "m");
+    static source            = ctRegex!(`(?:^|\s~\s*)source:\s+(?P<matched>.+)$`,         "m");
+    static language          = ctRegex!(`(?:^|\s~\s*)language:\s+(?P<matched>.+)$`,       "m");
+    static relation          = ctRegex!(`(?:^|\s~\s*)relation:\s+(?P<matched>.+)$`,       "m");
+    static coverage          = ctRegex!(`(?:^|\s~\s*)coverage:\s+(?P<matched>.+)$`,       "m");
+    static rights            = ctRegex!(`(?:^|\s~\s*)rights:\s+(?P<matched>.+)$`,         "m");
+    static comment           = ctRegex!(`(?:^|\s~\s*)comment:\s+(?P<matched>.+)$`,        "m");
+    // static abstract_         = ctRegex!(`(?:^|\s~\s*)abstract:\s+(?P<matched>.+)$`,       "m");
+    static src_filename_base = ctRegex!(`^src_filename_base:\s+(?P<matched>.+)$`,         "m");
+  }
+  struct searchFields {
+    string canned_query      = ""; // GET  canned_query     == cq
+    string search_text_area  = ""; // POST search_text_area == tsa
+    string text              = ""; // text              == txt
+    string author            = ""; // author            == au
+    string title             = ""; // title             == ti
+    string uid               = ""; // uid               == uid
+    string fn                = ""; // fn                == fn
+    string keywords          = ""; // keywords          == kw
+    string topic_register    = ""; // topic_register    == tr
+    string subject           = ""; // subject           == su
+    string description       = ""; // description       == de
+    string publisher         = ""; // publisher         == pb
+    string editor            = ""; // editor            == ed
+    string contributor       = ""; // contributor       == ct
+    string date              = ""; // date              == dt
+    string format            = ""; // format            == fmt
+    string source            = ""; // source            == src sfn
+    string language          = ""; // language          == lng
+    string relation          = ""; // relation          == rl
+    string coverage          = ""; // coverage          == cv
+    string rights            = ""; // rights            == rgt
+    string comment           = ""; // comment           == cmt
+    // string abstract          = "";
+    string src_filename_base = ""; // src_filename_base == bfn
+    string results_type      = ""; // results_type      == rt     radio
+    string sql_match_limit   = ""; // sql_match_limit   == sml    radio
+    string sql_match_offset  = ""; // sql_match_offset  == smo
+    string stats             = ""; // stats             == sts    checked
+    string echo              = ""; // echo              == ec     checked
+    string url               = ""; // url               == url    checked
+    string searched          = ""; // searched          == se     checked
+    string sql               = ""; // sql               == sql    checked
+  }
+  auto rgx  = Rgx();
+  auto got  = searchFields();
+  if (environment.get("REQUEST_METHOD", "POST") == "POST") {
+    if ("sf" in cgi.post) {
+      got.search_text_area =  cgi.post["sf"];
+      if (auto m = got.search_text_area.matchFirst(rgx.text)) {
+        got.text = m["matched"];
+        got.canned_query ~= "sf=" ~ m["matched"];
+      } else if (auto m = got.search_text_area.matchFirst(rgx.line)) {
+        if (
+          !(m["matched"].matchFirst(rgx.author))
+          && !(m["matched"].matchFirst(rgx.title))
+        ) {
           got.text = m["matched"];
           got.canned_query ~= "sf=" ~ m["matched"];
-        } else if (auto m = got.search_text_area.matchFirst(rgx.line)) {
-          if (
-            !(m["matched"].matchFirst(rgx.author))
-            && !(m["matched"].matchFirst(rgx.title))
-          ) {
-            got.text = m["matched"];
-            got.canned_query ~= "sf=" ~ m["matched"];
-          }
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.author)) {
-          got.author = m["matched"];
-          got.canned_query ~= "&au=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.title)) {
-          got.title = m["matched"];
-          got.canned_query ~= "&ti=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.uid)) {
-          got.uid = m["matched"];
-          got.canned_query ~= "&uid=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.fn)) {
-          got.fn = m["matched"];
-          got.canned_query ~= "&fn=" ~ m["matched"];
-        } else if ("fn" in cgi.post) {
-          got.search_text_area ~= "\nfn: " ~ cgi.post["fn"] ~ "\n";
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.keywords)) {
-          got.keywords = m["matched"];
-          got.canned_query ~= "&kw=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.topic_register)) {
-          got.topic_register = m["matched"];
-          got.canned_query ~= "&tr=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.subject)) {
-          got.subject = m["matched"];
-          got.canned_query ~= "&su=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.description)) {
-          got.description = m["matched"];
-          got.canned_query ~= "&de=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.publisher)) {
-          got.publisher = m["matched"];
-          got.canned_query ~= "&pb=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.editor)) {
-          got.editor = m["matched"];
-          got.canned_query ~= "&ed=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.contributor)) {
-          got.contributor = m["matched"];
-          got.canned_query ~= "&ct=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.date)) {
-          got.date = m["matched"];
-          got.canned_query ~= "&dt=" ~ m["matched"];
         }
-        // if (auto m = got.search_text_area.matchFirst(rgx.results_type)) {
-        //   got.results_type = m["matched"];
-        //   got.canned_query ~= "&rt=" ~ m["matched"];
-        // }
-        if (auto m = got.search_text_area.matchFirst(rgx.format)) {
-          got.format = m["matched"];
-          got.canned_query ~= "&fmt=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.source)) {
-          got.source = m["matched"];
-          got.canned_query ~= "&src=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.language)) {
-          got.language = m["matched"];
-          got.canned_query ~= "&lng=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.relation)) {
-          got.relation = m["matched"];
-          got.canned_query ~= "&rl=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.coverage)) {
-          got.coverage = m["matched"];
-          got.canned_query ~= "&cv=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.rights)) {
-          got.rights = m["matched"];
-          got.canned_query ~= "&rgt=" ~ m["matched"];
-        }
-        if (auto m = got.search_text_area.matchFirst(rgx.comment)) {
-          got.comment = m["matched"];
-          got.canned_query ~= "&cmt=" ~ m["matched"];
-        }
-        // if (auto m = search_text_area.matchFirst(rgx.abstract)) {
-        //   got.abstract = m["matched"];
-        // }
-        if (auto m = got.search_text_area.matchFirst(rgx.src_filename_base)) {
-          got.src_filename_base = m["matched"];
-          got.canned_query ~= "&bfn=" ~ m["matched"];
-        }
-      }
-      if ("fn" in cgi.post) {
-        got.fn =  cgi.post["fn"];
-        got.canned_query ~= "&fn=" ~ cgi.post["fn"];
-      }
-      if ("rt" in cgi.post) {
-        got.results_type =  cgi.post["rt"];
-        got.canned_query ~= "&rt=" ~ cgi.post["rt"];
       }
-      if ("sts" in cgi.post) {
-        got.stats =  cgi.post["sts"];
-        got.canned_query ~= "&sts=" ~ cgi.post["sts"];
+      if (auto m = got.search_text_area.matchFirst(rgx.author)) {
+        got.author = m["matched"];
+        got.canned_query ~= "&au=" ~ m["matched"];
       }
-      if ("ec" in cgi.post) {
-        got.echo =  cgi.post["ec"];
-        got.canned_query ~= "&ec=" ~ cgi.post["ec"];
+      if (auto m = got.search_text_area.matchFirst(rgx.title)) {
+        got.title = m["matched"];
+        got.canned_query ~= "&ti=" ~ m["matched"];
       }
-      if ("url" in cgi.post) {
-        got.url =  cgi.post["url"];
-        got.canned_query ~= "&url=" ~ cgi.post["url"];
+      if (auto m = got.search_text_area.matchFirst(rgx.uid)) {
+        got.uid = m["matched"];
+        got.canned_query ~= "&uid=" ~ m["matched"];
       }
-      if ("se" in cgi.post) {
-        got.searched =  cgi.post["se"];
-        got.canned_query ~= "&se=" ~ cgi.post["se"];
+      if (auto m = got.search_text_area.matchFirst(rgx.fn)) {
+        got.fn = m["matched"];
+        got.canned_query ~= "&fn=" ~ m["matched"];
+      } else if ("fn" in cgi.post) {
+        got.search_text_area ~= "\nfn: " ~ cgi.post["fn"] ~ "\n";
       }
-      if ("sql" in cgi.post) {
-        got.sql =  cgi.post["sql"];
-        got.canned_query ~= "&sql=" ~ cgi.post["sql"];
-      }
-      if ("sml" in cgi.post) {
-        got.sql_match_limit =  cgi.post["sml"];
-        got.canned_query ~= "&sml=" ~ cgi.post["sml"];
-      }
-      if ("smo" in cgi.post) {
-        got.sql_match_offset = "0";   // cgi.post["smo"];
-        got.canned_query ~= "&smo=0"; //  ~ cgi.post["smo"];
-      }
-      got.canned_query = got.canned_query.strip.split(" ").join("%%20");
-      conf.query_string = got.canned_query;
-      // cgi.write("f.canned_query: " ~ got.canned_query ~ "<br>");
-    } else if (environment.get("REQUEST_METHOD", "POST") == "GET") {
-      got.canned_query = environment.get("QUERY_STRING", "");
-      // cgi.write("f.canned_query: " ~ got.canned_query ~ "<br>");
-      got.search_text_area = "";
-      if ("sf" in canned_query && !(canned_query["sf"]).empty) {
-        got.text = canned_query["sf"].split("%%20").join(" ");
-        got.search_text_area ~= "text: " ~ got.text ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.keywords)) {
+        got.keywords = m["matched"];
+        got.canned_query ~= "&kw=" ~ m["matched"];
       }
-      if ("au" in canned_query && !(canned_query["au"]).empty) {
-        got.author = canned_query["au"].split("%%20").join(" ");
-        got.search_text_area ~= "author: " ~ got.author ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.topic_register)) {
+        got.topic_register = m["matched"];
+        got.canned_query ~= "&tr=" ~ m["matched"];
       }
-      if ("ti" in canned_query && !(canned_query["ti"]).empty) {
-        got.title = canned_query["ti"].split("%%20").join(" ");
-        got.search_text_area ~= "title: " ~ got.title ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.subject)) {
+        got.subject = m["matched"];
+        got.canned_query ~= "&su=" ~ m["matched"];
       }
-      if ("uid" in canned_query && !(canned_query["uid"]).empty) {
-        got.uid = canned_query["uid"].split("%%20").join(" ");
-        got.search_text_area ~= "uid: " ~ got.uid ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.description)) {
+        got.description = m["matched"];
+        got.canned_query ~= "&de=" ~ m["matched"];
       }
-      if ("fn" in canned_query && !(canned_query["fn"]).empty) {
-        got.fn = canned_query["fn"].split("%%20").join(" ");
-        got.search_text_area ~= "fn: " ~ got.fn ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.publisher)) {
+        got.publisher = m["matched"];
+        got.canned_query ~= "&pb=" ~ m["matched"];
       }
-      if ("kw" in canned_query && !(canned_query["kw"]).empty) {
-        got.keywords = canned_query["kw"].split("%%20").join(" ");
-        got.search_text_area ~= "keywords: " ~ got.keywords ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.editor)) {
+        got.editor = m["matched"];
+        got.canned_query ~= "&ed=" ~ m["matched"];
       }
-      if ("tr" in canned_query && !(canned_query["tr"]).empty) {
-        got.topic_register = canned_query["tr"].split("%%20").join(" ");
-        got.search_text_area ~= "topic_register: " ~ got.topic_register ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.contributor)) {
+        got.contributor = m["matched"];
+        got.canned_query ~= "&ct=" ~ m["matched"];
       }
-      if ("su" in canned_query && !(canned_query["su"]).empty) {
-        got.subject = canned_query["su"].split("%%20").join(" ");
-        got.search_text_area ~= "subject: " ~ got.subject ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.date)) {
+        got.date = m["matched"];
+        got.canned_query ~= "&dt=" ~ m["matched"];
       }
-      if ("de" in canned_query && !(canned_query["de"]).empty) {
-        got.description = canned_query["de"].split("%%20").join(" ");
-        got.search_text_area ~= "description: " ~ got.description ~ "\n";
-      }
-      if ("pb" in canned_query && !(canned_query["pb"]).empty) {
-        got.publisher = canned_query["pb"].split("%%20").join(" ");
-        got.search_text_area ~= "publisher: " ~ got.publisher ~ "\n";
-      }
-      if ("ed" in canned_query && !(canned_query["ed"]).empty) {
-        got.editor = canned_query["ed"].split("%%20").join(" ");
-        got.search_text_area ~= "editor: " ~ got.editor ~ "\n";
-      }
-      if ("ct" in canned_query && !(canned_query["ct"]).empty) {
-        got.contributor = canned_query["ct"].split("%%20").join(" ");
-        got.search_text_area ~= "contributor: " ~ got.contributor ~ "\n";
-      }
-      if ("dt" in canned_query && !(canned_query["dt"]).empty) {
-        got.date = canned_query["dt"].split("%%20").join(" ");
-        got.search_text_area ~= "date: " ~ got.date ~ "\n";
-      }
-      if ("rt" in canned_query && !(canned_query["rt"]).empty) {
-        got.results_type = canned_query["rt"].split("%%20").join(" ");
-        // got.search_text_area ~= "results_type: " ~ got.results_type ~ "\n";
-      }
-      if ("fmt" in canned_query && !(canned_query["fmt"]).empty) {
-        got.format = canned_query["fmt"].split("%%20").join(" ");
-        got.search_text_area ~= "format: " ~ got.format ~ "\n";
+      // if (auto m = got.search_text_area.matchFirst(rgx.results_type)) {
+      //   got.results_type = m["matched"];
+      //   got.canned_query ~= "&rt=" ~ m["matched"];
+      // }
+      if (auto m = got.search_text_area.matchFirst(rgx.format)) {
+        got.format = m["matched"];
+        got.canned_query ~= "&fmt=" ~ m["matched"];
       }
-      if ("src" in canned_query && !(canned_query["src"]).empty) {
-        got.source = canned_query["src"].split("%%20").join(" ");
-        got.search_text_area ~= "source: " ~ got.source ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.source)) {
+        got.source = m["matched"];
+        got.canned_query ~= "&src=" ~ m["matched"];
       }
-      if ("lng" in canned_query && !(canned_query["lng"]).empty) {
-        got.language = canned_query["lng"].split("%%20").join(" ");
-        got.search_text_area ~= "language: " ~ got.language ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.language)) {
+        got.language = m["matched"];
+        got.canned_query ~= "&lng=" ~ m["matched"];
       }
-      if ("rl" in canned_query && !(canned_query["rl"]).empty) {
-        got.relation = canned_query["rl"].split("%%20").join(" ");
-        got.search_text_area ~= "relation: " ~ got.relation ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.relation)) {
+        got.relation = m["matched"];
+        got.canned_query ~= "&rl=" ~ m["matched"];
       }
-      if ("cv" in canned_query && !(canned_query["cv"]).empty) {
-        got.coverage = canned_query["cv"].split("%%20").join(" ");
-        got.search_text_area ~= "coverage: " ~ got.coverage ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.coverage)) {
+        got.coverage = m["matched"];
+        got.canned_query ~= "&cv=" ~ m["matched"];
       }
-      if ("rgt" in canned_query && !(canned_query["rgt"]).empty) {
-        got.rights = canned_query["rgt"].split("%%20").join(" ");
-        got.search_text_area ~= "rights: " ~ got.rights ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.rights)) {
+        got.rights = m["matched"];
+        got.canned_query ~= "&rgt=" ~ m["matched"];
       }
-      if ("cmt" in canned_query && !(canned_query["cmt"]).empty) {
-        got.comment = canned_query["cmt"].split("%%20").join(" ");
-        got.search_text_area ~= "comment: " ~ got.comment ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.comment)) {
+        got.comment = m["matched"];
+        got.canned_query ~= "&cmt=" ~ m["matched"];
       }
-      // if ("abstract" in canned_query && !(canned_query["abstract"]).empty) {
-      //   got.abstract = canned_query["abstract"];
+      // if (auto m = search_text_area.matchFirst(rgx.abstract)) {
+      //   got.abstract = m["matched"];
       // }
-      if ("bfn" in canned_query && !(canned_query["bfn"]).empty) { // search_field
-        got.src_filename_base = canned_query["bfn"].split("%%20").join(" ");
-        got.search_text_area ~= "src_filename_base: " ~ got.src_filename_base ~ "\n";
-      }
-      if ("sml" in canned_query && !(canned_query["sml"]).empty) {
-        got.sql_match_limit = canned_query["sml"].split("%%20").join(" ");
-        // got.search_text_area ~= "sql_match_limit: " ~ got.sql_match_limit ~ "\n";
+      if (auto m = got.search_text_area.matchFirst(rgx.src_filename_base)) {
+        got.src_filename_base = m["matched"];
+        got.canned_query ~= "&bfn=" ~ m["matched"];
       }
-      // cgi.write("f.search_text_area: " ~ got.search_text_area ~ "<br>");
     }
-    return got;
+    if ("fn" in cgi.post) {
+      got.fn =  cgi.post["fn"];
+      got.canned_query ~= "&fn=" ~ cgi.post["fn"];
+    }
+    if ("rt" in cgi.post) {
+      got.results_type =  cgi.post["rt"];
+      got.canned_query ~= "&rt=" ~ cgi.post["rt"];
+    }
+    if ("sts" in cgi.post) {
+      got.stats =  cgi.post["sts"];
+      got.canned_query ~= "&sts=" ~ cgi.post["sts"];
+    }
+    if ("ec" in cgi.post) {
+      got.echo =  cgi.post["ec"];
+      got.canned_query ~= "&ec=" ~ cgi.post["ec"];
+    }
+    if ("url" in cgi.post) {
+      got.url =  cgi.post["url"];
+      got.canned_query ~= "&url=" ~ cgi.post["url"];
+    }
+    if ("se" in cgi.post) {
+      got.searched =  cgi.post["se"];
+      got.canned_query ~= "&se=" ~ cgi.post["se"];
+    }
+    if ("sql" in cgi.post) {
+      got.sql =  cgi.post["sql"];
+      got.canned_query ~= "&sql=" ~ cgi.post["sql"];
+    }
+    if ("sml" in cgi.post) {
+      got.sql_match_limit =  cgi.post["sml"];
+      got.canned_query ~= "&sml=" ~ cgi.post["sml"];
+    }
+    if ("smo" in cgi.post) {
+      got.sql_match_offset = "0";   // cgi.post["smo"];
+      got.canned_query ~= "&smo=0"; //  ~ cgi.post["smo"];
+    }
+    got.canned_query = got.canned_query.strip.split(" ").join("%%20");
+    conf.query_string = got.canned_query;
+    // cgi.write("f.canned_query: " ~ got.canned_query ~ "<br>");
+  } else if (environment.get("REQUEST_METHOD", "POST") == "GET") {
+    got.canned_query = environment.get("QUERY_STRING", "");
+    // cgi.write("f.canned_query: " ~ got.canned_query ~ "<br>");
+    got.search_text_area = "";
+    if ("sf" in canned_query && !(canned_query["sf"]).empty) {
+      got.text = canned_query["sf"].split("%%20").join(" ");
+      got.search_text_area ~= "text: " ~ got.text ~ "\n";
+    }
+    if ("au" in canned_query && !(canned_query["au"]).empty) {
+      got.author = canned_query["au"].split("%%20").join(" ");
+      got.search_text_area ~= "author: " ~ got.author ~ "\n";
+    }
+    if ("ti" in canned_query && !(canned_query["ti"]).empty) {
+      got.title = canned_query["ti"].split("%%20").join(" ");
+      got.search_text_area ~= "title: " ~ got.title ~ "\n";
+    }
+    if ("uid" in canned_query && !(canned_query["uid"]).empty) {
+      got.uid = canned_query["uid"].split("%%20").join(" ");
+      got.search_text_area ~= "uid: " ~ got.uid ~ "\n";
+    }
+    if ("fn" in canned_query && !(canned_query["fn"]).empty) {
+      got.fn = canned_query["fn"].split("%%20").join(" ");
+      got.search_text_area ~= "fn: " ~ got.fn ~ "\n";
+    }
+    if ("kw" in canned_query && !(canned_query["kw"]).empty) {
+      got.keywords = canned_query["kw"].split("%%20").join(" ");
+      got.search_text_area ~= "keywords: " ~ got.keywords ~ "\n";
+    }
+    if ("tr" in canned_query && !(canned_query["tr"]).empty) {
+      got.topic_register = canned_query["tr"].split("%%20").join(" ");
+      got.search_text_area ~= "topic_register: " ~ got.topic_register ~ "\n";
+    }
+    if ("su" in canned_query && !(canned_query["su"]).empty) {
+      got.subject = canned_query["su"].split("%%20").join(" ");
+      got.search_text_area ~= "subject: " ~ got.subject ~ "\n";
+    }
+    if ("de" in canned_query && !(canned_query["de"]).empty) {
+      got.description = canned_query["de"].split("%%20").join(" ");
+      got.search_text_area ~= "description: " ~ got.description ~ "\n";
+    }
+    if ("pb" in canned_query && !(canned_query["pb"]).empty) {
+      got.publisher = canned_query["pb"].split("%%20").join(" ");
+      got.search_text_area ~= "publisher: " ~ got.publisher ~ "\n";
+    }
+    if ("ed" in canned_query && !(canned_query["ed"]).empty) {
+      got.editor = canned_query["ed"].split("%%20").join(" ");
+      got.search_text_area ~= "editor: " ~ got.editor ~ "\n";
+    }
+    if ("ct" in canned_query && !(canned_query["ct"]).empty) {
+      got.contributor = canned_query["ct"].split("%%20").join(" ");
+      got.search_text_area ~= "contributor: " ~ got.contributor ~ "\n";
+    }
+    if ("dt" in canned_query && !(canned_query["dt"]).empty) {
+      got.date = canned_query["dt"].split("%%20").join(" ");
+      got.search_text_area ~= "date: " ~ got.date ~ "\n";
+    }
+    if ("rt" in canned_query && !(canned_query["rt"]).empty) {
+      got.results_type = canned_query["rt"].split("%%20").join(" ");
+      // got.search_text_area ~= "results_type: " ~ got.results_type ~ "\n";
+    }
+    if ("fmt" in canned_query && !(canned_query["fmt"]).empty) {
+      got.format = canned_query["fmt"].split("%%20").join(" ");
+      got.search_text_area ~= "format: " ~ got.format ~ "\n";
+    }
+    if ("src" in canned_query && !(canned_query["src"]).empty) {
+      got.source = canned_query["src"].split("%%20").join(" ");
+      got.search_text_area ~= "source: " ~ got.source ~ "\n";
+    }
+    if ("lng" in canned_query && !(canned_query["lng"]).empty) {
+      got.language = canned_query["lng"].split("%%20").join(" ");
+      got.search_text_area ~= "language: " ~ got.language ~ "\n";
+    }
+    if ("rl" in canned_query && !(canned_query["rl"]).empty) {
+      got.relation = canned_query["rl"].split("%%20").join(" ");
+      got.search_text_area ~= "relation: " ~ got.relation ~ "\n";
+    }
+    if ("cv" in canned_query && !(canned_query["cv"]).empty) {
+      got.coverage = canned_query["cv"].split("%%20").join(" ");
+      got.search_text_area ~= "coverage: " ~ got.coverage ~ "\n";
+    }
+    if ("rgt" in canned_query && !(canned_query["rgt"]).empty) {
+      got.rights = canned_query["rgt"].split("%%20").join(" ");
+      got.search_text_area ~= "rights: " ~ got.rights ~ "\n";
+    }
+    if ("cmt" in canned_query && !(canned_query["cmt"]).empty) {
+      got.comment = canned_query["cmt"].split("%%20").join(" ");
+      got.search_text_area ~= "comment: " ~ got.comment ~ "\n";
+    }
+    // if ("abstract" in canned_query && !(canned_query["abstract"]).empty) {
+    //   got.abstract = canned_query["abstract"];
+    // }
+    if ("bfn" in canned_query && !(canned_query["bfn"]).empty) { // search_field
+      got.src_filename_base = canned_query["bfn"].split("%%20").join(" ");
+      got.search_text_area ~= "src_filename_base: " ~ got.src_filename_base ~ "\n";
+    }
+    if ("sml" in canned_query && !(canned_query["sml"]).empty) {
+      got.sql_match_limit = canned_query["sml"].split("%%20").join(" ");
+      // got.search_text_area ~= "sql_match_limit: " ~ got.sql_match_limit ~ "\n";
+    }
+    // cgi.write("f.search_text_area: " ~ got.search_text_area ~ "<br>");
+  }
+  return got;
   }
   auto tf = text_fields; //
   struct SQL_select {
@@ -559,8 +559,8 @@ void cgi_function_intro(Cgi cgi) {
     _previous_next = "<hr>" ~ arrow_previous ~ arrow_next;
     return _previous_next;
   }
-  {
-    header = format(q"┃
+{
+  header = format(q"┃
 <!DOCTYPE html>
 <html>
 <head>
@@ -1373,90 +1373,90 @@ void cgi_function_intro(Cgi cgi) {
     conf.http_host,
    );
   }
-  {
-    table = format(q"┃
- <table summary="band" border="0" cellpadding="2" cellspacing="0">
- <tr><td width="20%%%%">
-  <table summary="home button / home information" border="0" cellpadding="2" cellspacing="0">
-  <tr><td align="left">
-   %s
-  </td></tr>
-  </table>
- </td>
- <td>
+ {
+   table = format(q"┃
+<table summary="band" border="0" cellpadding="2" cellspacing="0">
+<tr><td width="20%%%%">
+ <table summary="home button / home information" border="0" cellpadding="2" cellspacing="0">
+ <tr><td align="left">
+  %s
  </td></tr>
  </table>
- ┃");
-  }
-  {
-    string post_value(string field_name, string type="box", string set="on") {
-      string val = "";
-      switch (type) {
-      case "field":
-        val = ((field_name in cgi.post && !(cgi.post[field_name]).empty)
-          ? cgi.post[field_name]
-          : (field_name in cgi.get)
-            ? cgi.get[field_name]
-            : "");
-        val = tf.search_text_area;
-        break;
-      case "box": // generic for checkbox or radio; checkbox set == "on" radio set == "name set"
-        val = ((field_name in cgi.post && !(cgi.post[field_name]).empty)
-          ? (cgi.post[field_name]  == set ? "checked" : "off")
-          : (field_name in cgi.get)
-            ? (cgi.get[field_name] == set ? "checked" : "off")
-            :                               "off");
-        break;
-      case "radio": // used generic bo
-        val = ((field_name in cgi.post && !(cgi.post[field_name]).empty)
-          ? (cgi.post[field_name]  == set ? "checked" : "off")
-          : (field_name in cgi.get)
-            ? (cgi.get[field_name] == set ? "checked" : "off")
-            :                               "checked");
-        break;
-      case "checkbox": // used generic bo
-        val = ((field_name in cgi.post && !(cgi.post[field_name]).empty)
-          ? (cgi.post[field_name]  == set ? "checked" : "off")
-          : (field_name in cgi.get)
-            ? (cgi.get[field_name] == set ? "checked" : "off")
-            :                               "checked");
-        break;
-      default:
-      }
-      return val;
+</td>
+<td>
+</td></tr>
+</table>
+┃");
+ }
+{
+  string post_value(string field_name, string type="box", string set="on") {
+    string val = "";
+    switch (type) {
+    case "field":
+      val = ((field_name in cgi.post && !(cgi.post[field_name]).empty)
+        ? cgi.post[field_name]
+        : (field_name in cgi.get)
+          ? cgi.get[field_name]
+          : "");
+      val = tf.search_text_area;
+      break;
+    case "box": // generic for checkbox or radio; checkbox set == "on" radio set == "name set"
+      val = ((field_name in cgi.post && !(cgi.post[field_name]).empty)
+        ? (cgi.post[field_name]  == set ? "checked" : "off")
+        : (field_name in cgi.get)
+          ? (cgi.get[field_name] == set ? "checked" : "off")
+          :                               "off");
+      break;
+    case "radio": // used generic bo
+      val = ((field_name in cgi.post && !(cgi.post[field_name]).empty)
+        ? (cgi.post[field_name]  == set ? "checked" : "off")
+        : (field_name in cgi.get)
+          ? (cgi.get[field_name] == set ? "checked" : "off")
+          :                               "checked");
+      break;
+    case "checkbox": // used generic bo
+      val = ((field_name in cgi.post && !(cgi.post[field_name]).empty)
+        ? (cgi.post[field_name]  == set ? "checked" : "off")
+        : (field_name in cgi.get)
+          ? (cgi.get[field_name] == set ? "checked" : "off")
+          :                               "checked");
+      break;
+    default:
     }
-    string the_can(string fv) {
-      string show_the_can = post_value("url");
-      string _the_can = "";
-      if (show_the_can == "checked") {
-        tf = text_fields;
-        string method_get_url            = conf.http_request_type ~ "://" ~ conf.http_host ~ conf.cgi_script ~ "?" ~ environment.get("QUERY_STRING", "");
-        string method_post_url_construct = conf.http_request_type ~ "://" ~ conf.http_host ~ conf.cgi_script ~ "?" ~ tf.canned_query;
-        // assert(method_get_url == environment.get("HTTP_REFERER", conf.http_request_type ~ "://" ~ conf.http_host ~ conf.cgi_script ~ "?" ~ conf.query_string));
-        if (conf.request_method == "POST") {
-          _the_can =
-            "<font size=\"2\" color=\"#666666\">"
-            ~ "POST:&nbsp;"
-            ~ "<a href=\""
-            ~ method_post_url_construct
-            ~ "\">"
-            ~ method_post_url_construct
-            ~ "</a></font>"
-            ~ "<br>";
-        } else if (conf.request_method == "GET") {
-          _the_can =
-            "<font size=\"2\" color=\"#666666\">"
-            ~ "GET:&nbsp;&nbsp;"
-            ~ "<a href=\""
-            ~ method_get_url
-            ~ "\">"
-            ~ method_get_url
-            ~ "</a></font>";
-        }
-        conf.http_url = conf.http_request_type ~ "://" ~ conf.http_host ~ conf.cgi_script ~ tf.canned_query;
-      }
-      return _the_can;
+    return val;
+  }
+string the_can(string fv) {
+  string show_the_can = post_value("url");
+  string _the_can = "";
+  if (show_the_can == "checked") {
+    tf = text_fields;
+    string method_get_url            = conf.http_request_type ~ "://" ~ conf.http_host ~ conf.cgi_script ~ "?" ~ environment.get("QUERY_STRING", "");
+    string method_post_url_construct = conf.http_request_type ~ "://" ~ conf.http_host ~ conf.cgi_script ~ "?" ~ tf.canned_query;
+    // assert(method_get_url == environment.get("HTTP_REFERER", conf.http_request_type ~ "://" ~ conf.http_host ~ conf.cgi_script ~ "?" ~ conf.query_string));
+    if (conf.request_method == "POST") {
+      _the_can =
+        "<font size=\"2\" color=\"#666666\">"
+        ~ "POST:&nbsp;"
+        ~ "<a href=\""
+        ~ method_post_url_construct
+        ~ "\">"
+        ~ method_post_url_construct
+        ~ "</a></font>"
+        ~ "<br>";
+    } else if (conf.request_method == "GET") {
+      _the_can =
+        "<font size=\"2\" color=\"#666666\">"
+        ~ "GET:&nbsp;&nbsp;"
+        ~ "<a href=\""
+        ~ method_get_url
+        ~ "\">"
+        ~ method_get_url
+        ~ "</a></font>";
     }
+    conf.http_url = conf.http_request_type ~ "://" ~ conf.http_host ~ conf.cgi_script ~ tf.canned_query;
+  }
+  return _the_can;
+}
     string provide_tip() {
       string searched_tip = post_value("se");
       string tip = "";
@@ -1520,55 +1520,55 @@ void cgi_function_intro(Cgi cgi) {
 </form>
 ┃",
       "%s",
-      (post_value("ec") == "checked") ? post_value("sf", "field") : "",
-      provide_tip,
-      search_note,
-      the_can(post_value("sf", "field")),
-      cv.db_selected,
-      post_value("rt",  "box", "idx"),
-      post_value("rt",  "box", "txt"),
-      post_value("sml", "box", "1000"),
-      post_value("sml", "box", "2500"),
-      post_value("ec"),
-      post_value("url"),
-      post_value("se"),
-      post_value("sql"),
-    );
-    {
-      string set_value(string field_name, string default_val) {
-        string val;
-        if (field_name in cgi.post) {
-          val = cgi.post[field_name];
-        } else if (field_name in cgi.get) {
-          val = cgi.get[field_name];
-        } else { val = default_val; }
-        return val;
-      }
-      bool set_bool(string field_name) {
-        bool val;
-        if (field_name in cgi.post
-        && cgi.post[field_name] == "on") {
-          val = true;
-        } else if (field_name in cgi.get
-        && cgi.get[field_name] == "on") {
-          val = true;
-        } else { val = false; }
-        return val;
-      }
-      cv.db_selected      = set_value("selected_db", "%s"); // selected_db_name == db (spine.search.db or whatever)
-      cv.sql_match_limit  = set_value("sml",         "1000");
-      cv.sql_match_offset = set_value("smo",         "0");
-      cv.search_text      = set_value("sf",          "");
-      cv.results_type     = set_value("rt",          "idx");
-      cv.checked_echo     = set_bool("ec");
-      cv.checked_stats    = set_bool("sts");
-      cv.checked_url      = set_bool("url");
-      cv.checked_searched = set_bool("se");
-      cv.checked_tip      = set_bool("tip");
-      cv.checked_sql      = set_bool("sql");
-      tf = text_fields;
+  (post_value("ec") == "checked") ? post_value("sf", "field") : "",
+  provide_tip,
+  search_note,
+  the_can(post_value("sf", "field")),
+  cv.db_selected,
+  post_value("rt",  "box", "idx"),
+  post_value("rt",  "box", "txt"),
+  post_value("sml", "box", "1000"),
+  post_value("sml", "box", "2500"),
+  post_value("ec"),
+  post_value("url"),
+  post_value("se"),
+  post_value("sql"),
+);
+  {
+    string set_value(string field_name, string default_val) {
+      string val;
+      if (field_name in cgi.post) {
+        val = cgi.post[field_name];
+      } else if (field_name in cgi.get) {
+        val = cgi.get[field_name];
+      } else { val = default_val; }
+      return val;
     }
+    bool set_bool(string field_name) {
+      bool val;
+      if (field_name in cgi.post
+      && cgi.post[field_name] == "on") {
+        val = true;
+      } else if (field_name in cgi.get
+      && cgi.get[field_name] == "on") {
+        val = true;
+      } else { val = false; }
+      return val;
+    }
+    cv.db_selected      = set_value("selected_db", "%s"); // selected_db_name == db (spine.search.db or whatever)
+    cv.sql_match_limit  = set_value("sml",         "1000");
+    cv.sql_match_offset = set_value("smo",         "0");
+    cv.search_text      = set_value("sf",          "");
+    cv.results_type     = set_value("rt",          "idx");
+    cv.checked_echo     = set_bool("ec");
+    cv.checked_stats    = set_bool("sts");
+    cv.checked_url      = set_bool("url");
+    cv.checked_searched = set_bool("se");
+    cv.checked_tip      = set_bool("tip");
+    cv.checked_sql      = set_bool("sql");
+    tf = text_fields;
   }
+}
   {
     cgi.write(header);
     cgi.write(table);
@@ -1709,113 +1709,113 @@ LIMIT %%s OFFSET %%s
         cv.sql_match_limit,
         cv.sql_match_offset,
       );
-      (cv.checked_sql)
-      ? cgi.write(previous_next
-          ~ "<hr><font size=\"2\" color=\"#666666\">"
-          ~ sql_select.the_body.strip.split("\n  ").join(" ").split("\n").join("<br>")
-          ~ "</font>\n"
-        )
-      : "";
-      cgi.write(previous_next);
-      auto select_query_results = db.execute(sql_select.the_body).cached;
-      string _old_uid = "";
-      if (!select_query_results.empty) {
-        string _date_published = "0000";
-        string _close_para = "";
-        string _matched_ocn_open = "";
-        foreach (idx, row; select_query_results) {
-          if (row["uid"].as!string != _old_uid) {
-            _close_para = (idx == 1) ? "" : "</p>";
-            _matched_ocn_open = (idx == 1) ? "" : "<p class=\"matched_ocn\">";
-            _old_uid = row["uid"].as!string;
-            _date_published = (row["date_published"].as!string.match(regex(r"^([0-9]{4})")))
-            ? row["date_published"].as!string : "0000"; // used in regex that breaks if no match
-            auto m = _date_published.match(regex(r"^([0-9]{4})"));
-            string _date = (m.hit == "0000") ? "(year?) " : "(" ~ m.hit ~ ") ";
-            cgi.write(
-              _close_para
-              ~ "<hr><div class=\"publication\">"
-                ~ "<p class=\"publication\"><a href=\""
-                  ~ "https://" ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/"
-                  ~ row["language_document_char"].as!string ~ "/html/"
-                  ~ row["src_filename_base"].as!string ~ "/"
-                  ~ "toc.html"
-                ~ "\">\""
-                  ~ row["title"].as!string ~ "\""
-                ~ "</a> "
-                ~ _date
-                ~ "[" ~ row["language_document_char"].as!string ~ "] "
-                ~ row["creator_author_last_first"].as!string
-                ~ " "
-                ~ show_matched_objects(row["src_filename_base"].as!string)
-                ~ "</p>"
-              ~ "</div>"
-            );
-          }
-          if (cv.results_type == "txt") {
-            if (row["ocn"].as!string != "0") {
-              cgi.write(
-                "<div class=\"flex-container\">"
-                ~ "<div class=\"textview_ocn\" style=\"flex: 0 0 1.2em\">"
-                  ~ "<p class=\"ocn_is\"><a href=\""
-                    ~ "https://" ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/"
-                    ~ row["language_document_char"].as!string ~ "/html/"
-                    ~ row["src_filename_base"].as!string ~ "/"
-                    ~ row["seg_name"].as!string ~ ".html#" ~ row["ocn"].as!string
-                  ~ "\">"
-                    ~ row["ocn"].as!string
-                  ~ "</a>:</p>"
-                ~ "</div>"
-                ~ "<div class=\"textview_found\">"
-                  ~ highlight_text_matched(row["body"].as!string, tf.text)
-                ~ "</div>"
-                ~ "</div>"
-              );
-            } else {
-              cgi.write(
-                "<div class=\"flex-container\">"
-                ~ "<div class=\"textview_ocn\" style=\"flex: 0 0 1.2em\">"
-                  ~ "<p class=\"ocn_is\"><a href=\""
-                    ~ "https://" ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/"
-                    ~ row["language_document_char"].as!string ~ "/html/"
-                    ~ row["src_filename_base"].as!string ~ "/toc.html"
-                  ~ "\">"
-                    ~ row["ocn"].as!string
-                  ~ "</a>:</p>"
-                ~ "</div>"
-                ~ "<div class=\"textview_found\">"
-                  ~ highlight_text_matched(row["body"].as!string, tf.text)
-                ~ "</div>"
-                ~ "</div>"
-              );
-            }
-          } else {
-            if (row["ocn"].as!string != "0") {
-              cgi.write(
-                _matched_ocn_open
-                ~ "<a href=\""
-                  ~ "https://" ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/"
-                  ~ row["language_document_char"].as!string ~ "/html/"
-                  ~ row["src_filename_base"].as!string ~ "/"
-                  ~ row["seg_name"].as!string ~ ".html#" ~ row["ocn"].as!string
-                ~ "\">"
-                  ~ row["ocn"].as!string
-                ~ "</a>, "
-              );
-            } else {
-              cgi.write(
-                _matched_ocn_open
-                ~ "<a href=\""
-                  ~ "https://" ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/"
-                  ~ row["language_document_char"].as!string ~ "/html/"
-                  ~ row["src_filename_base"].as!string ~ "/toc.html"
-                ~ "\">"
-                  ~ row["ocn"].as!string
-                ~ "</a>, "
-              );
-            }
-            _matched_ocn_open = "";
-          }
+(cv.checked_sql)
+? cgi.write(previous_next
+    ~ "<hr><font size=\"2\" color=\"#666666\">"
+    ~ sql_select.the_body.strip.split("\n  ").join(" ").split("\n").join("<br>")
+    ~ "</font>\n"
+  )
+: "";
+cgi.write(previous_next);
+auto select_query_results = db.execute(sql_select.the_body).cached;
+string _old_uid = "";
+if (!select_query_results.empty) {
+  string _date_published = "0000";
+  string _close_para = "";
+  string _matched_ocn_open = "";
+  foreach (idx, row; select_query_results) {
+    if (row["uid"].as!string != _old_uid) {
+      _close_para = (idx == 1) ? "" : "</p>";
+      _matched_ocn_open = (idx == 1) ? "" : "<p class=\"matched_ocn\">";
+      _old_uid = row["uid"].as!string;
+      _date_published = (row["date_published"].as!string.match(regex(r"^([0-9]{4})")))
+      ? row["date_published"].as!string : "0000"; // used in regex that breaks if no match
+      auto m = _date_published.match(regex(r"^([0-9]{4})"));
+      string _date = (m.hit == "0000") ? "(year?) " : "(" ~ m.hit ~ ") ";
+      cgi.write(
+        _close_para
+        ~ "<hr><div class=\"publication\">"
+          ~ "<p class=\"publication\"><a href=\""
+            ~ "https://" ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/"
+            ~ row["language_document_char"].as!string ~ "/html/"
+            ~ row["src_filename_base"].as!string ~ "/"
+            ~ "toc.html"
+          ~ "\">\""
+            ~ row["title"].as!string ~ "\""
+          ~ "</a> "
+          ~ _date
+          ~ "[" ~ row["language_document_char"].as!string ~ "] "
+          ~ row["creator_author_last_first"].as!string
+          ~ " "
+          ~ show_matched_objects(row["src_filename_base"].as!string)
+          ~ "</p>"
+        ~ "</div>"
+      );
+    }
+if (cv.results_type == "txt") {
+  if (row["ocn"].as!string != "0") {
+    cgi.write(
+      "<div class=\"flex-container\">"
+      ~ "<div class=\"textview_ocn\" style=\"flex: 0 0 1.2em\">"
+        ~ "<p class=\"ocn_is\"><a href=\""
+          ~ "https://" ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/"
+          ~ row["language_document_char"].as!string ~ "/html/"
+          ~ row["src_filename_base"].as!string ~ "/"
+          ~ row["seg_name"].as!string ~ ".html#" ~ row["ocn"].as!string
+        ~ "\">"
+          ~ row["ocn"].as!string
+        ~ "</a>:</p>"
+      ~ "</div>"
+      ~ "<div class=\"textview_found\">"
+        ~ highlight_text_matched(row["body"].as!string, tf.text)
+      ~ "</div>"
+      ~ "</div>"
+    );
+  } else {
+    cgi.write(
+      "<div class=\"flex-container\">"
+      ~ "<div class=\"textview_ocn\" style=\"flex: 0 0 1.2em\">"
+        ~ "<p class=\"ocn_is\"><a href=\""
+          ~ "https://" ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/"
+          ~ row["language_document_char"].as!string ~ "/html/"
+          ~ row["src_filename_base"].as!string ~ "/toc.html"
+        ~ "\">"
+          ~ row["ocn"].as!string
+        ~ "</a>:</p>"
+      ~ "</div>"
+      ~ "<div class=\"textview_found\">"
+        ~ highlight_text_matched(row["body"].as!string, tf.text)
+      ~ "</div>"
+      ~ "</div>"
+    );
+  }
+} else {
+  if (row["ocn"].as!string != "0") {
+    cgi.write(
+      _matched_ocn_open
+      ~ "<a href=\""
+        ~ "https://" ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/"
+        ~ row["language_document_char"].as!string ~ "/html/"
+        ~ row["src_filename_base"].as!string ~ "/"
+        ~ row["seg_name"].as!string ~ ".html#" ~ row["ocn"].as!string
+      ~ "\">"
+        ~ row["ocn"].as!string
+      ~ "</a>, "
+    );
+  } else {
+    cgi.write(
+      _matched_ocn_open
+      ~ "<a href=\""
+        ~ "https://" ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/"
+        ~ row["language_document_char"].as!string ~ "/html/"
+        ~ row["src_filename_base"].as!string ~ "/toc.html"
+      ~ "\">"
+        ~ row["ocn"].as!string
+      ~ "</a>, "
+    );
+  }
+  _matched_ocn_open = "";
+}
         }
         cgi.write( previous_next);
 
diff --git a/src/doc_reform/io_out/create_zip_file.d b/src/doc_reform/io_out/create_zip_file.d
index ac9628d..a4b2d79 100644
--- a/src/doc_reform/io_out/create_zip_file.d
+++ b/src/doc_reform/io_out/create_zip_file.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/io_out/defaults.d b/src/doc_reform/io_out/defaults.d
index 57ac30e..c2c9991 100644
--- a/src/doc_reform/io_out/defaults.d
+++ b/src/doc_reform/io_out/defaults.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/io_out/epub3.d b/src/doc_reform/io_out/epub3.d
index b38fe3e..07bd8ed 100644
--- a/src/doc_reform/io_out/epub3.d
+++ b/src/doc_reform/io_out/epub3.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
@@ -413,9 +413,9 @@ template outputEPub3() {
       string[] doc_parts;
     }
     auto epubWrite = writeOut();
-    foreach (part; doc_matters.has.keys_seq.seg) {
-      foreach (obj; doc_abstraction[part]) {
-        string _txt = xhtml_format.special_characters(obj);
+  foreach (part; doc_matters.has.keys_seq.seg) {
+    foreach (obj; doc_abstraction[part]) {
+      string _txt = xhtml_format.special_characters(obj);
         if (obj.metainfo.is_a == "heading") {
           assert(part == "head" || "toc" || "body" || "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb" || "tail");
           switch (obj.metainfo.heading_lev_markup) {
diff --git a/src/doc_reform/io_out/html.d b/src/doc_reform/io_out/html.d
index 5c55bd7..7e5f51f 100644
--- a/src/doc_reform/io_out/html.d
+++ b/src/doc_reform/io_out/html.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
@@ -560,7 +560,7 @@ template outputHTML() {
     M    doc_matters,
   ) {
     { /+ (copy html images) +/
-
+  
       auto pth_html = spinePathsHTML!()(doc_matters.output_path, doc_matters.src.language);
       if (!exists(pth_html.image)) {
         pth_html.image.mkdirRecurse;
diff --git a/src/doc_reform/io_out/hub.d b/src/doc_reform/io_out/hub.d
index 4188d6e..a644b66 100644
--- a/src/doc_reform/io_out/hub.d
+++ b/src/doc_reform/io_out/hub.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/io_out/latex.d b/src/doc_reform/io_out/latex.d
index 811f32e..117b3e7 100644
--- a/src/doc_reform/io_out/latex.d
+++ b/src/doc_reform/io_out/latex.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
@@ -62,166 +62,166 @@ template outputLaTeX() {
   static auto rgx = RgxO();
   mixin spineLanguageCodes;
   auto lang = Lang();
-      auto paper() {
-        struct PaperType {
-          @safe auto a4() {
-            struct A4 {
-              auto portrait() {
-                struct V {
-                  const uint   w            = 160;
-                  const uint   h            = 228;
-                  string       width        = format(q"┃%dmm┃", w);
-                  string       height       = format(q"┃%dmm┃", h);
-                  string       font_size    = "12pt";
-                  string       name         = "a4paper";
-                  uint         img_px       = 450;
-                  bool         is_portrait  = true;
-                }
-                return V();
-              }
-              auto landscape() {
-                struct H {
-                  const uint   w            = 238;
-                  const uint   h            = 160;
-                  string       width        = format(q"┃%dmm┃", w);
-                  string       height       = format(q"┃%dmm┃", h);
-                  string       font_size    = "11pt";
-                  string       name         = "a4paper";
-                  uint         img_px       = 300;
-                  bool         is_portrait  = false;
-                }
-                return H();
-              }
+  auto paper() {
+    struct PaperType {
+      @safe auto a4() {
+        struct A4 {
+          auto portrait() {
+            struct V {
+              const uint   w            = 160;
+              const uint   h            = 228;
+              string       width        = format(q"┃%dmm┃", w);
+              string       height       = format(q"┃%dmm┃", h);
+              string       font_size    = "12pt";
+              string       name         = "a4paper";
+              uint         img_px       = 450;
+              bool         is_portrait  = true;
             }
-            return A4();
+            return V();
           }
-          @safe auto a5() {
-            struct A5 {
-              auto portrait() {
-                struct V {
-                  const uint   w           = 112;
-                  const uint   h           = 162;
-                  string       width       = format(q"┃%dmm┃", w);
-                  string       height      = format(q"┃%dmm┃", h);
-                  string       font_size   = "0pt";
-                  string       name        = "a5paper";
-                  uint         img_px      = 280;
-                  bool         is_portrait = true;
-                }
-                return V();
-              }
-              auto landscape() {
-                struct H {
-                  const uint   w            = 152;
-                  const uint   h            = 100;
-                  string       width        = format(q"┃%dmm┃", w);
-                  string       height       = format(q"┃%dmm┃", h);
-                  string       font_size    = "0pt";
-                  string       name         = "a5paper";
-                  uint         img_px       = 190;
-                  bool         is_portrait  = false;
-                }
-                return H();
-              }
+          auto landscape() {
+            struct H {
+              const uint   w            = 238;
+              const uint   h            = 160;
+              string       width        = format(q"┃%dmm┃", w);
+              string       height       = format(q"┃%dmm┃", h);
+              string       font_size    = "11pt";
+              string       name         = "a4paper";
+              uint         img_px       = 300;
+              bool         is_portrait  = false;
             }
-            return A5();
+            return H();
           }
-          @safe auto b4() {
-            struct B4 {
-              auto portrait() {
-                struct V {
-                  const uint   w            = 140;
-                  const uint   h            = 204;
-                  string       width        = format(q"┃%dmm┃", w);
-                  string       height       = format(q"┃%dmm┃", h);
-                  string       font_size    = "0pt";
-                  string       name         = "b4paper";
-                  uint         img_px       = 356;
-                  bool         is_portrait  = true;
-                }
-                return V();
-              }
-              auto landscape() {
-                struct H {
-                  const uint   w            = 200;
-                  const uint   h            = 130;
-                  string       width        = format(q"┃%dmm┃", w);
-                  string       height       = format(q"┃%dmm┃", h);
-                  string       font_size    = "0pt";
-                  string       name         = "b4paper";
-                  uint         img_px       = 260;
-                  bool         is_portrait  = false;
-                }
-                return H();
-              }
+        }
+        return A4();
+      }
+      @safe auto a5() {
+        struct A5 {
+          auto portrait() {
+            struct V {
+              const uint   w           = 112;
+              const uint   h           = 162;
+              string       width       = format(q"┃%dmm┃", w);
+              string       height      = format(q"┃%dmm┃", h);
+              string       font_size   = "0pt";
+              string       name        = "a5paper";
+              uint         img_px      = 280;
+              bool         is_portrait = true;
             }
-            return B4();
+            return V();
           }
-          @safe auto letter() {
-            struct Letter {
-              auto portrait() {
-                struct V {
-                  const uint   w            = 166;
-                  const uint   h            = 212;
-                  string       width        = format(q"┃%dmm┃", w);
-                  string       height       = format(q"┃%dmm┃", h);
-                  string       font_size    = "0pt";
-                  string       name         = "letterpaper";
-                  uint         img_px       = 468;
-                  bool         is_portrait  = true;
-                }
-                return V();
-              }
-              auto landscape() {
-                struct H {
-                  const uint   w            = 226;
-                  const uint   h            = 166;
-                  string       width        = format(q"┃%dmm┃", w);
-                  string       height       = format(q"┃%dmm┃", h);
-                  string       font_size    = "0pt";
-                  string       name         = "letterpaper";
-                  uint         img_px       = 290;
-                  bool         is_portrait  = false;
-                }
-                return H();
-              }
+          auto landscape() {
+            struct H {
+              const uint   w            = 152;
+              const uint   h            = 100;
+              string       width        = format(q"┃%dmm┃", w);
+              string       height       = format(q"┃%dmm┃", h);
+              string       font_size    = "0pt";
+              string       name         = "a5paper";
+              uint         img_px       = 190;
+              bool         is_portrait  = false;
             }
-            return Letter();
+            return H();
           }
-          @safe auto legal() {
-            struct Legal {
-              auto portrait() {
-                struct V {
-                  const uint   w            = 168;
-                  const uint   h            = 286;
-                  string       width        = format(q"┃%dmm┃", w);
-                  string       height       = format(q"┃%dmm┃", h);
-                  string       font_size    = "0pt";
-                  string       name         = "legalpaper";
-                  uint         img_px       = 474;
-                  bool         is_portrait  = true;
-                }
-                return V();
-              }
-              auto landscape() {
-                struct H {
-                  const uint   w            = 296;
-                  const uint   h            = 166;
-                  string       width        = format(q"┃%dmm┃", w);
-                  string       height       = format(q"┃%dmm┃", h);
-                  string       font_size    = "0pt";
-                  string       name         = "legalpaper";
-                  uint         img_px       = 420;
-                  bool         is_portrait  = false;
-                }
-                return H();
-              }
+        }
+        return A5();
+      }
+      @safe auto b4() {
+        struct B4 {
+          auto portrait() {
+            struct V {
+              const uint   w            = 140;
+              const uint   h            = 204;
+              string       width        = format(q"┃%dmm┃", w);
+              string       height       = format(q"┃%dmm┃", h);
+              string       font_size    = "0pt";
+              string       name         = "b4paper";
+              uint         img_px       = 356;
+              bool         is_portrait  = true;
+            }
+            return V();
+          }
+          auto landscape() {
+            struct H {
+              const uint   w            = 200;
+              const uint   h            = 130;
+              string       width        = format(q"┃%dmm┃", w);
+              string       height       = format(q"┃%dmm┃", h);
+              string       font_size    = "0pt";
+              string       name         = "b4paper";
+              uint         img_px       = 260;
+              bool         is_portrait  = false;
+            }
+            return H();
+          }
+        }
+        return B4();
+      }
+      @safe auto letter() {
+        struct Letter {
+          auto portrait() {
+            struct V {
+              const uint   w            = 166;
+              const uint   h            = 212;
+              string       width        = format(q"┃%dmm┃", w);
+              string       height       = format(q"┃%dmm┃", h);
+              string       font_size    = "0pt";
+              string       name         = "letterpaper";
+              uint         img_px       = 468;
+              bool         is_portrait  = true;
+            }
+            return V();
+          }
+          auto landscape() {
+            struct H {
+              const uint   w            = 226;
+              const uint   h            = 166;
+              string       width        = format(q"┃%dmm┃", w);
+              string       height       = format(q"┃%dmm┃", h);
+              string       font_size    = "0pt";
+              string       name         = "letterpaper";
+              uint         img_px       = 290;
+              bool         is_portrait  = false;
             }
-            return Legal();
+            return H();
           }
         }
-        return PaperType();
+        return Letter();
       }
+      @safe auto legal() {
+        struct Legal {
+          auto portrait() {
+            struct V {
+              const uint   w            = 168;
+              const uint   h            = 286;
+              string       width        = format(q"┃%dmm┃", w);
+              string       height       = format(q"┃%dmm┃", h);
+              string       font_size    = "0pt";
+              string       name         = "legalpaper";
+              uint         img_px       = 474;
+              bool         is_portrait  = true;
+            }
+            return V();
+          }
+          auto landscape() {
+            struct H {
+              const uint   w            = 296;
+              const uint   h            = 166;
+              string       width        = format(q"┃%dmm┃", w);
+              string       height       = format(q"┃%dmm┃", h);
+              string       font_size    = "0pt";
+              string       name         = "legalpaper";
+              uint         img_px       = 420;
+              bool         is_portrait  = false;
+            }
+            return H();
+          }
+        }
+        return Legal();
+      }
+    }
+    return PaperType();
+  }
   @safe string sp_char_esc(O)(
     string      _txt,
     const    O  obj,
@@ -789,19 +789,19 @@ string table(O,M)(
     M      doc_matters,
     string paper_size_orientation,
   ) {
-    struct paperTypeLatex {
-      string a4_portrait;
-      string a4_landscape;
-      string a5_portrait;
-      string a5_landscape;
-      string b4_portrait;
-      string b4_landscape;
-      string us_letter_portrait;
-      string us_letter_landscape;
-      string us_legal_portrait;
-      string us_legal_landscape;
-    }
-    auto paper_type_latex           = paperTypeLatex();
+  struct paperTypeLatex {
+    string a4_portrait;
+    string a4_landscape;
+    string a5_portrait;
+    string a5_landscape;
+    string b4_portrait;
+    string b4_landscape;
+    string us_letter_portrait;
+    string us_letter_landscape;
+    string us_legal_portrait;
+    string us_legal_landscape;
+  }
+  auto paper_type_latex           = paperTypeLatex();
     string _footer(M)(M doc_matters) {
       string _ft = "\\lfoot[\\textrm{\\thepage}]";
       string _ft_1 = format(q"┃{\tiny \href{%s}{%s}}┃", "https://sisudoc.org", "SiSU",);
@@ -830,39 +830,39 @@ string table(O,M)(
       }
       return _ft;
     }
-  struct paperMargins {
-    string portrait;
-    string landscape;
-  }
-  auto margins           = paperMargins();
-  margins.portrait    = format(q"┃
+struct paperMargins {
+  string portrait;
+  string landscape;
+}
+auto margins           = paperMargins();
+margins.portrait    = format(q"┃
 \setlength{\oddsidemargin}{0mm} \setlength{\evensidemargin}{0mm}
 \setlength{\topmargin}{-12pt} \setlength{\headheight}{12pt}
 \setlength{\headsep}{35pt}
 ┃",
   );
-  margins.landscape    = format(q"┃
+margins.landscape    = format(q"┃
 \setlength{\oddsidemargin}{6mm} \setlength{\evensidemargin}{6mm}
 \setlength{\topmargin}{-12mm} \setlength{\headheight}{12pt}
 \setlength{\headsep}{20pt}
 ┃",
   );
-  struct columnsMulti {
-    string portrait;
-    string landscape;
-  }
-  auto multicol           = columnsMulti();
-  multicol.portrait    = format(q"┃
+struct columnsMulti {
+  string portrait;
+  string landscape;
+}
+auto multicol           = columnsMulti();
+multicol.portrait    = format(q"┃
 \usepackage{multicol}
 ┃",
   );
-  multicol.landscape    = "";
-  struct colorLinks {
-    string mono;
-    string color;
-  }
-  auto links           = colorLinks();
-  links.mono    = format(q"┃
+multicol.landscape    = "";
+struct colorLinks {
+  string mono;
+  string color;
+}
+auto links           = colorLinks();
+links.mono    = format(q"┃
 \usepackage[xetex,
   colorlinks=true,
   urlcolor=myblack,
@@ -870,7 +870,7 @@ string table(O,M)(
   linkcolor=myblack,
 ┃",
   );
-  links.color    = format(q"┃
+links.color    = format(q"┃
 \usepackage[xetex,
   colorlinks=true,
   urlcolor=myblue,    %% \href{...}{...}   external url
@@ -1271,25 +1271,25 @@ string table(O,M)(
           default: break;
           }
           break;
-        case "comment":
-          break;
-        default:
-          { /+ debug +/
-            if (doc_matters.opt.action.debug_do
-            && doc_matters.opt.action.verbose) {
-              writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_of_part);
-              writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_a);
-              writeln(__FILE__, ":", __LINE__, ": ", obj.text);
-            }
+      case "comment":
+        break;
+      default:
+        { /+ debug +/
+          if (doc_matters.opt.action.debug_do
+          && doc_matters.opt.action.verbose) {
+            writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_of_part);
+            writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_a);
+            writeln(__FILE__, ":", __LINE__, ": ", obj.text);
           }
-          break;
         }
+        break;
       }
     }
-    if (_multicolumns) {
-      _multicolumns = false;
-      _latex_body ~= "\n\\end{multicols}\n";
-    }
+  }
+  if (_multicolumns) {
+    _multicolumns = false;
+    _latex_body ~= "\n\\end{multicols}\n";
+  }
     return _latex_body;
   }
   string latex_tail(M)(
diff --git a/src/doc_reform/io_out/metadata.d b/src/doc_reform/io_out/metadata.d
index 89e82bd..84bb842 100644
--- a/src/doc_reform/io_out/metadata.d
+++ b/src/doc_reform/io_out/metadata.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/io_out/odt.d b/src/doc_reform/io_out/odt.d
index e23e409..5183342 100644
--- a/src/doc_reform/io_out/odt.d
+++ b/src/doc_reform/io_out/odt.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
@@ -658,78 +658,78 @@ template outputODT() {
   // mixin outputXmlODT;
   @safe string odt_head(I)(I doc_matters) {
     string _has_tables = format(q"┃
-    <style:style style:name="Table1" style:family="table">
-      <style:table-properties style:width="16.999cm" table:align="margins"/>
-    </style:style>
-    <style:style style:name="Table1.A" style:family="table-column">
-      <style:table-column-properties style:column-width="16.999cm" style:rel-column-width="65535*"/>
-    </style:style>
-    <style:style style:name="Table1.B" style:family="table-column">
-      <style:table-column-properties style:column-width="8.499cm" style:rel-column-width="32767*"/>
-    </style:style>
-    <style:style style:name="Table1.C" style:family="table-column">
-      <style:table-column-properties style:column-width="5.666cm" style:rel-column-width="21845*"/>
-    </style:style>
-    <style:style style:name="Table1.D" style:family="table-column">
-      <style:table-column-properties style:column-width="4.349cm" style:rel-column-width="16383*"/>
-    </style:style>
-    <style:style style:name="Table1.E" style:family="table-column">
-      <style:table-column-properties style:column-width="3.399cm" style:rel-column-width="13107*"/>
-    </style:style>
-    <style:style style:name="Table1.F" style:family="table-column">
-      <style:table-column-properties style:column-width="2.833cm" style:rel-column-width="10922*"/>
-    </style:style>
-    <style:style style:name="Table1.G" style:family="table-column">
-      <style:table-column-properties style:column-width="2.428cm" style:rel-column-width="9362*"/>
-    </style:style>
-    <style:style style:name="Table1.H" style:family="table-column">
-      <style:table-column-properties style:column-width="2.124cm" style:rel-column-width="8191*"/>
-    </style:style>
-    <style:style style:name="Table2" style:family="table">
-      <style:table-properties style:width="16.999cm" table:align="margins"/>
-    </style:style>
-    <style:style style:name="Table2.A" style:family="table-column">
-      <style:table-column-properties style:column-width="16.999cm" style:rel-column-width="65535*"/>
-    </style:style>
-    <style:style style:name="Table2.B" style:family="table-column">
-      <style:table-column-properties style:column-width="8.499cm" style:rel-column-width="32767*"/>
-    </style:style>
-    <style:style style:name="Table2.C" style:family="table-column">
-      <style:table-column-properties style:column-width="5.666cm" style:rel-column-width="21845*"/>
-    </style:style>
-    <style:style style:name="Table2.D" style:family="table-column">
-      <style:table-column-properties style:column-width="4.349cm" style:rel-column-width="16383*"/>
-    </style:style>
-    <style:style style:name="Table2.E" style:family="table-column">
-      <style:table-column-properties style:column-width="3.999cm" style:rel-column-width="13107*"/>
-    </style:style>
-    <style:style style:name="Table2.F" style:family="table-column">
-      <style:table-column-properties style:column-width="2.833cm" style:rel-column-width="10922*"/>
-    </style:style>
-    <style:style style:name="Table2.G" style:family="table-column">
-      <style:table-column-properties style:column-width="2.428cm" style:rel-column-width="9362*"/>
-    </style:style>
-    <style:style style:name="Table2.H" style:family="table-column">
-      <style:table-column-properties style:column-width="2.124cm" style:rel-column-width="8191*"/>
-    </style:style>
-    <style:style style:name="Table2.I" style:family="table-column">
-      <style:table-column-properties style:column-width="1.8887cm" style:rel-column-width="7281*"/>
-    </style:style>
-    <style:style style:name="Table2.J" style:family="table-column">
-      <style:table-column-properties style:column-width="1.6999cm" style:rel-column-width="6553*"/>
-    </style:style>
-    <style:style style:name="Table2.K" style:family="table-column">
-      <style:table-column-properties style:column-width="1.5453cm" style:rel-column-width="5957*"/>
-    </style:style>
-    <style:style style:name="Table2.L" style:family="table-column">
-      <style:table-column-properties style:column-width="1.416cm" style:rel-column-width="5461*"/>
-    </style:style>
-    <style:style style:name="Table2.M" style:family="table-column">
-      <style:table-column-properties style:column-width="1.307" style:rel-column-width="5041*"/>
-    </style:style>
-    <style:style style:name="Table2.N" style:family="table-column">
-      <style:table-column-properties style:column-width="1.214cm" style:rel-column-width="4681*"/>
-    </style:style>
+  <style:style style:name="Table1" style:family="table">
+    <style:table-properties style:width="16.999cm" table:align="margins"/>
+  </style:style>
+  <style:style style:name="Table1.A" style:family="table-column">
+    <style:table-column-properties style:column-width="16.999cm" style:rel-column-width="65535*"/>
+  </style:style>
+  <style:style style:name="Table1.B" style:family="table-column">
+    <style:table-column-properties style:column-width="8.499cm" style:rel-column-width="32767*"/>
+  </style:style>
+  <style:style style:name="Table1.C" style:family="table-column">
+    <style:table-column-properties style:column-width="5.666cm" style:rel-column-width="21845*"/>
+  </style:style>
+  <style:style style:name="Table1.D" style:family="table-column">
+    <style:table-column-properties style:column-width="4.349cm" style:rel-column-width="16383*"/>
+  </style:style>
+  <style:style style:name="Table1.E" style:family="table-column">
+    <style:table-column-properties style:column-width="3.399cm" style:rel-column-width="13107*"/>
+  </style:style>
+  <style:style style:name="Table1.F" style:family="table-column">
+    <style:table-column-properties style:column-width="2.833cm" style:rel-column-width="10922*"/>
+  </style:style>
+  <style:style style:name="Table1.G" style:family="table-column">
+    <style:table-column-properties style:column-width="2.428cm" style:rel-column-width="9362*"/>
+  </style:style>
+  <style:style style:name="Table1.H" style:family="table-column">
+    <style:table-column-properties style:column-width="2.124cm" style:rel-column-width="8191*"/>
+  </style:style>
+  <style:style style:name="Table2" style:family="table">
+    <style:table-properties style:width="16.999cm" table:align="margins"/>
+  </style:style>
+  <style:style style:name="Table2.A" style:family="table-column">
+    <style:table-column-properties style:column-width="16.999cm" style:rel-column-width="65535*"/>
+  </style:style>
+  <style:style style:name="Table2.B" style:family="table-column">
+    <style:table-column-properties style:column-width="8.499cm" style:rel-column-width="32767*"/>
+  </style:style>
+  <style:style style:name="Table2.C" style:family="table-column">
+    <style:table-column-properties style:column-width="5.666cm" style:rel-column-width="21845*"/>
+  </style:style>
+  <style:style style:name="Table2.D" style:family="table-column">
+    <style:table-column-properties style:column-width="4.349cm" style:rel-column-width="16383*"/>
+  </style:style>
+  <style:style style:name="Table2.E" style:family="table-column">
+    <style:table-column-properties style:column-width="3.999cm" style:rel-column-width="13107*"/>
+  </style:style>
+  <style:style style:name="Table2.F" style:family="table-column">
+    <style:table-column-properties style:column-width="2.833cm" style:rel-column-width="10922*"/>
+  </style:style>
+  <style:style style:name="Table2.G" style:family="table-column">
+    <style:table-column-properties style:column-width="2.428cm" style:rel-column-width="9362*"/>
+  </style:style>
+  <style:style style:name="Table2.H" style:family="table-column">
+    <style:table-column-properties style:column-width="2.124cm" style:rel-column-width="8191*"/>
+  </style:style>
+  <style:style style:name="Table2.I" style:family="table-column">
+    <style:table-column-properties style:column-width="1.8887cm" style:rel-column-width="7281*"/>
+  </style:style>
+  <style:style style:name="Table2.J" style:family="table-column">
+    <style:table-column-properties style:column-width="1.6999cm" style:rel-column-width="6553*"/>
+  </style:style>
+  <style:style style:name="Table2.K" style:family="table-column">
+    <style:table-column-properties style:column-width="1.5453cm" style:rel-column-width="5957*"/>
+  </style:style>
+  <style:style style:name="Table2.L" style:family="table-column">
+    <style:table-column-properties style:column-width="1.416cm" style:rel-column-width="5461*"/>
+  </style:style>
+  <style:style style:name="Table2.M" style:family="table-column">
+    <style:table-column-properties style:column-width="1.307" style:rel-column-width="5041*"/>
+  </style:style>
+  <style:style style:name="Table2.N" style:family="table-column">
+    <style:table-column-properties style:column-width="1.214cm" style:rel-column-width="4681*"/>
+  </style:style>
   ┃",);
     string _odt_head = format(q"┃<?xml version="1.0" encoding="UTF-8"?>
   <office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xl="https://www.w3.org/1999/xlink" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="https://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="https://openoffice.org/2004/office" xmlns:ooow="https://openoffice.org/2004/writer" xmlns:oooc="https://openoffice.org/2004/calc" xmlns:dom="https://www.w3.org/2001/xml-events" xmlns:xforms="https://www.w3.org/2002/xforms" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="https://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="https://www.w3.org/1999/xhtml" xmlns:grddl="https://www.w3.org/2003/g/data-view#" xmlns:tableooo="https://openoffice.org/2009/table" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="https://www.w3.org/TR/css3-text/" office:version="1.2">
@@ -773,123 +773,123 @@ template outputODT() {
     string delimit = "";
     string doc_odt = "";
     string _txt = "";
-    foreach (part; doc_matters.has.keys_seq.scroll) {
-      foreach (obj; doc_abstraction[part]) {
-        switch (obj.metainfo.is_of_part) {
-        case "frontmatter":              assert(part == "head" || "toc");
-          switch (obj.metainfo.is_of_type) {
-          case "para":
-            switch (obj.metainfo.is_a) {
-            case "heading":
-              _txt = delimit ~ odt_format.heading(obj, doc_matters);
-              goto default;
-            case "toc":
-              _txt = odt_format.para(obj, doc_matters);
-              goto default;
-            default:
-              doc_odt ~= _txt;
-              _txt = "";
-              break;
-            }
-            break;
-          default: break;
-          }
-          break;
-        case "body":                     assert(part == "body" || "head"); // surprise
-          switch (obj.metainfo.is_of_type) {
-          case "para":
-            switch (obj.metainfo.is_a) {
-            case "heading":
-              _txt = delimit ~ odt_format.heading(obj, doc_matters);
-              goto default;
-            case "para":
-              _txt = odt_format.para(obj, doc_matters);
-              goto default;
-            default:
-              doc_odt ~= _txt;
-              _txt = "";
-              break;
-            }
-            break;
-          case "block":
-            switch (obj.metainfo.is_a) {
-            case "quote":
-              _txt = odt_format.quote(obj, doc_matters);
-              goto default;
-            case "group":
-              _txt = odt_format.group(obj, doc_matters);
-              goto default;
-            case "block":
-              _txt = odt_format.block(obj, doc_matters);
-              goto default;
-            case "verse":
-              _txt = odt_format.verse(obj, doc_matters);
-              goto default;
-            case "code":
-              _txt = odt_format.code(obj, doc_matters);
-              goto default;
-            case "table":
-              _txt = odt_format.table(obj, doc_matters);
-              goto default;
-            default:
-              doc_odt ~= _txt;
-              _txt = "";
-              break;
-            }
-            break;
-          default: break;
-          }
-          break;
-        case "backmatter":
-          assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb" || "tail");
-          switch (obj.metainfo.is_of_type) {
-          case "para":
-            switch (obj.metainfo.is_a) {
-            case "heading":
-              _txt = delimit ~ odt_format.heading(obj, doc_matters);
-              goto default;
-            case "endnote":              assert(part == "endnotes");
-              _txt = odt_format.para(obj, doc_matters);
-              goto default;
-            case "glossary":             assert(part == "glossary");
-              _txt = odt_format.para(obj, doc_matters);
-              goto default;
-            case "bibliography":         assert(part == "bibliography");
-              _txt = odt_format.para(obj, doc_matters);
-              goto default;
-            case "bookindex":            assert(part == "bookindex");
-              _txt = odt_format.para(obj, doc_matters);
-              goto default;
-            case "blurb":                assert(part == "blurb");
-              _txt = odt_format.para(obj, doc_matters);
-              goto default;
-            default:
-              doc_odt ~= _txt;
-              _txt = "";
-              break;
-            }
-            break;
-          default: break;
-          }
-          break;
-        case "comment":
-          break;
-        default:
-          { /+ debug +/
-            if (doc_matters.opt.action.debug_do
-            && doc_matters.opt.action.verbose) {
-              writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_of_part);
-              writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_a);
-              writeln(__FILE__, ":", __LINE__, ": ", obj.text);
-            }
-          }
-          break;
+  foreach (part; doc_matters.has.keys_seq.scroll) {
+    foreach (obj; doc_abstraction[part]) {
+      switch (obj.metainfo.is_of_part) {
+  case "frontmatter":              assert(part == "head" || "toc");
+    switch (obj.metainfo.is_of_type) {
+    case "para":
+      switch (obj.metainfo.is_a) {
+      case "heading":
+        _txt = delimit ~ odt_format.heading(obj, doc_matters);
+        goto default;
+      case "toc":
+        _txt = odt_format.para(obj, doc_matters);
+        goto default;
+      default:
+        doc_odt ~= _txt;
+        _txt = "";
+        break;
+      }
+      break;
+    default: break;
+    }
+    break;
+  case "body":                     assert(part == "body" || "head"); // surprise
+    switch (obj.metainfo.is_of_type) {
+    case "para":
+      switch (obj.metainfo.is_a) {
+      case "heading":
+        _txt = delimit ~ odt_format.heading(obj, doc_matters);
+        goto default;
+      case "para":
+        _txt = odt_format.para(obj, doc_matters);
+        goto default;
+      default:
+        doc_odt ~= _txt;
+        _txt = "";
+        break;
+      }
+      break;
+    case "block":
+      switch (obj.metainfo.is_a) {
+      case "quote":
+        _txt = odt_format.quote(obj, doc_matters);
+        goto default;
+      case "group":
+        _txt = odt_format.group(obj, doc_matters);
+        goto default;
+      case "block":
+        _txt = odt_format.block(obj, doc_matters);
+        goto default;
+      case "verse":
+        _txt = odt_format.verse(obj, doc_matters);
+        goto default;
+      case "code":
+        _txt = odt_format.code(obj, doc_matters);
+        goto default;
+      case "table":
+        _txt = odt_format.table(obj, doc_matters);
+        goto default;
+      default:
+        doc_odt ~= _txt;
+        _txt = "";
+        break;
+      }
+      break;
+    default: break;
+    }
+    break;
+  case "backmatter":
+    assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex" || "blurb" || "tail");
+    switch (obj.metainfo.is_of_type) {
+    case "para":
+      switch (obj.metainfo.is_a) {
+      case "heading":
+        _txt = delimit ~ odt_format.heading(obj, doc_matters);
+        goto default;
+      case "endnote":              assert(part == "endnotes");
+        _txt = odt_format.para(obj, doc_matters);
+        goto default;
+      case "glossary":             assert(part == "glossary");
+        _txt = odt_format.para(obj, doc_matters);
+        goto default;
+      case "bibliography":         assert(part == "bibliography");
+        _txt = odt_format.para(obj, doc_matters);
+        goto default;
+      case "bookindex":            assert(part == "bookindex");
+        _txt = odt_format.para(obj, doc_matters);
+        goto default;
+      case "blurb":                assert(part == "blurb");
+        _txt = odt_format.para(obj, doc_matters);
+        goto default;
+      default:
+        doc_odt ~= _txt;
+        _txt = "";
+        break;
+      }
+      break;
+    default: break;
+    }
+    break;
+  case "comment":
+    break;
+  default:
+    { /+ debug +/
+      if (doc_matters.opt.action.debug_do
+      && doc_matters.opt.action.verbose) {
+        writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_of_part);
+        writeln(__FILE__, ":", __LINE__, ": ", obj.metainfo.is_a);
+        writeln(__FILE__, ":", __LINE__, ": ", obj.text);
+      }
+    }
+    break;
         }
       }
     }
     return doc_odt;
   }
-
+  
   @safe string odt_tail() {
     string _odt_tail = format(q"┃<text:p text:style-name="P_normal">spine: &lt;<text:a xl:type="simple" xl:href="https://www.doc_reform.org">www.doc_reform.org</text:a>&gt; and &lt;<text:a xl:type="simple" xl:href="https://www.sisudoc.org">www.sisudoc.org</text:a>&gt;</text:p>
   </office:text></office:body></office:document-content>┃",);
@@ -2090,7 +2090,7 @@ template outputODT() {
       pth_odt.manifest_rdf("fs"); /+ (manifest.rdf) +/
       pth_odt.settings_xml("fs"); /+ (settings.xml) +/
       pth_odt.styles_xml("fs");   /+ (styles_xml) +/
-
+  
       pth_odt.content_xml("fs");
       pth_odt.manifest_xml("fs");
       pth_odt.meta_xml("fs");
diff --git a/src/doc_reform/io_out/package.d b/src/doc_reform/io_out/package.d
index 56ff1cf..2d17f41 100644
--- a/src/doc_reform/io_out/package.d
+++ b/src/doc_reform/io_out/package.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/io_out/paths_output.d b/src/doc_reform/io_out/paths_output.d
index 2fe7c50..9bbbdb4 100644
--- a/src/doc_reform/io_out/paths_output.d
+++ b/src/doc_reform/io_out/paths_output.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/io_out/rgx.d b/src/doc_reform/io_out/rgx.d
index 63872b1..8382c3a 100644
--- a/src/doc_reform/io_out/rgx.d
+++ b/src/doc_reform/io_out/rgx.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/io_out/source_pod.d b/src/doc_reform/io_out/source_pod.d
index 363051b..47f1570 100644
--- a/src/doc_reform/io_out/source_pod.d
+++ b/src/doc_reform/io_out/source_pod.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
@@ -421,7 +421,7 @@ template spinePod() {
           // Handle errors
         }
       }
-
+      
     } catch (ErrnoException ex) {
       // Handle error
     }
diff --git a/src/doc_reform/io_out/sqlite.d b/src/doc_reform/io_out/sqlite.d
index abdfc7a..b66aa13 100644
--- a/src/doc_reform/io_out/sqlite.d
+++ b/src/doc_reform/io_out/sqlite.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
@@ -1039,61 +1039,61 @@ template SQLiteInsertMetadata() {
   ) {
     string _uid = SQLinsertDelimiter!()(doc_matters.src.doc_uid);
     string _insert_metadata = format(q"┃
-      INSERT INTO metadata_and_text (
-        uid,
-        src_filename_base,
-        src_filename_suffix,
-        src_composite_id_per_txt,
-        src_composite_id_per_pod,
-        title,
-        title_main,
-        title_sub,
-        title_short,
-        title_edition,
-        title_language,
-        creator_author,
-        creator_author_last_first,
-        creator_author_email,
-        creator_illustrator,
-        creator_translator,
-        language_document,
-        language_document_char,
-        date_added_to_site,
-        date_available,
-        date_created,
-        date_issued,
-        date_modified,
-        date_published,
-        date_valid,
-        rights_copyright,
-        rights_copyright_audio,
-        rights_copyright_cover,
-        rights_copyright_illustrations,
-        rights_copyright_photographs,
-        rights_copyright_text,
-        rights_copyright_translation,
-        rights_copyright_video,
-        rights_license,
-        identifier_oclc,
-        identifier_isbn,
-        classify_dewey,
-        classify_keywords,
-        classify_loc,
-        classify_subject,
-        classify_topic_register,
-        original_title,
-        original_publisher,
-        original_language,
-        original_language_char,
-        original_source,
-        notes_abstract,
-        notes_description,
-        publisher,
-        site_url_doc_root
-      )
-      VALUES (
-        '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s'
-      );
+    INSERT INTO metadata_and_text (
+      uid,
+      src_filename_base,
+      src_filename_suffix,
+      src_composite_id_per_txt,
+      src_composite_id_per_pod,
+      title,
+      title_main,
+      title_sub,
+      title_short,
+      title_edition,
+      title_language,
+      creator_author,
+      creator_author_last_first,
+      creator_author_email,
+      creator_illustrator,
+      creator_translator,
+      language_document,
+      language_document_char,
+      date_added_to_site,
+      date_available,
+      date_created,
+      date_issued,
+      date_modified,
+      date_published,
+      date_valid,
+      rights_copyright,
+      rights_copyright_audio,
+      rights_copyright_cover,
+      rights_copyright_illustrations,
+      rights_copyright_photographs,
+      rights_copyright_text,
+      rights_copyright_translation,
+      rights_copyright_video,
+      rights_license,
+      identifier_oclc,
+      identifier_isbn,
+      classify_dewey,
+      classify_keywords,
+      classify_loc,
+      classify_subject,
+      classify_topic_register,
+      original_title,
+      original_publisher,
+      original_language,
+      original_language_char,
+      original_source,
+      notes_abstract,
+      notes_description,
+      publisher,
+      site_url_doc_root
+    )
+    VALUES (
+      '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s'
+    );
     ┃",
       _uid,
       SQLinsertDelimiter!()(doc_matters.src.filename_base),
@@ -1151,17 +1151,17 @@ template SQLiteInsertMetadata() {
       foreach (topic; doc_matters.conf_make_meta.meta.classify_topic_register_arr) {
         string[] subject_tree = topic.split(mkup.sep);
     _insert_topics ~= format(q"┃
-      INSERT INTO topic_register (
-        uid_metadata_and_text,
-        topic_register_lv0,
-        topic_register_lv1,
-        topic_register_lv2,
-        topic_register_lv3,
-        topic_register_lv4
-      )
-      VALUES (
-        '%s', '%s', '%s', '%s', '%s', '%s'
-      );
+    INSERT INTO topic_register (
+      uid_metadata_and_text,
+      topic_register_lv0,
+      topic_register_lv1,
+      topic_register_lv2,
+      topic_register_lv3,
+      topic_register_lv4
+    )
+    VALUES (
+      '%s', '%s', '%s', '%s', '%s', '%s'
+    );
     ┃",
       _uid,
       (subject_tree.length > 0) ? subject_tree[0] : "",
@@ -1184,20 +1184,20 @@ template SQLiteInsertDocObjectsLoop() {
     auto url_html = spineUrlsHTML!()(doc_matters.conf_make_meta.conf.w_srv_data_root_url_html, doc_matters.src.language);
     string insertDocObjectsRow(O)(O obj) {
       string _insert_doc_objects_row = format(q"┃
-        INSERT INTO doc_objects (
-          uid_metadata_and_text,
-          ocn,
-          obj_id,
-          clean,
-          body,
-          lev,
-          is_of_type,
-          is_a,
-          seg_name
-        )
-        VALUES (
-          '%s', %s, '%s', '%s', '%s', %s, '%s', '%s', '%s'
-        );
+      INSERT INTO doc_objects (
+        uid_metadata_and_text,
+        ocn,
+        obj_id,
+        clean,
+        body,
+        lev,
+        is_of_type,
+        is_a,
+        seg_name
+      )
+      VALUES (
+        '%s', %s, '%s', '%s', '%s', %s, '%s', '%s', '%s'
+      );
       ┃",
         _uid,
         obj.metainfo.ocn,
diff --git a/src/doc_reform/io_out/xmls.d b/src/doc_reform/io_out/xmls.d
index 3857969..a0b256a 100644
--- a/src/doc_reform/io_out/xmls.d
+++ b/src/doc_reform/io_out/xmls.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/io_out/xmls_css.d b/src/doc_reform/io_out/xmls_css.d
index 38a784a..f6760d0 100644
--- a/src/doc_reform/io_out/xmls_css.d
+++ b/src/doc_reform/io_out/xmls_css.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
@@ -469,3213 +469,3213 @@ template spineCss() {
     text-indent              : 0em;
   }
 ┃");
-    string _color_ocn_light  = (doc_matters.opt.action.ocn_hidden) ? "#FFFFFF" : "#777777";
-    string _color_ocn_dark   = (doc_matters.opt.action.ocn_hidden) ? "#000000" : "#BBBBBB";
+string _color_ocn_light  = (doc_matters.opt.action.ocn_hidden) ? "#FFFFFF" : "#777777";
+string _color_ocn_dark   = (doc_matters.opt.action.ocn_hidden) ? "#000000" : "#BBBBBB";
     string _css_light_html_seg = format(q"┃
-  *{
-    padding                  : 0px;
-    margin                   : 0px;
-  }
-  body {
-    height                   : 100vh;
-    background-color         : #FFFFFF;
-  }
-  body {
-    color                    : #000000;
-    background               : #FFFFFF;
-    background-color         : #FFFFFF;
-  }
-  a:link {
-    color                    : #003399;
-    text-decoration          : none;
-  }
-  a:visited {
-    color                    : #003399;
-    text-decoration          : none;
-  }
-  a:hover {
-    color                    : #000000;
-    background-color         : #F9F9AA;
-  }
-  a.lnkocn:link {
-    color                    : %s;
-    text-decoration          : none;
-  }
-  a.lnkocn:visited {
-    color                    : #32CD32;
-    text-decoration          : none;
-  }
-  a.lnkocn:hover {
-    color                    : #777777;
-    font-size                : 15px;
-  }
-  a:hover img {
-    background-color         : #FFFFFF;
-  }
-  a:active {
-    color                    : #003399;
-    text-decoration          : underline;
-  }
-  input {
-    color                    : #000000;
-    background-color         : #FFFFFF;
-  }
-  div {
-    margin-left              : 0;
-    margin-right             : 0;
-  }
-  div.p {
-    margin-left              : 5%%;
-    margin-right             : 1%%;
-  }
-  div.substance {
-    width                    : 100%%;
-    background-color         : #FFFFFF;
-  }
-  div.ocn {
-    width                    : 5%%;
-    float                    : right;
-    top                      : 0;
-    background-color         : #FFFFFF;
-  }
-  div.endnote {
-    width                    : 95%%;
-    background-color         : #FFFFFF;
-  }
-  div.toc {
-    position                 : absolute;
-    float                    : left;
-    margin                   : 0;
-    padding                  : 0;
-    padding-top              : 0.5em;
-    border                   : 0;
-    width                    : 13em;
-    background-color         : #EEEEEE;
-    margin-right             : 1em;
-  }
-  div.summary {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 13em solid #EEEEEE;
-    padding-left             : 1em;
-    background-color         : #EEEEEE;
-  }
-  div.content, div.main_column {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 13em solid #FFFFFF;
-    padding-left             : 1em;
-    padding-right            : 1em;
-  }
-  div.content0, div.main_column0 {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 0%% solid #FFFFFF;
-    padding-left             : 5%%;
-  }
-  div.scroll {
-    margin                   : 0;
-    padding                  : 0;
-    padding-left             : 1em;
-    padding-right            : 1em;
-  }
-  div.content:after {
-    content                  : ' ';
-    clear                    : both;
-    display                  : block;
-    height                   : 0;
-    overflow                 : hidden;
-  }
-  div.footer {
-    clear                    : left;
-    padding                  : 0.5em;
-    font-size                : 80%%;
-    margin                   : 0;
-  }
-  div.toc ul {
-    list-style               : none;
-    padding                  : 0;
-    margin                   : 0;
-  }
-  div.toc li ul a, li ul span.currentlink
-  {
-    font-weight              : normal;
-    font-size                : 90%%;
-    padding-left             : 2em;
-    background-color         : #EEEEEE;
-  }
-  div.toc a, span.currentlink{
-    display                  : block;
-    text-decoration          : none;
-    padding-left             : 0.5em;
-    color                    : #0000aa;
-  }
-  hr {
-    width                    : 90%%;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-    margin-top               : 1.8em;
-    margin-bottom            : 1.8em;
-  }
-  span.currentlink {
-    text-decoration          : none;
-    background-color         : #AAAAAA;
-  }
-  div.toc a:visited {
-    color                    : #0000aa;
-  }
-  div.toc a:hover {
-    color                    : #000000;
-    background-color         : #F9F9AA;
-  }
-  nav#toc ol {
-    list-style-type          : none;
-  }
-  .norm, .bold, .verse, .group, .block, .alt {
-    line-height              : 133%%;
-    margin-top               : 12px;
-    margin-bottom            : 0px;
-    padding-left             : 0em;
-    text-indent              : 0em;
-  }
-  p, h0, h1, h2, h3, h4, h5, h6, h7, ul, li {
-    display                  : block;
-    font-family              : verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-  }
-  p {
-    font-size                : 100%%;
-    font-weight              : normal;
-    line-height              : 133%%;
-    text-align               : justify;
-    text-indent              : 0mm;
-    margin-top               : 0.8em;
-    margin-bottom            : 0.8em;
-  }
-  img {
-    max-width                : 100%%;
-    height                   : auto;
-  }
-  pre {
-    width                    : auto;
-    display                  : block;
-    clear                    : both;
-    color                    : #555555;
-  }
-  pre.codeline {
-    display                  : table;
-    clear                    : both;
-    table-layout             : fixed;
-    margin-left              : 5%%;
-    margin-right             : 5%%;
-    width                    : 90%%;
-    white-space              : pre-wrap;
-    border-style             : none;
-    border-radius            : 5px 5px 5px 5px;
-    box-shadow               : 0 2px 5px #AAAAAA inset;
-    margin-bottom            : 1em;
-    padding                  : 0.5em 1em;
-    page-break-inside        : avoid;
-    word-wrap                : break-word;
-    font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
-    white-space              : pre;
-    white-space              : pre-wrap;
-    white-space              : -moz-pre-wrap;
-    white-space              : -o-pre-wrap;
-    background-color         : #EEEEEE;
-    color                    : #000000;
-    font-size                : 95%%;
-    line-height              : 100%%;
-  }
-  pre.codeline::before {
-    counter-reset            : linenum;
-  }
-  pre.codeline span.tr {
-    display                  : table-row;
-    counter-increment        : linenum;
-  }
-  pre.codeline span.th {
-    display                  : table-cell;
-    user-select              : none;
-    -moz-user-select         : none;
-    -webkit-user-select      : none;
-    padding                  : 0.5em 0.5em;
-    /* background-color         : #666666; */
-  }
-  pre.codeline span.th::before {
-    content                  : counter(linenum) ".";
-    color                    : #999999;
-    text-align               : right;
-    display                  : block;
-  }
-  pre.codeline span.th {
-    width                    : 4em;
-  }
-  pre.codeline code {
-    display                  : table-cell;
-  }
-  p.code {
-    border-style             : none;
-  }
-  p.spaced { white-space     : pre; }
-  p.block {
-    white-space              : pre;
-  }
-  p.group { }
-  p.alt { }
-  p.verse {
-    white-space              : pre;
-    margin-bottom            : 6px;
-  }
-  p.caption {
-    text-align               : left;
-    font-size                : 80%%;
-    display                  : inline;
-  }
-  p.endnote {
-    font-size                : 96%%;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-right             : 15mm;
-    padding-left             : 1em;
-    text-indent              : -1em;
-  }
-  p.center {
-    text-align               : center;
-  }
-  p.bold {
-    font-weight              : bold;
-  }
-  p.bold_left {
-    font-weight              : bold;
-    text-align               : left;
-  }
-  p.centerbold {
-    text-align               : center;
-    font-weight              : bold;
-  }
-  p.em {
-    font-weight              : bold;
-    font-style               : normal;
-    background               : #FFF3B6;
-  }
-  p.small {
-    font-size                : 80%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-    margin-right             : 6px;
-    text-align               : left;
-  }
-  .tiny, .tiny_left, .tiny_right, .tiny_center {
-    font-size                : 10px;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-    color                    : #777777;
-    margin-right             : 6px;
-    text-align               : left;
-  }
-  p.tiny { }
-  p.tiny_left {
-    margin-left              : 0px;
-    margin-right             : 0px;
-    text-align               : left;
-  }
-  p.tiny_right {
-    margin-right             : 1em;
-    text-align               : right;
-  }
-  p.tiny_center {
-    margin-left              : 0px;
-    margin-right             : 0px;
-    text-align               : center;
-  }
-  p.concordance_word {
-    line-height              : 150%%;
-    font-weight              : bold;
-    display                  : inline;
-    margin-top               : 4px;
-    margin-bottom            : 1px;
-  }
-  p.concordance_count {
-    font-size                : 80%%;
-    color                    : #777777;
-    display                  : inline;
-    margin-left              : 0em;
-  }
-  p.concordance_object {
-    font-size                : 80%%;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-left              : 3em;
-    margin-top               : 1px;
-    margin-bottom            : 3px;
-  }
-  p.book_index_lev1 {
-    line-height              : 100%%;
-    margin-top               : 4px;
-    margin-bottom            : 1px;
-  }
-  p.book_index_lev2 {
-    line-height              : 100%%;
-    text-align               : left;
-    margin-left              : 3em;
-    margin-top               : 1px;
-    margin-bottom            : 3px;
-  }
-  tt {
-    font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
-    background-color         : #EEEEEE;
-    color                    : #000000;
-  }
+*{
+  padding                  : 0px;
+  margin                   : 0px;
+}
+body {
+  height                   : 100vh;
+  background-color         : #FFFFFF;
+}
+body {
+  color                    : #000000;
+  background               : #FFFFFF;
+  background-color         : #FFFFFF;
+}
+a:link {
+  color                    : #003399;
+  text-decoration          : none;
+}
+a:visited {
+  color                    : #003399;
+  text-decoration          : none;
+}
+a:hover {
+  color                    : #000000;
+  background-color         : #F9F9AA;
+}
+a.lnkocn:link {
+  color                    : %s;
+  text-decoration          : none;
+}
+a.lnkocn:visited {
+  color                    : #32CD32;
+  text-decoration          : none;
+}
+a.lnkocn:hover {
+  color                    : #777777;
+  font-size                : 15px;
+}
+a:hover img {
+  background-color         : #FFFFFF;
+}
+a:active {
+  color                    : #003399;
+  text-decoration          : underline;
+}
+input {
+  color                    : #000000;
+  background-color         : #FFFFFF;
+}
+div {
+  margin-left              : 0;
+  margin-right             : 0;
+}
+div.p {
+  margin-left              : 5%%;
+  margin-right             : 1%%;
+}
+div.substance {
+  width                    : 100%%;
+  background-color         : #FFFFFF;
+}
+div.ocn {
+  width                    : 5%%;
+  float                    : right;
+  top                      : 0;
+  background-color         : #FFFFFF;
+}
+div.endnote {
+  width                    : 95%%;
+  background-color         : #FFFFFF;
+}
+div.toc {
+  position                 : absolute;
+  float                    : left;
+  margin                   : 0;
+  padding                  : 0;
+  padding-top              : 0.5em;
+  border                   : 0;
+  width                    : 13em;
+  background-color         : #EEEEEE;
+  margin-right             : 1em;
+}
+div.summary {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 13em solid #EEEEEE;
+  padding-left             : 1em;
+  background-color         : #EEEEEE;
+}
+div.content, div.main_column {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 13em solid #FFFFFF;
+  padding-left             : 1em;
+  padding-right            : 1em;
+}
+div.content0, div.main_column0 {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 0%% solid #FFFFFF;
+  padding-left             : 5%%;
+}
+div.scroll {
+  margin                   : 0;
+  padding                  : 0;
+  padding-left             : 1em;
+  padding-right            : 1em;
+}
+div.content:after {
+  content                  : ' ';
+  clear                    : both;
+  display                  : block;
+  height                   : 0;
+  overflow                 : hidden;
+}
+div.footer {
+  clear                    : left;
+  padding                  : 0.5em;
+  font-size                : 80%%;
+  margin                   : 0;
+}
+div.toc ul {
+  list-style               : none;
+  padding                  : 0;
+  margin                   : 0;
+}
+div.toc li ul a, li ul span.currentlink
+{
+  font-weight              : normal;
+  font-size                : 90%%;
+  padding-left             : 2em;
+  background-color         : #EEEEEE;
+}
+div.toc a, span.currentlink{
+  display                  : block;
+  text-decoration          : none;
+  padding-left             : 0.5em;
+  color                    : #0000aa;
+}
+hr {
+  width                    : 90%%;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+  margin-top               : 1.8em;
+  margin-bottom            : 1.8em;
+}
+span.currentlink {
+  text-decoration          : none;
+  background-color         : #AAAAAA;
+}
+div.toc a:visited {
+  color                    : #0000aa;
+}
+div.toc a:hover {
+  color                    : #000000;
+  background-color         : #F9F9AA;
+}
+nav#toc ol {
+  list-style-type          : none;
+}
+.norm, .bold, .verse, .group, .block, .alt {
+  line-height              : 133%%;
+  margin-top               : 12px;
+  margin-bottom            : 0px;
+  padding-left             : 0em;
+  text-indent              : 0em;
+}
+p, h0, h1, h2, h3, h4, h5, h6, h7, ul, li {
+  display                  : block;
+  font-family              : verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+}
+p {
+  font-size                : 100%%;
+  font-weight              : normal;
+  line-height              : 133%%;
+  text-align               : justify;
+  text-indent              : 0mm;
+  margin-top               : 0.8em;
+  margin-bottom            : 0.8em;
+}
+img {
+  max-width                : 100%%;
+  height                   : auto;
+}
+pre {
+  width                    : auto;
+  display                  : block;
+  clear                    : both;
+  color                    : #555555;
+}
+pre.codeline {
+  display                  : table;
+  clear                    : both;
+  table-layout             : fixed;
+  margin-left              : 5%%;
+  margin-right             : 5%%;
+  width                    : 90%%;
+  white-space              : pre-wrap;
+  border-style             : none;
+  border-radius            : 5px 5px 5px 5px;
+  box-shadow               : 0 2px 5px #AAAAAA inset;
+  margin-bottom            : 1em;
+  padding                  : 0.5em 1em;
+  page-break-inside        : avoid;
+  word-wrap                : break-word;
+  font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
+  white-space              : pre;
+  white-space              : pre-wrap;
+  white-space              : -moz-pre-wrap;
+  white-space              : -o-pre-wrap;
+  background-color         : #EEEEEE;
+  color                    : #000000;
+  font-size                : 95%%;
+  line-height              : 100%%;
+}
+pre.codeline::before {
+  counter-reset            : linenum;
+}
+pre.codeline span.tr {
+  display                  : table-row;
+  counter-increment        : linenum;
+}
+pre.codeline span.th {
+  display                  : table-cell;
+  user-select              : none;
+  -moz-user-select         : none;
+  -webkit-user-select      : none;
+  padding                  : 0.5em 0.5em;
+  /* background-color         : #666666; */
+}
+pre.codeline span.th::before {
+  content                  : counter(linenum) ".";
+  color                    : #999999;
+  text-align               : right;
+  display                  : block;
+}
+pre.codeline span.th {
+  width                    : 4em;
+}
+pre.codeline code {
+  display                  : table-cell;
+}
+p.code {
+  border-style             : none;
+}
+p.spaced { white-space     : pre; }
+p.block {
+  white-space              : pre;
+}
+p.group { }
+p.alt { }
+p.verse {
+  white-space              : pre;
+  margin-bottom            : 6px;
+}
+p.caption {
+  text-align               : left;
+  font-size                : 80%%;
+  display                  : inline;
+}
+p.endnote {
+  font-size                : 96%%;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-right             : 15mm;
+  padding-left             : 1em;
+  text-indent              : -1em;
+}
+p.center {
+  text-align               : center;
+}
+p.bold {
+  font-weight              : bold;
+}
+p.bold_left {
+  font-weight              : bold;
+  text-align               : left;
+}
+p.centerbold {
+  text-align               : center;
+  font-weight              : bold;
+}
+p.em {
+  font-weight              : bold;
+  font-style               : normal;
+  background               : #FFF3B6;
+}
+p.small {
+  font-size                : 80%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+  margin-right             : 6px;
+  text-align               : left;
+}
+.tiny, .tiny_left, .tiny_right, .tiny_center {
+  font-size                : 10px;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+  color                    : #777777;
+  margin-right             : 6px;
+  text-align               : left;
+}
+p.tiny { }
+p.tiny_left {
+  margin-left              : 0px;
+  margin-right             : 0px;
+  text-align               : left;
+}
+p.tiny_right {
+  margin-right             : 1em;
+  text-align               : right;
+}
+p.tiny_center {
+  margin-left              : 0px;
+  margin-right             : 0px;
+  text-align               : center;
+}
+p.concordance_word {
+  line-height              : 150%%;
+  font-weight              : bold;
+  display                  : inline;
+  margin-top               : 4px;
+  margin-bottom            : 1px;
+}
+p.concordance_count {
+  font-size                : 80%%;
+  color                    : #777777;
+  display                  : inline;
+  margin-left              : 0em;
+}
+p.concordance_object {
+  font-size                : 80%%;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-left              : 3em;
+  margin-top               : 1px;
+  margin-bottom            : 3px;
+}
+p.book_index_lev1 {
+  line-height              : 100%%;
+  margin-top               : 4px;
+  margin-bottom            : 1px;
+}
+p.book_index_lev2 {
+  line-height              : 100%%;
+  text-align               : left;
+  margin-left              : 3em;
+  margin-top               : 1px;
+  margin-bottom            : 3px;
+}
+tt {
+  font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
+  background-color         : #EEEEEE;
+  color                    : #000000;
+}
 %s
-  note { white-space         : pre; }
-  label.ocn {
-    width                    : 2%%;
-    float                    : right;
-    top                      : 0;
-    font-size                : 10px;
-    margin-top               : 0px;
-    margin-bottom            : 5px;
-    margin-right             : 5px;
-    text-align               : right;
-    color                    : %s;
-    -khtml-user-select       : none;
-    -moz-user-select         : none;
-    -ms-user-select          : none;
-    -o-user-select           : none;
-    -webkit-user-select      : none;
-    user-select              : none;
-  }
-  table {
-    display                  : block;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-    background-color         : inherit;
-  }
-  tr { }
-  th,td {
-    vertical-align           : top;
-    text-align               : left;
-  }
-  th {
-    font-weight              : bold;
-  }
-  em {
-    font-weight              : bold;
-    font-style               : italic;
-  }
-  p.left,th.left,td.left {
-    text-align               : left;
-  }
-  p.small_left,th.small_left,td.small_left {
-    text-align               : left;
-    font-size                : 80%%;
-  }
-  p.right,th.right,td.right {
-    text-align               : right;
-  }
-  ul, li {
-    list-style-type          : none;
-    list-style               : none;
-    padding-left             : 20px;
-    font-weight              : normal;
-    line-height              : 150%%;
-    text-align               : left;
-    text-indent              : 0mm;
-    margin-left              : 1em;
-    margin-right             : 2em;
-    margin-top               : 3px;
-    margin-bottom            : 3px;
-  }
-  li {
-    background               : url(../image_sys/bullet_09.png) no-repeat 0px 6px;
-  }
-  ul { }
-  h0, h1, h2, h3, h4, h5, h6, h7 {
-    font-weight              : bold;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-top               : 20px;
-    margin-bottom            : 10px;
-  }
-  h4.norm, h5.norm, h6.norm, h7.norm {
-    margin-top               : 10px;
-    margin-bottom            : 0px;
-  }
-  h0 { font-size             : 125%%; }
-  h1 { font-size             : 120%%; }
-  h2 { font-size             : 115%%; }
-  h3 { font-size             : 110%%; }
-  h4 { font-size             : 105%%; }
-  h5 { font-size             : 100%%; }
-  h6 { font-size             : 100%%; }
-  h7 { font-size             : 100%%; }
-  h0, h1, h2, h3, h4, h5, h6, h7 {
-    text-shadow              : .2em .2em .3em #808080;
-  }
-  h1.i { margin-left         : 2em; }
-  h2.i { margin-left         : 3em; }
-  h3.i { margin-left         : 4em; }
-  h4.i { margin-left         : 5em; }
-  h5.i { margin-left         : 6em; }
-  h6.i { margin-left         : 7em; }
-  h7.i { margin-left         : 8em; }
-  h8.i { margin-left         : 9em; }
-  h9.i { margin-left         : 10em; }
-  .toc {
-    font-weight              : normal;
-    margin-top               : 6px;
-    margin-bottom            : 6px;
-  }
-  h0.toc {
-    margin-left              : 1em;
-    font-size                : 120%%;
-    line-height              : 150%%;
-  }
-  h1.toc {
-    margin-left              : 1em;
-    font-size                : 115%%;
-    line-height              : 150%%;
-  }
-  h2.toc {
-    margin-left              : 2em;
-    font-size                : 110%%;
-    line-height              : 140%%;
-  }
-  h3.toc {
-    margin-left              : 3em;
-    font-size                : 105%%;
-    line-height              : 120%%;
-  }
-  h4.toc {
-    margin-left              : 4em;
-    font-size                : 100%%;
-    line-height              : 120%%;
-  }
-  h5.toc {
-    margin-left              : 5em;
-    font-size                : 95%%;
-    line-height              : 110%%;
-  }
-  h6.toc {
-    margin-left              : 6em;
-    font-size                : 90%%;
-    line-height              : 110%%;
-  }
-  h7.toc {
-    margin-left              : 7em;
-    font-size                : 85%%;
-    line-height              : 100%%;
-  }
-  .subtoc {
-    margin-right             : 34%%;
-    font-weight              : normal;
-  }
-  h5.subtoc {
-    margin-left              : 2em;
-    font-size                : 80%%;
-    margin-top               : 2px;
-    margin-bottom            : 2px;
-  }
-  h6.subtoc {
-    margin-left              : 3em;
-    font-size                : 75%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-  }
-  h7.subtoc {
-    margin-left              : 4em;
-    font-size                : 70%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-  }
-  .icon-bar {
-    width                    : 100%%;
-    overflow                 : auto;
-    margin                   : 0em 0em 0em;
-  }
-  .left-bar {
-    width                    : 85%%;
-    float                    : left;
-    display                  : inline;
-    overflow                 : auto;
-  }
-  .toc-button {
-    position                 : absolute;
-    top                      : 8px;
-    width                    : 2em;
-    height                   : 2em;
-    border-radius            : 50%%;
-    background               : #CCCCCC;
-    fill                     : #333333;
-    box-shadow               : 0 2px 5px #AAAAAA inset;
-  }
-  .toc-button svg {
-    position                 : relative;
-    left                     : 25%%;
-    top                      : 25%%;
-    width                    : 150%%;
-    height                   : 150%%;
-  }
-  .toc-button p {
-    vertical-align           : center;
-    font-size                : 120%%;
-  }
-  .prev-next-button {
-    position                 : absolute;
-    top                      : 8px;
-    width                    : 2em;
-    height                   : 2em;
-    border-radius            : 50%%;
-    background               : #CCCCCC;
-    box-shadow               : 0 2px 5px #AAAAAA inset;
-  }
-  .prev-next-button svg {
-    position                 : relative;
-    left                     : 20%%;
-    top                      : 20%%;
-    width                    : 60%%;
-    height                   : 60%%;
-  }
-  .menu {
-    right                    : 6em;
-   }
-  .previous {
-    right                    : 3em;
-   }
-  .next {
-    right                    : 0em;
-   }
-  .arrow {
-    fill                     : #333333;
-  }
-  .minitoc {
-    line-height              : 100%%;
-    font-size                : 90%%;
-    margin-top               : 6px;
-    margin-bottom            : 0px;
-    padding-left             : 0em;
-    text-indent              : 0em;
-    -khtml-user-select       : none;
-    -moz-user-select         : none;
-    -ms-user-select          : none;
-    -o-user-select           : none;
-    -webkit-user-select      : none;
-    user-select              : none;
-  }
-  /* flex */
-  .flex-menu-bar {
-    display                  : -webkit-flex;
-    display                  : flex;
-    -webkit-flex-wrap        : wrap;
-    -webkit-align-items      : center;
-    align-items              : center;
-    width                    : 100%%;
-    margin-left              : 5%%;
-    margin-right             : 2%%;
-    background-color         : #FFFFFF;
-  }
-  .flex-menu-option {
-    background-color         : #FFFFFF;
-    margin-right             : 4px;
-  }
-  .flex-list {
-    display                  : -webkit-flex;
-    display                  : flex;
-    -webkit-align-items      : center;
-    display                  : block;
-    align-items              : center;
-    width                    : 100%%;
-    background-color         : #FFFFFF;
-  }
-  .flex-list-item {
-    background-color         : #FFFFFF;
-    margin                   : 4px;
-  }
-  /* grid */
-  .wrapper {
-    display                  : grid;
-    grid-template-columns    : 100%%;
-    grid-template-areas      :
-      "headband"
-      "doc_header"
-      "doc_title"
-      "doc_toc"
-      "doc_prefix"
-      "doc_intro"
-      "doc_body"
-      "doc_endnotes"
-      "doc_glossary"
-      "doc_biblio"
-      "doc_bookindex"
-      "doc_blurb"
-      "doc_suffix";
-    margin                   : 0px;
-    padding                  : 0px;
-    background-color         : #FFFFFF;
-  }
-  .delimit {
-    border-style             : none;
-    border-color             : #FFFFFF;
-    padding                  : 10px;
-  }
-  .headband {
-    grid-area                : headband;
-    background-color         : #FFFFFF;
-  }
-  .doc_header {
-    grid-area                : doc_header;
-  }
-  .doc_title {
-    grid-area                : doc_title;
-  }
-  .doc_toc {
-    grid-area                : doc_toc;
-  }
-  .doc_prefix {
-    grid-area                : doc_prefix;
-  }
-  .doc_intro {
-    grid-area                : doc_intro;
-  }
-  .doc_body {
-    grid-area                : doc_body;
-  }
-  .doc_endnotes {
-    grid-area                : doc_endnotes;
-  }
-  .doc_glossary {
-    grid-area                : doc_glossary;
-  }
-  .doc_biblio {
-    grid-area                : doc_biblio;
-  }
-  .doc_bookindex {
-    grid-area                : doc_bookindex;
-  }
-  .doc_blurb {
-    grid-area                : doc_blurb;
-  }
-  .doc_suffix {
-    grid-area                : doc_suffix;
-  }
-  .nav-ul {
-    list-style               : none;
-    float                    : left;
-  }
-  .nav-li {
-    float                    : left;
-    padding-right            : 0.7em;
-  }
-  .nav-li a {
-    text-decoration          : none;
-    color                    : #FFFFFF;
-  }
-  footer {
-    background-color         : #00704E;
-  }
+note { white-space         : pre; }
+label.ocn {
+  width                    : 2%%;
+  float                    : right;
+  top                      : 0;
+  font-size                : 10px;
+  margin-top               : 0px;
+  margin-bottom            : 5px;
+  margin-right             : 5px;
+  text-align               : right;
+  color                    : %s;
+  -khtml-user-select       : none;
+  -moz-user-select         : none;
+  -ms-user-select          : none;
+  -o-user-select           : none;
+  -webkit-user-select      : none;
+  user-select              : none;
+}
+table {
+  display                  : block;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+  background-color         : inherit;
+}
+tr { }
+th,td {
+  vertical-align           : top;
+  text-align               : left;
+}
+th {
+  font-weight              : bold;
+}
+em {
+  font-weight              : bold;
+  font-style               : italic;
+}
+p.left,th.left,td.left {
+  text-align               : left;
+}
+p.small_left,th.small_left,td.small_left {
+  text-align               : left;
+  font-size                : 80%%;
+}
+p.right,th.right,td.right {
+  text-align               : right;
+}
+ul, li {
+  list-style-type          : none;
+  list-style               : none;
+  padding-left             : 20px;
+  font-weight              : normal;
+  line-height              : 150%%;
+  text-align               : left;
+  text-indent              : 0mm;
+  margin-left              : 1em;
+  margin-right             : 2em;
+  margin-top               : 3px;
+  margin-bottom            : 3px;
+}
+li {
+  background               : url(../image_sys/bullet_09.png) no-repeat 0px 6px;
+}
+ul { }
+h0, h1, h2, h3, h4, h5, h6, h7 {
+  font-weight              : bold;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-top               : 20px;
+  margin-bottom            : 10px;
+}
+h4.norm, h5.norm, h6.norm, h7.norm {
+  margin-top               : 10px;
+  margin-bottom            : 0px;
+}
+h0 { font-size             : 125%%; }
+h1 { font-size             : 120%%; }
+h2 { font-size             : 115%%; }
+h3 { font-size             : 110%%; }
+h4 { font-size             : 105%%; }
+h5 { font-size             : 100%%; }
+h6 { font-size             : 100%%; }
+h7 { font-size             : 100%%; }
+h0, h1, h2, h3, h4, h5, h6, h7 {
+  text-shadow              : .2em .2em .3em #808080;
+}
+h1.i { margin-left         : 2em; }
+h2.i { margin-left         : 3em; }
+h3.i { margin-left         : 4em; }
+h4.i { margin-left         : 5em; }
+h5.i { margin-left         : 6em; }
+h6.i { margin-left         : 7em; }
+h7.i { margin-left         : 8em; }
+h8.i { margin-left         : 9em; }
+h9.i { margin-left         : 10em; }
+.toc {
+  font-weight              : normal;
+  margin-top               : 6px;
+  margin-bottom            : 6px;
+}
+h0.toc {
+  margin-left              : 1em;
+  font-size                : 120%%;
+  line-height              : 150%%;
+}
+h1.toc {
+  margin-left              : 1em;
+  font-size                : 115%%;
+  line-height              : 150%%;
+}
+h2.toc {
+  margin-left              : 2em;
+  font-size                : 110%%;
+  line-height              : 140%%;
+}
+h3.toc {
+  margin-left              : 3em;
+  font-size                : 105%%;
+  line-height              : 120%%;
+}
+h4.toc {
+  margin-left              : 4em;
+  font-size                : 100%%;
+  line-height              : 120%%;
+}
+h5.toc {
+  margin-left              : 5em;
+  font-size                : 95%%;
+  line-height              : 110%%;
+}
+h6.toc {
+  margin-left              : 6em;
+  font-size                : 90%%;
+  line-height              : 110%%;
+}
+h7.toc {
+  margin-left              : 7em;
+  font-size                : 85%%;
+  line-height              : 100%%;
+}
+.subtoc {
+  margin-right             : 34%%;
+  font-weight              : normal;
+}
+h5.subtoc {
+  margin-left              : 2em;
+  font-size                : 80%%;
+  margin-top               : 2px;
+  margin-bottom            : 2px;
+}
+h6.subtoc {
+  margin-left              : 3em;
+  font-size                : 75%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+}
+h7.subtoc {
+  margin-left              : 4em;
+  font-size                : 70%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+}
+.icon-bar {
+  width                    : 100%%;
+  overflow                 : auto;
+  margin                   : 0em 0em 0em;
+}
+.left-bar {
+  width                    : 85%%;
+  float                    : left;
+  display                  : inline;
+  overflow                 : auto;
+}
+.toc-button {
+  position                 : absolute;
+  top                      : 8px;
+  width                    : 2em;
+  height                   : 2em;
+  border-radius            : 50%%;
+  background               : #CCCCCC;
+  fill                     : #333333;
+  box-shadow               : 0 2px 5px #AAAAAA inset;
+}
+.toc-button svg {
+  position                 : relative;
+  left                     : 25%%;
+  top                      : 25%%;
+  width                    : 150%%;
+  height                   : 150%%;
+}
+.toc-button p {
+  vertical-align           : center;
+  font-size                : 120%%;
+}
+.prev-next-button {
+  position                 : absolute;
+  top                      : 8px;
+  width                    : 2em;
+  height                   : 2em;
+  border-radius            : 50%%;
+  background               : #CCCCCC;
+  box-shadow               : 0 2px 5px #AAAAAA inset;
+}
+.prev-next-button svg {
+  position                 : relative;
+  left                     : 20%%;
+  top                      : 20%%;
+  width                    : 60%%;
+  height                   : 60%%;
+}
+.menu {
+  right                    : 6em;
+ }
+.previous {
+  right                    : 3em;
+ }
+.next {
+  right                    : 0em;
+ }
+.arrow {
+  fill                     : #333333;
+}
+.minitoc {
+  line-height              : 100%%;
+  font-size                : 90%%;
+  margin-top               : 6px;
+  margin-bottom            : 0px;
+  padding-left             : 0em;
+  text-indent              : 0em;
+  -khtml-user-select       : none;
+  -moz-user-select         : none;
+  -ms-user-select          : none;
+  -o-user-select           : none;
+  -webkit-user-select      : none;
+  user-select              : none;
+}
+/* flex */
+.flex-menu-bar {
+  display                  : -webkit-flex;
+  display                  : flex;
+  -webkit-flex-wrap        : wrap;
+  -webkit-align-items      : center;
+  align-items              : center;
+  width                    : 100%%;
+  margin-left              : 5%%;
+  margin-right             : 2%%;
+  background-color         : #FFFFFF;
+}
+.flex-menu-option {
+  background-color         : #FFFFFF;
+  margin-right             : 4px;
+}
+.flex-list {
+  display                  : -webkit-flex;
+  display                  : flex;
+  -webkit-align-items      : center;
+  display                  : block;
+  align-items              : center;
+  width                    : 100%%;
+  background-color         : #FFFFFF;
+}
+.flex-list-item {
+  background-color         : #FFFFFF;
+  margin                   : 4px;
+}
+/* grid */
+.wrapper {
+  display                  : grid;
+  grid-template-columns    : 100%%;
+  grid-template-areas      :
+    "headband"
+    "doc_header"
+    "doc_title"
+    "doc_toc"
+    "doc_prefix"
+    "doc_intro"
+    "doc_body"
+    "doc_endnotes"
+    "doc_glossary"
+    "doc_biblio"
+    "doc_bookindex"
+    "doc_blurb"
+    "doc_suffix";
+  margin                   : 0px;
+  padding                  : 0px;
+  background-color         : #FFFFFF;
+}
+.delimit {
+  border-style             : none;
+  border-color             : #FFFFFF;
+  padding                  : 10px;
+}
+.headband {
+  grid-area                : headband;
+  background-color         : #FFFFFF;
+}
+.doc_header {
+  grid-area                : doc_header;
+}
+.doc_title {
+  grid-area                : doc_title;
+}
+.doc_toc {
+  grid-area                : doc_toc;
+}
+.doc_prefix {
+  grid-area                : doc_prefix;
+}
+.doc_intro {
+  grid-area                : doc_intro;
+}
+.doc_body {
+  grid-area                : doc_body;
+}
+.doc_endnotes {
+  grid-area                : doc_endnotes;
+}
+.doc_glossary {
+  grid-area                : doc_glossary;
+}
+.doc_biblio {
+  grid-area                : doc_biblio;
+}
+.doc_bookindex {
+  grid-area                : doc_bookindex;
+}
+.doc_blurb {
+  grid-area                : doc_blurb;
+}
+.doc_suffix {
+  grid-area                : doc_suffix;
+}
+.nav-ul {
+  list-style               : none;
+  float                    : left;
+}
+.nav-li {
+  float                    : left;
+  padding-right            : 0.7em;
+}
+.nav-li a {
+  text-decoration          : none;
+  color                    : #FFFFFF;
+}
+footer {
+  background-color         : #00704E;
+}
 ┃",
     _color_ocn_light,
     _css_indent,
     _color_ocn_light,
 );
     string _css_dark_html_seg = format(q"┃
-  *{
-    padding                  : 0px;
-    margin                   : 0px;
-  }
-  body {
-    height                   : 100vh;
-    background-color         : #000000;
-  }
-  body {
-    color                    : #CCCCCC;
-    background               : #000000;
-    background-color         : #000000;
-  }
-  a:link {
-    color                    : #FFFFFF;
-    text-decoration          : none;
-  }
-  a:visited {
-    color                    : #999999;
-    text-decoration          : none;
-  }
-  a:hover {
-    color                    : #000000;
-    background-color         : #555555;
-  }
-  a.lnkocn:link {
-    color                    : %s;
-    text-decoration          : none;
-  }
-  a.lnkocn:visited {
-    color                    : #9ACD32;
-    text-decoration          : none;
-  }
-  a.lnkocn:hover {
-    color                    : #BBBBBB;
-    font-size                : 15px;
-  }
-  a:hover img {
-    background-color         : #000000;
-  }
-  a:active {
-    color                    : #888888;
-    text-decoration          : underline;
-  }
-  input {
-    color                    : #FFFFFF;
-    background-color         : #777777;
-  }
-  div {
-    margin-left              : 0;
-    margin-right             : 0;
-  }
-  div.p {
-    margin-left              : 5%%;
-    margin-right             : 1%%;
-  }
-  div.substance {
-    width                    : 100%%;
-    background-color         : #000000;
-  }
-  div.ocn {
-    width                    : 5%%;
-    float                    : right;
-    top                      : 0;
-    background-color         : #000000;
-  }
-  div.endnote {
-    width                    : 95%%;
-    background-color         : #000000;
-  }
-  div.toc {
-    position                 : absolute;
-    float                    : left;
-    margin                   : 0;
-    padding                  : 0;
-    padding-top              : 0.5em;
-    border                   : 0;
-    width                    : 13em;
-    background-color         : #111111;
-    margin-right             : 1em;
-  }
-  div.summary {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 13em solid #111111;
-    padding-left             : 1em;
-    background-color         : #111111;
-  }
-  div.content, div.main_column {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 13em solid #000000;
-    padding-left             : 1em;
-    padding-right            : 1em;
-  }
-  div.content0, div.main_column0 {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 0%% solid #000000;
-    padding-left             : 5%%;
-  }
-  div.scroll {
-    margin                   : 0;
-    padding                  : 0;
-    padding-left             : 1em;
-    padding-right            : 1em;
-  }
-  div.content:after {
-    content                  : ' ';
-    clear                    : both;
-    display                  : block;
-    height                   : 0;
-    overflow                 : hidden;
-  }
-  div.footer {
-    clear                    : left;
-    padding                  : 0.5em;
-    font-size                : 80%%;
-    margin                   : 0;
-  }
-  div.toc ul {
-    list-style               : none;
-    padding                  : 0;
-    margin                   : 0;
-  }
-  div.toc li ul a, li ul span.currentlink
-  {
-    font-weight              : normal;
-    font-size                : 90%%;
-    padding-left             : 2em;
-    background-color         : #111111;
-  }
-  div.toc a, span.currentlink{
-    display                  : block;
-    text-decoration          : none;
-    padding-left             : 0.5em;
-    color                    : #FF00AA;
-  }
-  hr {
-    width                    : 90%%;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-    margin-top               : 1.8em;
-    margin-bottom            : 1.8em;
-  }
-  span.currentlink {
-    text-decoration          : none;
-    background-color         : #AAAAF9;
-  }
-  div.toc a:visited {
-    color                    : #FF00AA;
-  }
-  div.toc a:hover {
-    color                    : #CCCCCC;
-    background-color         : #F9F9AA;
-  }
-  nav#toc ol {
-    list-style-type          : none;
-  }
-  .norm, .bold, .verse, .group, .block, .alt {
-    line-height              : 133%%;
-    margin-top               : 12px;
-    margin-bottom            : 0px;
-    padding-left             : 0em;
-    text-indent              : 0em;
-  }
-  p, h0, h1, h2, h3, h4, h5, h6, h7, ul, li {
-    display                  : block;
-    font-family              : verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-  }
-  p {
-    font-size                : 100%%;
-    font-weight              : normal;
-    line-height              : 133%%;
-    text-align               : justify;
-    text-indent              : 0mm;
-    margin-top               : 0.8em;
-    margin-bottom            : 0.8em;
-  }
-  img {
-    max-width                : 100%%;
-    height                   : auto;
-  }
-  pre {
-    width                    : auto;
-    display                  : block;
-    clear                    : both;
-    color                    : #555555;
-  }
-  pre.codeline {
-    display                  : table;
-    clear                    : both;
-    table-layout             : fixed;
-    margin-left              : 5%%;
-    margin-right             : 5%%;
-    width                    : 90%%;
-    white-space              : pre-wrap;
-    border-style             : none;
-    border-radius            : 5px 5px 5px 5px;
-    box-shadow               : 0 2px 5px #AAAAAA inset;
-    margin-bottom            : 1em;
-    padding                  : 0.5em 1em;
-    page-break-inside        : avoid;
-    word-wrap                : break-word;
-    font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
-    white-space              : pre;
-    white-space              : pre-wrap;
-    white-space              : -moz-pre-wrap;
-    white-space              : -o-pre-wrap;
-    background-color         : #555555;
-    color                    : #DDDDDD;
-    font-size                : 95%%;
-    line-height              : 100%%;
-  }
-  pre.codeline::before {
-    counter-reset            : linenum;
-  }
-  pre.codeline span.tr {
-    display                  : table-row;
-    counter-increment        : linenum;
-  }
-  pre.codeline span.th {
-    display                  : table-cell;
-    user-select              : none;
-    -moz-user-select         : none;
-    -webkit-user-select      : none;
-    padding                  : 0.5em 0.5em;
-  }
-  pre.codeline span.th::before {
-    content                  : counter(linenum) ".";
-    color                    : #999999;
-    text-align               : right;
-    display                  : block;
-  }
-  pre.codeline span.th {
-    width                    : 4em;
-  }
-  pre.codeline code {
-    display                  : table-cell;
-  }
-  p.code {
-    border-style             : none;
-  }
-  p.spaced { white-space     : pre; }
-  p.block {
-    white-space              : pre;
-  }
-  p.group { }
-  p.alt { }
-  p.verse {
-    white-space              : pre;
-    margin-bottom            : 6px;
-  }
-  p.caption {
-    text-align               : left;
-    font-size                : 80%%;
-    display                  : inline;
-  }
-  p.endnote {
-    font-size                : 96%%;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-right             : 15mm;
-    padding-left             : 1em;
-    text-indent              : -1em;
-  }
-  p.center {
-    text-align               : center;
-  }
-  p.bold {
-    font-weight              : bold;
-  }
-  p.bold_left {
-    font-weight              : bold;
-    text-align               : left;
-  }
-  p.centerbold {
-    text-align               : center;
-    font-weight              : bold;
-  }
-  p.em {
-    font-weight              : bold;
-    font-style               : normal;
-    background               : #FFF3B6;
-  }
-  p.small {
-    font-size                : 80%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-    margin-right             : 6px;
-    text-align               : left;
-  }
-  .tiny, .tiny_left, .tiny_right, .tiny_center {
-    font-size                : 10px;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-    color                    : #EEEEEE;
-    margin-right             : 6px;
-    text-align               : left;
-  }
-  p.tiny { }
-  p.tiny_left {
-    margin-left              : 0px;
-    margin-right             : 0px;
-    text-align               : left;
-  }
-  p.tiny_right {
-    margin-right             : 1em;
-    text-align               : right;
-  }
-  p.tiny_center {
-    margin-left              : 0px;
-    margin-right             : 0px;
-    text-align               : center;
-  }
-  p.concordance_word {
-    line-height              : 150%%;
-    font-weight              : bold;
-    display                  : inline;
-    margin-top               : 4px;
-    margin-bottom            : 1px;
-  }
-  p.concordance_count {
-    font-size                : 80%%;
-    color                    : #555555;
-    display                  : inline;
-    margin-left              : 0em;
-  }
-  p.concordance_object {
-    font-size                : 80%%;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-left              : 3em;
-    margin-top               : 1px;
-    margin-bottom            : 3px;
-  }
-  p.book_index_lev1 {
-    line-height              : 100%%;
-    margin-top               : 4px;
-    margin-bottom            : 1px;
-  }
-  p.book_index_lev2 {
-    line-height              : 100%%;
-    text-align               : left;
-    margin-left              : 3em;
-    margin-top               : 1px;
-    margin-bottom            : 3px;
-  }
-  tt {
-    font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
-    background-color         : #555555;
-    color                    : #DDDDDD;
-  }
+*{
+  padding                  : 0px;
+  margin                   : 0px;
+}
+body {
+  height                   : 100vh;
+  background-color         : #000000;
+}
+body {
+  color                    : #CCCCCC;
+  background               : #000000;
+  background-color         : #000000;
+}
+a:link {
+  color                    : #FFFFFF;
+  text-decoration          : none;
+}
+a:visited {
+  color                    : #999999;
+  text-decoration          : none;
+}
+a:hover {
+  color                    : #000000;
+  background-color         : #555555;
+}
+a.lnkocn:link {
+  color                    : %s;
+  text-decoration          : none;
+}
+a.lnkocn:visited {
+  color                    : #9ACD32;
+  text-decoration          : none;
+}
+a.lnkocn:hover {
+  color                    : #BBBBBB;
+  font-size                : 15px;
+}
+a:hover img {
+  background-color         : #000000;
+}
+a:active {
+  color                    : #888888;
+  text-decoration          : underline;
+}
+input {
+  color                    : #FFFFFF;
+  background-color         : #777777;
+}
+div {
+  margin-left              : 0;
+  margin-right             : 0;
+}
+div.p {
+  margin-left              : 5%%;
+  margin-right             : 1%%;
+}
+div.substance {
+  width                    : 100%%;
+  background-color         : #000000;
+}
+div.ocn {
+  width                    : 5%%;
+  float                    : right;
+  top                      : 0;
+  background-color         : #000000;
+}
+div.endnote {
+  width                    : 95%%;
+  background-color         : #000000;
+}
+div.toc {
+  position                 : absolute;
+  float                    : left;
+  margin                   : 0;
+  padding                  : 0;
+  padding-top              : 0.5em;
+  border                   : 0;
+  width                    : 13em;
+  background-color         : #111111;
+  margin-right             : 1em;
+}
+div.summary {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 13em solid #111111;
+  padding-left             : 1em;
+  background-color         : #111111;
+}
+div.content, div.main_column {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 13em solid #000000;
+  padding-left             : 1em;
+  padding-right            : 1em;
+}
+div.content0, div.main_column0 {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 0%% solid #000000;
+  padding-left             : 5%%;
+}
+div.scroll {
+  margin                   : 0;
+  padding                  : 0;
+  padding-left             : 1em;
+  padding-right            : 1em;
+}
+div.content:after {
+  content                  : ' ';
+  clear                    : both;
+  display                  : block;
+  height                   : 0;
+  overflow                 : hidden;
+}
+div.footer {
+  clear                    : left;
+  padding                  : 0.5em;
+  font-size                : 80%%;
+  margin                   : 0;
+}
+div.toc ul {
+  list-style               : none;
+  padding                  : 0;
+  margin                   : 0;
+}
+div.toc li ul a, li ul span.currentlink
+{
+  font-weight              : normal;
+  font-size                : 90%%;
+  padding-left             : 2em;
+  background-color         : #111111;
+}
+div.toc a, span.currentlink{
+  display                  : block;
+  text-decoration          : none;
+  padding-left             : 0.5em;
+  color                    : #FF00AA;
+}
+hr {
+  width                    : 90%%;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+  margin-top               : 1.8em;
+  margin-bottom            : 1.8em;
+}
+span.currentlink {
+  text-decoration          : none;
+  background-color         : #AAAAF9;
+}
+div.toc a:visited {
+  color                    : #FF00AA;
+}
+div.toc a:hover {
+  color                    : #CCCCCC;
+  background-color         : #F9F9AA;
+}
+nav#toc ol {
+  list-style-type          : none;
+}
+.norm, .bold, .verse, .group, .block, .alt {
+  line-height              : 133%%;
+  margin-top               : 12px;
+  margin-bottom            : 0px;
+  padding-left             : 0em;
+  text-indent              : 0em;
+}
+p, h0, h1, h2, h3, h4, h5, h6, h7, ul, li {
+  display                  : block;
+  font-family              : verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+}
+p {
+  font-size                : 100%%;
+  font-weight              : normal;
+  line-height              : 133%%;
+  text-align               : justify;
+  text-indent              : 0mm;
+  margin-top               : 0.8em;
+  margin-bottom            : 0.8em;
+}
+img {
+  max-width                : 100%%;
+  height                   : auto;
+}
+pre {
+  width                    : auto;
+  display                  : block;
+  clear                    : both;
+  color                    : #555555;
+}
+pre.codeline {
+  display                  : table;
+  clear                    : both;
+  table-layout             : fixed;
+  margin-left              : 5%%;
+  margin-right             : 5%%;
+  width                    : 90%%;
+  white-space              : pre-wrap;
+  border-style             : none;
+  border-radius            : 5px 5px 5px 5px;
+  box-shadow               : 0 2px 5px #AAAAAA inset;
+  margin-bottom            : 1em;
+  padding                  : 0.5em 1em;
+  page-break-inside        : avoid;
+  word-wrap                : break-word;
+  font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
+  white-space              : pre;
+  white-space              : pre-wrap;
+  white-space              : -moz-pre-wrap;
+  white-space              : -o-pre-wrap;
+  background-color         : #555555;
+  color                    : #DDDDDD;
+  font-size                : 95%%;
+  line-height              : 100%%;
+}
+pre.codeline::before {
+  counter-reset            : linenum;
+}
+pre.codeline span.tr {
+  display                  : table-row;
+  counter-increment        : linenum;
+}
+pre.codeline span.th {
+  display                  : table-cell;
+  user-select              : none;
+  -moz-user-select         : none;
+  -webkit-user-select      : none;
+  padding                  : 0.5em 0.5em;
+}
+pre.codeline span.th::before {
+  content                  : counter(linenum) ".";
+  color                    : #999999;
+  text-align               : right;
+  display                  : block;
+}
+pre.codeline span.th {
+  width                    : 4em;
+}
+pre.codeline code {
+  display                  : table-cell;
+}
+p.code {
+  border-style             : none;
+}
+p.spaced { white-space     : pre; }
+p.block {
+  white-space              : pre;
+}
+p.group { }
+p.alt { }
+p.verse {
+  white-space              : pre;
+  margin-bottom            : 6px;
+}
+p.caption {
+  text-align               : left;
+  font-size                : 80%%;
+  display                  : inline;
+}
+p.endnote {
+  font-size                : 96%%;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-right             : 15mm;
+  padding-left             : 1em;
+  text-indent              : -1em;
+}
+p.center {
+  text-align               : center;
+}
+p.bold {
+  font-weight              : bold;
+}
+p.bold_left {
+  font-weight              : bold;
+  text-align               : left;
+}
+p.centerbold {
+  text-align               : center;
+  font-weight              : bold;
+}
+p.em {
+  font-weight              : bold;
+  font-style               : normal;
+  background               : #FFF3B6;
+}
+p.small {
+  font-size                : 80%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+  margin-right             : 6px;
+  text-align               : left;
+}
+.tiny, .tiny_left, .tiny_right, .tiny_center {
+  font-size                : 10px;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+  color                    : #EEEEEE;
+  margin-right             : 6px;
+  text-align               : left;
+}
+p.tiny { }
+p.tiny_left {
+  margin-left              : 0px;
+  margin-right             : 0px;
+  text-align               : left;
+}
+p.tiny_right {
+  margin-right             : 1em;
+  text-align               : right;
+}
+p.tiny_center {
+  margin-left              : 0px;
+  margin-right             : 0px;
+  text-align               : center;
+}
+p.concordance_word {
+  line-height              : 150%%;
+  font-weight              : bold;
+  display                  : inline;
+  margin-top               : 4px;
+  margin-bottom            : 1px;
+}
+p.concordance_count {
+  font-size                : 80%%;
+  color                    : #555555;
+  display                  : inline;
+  margin-left              : 0em;
+}
+p.concordance_object {
+  font-size                : 80%%;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-left              : 3em;
+  margin-top               : 1px;
+  margin-bottom            : 3px;
+}
+p.book_index_lev1 {
+  line-height              : 100%%;
+  margin-top               : 4px;
+  margin-bottom            : 1px;
+}
+p.book_index_lev2 {
+  line-height              : 100%%;
+  text-align               : left;
+  margin-left              : 3em;
+  margin-top               : 1px;
+  margin-bottom            : 3px;
+}
+tt {
+  font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
+  background-color         : #555555;
+  color                    : #DDDDDD;
+}
 %s
-  note { white-space         : pre; }
-  label.ocn {
-    width                    : 2%%;
-    float                    : right;
-    top                      : 0;
-    font-size                : 10px;
-    margin-top               : 0px;
-    margin-bottom            : 5px;
-    margin-right             : 5px;
-    text-align               : right;
-    color                    : %s;
-    -khtml-user-select       : none;
-    -moz-user-select         : none;
-    -ms-user-select          : none;
-    -o-user-select           : none;
-    -webkit-user-select      : none;
-    user-select              : none;
-  }
-  table {
-    display                  : block;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-    background-color         : inherit;
-  }
-  tr { }
-  th,td {
-    vertical-align           : top;
-    text-align               : left;
-  }
-  th {
-    font-weight              : bold;
-  }
-  em {
-    font-weight              : bold;
-    font-style               : italic;
-  }
-  p.left,th.left,td.left {
-    text-align               : left;
-  }
-  p.small_left,th.small_left,td.small_left {
-    text-align               : left;
-    font-size                : 80%%;
-  }
-  p.right,th.right,td.right {
-    text-align               : right;
-  }
-  ul, li {
-    list-style-type          : none;
-    list-style               : none;
-    padding-left             : 20px;
-    font-weight              : normal;
-    line-height              : 150%%;
-    text-align               : left;
-    text-indent              : 0mm;
-    margin-left              : 1em;
-    margin-right             : 2em;
-    margin-top               : 3px;
-    margin-bottom            : 3px;
-  }
-  li {
-    background               : (../image_sys/bullet_09.png) no-repeat 0px 6px;
-  }
-  ul { }
-  h0, h1, h2, h3, h4, h5, h6, h7 {
-    font-weight              : bold;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-top               : 20px;
-    margin-bottom            : 10px;
-  }
-  h4.norm, h5.norm, h6.norm, h7.norm {
-    margin-top               : 10px;
-    margin-bottom            : 0px;
-  }
-  h0 { font-size             : 125%%; }
-  h1 { font-size             : 120%%; }
-  h2 { font-size             : 115%%; }
-  h3 { font-size             : 110%%; }
-  h4 { font-size             : 105%%; }
-  h5 { font-size             : 100%%; }
-  h6 { font-size             : 100%%; }
-  h7 { font-size             : 100%%; }
-  h0, h1, h2, h3, h4, h5, h6, h7 {
-    text-shadow              : .2em .2em .3em #999999;
-  }
-  h1.i { margin-left         : 2em; }
-  h2.i { margin-left         : 3em; }
-  h3.i { margin-left         : 4em; }
-  h4.i { margin-left         : 5em; }
-  h5.i { margin-left         : 6em; }
-  h6.i { margin-left         : 7em; }
-  h7.i { margin-left         : 8em; }
-  h8.i { margin-left         : 9em; }
-  h9.i { margin-left         : 10em; }
-  .toc {
-    font-weight              : normal;
-    margin-top               : 6px;
-    margin-bottom            : 6px;
-  }
-  h0.toc {
-    margin-left              : 1em;
-    font-size                : 120%%;
-    line-height              : 150%%;
-  }
-  h1.toc {
-    margin-left              : 1em;
-    font-size                : 115%%;
-    line-height              : 150%%;
-  }
-  h2.toc {
-    margin-left              : 2em;
-    font-size                : 110%%;
-    line-height              : 140%%;
-  }
-  h3.toc {
-    margin-left              : 3em;
-    font-size                : 105%%;
-    line-height              : 120%%;
-  }
-  h4.toc {
-    margin-left              : 4em;
-    font-size                : 100%%;
-    line-height              : 120%%;
-  }
-  h5.toc {
-    margin-left              : 5em;
-    font-size                : 95%%;
-    line-height              : 110%%;
-  }
-  h6.toc {
-    margin-left              : 6em;
-    font-size                : 90%%;
-    line-height              : 110%%;
-  }
-  h7.toc {
-    margin-left              : 7em;
-    font-size                : 85%%;
-    line-height              : 100%%;
-  }
-  .subtoc {
-    margin-right             : 34%%;
-    font-weight              : normal;
-  }
-  h5.subtoc {
-    margin-left              : 2em;
-    font-size                : 80%%;
-    margin-top               : 2px;
-    margin-bottom            : 2px;
-  }
-  h6.subtoc {
-    margin-left              : 3em;
-    font-size                : 75%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-  }
-  h7.subtoc {
-    margin-left              : 4em;
-    font-size                : 70%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-  }
-  .icon-bar {
-    width                    : 100%%;
-    overflow                 : auto;
-    margin                   : 0em 0em 0em;
-  }
-  .left-bar {
-    width                    : 85%%;
-    float                    : left;
-    display                  : inline;
-    overflow                 : auto;
-  }
-  .toc-button {
-    position                 : absolute;
-    top                      : 8px;
-    width                    : 2em;
-    height                   : 2em;
-    border-radius            : 50%%;
-    background               : #555555;
-    fill                     : #DDDDDD;
-    box-shadow               : 0 2px 5px #EEEEEE inset;
-  }
-  .toc-button svg {
-    position                 : relative;
-    left                     : 25%%;
-    top                      : 25%%;
-    width                    : 150%%;
-    height                   : 150%%;
-  }
-  .toc-button p {
-    vertical-align           : center;
-    font-size                : 120%%;
-  }
-  .prev-next-button {
-    position                 : absolute;
-    top                      : 8px;
-    width                    : 2em;
-    height                   : 2em;
-    border-radius            : 50%%;
-    background               : #555555;
-    box-shadow               : 0 2px 5px #AAAAAA inset;
-  }
-  .prev-next-button svg {
-    position                 : relative;
-    left                     : 20%%;
-    top                      : 20%%;
-    width                    : 60%%;
-    height                   : 60%%;
-  }
-  .menu {
-    right                    : 6em;
-   }
-  .previous {
-    right                    : 3em;
-   }
-  .next {
-    right                    : 0em;
-   }
-  .arrow {
-     fill                    : #DDDDDD;
-  }
-  .minitoc {
-    line-height              : 100%%;
-    font-size                : 90%%;
-    margin-top               : 6px;
-    margin-bottom            : 0px;
-    padding-left             : 0em;
-    text-indent              : 0em;
-    -khtml-user-select       : none;
-    -moz-user-select         : none;
-    -ms-user-select          : none;
-    -o-user-select           : none;
-    -webkit-user-select      : none;
-    user-select              : none;
-  }
-  /* flex */
-  .flex-menu-bar {
-    display                  : -webkit-flex;
-    display                  : flex;
-    -webkit-flex-wrap        : wrap;
-    -webkit-align-items      : center;
-    align-items              : center;
-    width                    : 100%%;
-    margin-left              : 5%%;
-    margin-right             : 2%%;
-    background-color         : #000000;
-  }
-  .flex-menu-option {
-    background-color         : #000000;
-    margin-right             : 4px;
-  }
-  .flex-list {
-    display                  : -webkit-flex;
-    display                  : flex;
-    -webkit-align-items      : center;
-    display                  : block;
-    align-items              : center;
-    width                    : 100%%;
-    background-color         : #000000;
-  }
-  .flex-list-item {
-    background-color         : #000000;
-    margin                   : 4px;
-  }
-  /* grid */
-  .wrapper {
-    display                  : grid;
-    grid-template-columns    : 100%%;
-    grid-template-areas      :
-      "headband"
-      "doc_header"
-      "doc_title"
-      "doc_toc"
-      "doc_prefix"
-      "doc_intro"
-      "doc_body"
-      "doc_endnotes"
-      "doc_glossary"
-      "doc_biblio"
-      "doc_bookindex"
-      "doc_blurb"
-      "doc_suffix";
-    margin                   : 0px;
-    padding                  : 0px;
-    background-color         : #000000;
-  }
-  .delimit {
-    border-style             : none;
-    border-color             : #000000;
-    padding                  : 10px;
-  }
-  .headband {
-    grid-area                : headband;
-    background-color         : #000000;
-  }
-  .doc_header {
-    grid-area                : doc_header;
-  }
-  .doc_title {
-    grid-area                : doc_title;
-  }
-  .doc_toc {
-    grid-area                : doc_toc;
-  }
-  .doc_prefix {
-    grid-area                : doc_prefix;
-  }
-  .doc_intro {
-    grid-area                : doc_intro;
-  }
-  .doc_body {
-    grid-area                : doc_body;
-  }
-  .doc_endnotes {
-    grid-area                : doc_endnotes;
-  }
-  .doc_glossary {
-    grid-area                : doc_glossary;
-  }
-  .doc_biblio {
-    grid-area                : doc_biblio;
-  }
-  .doc_bookindex {
-    grid-area                : doc_bookindex;
-  }
-  .doc_blurb {
-    grid-area                : doc_blurb;
-  }
-  .doc_suffix {
-    grid-area                : doc_suffix;
-  }
-  .nav-ul {
-    list-style               : none;
-    float                    : left;
-  }
-  .nav-li {
-    float                    : left;
-    padding-right            : 0.7em;
-  }
-  .nav-li a {
-    text-decoration          : none;
-    color                    : #000000;
-  }
-  footer {
-    background-color         : #FF704E;
-  }
+note { white-space         : pre; }
+label.ocn {
+  width                    : 2%%;
+  float                    : right;
+  top                      : 0;
+  font-size                : 10px;
+  margin-top               : 0px;
+  margin-bottom            : 5px;
+  margin-right             : 5px;
+  text-align               : right;
+  color                    : %s;
+  -khtml-user-select       : none;
+  -moz-user-select         : none;
+  -ms-user-select          : none;
+  -o-user-select           : none;
+  -webkit-user-select      : none;
+  user-select              : none;
+}
+table {
+  display                  : block;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+  background-color         : inherit;
+}
+tr { }
+th,td {
+  vertical-align           : top;
+  text-align               : left;
+}
+th {
+  font-weight              : bold;
+}
+em {
+  font-weight              : bold;
+  font-style               : italic;
+}
+p.left,th.left,td.left {
+  text-align               : left;
+}
+p.small_left,th.small_left,td.small_left {
+  text-align               : left;
+  font-size                : 80%%;
+}
+p.right,th.right,td.right {
+  text-align               : right;
+}
+ul, li {
+  list-style-type          : none;
+  list-style               : none;
+  padding-left             : 20px;
+  font-weight              : normal;
+  line-height              : 150%%;
+  text-align               : left;
+  text-indent              : 0mm;
+  margin-left              : 1em;
+  margin-right             : 2em;
+  margin-top               : 3px;
+  margin-bottom            : 3px;
+}
+li {
+  background               : (../image_sys/bullet_09.png) no-repeat 0px 6px;
+}
+ul { }
+h0, h1, h2, h3, h4, h5, h6, h7 {
+  font-weight              : bold;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-top               : 20px;
+  margin-bottom            : 10px;
+}
+h4.norm, h5.norm, h6.norm, h7.norm {
+  margin-top               : 10px;
+  margin-bottom            : 0px;
+}
+h0 { font-size             : 125%%; }
+h1 { font-size             : 120%%; }
+h2 { font-size             : 115%%; }
+h3 { font-size             : 110%%; }
+h4 { font-size             : 105%%; }
+h5 { font-size             : 100%%; }
+h6 { font-size             : 100%%; }
+h7 { font-size             : 100%%; }
+h0, h1, h2, h3, h4, h5, h6, h7 {
+  text-shadow              : .2em .2em .3em #999999;
+}
+h1.i { margin-left         : 2em; }
+h2.i { margin-left         : 3em; }
+h3.i { margin-left         : 4em; }
+h4.i { margin-left         : 5em; }
+h5.i { margin-left         : 6em; }
+h6.i { margin-left         : 7em; }
+h7.i { margin-left         : 8em; }
+h8.i { margin-left         : 9em; }
+h9.i { margin-left         : 10em; }
+.toc {
+  font-weight              : normal;
+  margin-top               : 6px;
+  margin-bottom            : 6px;
+}
+h0.toc {
+  margin-left              : 1em;
+  font-size                : 120%%;
+  line-height              : 150%%;
+}
+h1.toc {
+  margin-left              : 1em;
+  font-size                : 115%%;
+  line-height              : 150%%;
+}
+h2.toc {
+  margin-left              : 2em;
+  font-size                : 110%%;
+  line-height              : 140%%;
+}
+h3.toc {
+  margin-left              : 3em;
+  font-size                : 105%%;
+  line-height              : 120%%;
+}
+h4.toc {
+  margin-left              : 4em;
+  font-size                : 100%%;
+  line-height              : 120%%;
+}
+h5.toc {
+  margin-left              : 5em;
+  font-size                : 95%%;
+  line-height              : 110%%;
+}
+h6.toc {
+  margin-left              : 6em;
+  font-size                : 90%%;
+  line-height              : 110%%;
+}
+h7.toc {
+  margin-left              : 7em;
+  font-size                : 85%%;
+  line-height              : 100%%;
+}
+.subtoc {
+  margin-right             : 34%%;
+  font-weight              : normal;
+}
+h5.subtoc {
+  margin-left              : 2em;
+  font-size                : 80%%;
+  margin-top               : 2px;
+  margin-bottom            : 2px;
+}
+h6.subtoc {
+  margin-left              : 3em;
+  font-size                : 75%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+}
+h7.subtoc {
+  margin-left              : 4em;
+  font-size                : 70%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+}
+.icon-bar {
+  width                    : 100%%;
+  overflow                 : auto;
+  margin                   : 0em 0em 0em;
+}
+.left-bar {
+  width                    : 85%%;
+  float                    : left;
+  display                  : inline;
+  overflow                 : auto;
+}
+.toc-button {
+  position                 : absolute;
+  top                      : 8px;
+  width                    : 2em;
+  height                   : 2em;
+  border-radius            : 50%%;
+  background               : #555555;
+  fill                     : #DDDDDD;
+  box-shadow               : 0 2px 5px #EEEEEE inset;
+}
+.toc-button svg {
+  position                 : relative;
+  left                     : 25%%;
+  top                      : 25%%;
+  width                    : 150%%;
+  height                   : 150%%;
+}
+.toc-button p {
+  vertical-align           : center;
+  font-size                : 120%%;
+}
+.prev-next-button {
+  position                 : absolute;
+  top                      : 8px;
+  width                    : 2em;
+  height                   : 2em;
+  border-radius            : 50%%;
+  background               : #555555;
+  box-shadow               : 0 2px 5px #AAAAAA inset;
+}
+.prev-next-button svg {
+  position                 : relative;
+  left                     : 20%%;
+  top                      : 20%%;
+  width                    : 60%%;
+  height                   : 60%%;
+}
+.menu {
+  right                    : 6em;
+ }
+.previous {
+  right                    : 3em;
+ }
+.next {
+  right                    : 0em;
+ }
+.arrow {
+   fill                    : #DDDDDD;
+}
+.minitoc {
+  line-height              : 100%%;
+  font-size                : 90%%;
+  margin-top               : 6px;
+  margin-bottom            : 0px;
+  padding-left             : 0em;
+  text-indent              : 0em;
+  -khtml-user-select       : none;
+  -moz-user-select         : none;
+  -ms-user-select          : none;
+  -o-user-select           : none;
+  -webkit-user-select      : none;
+  user-select              : none;
+}
+/* flex */
+.flex-menu-bar {
+  display                  : -webkit-flex;
+  display                  : flex;
+  -webkit-flex-wrap        : wrap;
+  -webkit-align-items      : center;
+  align-items              : center;
+  width                    : 100%%;
+  margin-left              : 5%%;
+  margin-right             : 2%%;
+  background-color         : #000000;
+}
+.flex-menu-option {
+  background-color         : #000000;
+  margin-right             : 4px;
+}
+.flex-list {
+  display                  : -webkit-flex;
+  display                  : flex;
+  -webkit-align-items      : center;
+  display                  : block;
+  align-items              : center;
+  width                    : 100%%;
+  background-color         : #000000;
+}
+.flex-list-item {
+  background-color         : #000000;
+  margin                   : 4px;
+}
+/* grid */
+.wrapper {
+  display                  : grid;
+  grid-template-columns    : 100%%;
+  grid-template-areas      :
+    "headband"
+    "doc_header"
+    "doc_title"
+    "doc_toc"
+    "doc_prefix"
+    "doc_intro"
+    "doc_body"
+    "doc_endnotes"
+    "doc_glossary"
+    "doc_biblio"
+    "doc_bookindex"
+    "doc_blurb"
+    "doc_suffix";
+  margin                   : 0px;
+  padding                  : 0px;
+  background-color         : #000000;
+}
+.delimit {
+  border-style             : none;
+  border-color             : #000000;
+  padding                  : 10px;
+}
+.headband {
+  grid-area                : headband;
+  background-color         : #000000;
+}
+.doc_header {
+  grid-area                : doc_header;
+}
+.doc_title {
+  grid-area                : doc_title;
+}
+.doc_toc {
+  grid-area                : doc_toc;
+}
+.doc_prefix {
+  grid-area                : doc_prefix;
+}
+.doc_intro {
+  grid-area                : doc_intro;
+}
+.doc_body {
+  grid-area                : doc_body;
+}
+.doc_endnotes {
+  grid-area                : doc_endnotes;
+}
+.doc_glossary {
+  grid-area                : doc_glossary;
+}
+.doc_biblio {
+  grid-area                : doc_biblio;
+}
+.doc_bookindex {
+  grid-area                : doc_bookindex;
+}
+.doc_blurb {
+  grid-area                : doc_blurb;
+}
+.doc_suffix {
+  grid-area                : doc_suffix;
+}
+.nav-ul {
+  list-style               : none;
+  float                    : left;
+}
+.nav-li {
+  float                    : left;
+  padding-right            : 0.7em;
+}
+.nav-li a {
+  text-decoration          : none;
+  color                    : #000000;
+}
+footer {
+  background-color         : #FF704E;
+}
 ┃",
     _color_ocn_dark,
     _css_indent,
     _color_ocn_dark,
 );
     string _css_light_html_scroll = format(q"┃
-  *{
-    padding                  : 0px;
-    margin                   : 0px;
-  }
-  body {
-    height                   : 100vh;
-    background-color         : #FFFFFF;
-  }
-  body {
-    color                    : #000000;
-    background               : #FFFFFF;
-    background-color         : #FFFFFF;
-  }
-  a:link {
-    color                    : #003399;
-    text-decoration          : none;
-  }
-  a:visited {
-    color                    : #003399;
-    text-decoration          : none;
-  }
-  a:hover {
-    color                    : #000000;
-    background-color         : #F9F9AA;
-  }
-  a.lnkocn:link {
-    color                    : %s;
-    text-decoration          : none;
-  }
-  a.lnkocn:visited {
-    color                    : #32CD32;
-    text-decoration          : none;
-  }
-  a.lnkocn:hover {
-    color                    : #777777;
-    font-size                : 15px;
-  }
-  a:hover img {
-    background-color         : #FFFFFF;
-  }
-  a:active {
-    color                    : #003399;
-    text-decoration          : underline;
-  }
-  input {
-    color                    : #000000;
-    background-color         : #FFFFFF;
-  }
-  div {
-    margin-left              : 0;
-    margin-right             : 0;
-  }
-  div.p {
-    margin-left              : 5%%;
-    margin-right             : 1%%;
-  }
-  div.substance {
-    width                    : 100%%;
-    background-color         : #FFFFFF;
-  }
-  div.ocn {
-    width                    : 5%%;
-    float                    : right;
-    top                      : 0;
-    background-color         : #FFFFFF;
-  }
-  div.endnote {
-    width                    : 95%%;
-    background-color         : #FFFFFF;
-  }
-  div.toc {
-    position                 : absolute;
-    float                    : left;
-    margin                   : 0;
-    padding                  : 0;
-    padding-top              : 0.5em;
-    border                   : 0;
-    width                    : 13em;
-    background-color         : #EEEEEE;
-    margin-right             : 1em;
-  }
-  div.summary {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 13em solid #EEEEEE;
-    padding-left             : 1em;
-    background-color         : #EEEEEE;
-  }
-  div.content, div.main_column {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 13em solid #FFFFFF;
-    padding-left             : 1em;
-    padding-right            : 1em;
-  }
-  div.content0, div.main_column0 {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 0%% solid #FFFFFF;
-    padding-left             : 5%%;
-  }
-  div.scroll {
-    margin                   : 0;
-    padding                  : 0;
-    padding-left             : 1em;
-    padding-right            : 1em;
-  }
-  div.content:after {
-    content                  : ' ';
-    clear                    : both;
-    display                  : block;
-    height                   : 0;
-    overflow                 : hidden;
-  }
-  div.footer {
-    clear                    : left;
-    padding                  : 0.5em;
-    font-size                : 80%%;
-    margin                   : 0;
-  }
-  div.toc ul {
-    list-style               : none;
-    padding                  : 0;
-    margin                   : 0;
-  }
-  div.toc li ul a, li ul span.currentlink
-  {
-    font-weight              : normal;
-    font-size                : 90%%;
-    padding-left             : 2em;
-    background-color         : #EEEEEE;
-  }
-  div.toc a, span.currentlink{
-    display                  : block;
-    text-decoration          : none;
-    padding-left             : 0.5em;
-    color                    : #0000aa;
-  }
-  hr {
-    width                    : 90%%;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-    margin-top               : 1.8em;
-    margin-bottom            : 1.8em;
-  }
-  span.currentlink {
-    text-decoration          : none;
-    background-color         : #AAAAAA;
-  }
-  div.toc a:visited {
-    color                    : #0000aa;
-  }
-  div.toc a:hover {
-    color                    : #000000;
-    background-color         : #F9F9AA;
-  }
-  nav#toc ol {
-    list-style-type          : none;
-  }
-  .norm, .bold, .verse, .group, .block, .alt {
-    line-height              : 133%%;
-    margin-top               : 12px;
-    margin-bottom            : 0px;
-    padding-left             : 0em;
-    text-indent              : 0em;
-  }
-  p, h0, h1, h2, h3, h4, h5, h6, h7, ul, li {
-    display                  : block;
-    font-family              : verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-  }
-  p {
-    font-size                : 100%%;
-    font-weight              : normal;
-    line-height              : 133%%;
-    text-align               : justify;
-    text-indent              : 0mm;
-    margin-top               : 0.8em;
-    margin-bottom            : 0.8em;
-  }
-  img {
-    max-width                : 100%%;
-    height                   : auto;
-  }
-  pre {
-    width                    : auto;
-    display                  : block;
-    clear                    : both;
-    color                    : #555555;
-  }
-  pre.codeline {
-    display                  : table;
-    clear                    : both;
-    table-layout             : fixed;
-    margin-left              : 5%%;
-    margin-right             : 5%%;
-    width                    : 90%%;
-    white-space              : pre-wrap;
-    border-style             : none;
-    border-radius            : 5px 5px 5px 5px;
-    box-shadow               : 0 2px 5px #AAAAAA inset;
-    margin-bottom            : 1em;
-    padding                  : 0.5em 1em;
-    page-break-inside        : avoid;
-    word-wrap                : break-word;
-    font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
-    white-space              : pre;
-    white-space              : pre-wrap;
-    white-space              : -moz-pre-wrap;
-    white-space              : -o-pre-wrap;
-    background-color         : #EEEEEE;
-    color                    : #000000;
-    font-size                : 95%%;
-    line-height              : 100%%;
-  }
-  pre.codeline::before {
-    counter-reset            : linenum;
-  }
-  pre.codeline span.tr {
-    display                  : table-row;
-    counter-increment        : linenum;
-  }
-  pre.codeline span.th {
-    display                  : table-cell;
-    user-select              : none;
-    -moz-user-select         : none;
-    -webkit-user-select      : none;
-    padding                  : 0.5em 0.5em;
-    /* background-color         : #666666; */
-  }
-  pre.codeline span.th::before {
-    content                  : counter(linenum) ".";
-    color                    : #999999;
-    text-align               : right;
-    display                  : block;
-  }
-  pre.codeline span.th {
-    width                    : 4em;
-  }
-  pre.codeline code {
-    display                  : table-cell;
-  }
-  p.code {
-    border-style             : none;
-  }
-  p.spaced { white-space     : pre; }
-  p.block {
-    white-space              : pre;
-  }
-  p.group { }
-  p.alt { }
-  p.verse {
-    white-space              : pre;
-    margin-bottom            : 6px;
-  }
-  p.caption {
-    text-align               : left;
-    font-size                : 80%%;
-    display                  : inline;
-  }
-  p.endnote {
-    font-size                : 96%%;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-right             : 15mm;
-    padding-left             : 1em;
-    text-indent              : -1em;
-  }
-  p.center {
-    text-align               : center;
-  }
-  p.bold {
-    font-weight              : bold;
-  }
-  p.bold_left {
-    font-weight              : bold;
-    text-align               : left;
-  }
-  p.centerbold {
-    text-align               : center;
-    font-weight              : bold;
-  }
-  p.em {
-    font-weight              : bold;
-    font-style               : normal;
-    background               : #FFF3B6;
-  }
-  p.small {
-    font-size                : 80%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-    margin-right             : 6px;
-    text-align               : left;
-  }
-  .tiny, .tiny_left, .tiny_right, .tiny_center {
-    font-size                : 10px;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-    color                    : #777777;
-    margin-right             : 6px;
-    text-align               : left;
-  }
-  p.tiny { }
-  p.tiny_left {
-    margin-left              : 0px;
-    margin-right             : 0px;
-    text-align               : left;
-  }
-  p.tiny_right {
-    margin-right             : 1em;
-    text-align               : right;
-  }
-  p.tiny_center {
-    margin-left              : 0px;
-    margin-right             : 0px;
-    text-align               : center;
-  }
-  p.concordance_word {
-    line-height              : 150%%;
-    font-weight              : bold;
-    display                  : inline;
-    margin-top               : 4px;
-    margin-bottom            : 1px;
-  }
-  p.concordance_count {
-    font-size                : 80%%;
-    color                    : #777777;
-    display                  : inline;
-    margin-left              : 0em;
-  }
-  p.concordance_object {
-    font-size                : 80%%;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-left              : 3em;
-    margin-top               : 1px;
-    margin-bottom            : 3px;
-  }
-  p.book_index_lev1 {
-    line-height              : 100%%;
-    margin-top               : 4px;
-    margin-bottom            : 1px;
-  }
-  p.book_index_lev2 {
-    line-height              : 100%%;
-    text-align               : left;
-    margin-left              : 3em;
-    margin-top               : 1px;
-    margin-bottom            : 3px;
-  }
-  tt {
-    font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
-    background-color         : #EEEEEE;
-    color                    : #000000;
-  }
+*{
+  padding                  : 0px;
+  margin                   : 0px;
+}
+body {
+  height                   : 100vh;
+  background-color         : #FFFFFF;
+}
+body {
+  color                    : #000000;
+  background               : #FFFFFF;
+  background-color         : #FFFFFF;
+}
+a:link {
+  color                    : #003399;
+  text-decoration          : none;
+}
+a:visited {
+  color                    : #003399;
+  text-decoration          : none;
+}
+a:hover {
+  color                    : #000000;
+  background-color         : #F9F9AA;
+}
+a.lnkocn:link {
+  color                    : %s;
+  text-decoration          : none;
+}
+a.lnkocn:visited {
+  color                    : #32CD32;
+  text-decoration          : none;
+}
+a.lnkocn:hover {
+  color                    : #777777;
+  font-size                : 15px;
+}
+a:hover img {
+  background-color         : #FFFFFF;
+}
+a:active {
+  color                    : #003399;
+  text-decoration          : underline;
+}
+input {
+  color                    : #000000;
+  background-color         : #FFFFFF;
+}
+div {
+  margin-left              : 0;
+  margin-right             : 0;
+}
+div.p {
+  margin-left              : 5%%;
+  margin-right             : 1%%;
+}
+div.substance {
+  width                    : 100%%;
+  background-color         : #FFFFFF;
+}
+div.ocn {
+  width                    : 5%%;
+  float                    : right;
+  top                      : 0;
+  background-color         : #FFFFFF;
+}
+div.endnote {
+  width                    : 95%%;
+  background-color         : #FFFFFF;
+}
+div.toc {
+  position                 : absolute;
+  float                    : left;
+  margin                   : 0;
+  padding                  : 0;
+  padding-top              : 0.5em;
+  border                   : 0;
+  width                    : 13em;
+  background-color         : #EEEEEE;
+  margin-right             : 1em;
+}
+div.summary {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 13em solid #EEEEEE;
+  padding-left             : 1em;
+  background-color         : #EEEEEE;
+}
+div.content, div.main_column {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 13em solid #FFFFFF;
+  padding-left             : 1em;
+  padding-right            : 1em;
+}
+div.content0, div.main_column0 {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 0%% solid #FFFFFF;
+  padding-left             : 5%%;
+}
+div.scroll {
+  margin                   : 0;
+  padding                  : 0;
+  padding-left             : 1em;
+  padding-right            : 1em;
+}
+div.content:after {
+  content                  : ' ';
+  clear                    : both;
+  display                  : block;
+  height                   : 0;
+  overflow                 : hidden;
+}
+div.footer {
+  clear                    : left;
+  padding                  : 0.5em;
+  font-size                : 80%%;
+  margin                   : 0;
+}
+div.toc ul {
+  list-style               : none;
+  padding                  : 0;
+  margin                   : 0;
+}
+div.toc li ul a, li ul span.currentlink
+{
+  font-weight              : normal;
+  font-size                : 90%%;
+  padding-left             : 2em;
+  background-color         : #EEEEEE;
+}
+div.toc a, span.currentlink{
+  display                  : block;
+  text-decoration          : none;
+  padding-left             : 0.5em;
+  color                    : #0000aa;
+}
+hr {
+  width                    : 90%%;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+  margin-top               : 1.8em;
+  margin-bottom            : 1.8em;
+}
+span.currentlink {
+  text-decoration          : none;
+  background-color         : #AAAAAA;
+}
+div.toc a:visited {
+  color                    : #0000aa;
+}
+div.toc a:hover {
+  color                    : #000000;
+  background-color         : #F9F9AA;
+}
+nav#toc ol {
+  list-style-type          : none;
+}
+.norm, .bold, .verse, .group, .block, .alt {
+  line-height              : 133%%;
+  margin-top               : 12px;
+  margin-bottom            : 0px;
+  padding-left             : 0em;
+  text-indent              : 0em;
+}
+p, h0, h1, h2, h3, h4, h5, h6, h7, ul, li {
+  display                  : block;
+  font-family              : verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+}
+p {
+  font-size                : 100%%;
+  font-weight              : normal;
+  line-height              : 133%%;
+  text-align               : justify;
+  text-indent              : 0mm;
+  margin-top               : 0.8em;
+  margin-bottom            : 0.8em;
+}
+img {
+  max-width                : 100%%;
+  height                   : auto;
+}
+pre {
+  width                    : auto;
+  display                  : block;
+  clear                    : both;
+  color                    : #555555;
+}
+pre.codeline {
+  display                  : table;
+  clear                    : both;
+  table-layout             : fixed;
+  margin-left              : 5%%;
+  margin-right             : 5%%;
+  width                    : 90%%;
+  white-space              : pre-wrap;
+  border-style             : none;
+  border-radius            : 5px 5px 5px 5px;
+  box-shadow               : 0 2px 5px #AAAAAA inset;
+  margin-bottom            : 1em;
+  padding                  : 0.5em 1em;
+  page-break-inside        : avoid;
+  word-wrap                : break-word;
+  font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
+  white-space              : pre;
+  white-space              : pre-wrap;
+  white-space              : -moz-pre-wrap;
+  white-space              : -o-pre-wrap;
+  background-color         : #EEEEEE;
+  color                    : #000000;
+  font-size                : 95%%;
+  line-height              : 100%%;
+}
+pre.codeline::before {
+  counter-reset            : linenum;
+}
+pre.codeline span.tr {
+  display                  : table-row;
+  counter-increment        : linenum;
+}
+pre.codeline span.th {
+  display                  : table-cell;
+  user-select              : none;
+  -moz-user-select         : none;
+  -webkit-user-select      : none;
+  padding                  : 0.5em 0.5em;
+  /* background-color         : #666666; */
+}
+pre.codeline span.th::before {
+  content                  : counter(linenum) ".";
+  color                    : #999999;
+  text-align               : right;
+  display                  : block;
+}
+pre.codeline span.th {
+  width                    : 4em;
+}
+pre.codeline code {
+  display                  : table-cell;
+}
+p.code {
+  border-style             : none;
+}
+p.spaced { white-space     : pre; }
+p.block {
+  white-space              : pre;
+}
+p.group { }
+p.alt { }
+p.verse {
+  white-space              : pre;
+  margin-bottom            : 6px;
+}
+p.caption {
+  text-align               : left;
+  font-size                : 80%%;
+  display                  : inline;
+}
+p.endnote {
+  font-size                : 96%%;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-right             : 15mm;
+  padding-left             : 1em;
+  text-indent              : -1em;
+}
+p.center {
+  text-align               : center;
+}
+p.bold {
+  font-weight              : bold;
+}
+p.bold_left {
+  font-weight              : bold;
+  text-align               : left;
+}
+p.centerbold {
+  text-align               : center;
+  font-weight              : bold;
+}
+p.em {
+  font-weight              : bold;
+  font-style               : normal;
+  background               : #FFF3B6;
+}
+p.small {
+  font-size                : 80%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+  margin-right             : 6px;
+  text-align               : left;
+}
+.tiny, .tiny_left, .tiny_right, .tiny_center {
+  font-size                : 10px;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+  color                    : #777777;
+  margin-right             : 6px;
+  text-align               : left;
+}
+p.tiny { }
+p.tiny_left {
+  margin-left              : 0px;
+  margin-right             : 0px;
+  text-align               : left;
+}
+p.tiny_right {
+  margin-right             : 1em;
+  text-align               : right;
+}
+p.tiny_center {
+  margin-left              : 0px;
+  margin-right             : 0px;
+  text-align               : center;
+}
+p.concordance_word {
+  line-height              : 150%%;
+  font-weight              : bold;
+  display                  : inline;
+  margin-top               : 4px;
+  margin-bottom            : 1px;
+}
+p.concordance_count {
+  font-size                : 80%%;
+  color                    : #777777;
+  display                  : inline;
+  margin-left              : 0em;
+}
+p.concordance_object {
+  font-size                : 80%%;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-left              : 3em;
+  margin-top               : 1px;
+  margin-bottom            : 3px;
+}
+p.book_index_lev1 {
+  line-height              : 100%%;
+  margin-top               : 4px;
+  margin-bottom            : 1px;
+}
+p.book_index_lev2 {
+  line-height              : 100%%;
+  text-align               : left;
+  margin-left              : 3em;
+  margin-top               : 1px;
+  margin-bottom            : 3px;
+}
+tt {
+  font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
+  background-color         : #EEEEEE;
+  color                    : #000000;
+}
 %s
-  note { white-space         : pre; }
-  label.ocn {
-    width                    : 2%%;
-    float                    : right;
-    top                      : 0;
-    font-size                : 10px;
-    margin-top               : 0px;
-    margin-bottom            : 5px;
-    margin-right             : 5px;
-    text-align               : right;
-    color                    : %s;
-    -khtml-user-select       : none;
-    -moz-user-select         : none;
-    -ms-user-select          : none;
-    -o-user-select           : none;
-    -webkit-user-select      : none;
-    user-select              : none;
-  }
-  table {
-    display                  : block;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-    background-color         : inherit;
-  }
-  tr { }
-  th,td {
-    vertical-align           : top;
-    text-align               : left;
-  }
-  th {
-    font-weight              : bold;
-  }
-  em {
-    font-weight              : bold;
-    font-style               : italic;
-  }
-  p.left,th.left,td.left {
-    text-align               : left;
-  }
-  p.small_left,th.small_left,td.small_left {
-    text-align               : left;
-    font-size                : 80%%;
-  }
-  p.right,th.right,td.right {
-    text-align               : right;
-  }
-  ul, li {
-    list-style-type          : none;
-    list-style               : none;
-    padding-left             : 20px;
-    font-weight              : normal;
-    line-height              : 150%%;
-    text-align               : left;
-    text-indent              : 0mm;
-    margin-left              : 1em;
-    margin-right             : 2em;
-    margin-top               : 3px;
-    margin-bottom            : 3px;
-  }
-  li {
-    background               : url(../image_sys/bullet_09.png) no-repeat 0px 6px;
-  }
-  ul { }
-  h0, h1, h2, h3, h4, h5, h6, h7 {
-    font-weight              : bold;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-top               : 20px;
-    margin-bottom            : 10px;
-  }
-  h4.norm, h5.norm, h6.norm, h7.norm {
-    margin-top               : 10px;
-    margin-bottom            : 0px;
-  }
-  h0 { font-size             : 125%%; }
-  h1 { font-size             : 120%%; }
-  h2 { font-size             : 115%%; }
-  h3 { font-size             : 110%%; }
-  h4 { font-size             : 105%%; }
-  h5 { font-size             : 100%%; }
-  h6 { font-size             : 100%%; }
-  h7 { font-size             : 100%%; }
-  h0, h1, h2, h3, h4, h5, h6, h7 {
-    text-shadow              : .2em .2em .3em #808080;
-  }
-  h1.i { margin-left         : 2em; }
-  h2.i { margin-left         : 3em; }
-  h3.i { margin-left         : 4em; }
-  h4.i { margin-left         : 5em; }
-  h5.i { margin-left         : 6em; }
-  h6.i { margin-left         : 7em; }
-  h7.i { margin-left         : 8em; }
-  h8.i { margin-left         : 9em; }
-  h9.i { margin-left         : 10em; }
-  .toc {
-    font-weight              : normal;
-    margin-top               : 6px;
-    margin-bottom            : 6px;
-  }
-  h0.toc {
-    margin-left              : 1em;
-    font-size                : 120%%;
-    line-height              : 150%%;
-  }
-  h1.toc {
-    margin-left              : 1em;
-    font-size                : 115%%;
-    line-height              : 150%%;
-  }
-  h2.toc {
-    margin-left              : 2em;
-    font-size                : 110%%;
-    line-height              : 140%%;
-  }
-  h3.toc {
-    margin-left              : 3em;
-    font-size                : 105%%;
-    line-height              : 120%%;
-  }
-  h4.toc {
-    margin-left              : 4em;
-    font-size                : 100%%;
-    line-height              : 120%%;
-  }
-  h5.toc {
-    margin-left              : 5em;
-    font-size                : 95%%;
-    line-height              : 110%%;
-  }
-  h6.toc {
-    margin-left              : 6em;
-    font-size                : 90%%;
-    line-height              : 110%%;
-  }
-  h7.toc {
-    margin-left              : 7em;
-    font-size                : 85%%;
-    line-height              : 100%%;
-  }
-  .subtoc {
-    margin-right             : 34%%;
-    font-weight              : normal;
-  }
-  h5.subtoc {
-    margin-left              : 2em;
-    font-size                : 80%%;
-    margin-top               : 2px;
-    margin-bottom            : 2px;
-  }
-  h6.subtoc {
-    margin-left              : 3em;
-    font-size                : 75%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-  }
-  h7.subtoc {
-    margin-left              : 4em;
-    font-size                : 70%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-  }
-  /* flex */
-  .flex-menu-bar {
-    display                  : -webkit-flex;
-    display                  : flex;
-    -webkit-flex-wrap        : wrap;
-    -webkit-align-items      : center;
-    align-items              : center;
-    width                    : 100%%;
-    margin-left              : 5%%;
-    margin-right             : 2%%;
-    background-color         : #FFFFFF;
-  }
-  .flex-menu-option {
-    background-color         : #FFFFFF;
-    margin-right             : 4px;
-  }
-  .flex-list {
-    display                  : -webkit-flex;
-    display                  : flex;
-    -webkit-align-items      : center;
-    display                  : block;
-    align-items              : center;
-    width                    : 100%%;
-    background-color         : #FFFFFF;
-  }
-  .flex-list-item {
-    background-color         : #FFFFFF;
-    margin                   : 4px;
-  }
-  /* grid */
-  .wrapper {
-    display                  : grid;
-    grid-template-columns    : 100%%;
-    grid-template-areas      :
-      "headband"
-      "doc_header"
-      "doc_title"
-      "doc_toc"
-      "doc_prefix"
-      "doc_intro"
-      "doc_body"
-      "doc_endnotes"
-      "doc_glossary"
-      "doc_biblio"
-      "doc_bookindex"
-      "doc_blurb"
-      "doc_suffix";
-    margin                   : 0px;
-    padding                  : 0px;
-    background-color         : #FFFFFF;
-  }
-  .delimit {
-    border-style             : none;
-    border-color             : #FFFFFF;
-    padding                  : 10px;
-  }
-  .headband {
-    grid-area                : headband;
-    background-color         : #FFFFFF;
-  }
-  .doc_header {
-    grid-area                : doc_header;
-  }
-  .doc_title {
-    grid-area                : doc_title;
-  }
-  .doc_toc {
-    grid-area                : doc_toc;
-  }
-  .doc_prefix {
-    grid-area                : doc_prefix;
-  }
-  .doc_intro {
-    grid-area                : doc_intro;
-  }
-  .doc_body {
-    grid-area                : doc_body;
-  }
-  .doc_endnotes {
-    grid-area                : doc_endnotes;
-  }
-  .doc_glossary {
-    grid-area                : doc_glossary;
-  }
-  .doc_biblio {
-    grid-area                : doc_biblio;
-  }
-  .doc_bookindex {
-    grid-area                : doc_bookindex;
-  }
-  .doc_blurb {
-    grid-area                : doc_blurb;
-  }
-  .doc_suffix {
-    grid-area                : doc_suffix;
-  }
-  .nav-ul {
-    list-style               : none;
-    float                    : left;
-  }
-  .nav-li {
-    float                    : left;
-    padding-right            : 0.7em;
-  }
-  .nav-li a {
-    text-decoration          : none;
-    color                    : #FFFFFF;
-  }
-  footer {
-    background-color         : #00704E;
-  }
+note { white-space         : pre; }
+label.ocn {
+  width                    : 2%%;
+  float                    : right;
+  top                      : 0;
+  font-size                : 10px;
+  margin-top               : 0px;
+  margin-bottom            : 5px;
+  margin-right             : 5px;
+  text-align               : right;
+  color                    : %s;
+  -khtml-user-select       : none;
+  -moz-user-select         : none;
+  -ms-user-select          : none;
+  -o-user-select           : none;
+  -webkit-user-select      : none;
+  user-select              : none;
+}
+table {
+  display                  : block;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+  background-color         : inherit;
+}
+tr { }
+th,td {
+  vertical-align           : top;
+  text-align               : left;
+}
+th {
+  font-weight              : bold;
+}
+em {
+  font-weight              : bold;
+  font-style               : italic;
+}
+p.left,th.left,td.left {
+  text-align               : left;
+}
+p.small_left,th.small_left,td.small_left {
+  text-align               : left;
+  font-size                : 80%%;
+}
+p.right,th.right,td.right {
+  text-align               : right;
+}
+ul, li {
+  list-style-type          : none;
+  list-style               : none;
+  padding-left             : 20px;
+  font-weight              : normal;
+  line-height              : 150%%;
+  text-align               : left;
+  text-indent              : 0mm;
+  margin-left              : 1em;
+  margin-right             : 2em;
+  margin-top               : 3px;
+  margin-bottom            : 3px;
+}
+li {
+  background               : url(../image_sys/bullet_09.png) no-repeat 0px 6px;
+}
+ul { }
+h0, h1, h2, h3, h4, h5, h6, h7 {
+  font-weight              : bold;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-top               : 20px;
+  margin-bottom            : 10px;
+}
+h4.norm, h5.norm, h6.norm, h7.norm {
+  margin-top               : 10px;
+  margin-bottom            : 0px;
+}
+h0 { font-size             : 125%%; }
+h1 { font-size             : 120%%; }
+h2 { font-size             : 115%%; }
+h3 { font-size             : 110%%; }
+h4 { font-size             : 105%%; }
+h5 { font-size             : 100%%; }
+h6 { font-size             : 100%%; }
+h7 { font-size             : 100%%; }
+h0, h1, h2, h3, h4, h5, h6, h7 {
+  text-shadow              : .2em .2em .3em #808080;
+}
+h1.i { margin-left         : 2em; }
+h2.i { margin-left         : 3em; }
+h3.i { margin-left         : 4em; }
+h4.i { margin-left         : 5em; }
+h5.i { margin-left         : 6em; }
+h6.i { margin-left         : 7em; }
+h7.i { margin-left         : 8em; }
+h8.i { margin-left         : 9em; }
+h9.i { margin-left         : 10em; }
+.toc {
+  font-weight              : normal;
+  margin-top               : 6px;
+  margin-bottom            : 6px;
+}
+h0.toc {
+  margin-left              : 1em;
+  font-size                : 120%%;
+  line-height              : 150%%;
+}
+h1.toc {
+  margin-left              : 1em;
+  font-size                : 115%%;
+  line-height              : 150%%;
+}
+h2.toc {
+  margin-left              : 2em;
+  font-size                : 110%%;
+  line-height              : 140%%;
+}
+h3.toc {
+  margin-left              : 3em;
+  font-size                : 105%%;
+  line-height              : 120%%;
+}
+h4.toc {
+  margin-left              : 4em;
+  font-size                : 100%%;
+  line-height              : 120%%;
+}
+h5.toc {
+  margin-left              : 5em;
+  font-size                : 95%%;
+  line-height              : 110%%;
+}
+h6.toc {
+  margin-left              : 6em;
+  font-size                : 90%%;
+  line-height              : 110%%;
+}
+h7.toc {
+  margin-left              : 7em;
+  font-size                : 85%%;
+  line-height              : 100%%;
+}
+.subtoc {
+  margin-right             : 34%%;
+  font-weight              : normal;
+}
+h5.subtoc {
+  margin-left              : 2em;
+  font-size                : 80%%;
+  margin-top               : 2px;
+  margin-bottom            : 2px;
+}
+h6.subtoc {
+  margin-left              : 3em;
+  font-size                : 75%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+}
+h7.subtoc {
+  margin-left              : 4em;
+  font-size                : 70%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+}
+/* flex */
+.flex-menu-bar {
+  display                  : -webkit-flex;
+  display                  : flex;
+  -webkit-flex-wrap        : wrap;
+  -webkit-align-items      : center;
+  align-items              : center;
+  width                    : 100%%;
+  margin-left              : 5%%;
+  margin-right             : 2%%;
+  background-color         : #FFFFFF;
+}
+.flex-menu-option {
+  background-color         : #FFFFFF;
+  margin-right             : 4px;
+}
+.flex-list {
+  display                  : -webkit-flex;
+  display                  : flex;
+  -webkit-align-items      : center;
+  display                  : block;
+  align-items              : center;
+  width                    : 100%%;
+  background-color         : #FFFFFF;
+}
+.flex-list-item {
+  background-color         : #FFFFFF;
+  margin                   : 4px;
+}
+/* grid */
+.wrapper {
+  display                  : grid;
+  grid-template-columns    : 100%%;
+  grid-template-areas      :
+    "headband"
+    "doc_header"
+    "doc_title"
+    "doc_toc"
+    "doc_prefix"
+    "doc_intro"
+    "doc_body"
+    "doc_endnotes"
+    "doc_glossary"
+    "doc_biblio"
+    "doc_bookindex"
+    "doc_blurb"
+    "doc_suffix";
+  margin                   : 0px;
+  padding                  : 0px;
+  background-color         : #FFFFFF;
+}
+.delimit {
+  border-style             : none;
+  border-color             : #FFFFFF;
+  padding                  : 10px;
+}
+.headband {
+  grid-area                : headband;
+  background-color         : #FFFFFF;
+}
+.doc_header {
+  grid-area                : doc_header;
+}
+.doc_title {
+  grid-area                : doc_title;
+}
+.doc_toc {
+  grid-area                : doc_toc;
+}
+.doc_prefix {
+  grid-area                : doc_prefix;
+}
+.doc_intro {
+  grid-area                : doc_intro;
+}
+.doc_body {
+  grid-area                : doc_body;
+}
+.doc_endnotes {
+  grid-area                : doc_endnotes;
+}
+.doc_glossary {
+  grid-area                : doc_glossary;
+}
+.doc_biblio {
+  grid-area                : doc_biblio;
+}
+.doc_bookindex {
+  grid-area                : doc_bookindex;
+}
+.doc_blurb {
+  grid-area                : doc_blurb;
+}
+.doc_suffix {
+  grid-area                : doc_suffix;
+}
+.nav-ul {
+  list-style               : none;
+  float                    : left;
+}
+.nav-li {
+  float                    : left;
+  padding-right            : 0.7em;
+}
+.nav-li a {
+  text-decoration          : none;
+  color                    : #FFFFFF;
+}
+footer {
+  background-color         : #00704E;
+}
 ┃",
     _color_ocn_light,
     _css_indent,
     _color_ocn_light,
 );
     string _css_dark_html_scroll = format(q"┃
-  *{
-    padding                  : 0px;
-    margin                   : 0px;
-  }
-  body {
-    height                   : 100vh;
-    background-color         : #000000;
-  }
-  body {
-    color                    : #CCCCCC;
-    background               : #000000;
-    background-color         : #000000;
-  }
-  a:link {
-    color                    : #FFFFFF;
-    text-decoration          : none;
-  }
-  a:visited {
-    color                    : #999999;
-    text-decoration          : none;
-  }
-  a:hover {
-    color                    : #000000;
-    background-color         : #555555;
-  }
-  a.lnkocn:link {
-    color                    : %s;
-    text-decoration          : none;
-  }
-  a.lnkocn:visited {
-    color                    : #9ACD32;
-    text-decoration          : none;
-  }
-  a.lnkocn:hover {
-    color                    : #BBBBBB;
-    font-size                : 15px;
-  }
-  a:hover img {
-    background-color         : #000000;
-  }
-  a:active {
-    color                    : #888888;
-    text-decoration          : underline;
-  }
-  input {
-    color                    : #FFFFFF;
-    background-color         : #777777;
-  }
-  div {
-    margin-left              : 0;
-    margin-right             : 0;
-  }
-  div.p {
-    margin-left              : 5%%;
-    margin-right             : 1%%;
-  }
-  div.substance {
-    width                    : 100%%;
-    background-color         : #000000;
-  }
-  div.ocn {
-    width                    : 5%%;
-    float                    : right;
-    top                      : 0;
-    background-color         : #000000;
-  }
-  div.endnote {
-    width                    : 95%%;
-    background-color         : #000000;
-  }
-  div.toc {
-    position                 : absolute;
-    float                    : left;
-    margin                   : 0;
-    padding                  : 0;
-    padding-top              : 0.5em;
-    border                   : 0;
-    width                    : 13em;
-    background-color         : #111111;
-    margin-right             : 1em;
-  }
-  div.summary {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 13em solid #111111;
-    padding-left             : 1em;
-    background-color         : #111111;
-  }
-  div.content, div.main_column {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 13em solid #000000;
-    padding-left             : 1em;
-    padding-right            : 1em;
-  }
-  div.content0, div.main_column0 {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 0%% solid #000000;
-    padding-left             : 5%%;
-  }
-  div.scroll {
-    margin                   : 0;
-    padding                  : 0;
-    padding-left             : 1em;
-    padding-right            : 1em;
-  }
-  div.content:after {
-    content                  : ' ';
-    clear                    : both;
-    display                  : block;
-    height                   : 0;
-    overflow                 : hidden;
-  }
-  div.footer {
-    clear                    : left;
-    padding                  : 0.5em;
-    font-size                : 80%%;
-    margin                   : 0;
-  }
-  div.toc ul {
-    list-style               : none;
-    padding                  : 0;
-    margin                   : 0;
-  }
-  div.toc li ul a, li ul span.currentlink
-  {
-    font-weight              : normal;
-    font-size                : 90%%;
-    padding-left             : 2em;
-    background-color         : #111111;
-  }
-  div.toc a, span.currentlink{
-    display                  : block;
-    text-decoration          : none;
-    padding-left             : 0.5em;
-    color                    : #FF00AA;
-  }
-  hr {
-    width                    : 90%%;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-    margin-top               : 1.8em;
-    margin-bottom            : 1.8em;
-  }
-  span.currentlink {
-    text-decoration          : none;
-    background-color         : #AAAAF9;
-  }
-  div.toc a:visited {
-    color                    : #FF00AA;
-  }
-  div.toc a:hover {
-    color                    : #CCCCCC;
-    background-color         : #F9F9AA;
-  }
-  nav#toc ol {
-    list-style-type          : none;
-  }
-  .norm, .bold, .verse, .group, .block, .alt {
-    line-height              : 133%%;
-    margin-top               : 12px;
-    margin-bottom            : 0px;
-    padding-left             : 0em;
-    text-indent              : 0em;
-  }
-  p, h0, h1, h2, h3, h4, h5, h6, h7, ul, li {
-    display                  : block;
-    font-family              : verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-  }
-  p {
-    font-size                : 100%%;
-    font-weight              : normal;
-    line-height              : 133%%;
-    text-align               : justify;
-    text-indent              : 0mm;
-    margin-top               : 0.8em;
-    margin-bottom            : 0.8em;
-  }
-  img {
-    max-width                : 100%%;
-    height                   : auto;
-  }
-  pre {
-    width                    : auto;
-    display                  : block;
-    clear                    : both;
-    color                    : #555555;
-  }
-  pre.codeline {
-    display                  : table;
-    clear                    : both;
-    table-layout             : fixed;
-    margin-left              : 5%%;
-    margin-right             : 5%%;
-    width                    : 90%%;
-    white-space              : pre-wrap;
-    border-style             : none;
-    border-radius            : 5px 5px 5px 5px;
-    box-shadow               : 0 2px 5px #AAAAAA inset;
-    margin-bottom            : 1em;
-    padding                  : 0.5em 1em;
-    page-break-inside        : avoid;
-    word-wrap                : break-word;
-    font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
-    white-space              : pre;
-    white-space              : pre-wrap;
-    white-space              : -moz-pre-wrap;
-    white-space              : -o-pre-wrap;
-    background-color         : #555555;
-    color                    : #DDDDDD;
-    font-size                : 95%%;
-    line-height              : 100%%;
-  }
-  pre.codeline::before {
-    counter-reset            : linenum;
-  }
-  pre.codeline span.tr {
-    display                  : table-row;
-    counter-increment        : linenum;
-  }
-  pre.codeline span.th {
-    display                  : table-cell;
-    user-select              : none;
-    -moz-user-select         : none;
-    -webkit-user-select      : none;
-    padding                  : 0.5em 0.5em;
-  }
-  pre.codeline span.th::before {
-    content                  : counter(linenum) ".";
-    color                    : #999999;
-    text-align               : right;
-    display                  : block;
-  }
-  pre.codeline span.th {
-    width                    : 4em;
-  }
-  pre.codeline code {
-    display                  : table-cell;
-  }
-  p.code {
-    border-style             : none;
-  }
-  p.spaced { white-space     : pre; }
-  p.block {
-    white-space              : pre;
-  }
-  p.group { }
-  p.alt { }
-  p.verse {
-    white-space              : pre;
-    margin-bottom            : 6px;
-  }
-  p.caption {
-    text-align               : left;
-    font-size                : 80%%;
-    display                  : inline;
-  }
-  p.endnote {
-    font-size                : 96%%;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-right             : 15mm;
-    padding-left             : 1em;
-    text-indent              : -1em;
-  }
-  p.center {
-    text-align               : center;
-  }
-  p.bold {
-    font-weight              : bold;
-  }
-  p.bold_left {
-    font-weight              : bold;
-    text-align               : left;
-  }
-  p.centerbold {
-    text-align               : center;
-    font-weight              : bold;
-  }
-  p.em {
-    font-weight              : bold;
-    font-style               : normal;
-    background               : #FFF3B6;
-  }
-  p.small {
-    font-size                : 80%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-    margin-right             : 6px;
-    text-align               : left;
-  }
-  .tiny, .tiny_left, .tiny_right, .tiny_center {
-    font-size                : 10px;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-    color                    : #EEEEEE;
-    margin-right             : 6px;
-    text-align               : left;
-  }
-  p.tiny { }
-  p.tiny_left {
-    margin-left              : 0px;
-    margin-right             : 0px;
-    text-align               : left;
-  }
-  p.tiny_right {
-    margin-right             : 1em;
-    text-align               : right;
-  }
-  p.tiny_center {
-    margin-left              : 0px;
-    margin-right             : 0px;
-    text-align               : center;
-  }
-  p.concordance_word {
-    line-height              : 150%%;
-    font-weight              : bold;
-    display                  : inline;
-    margin-top               : 4px;
-    margin-bottom            : 1px;
-  }
-  p.concordance_count {
-    font-size                : 80%%;
-    color                    : #555555;
-    display                  : inline;
-    margin-left              : 0em;
-  }
-  p.concordance_object {
-    font-size                : 80%%;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-left              : 3em;
-    margin-top               : 1px;
-    margin-bottom            : 3px;
-  }
-  p.book_index_lev1 {
-    line-height              : 100%%;
-    margin-top               : 4px;
-    margin-bottom            : 1px;
-  }
-  p.book_index_lev2 {
-    line-height              : 100%%;
-    text-align               : left;
-    margin-left              : 3em;
-    margin-top               : 1px;
-    margin-bottom            : 3px;
-  }
-  tt {
-    font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
-    background-color         : #555555;
-    color                    : #DDDDDD;
-  }
+*{
+  padding                  : 0px;
+  margin                   : 0px;
+}
+body {
+  height                   : 100vh;
+  background-color         : #000000;
+}
+body {
+  color                    : #CCCCCC;
+  background               : #000000;
+  background-color         : #000000;
+}
+a:link {
+  color                    : #FFFFFF;
+  text-decoration          : none;
+}
+a:visited {
+  color                    : #999999;
+  text-decoration          : none;
+}
+a:hover {
+  color                    : #000000;
+  background-color         : #555555;
+}
+a.lnkocn:link {
+  color                    : %s;
+  text-decoration          : none;
+}
+a.lnkocn:visited {
+  color                    : #9ACD32;
+  text-decoration          : none;
+}
+a.lnkocn:hover {
+  color                    : #BBBBBB;
+  font-size                : 15px;
+}
+a:hover img {
+  background-color         : #000000;
+}
+a:active {
+  color                    : #888888;
+  text-decoration          : underline;
+}
+input {
+  color                    : #FFFFFF;
+  background-color         : #777777;
+}
+div {
+  margin-left              : 0;
+  margin-right             : 0;
+}
+div.p {
+  margin-left              : 5%%;
+  margin-right             : 1%%;
+}
+div.substance {
+  width                    : 100%%;
+  background-color         : #000000;
+}
+div.ocn {
+  width                    : 5%%;
+  float                    : right;
+  top                      : 0;
+  background-color         : #000000;
+}
+div.endnote {
+  width                    : 95%%;
+  background-color         : #000000;
+}
+div.toc {
+  position                 : absolute;
+  float                    : left;
+  margin                   : 0;
+  padding                  : 0;
+  padding-top              : 0.5em;
+  border                   : 0;
+  width                    : 13em;
+  background-color         : #111111;
+  margin-right             : 1em;
+}
+div.summary {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 13em solid #111111;
+  padding-left             : 1em;
+  background-color         : #111111;
+}
+div.content, div.main_column {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 13em solid #000000;
+  padding-left             : 1em;
+  padding-right            : 1em;
+}
+div.content0, div.main_column0 {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 0%% solid #000000;
+  padding-left             : 5%%;
+}
+div.scroll {
+  margin                   : 0;
+  padding                  : 0;
+  padding-left             : 1em;
+  padding-right            : 1em;
+}
+div.content:after {
+  content                  : ' ';
+  clear                    : both;
+  display                  : block;
+  height                   : 0;
+  overflow                 : hidden;
+}
+div.footer {
+  clear                    : left;
+  padding                  : 0.5em;
+  font-size                : 80%%;
+  margin                   : 0;
+}
+div.toc ul {
+  list-style               : none;
+  padding                  : 0;
+  margin                   : 0;
+}
+div.toc li ul a, li ul span.currentlink
+{
+  font-weight              : normal;
+  font-size                : 90%%;
+  padding-left             : 2em;
+  background-color         : #111111;
+}
+div.toc a, span.currentlink{
+  display                  : block;
+  text-decoration          : none;
+  padding-left             : 0.5em;
+  color                    : #FF00AA;
+}
+hr {
+  width                    : 90%%;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+  margin-top               : 1.8em;
+  margin-bottom            : 1.8em;
+}
+span.currentlink {
+  text-decoration          : none;
+  background-color         : #AAAAF9;
+}
+div.toc a:visited {
+  color                    : #FF00AA;
+}
+div.toc a:hover {
+  color                    : #CCCCCC;
+  background-color         : #F9F9AA;
+}
+nav#toc ol {
+  list-style-type          : none;
+}
+.norm, .bold, .verse, .group, .block, .alt {
+  line-height              : 133%%;
+  margin-top               : 12px;
+  margin-bottom            : 0px;
+  padding-left             : 0em;
+  text-indent              : 0em;
+}
+p, h0, h1, h2, h3, h4, h5, h6, h7, ul, li {
+  display                  : block;
+  font-family              : verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+}
+p {
+  font-size                : 100%%;
+  font-weight              : normal;
+  line-height              : 133%%;
+  text-align               : justify;
+  text-indent              : 0mm;
+  margin-top               : 0.8em;
+  margin-bottom            : 0.8em;
+}
+img {
+  max-width                : 100%%;
+  height                   : auto;
+}
+pre {
+  width                    : auto;
+  display                  : block;
+  clear                    : both;
+  color                    : #555555;
+}
+pre.codeline {
+  display                  : table;
+  clear                    : both;
+  table-layout             : fixed;
+  margin-left              : 5%%;
+  margin-right             : 5%%;
+  width                    : 90%%;
+  white-space              : pre-wrap;
+  border-style             : none;
+  border-radius            : 5px 5px 5px 5px;
+  box-shadow               : 0 2px 5px #AAAAAA inset;
+  margin-bottom            : 1em;
+  padding                  : 0.5em 1em;
+  page-break-inside        : avoid;
+  word-wrap                : break-word;
+  font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
+  white-space              : pre;
+  white-space              : pre-wrap;
+  white-space              : -moz-pre-wrap;
+  white-space              : -o-pre-wrap;
+  background-color         : #555555;
+  color                    : #DDDDDD;
+  font-size                : 95%%;
+  line-height              : 100%%;
+}
+pre.codeline::before {
+  counter-reset            : linenum;
+}
+pre.codeline span.tr {
+  display                  : table-row;
+  counter-increment        : linenum;
+}
+pre.codeline span.th {
+  display                  : table-cell;
+  user-select              : none;
+  -moz-user-select         : none;
+  -webkit-user-select      : none;
+  padding                  : 0.5em 0.5em;
+}
+pre.codeline span.th::before {
+  content                  : counter(linenum) ".";
+  color                    : #999999;
+  text-align               : right;
+  display                  : block;
+}
+pre.codeline span.th {
+  width                    : 4em;
+}
+pre.codeline code {
+  display                  : table-cell;
+}
+p.code {
+  border-style             : none;
+}
+p.spaced { white-space     : pre; }
+p.block {
+  white-space              : pre;
+}
+p.group { }
+p.alt { }
+p.verse {
+  white-space              : pre;
+  margin-bottom            : 6px;
+}
+p.caption {
+  text-align               : left;
+  font-size                : 80%%;
+  display                  : inline;
+}
+p.endnote {
+  font-size                : 96%%;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-right             : 15mm;
+  padding-left             : 1em;
+  text-indent              : -1em;
+}
+p.center {
+  text-align               : center;
+}
+p.bold {
+  font-weight              : bold;
+}
+p.bold_left {
+  font-weight              : bold;
+  text-align               : left;
+}
+p.centerbold {
+  text-align               : center;
+  font-weight              : bold;
+}
+p.em {
+  font-weight              : bold;
+  font-style               : normal;
+  background               : #FFF3B6;
+}
+p.small {
+  font-size                : 80%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+  margin-right             : 6px;
+  text-align               : left;
+}
+.tiny, .tiny_left, .tiny_right, .tiny_center {
+  font-size                : 10px;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+  color                    : #EEEEEE;
+  margin-right             : 6px;
+  text-align               : left;
+}
+p.tiny { }
+p.tiny_left {
+  margin-left              : 0px;
+  margin-right             : 0px;
+  text-align               : left;
+}
+p.tiny_right {
+  margin-right             : 1em;
+  text-align               : right;
+}
+p.tiny_center {
+  margin-left              : 0px;
+  margin-right             : 0px;
+  text-align               : center;
+}
+p.concordance_word {
+  line-height              : 150%%;
+  font-weight              : bold;
+  display                  : inline;
+  margin-top               : 4px;
+  margin-bottom            : 1px;
+}
+p.concordance_count {
+  font-size                : 80%%;
+  color                    : #555555;
+  display                  : inline;
+  margin-left              : 0em;
+}
+p.concordance_object {
+  font-size                : 80%%;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-left              : 3em;
+  margin-top               : 1px;
+  margin-bottom            : 3px;
+}
+p.book_index_lev1 {
+  line-height              : 100%%;
+  margin-top               : 4px;
+  margin-bottom            : 1px;
+}
+p.book_index_lev2 {
+  line-height              : 100%%;
+  text-align               : left;
+  margin-left              : 3em;
+  margin-top               : 1px;
+  margin-bottom            : 3px;
+}
+tt {
+  font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
+  background-color         : #555555;
+  color                    : #DDDDDD;
+}
 %s
-  note { white-space         : pre; }
-  label.ocn {
-    width                    : 2%%;
-    float                    : right;
-    top                      : 0;
-    font-size                : 10px;
-    margin-top               : 0px;
-    margin-bottom            : 5px;
-    margin-right             : 5px;
-    text-align               : right;
-    color                    : %s;
-    -khtml-user-select       : none;
-    -moz-user-select         : none;
-    -ms-user-select          : none;
-    -o-user-select           : none;
-    -webkit-user-select      : none;
-    user-select              : none;
-  }
-  table {
-    display                  : block;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-    background-color         : inherit;
-  }
-  tr { }
-  th,td {
-    vertical-align           : top;
-    text-align               : left;
-  }
-  th {
-    font-weight              : bold;
-  }
-  em {
-    font-weight              : bold;
-    font-style               : italic;
-  }
-  p.left,th.left,td.left {
-    text-align               : left;
-  }
-  p.small_left,th.small_left,td.small_left {
-    text-align               : left;
-    font-size                : 80%%;
-  }
-  p.right,th.right,td.right {
-    text-align               : right;
-  }
-  ul, li {
-    list-style-type          : none;
-    list-style               : none;
-    padding-left             : 20px;
-    font-weight              : normal;
-    line-height              : 150%%;
-    text-align               : left;
-    text-indent              : 0mm;
-    margin-left              : 1em;
-    margin-right             : 2em;
-    margin-top               : 3px;
-    margin-bottom            : 3px;
-  }
-  li {
-    background               : (../image_sys/bullet_09.png) no-repeat 0px 6px;
-  }
-  ul { }
-  h0, h1, h2, h3, h4, h5, h6, h7 {
-    font-weight              : bold;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-top               : 20px;
-    margin-bottom            : 10px;
-  }
-  h4.norm, h5.norm, h6.norm, h7.norm {
-    margin-top               : 10px;
-    margin-bottom            : 0px;
-  }
-  h0 { font-size             : 125%%; }
-  h1 { font-size             : 120%%; }
-  h2 { font-size             : 115%%; }
-  h3 { font-size             : 110%%; }
-  h4 { font-size             : 105%%; }
-  h5 { font-size             : 100%%; }
-  h6 { font-size             : 100%%; }
-  h7 { font-size             : 100%%; }
-  h0, h1, h2, h3, h4, h5, h6, h7 {
-    text-shadow              : .2em .2em .3em #999999;
-  }
-  h1.i { margin-left         : 2em; }
-  h2.i { margin-left         : 3em; }
-  h3.i { margin-left         : 4em; }
-  h4.i { margin-left         : 5em; }
-  h5.i { margin-left         : 6em; }
-  h6.i { margin-left         : 7em; }
-  h7.i { margin-left         : 8em; }
-  h8.i { margin-left         : 9em; }
-  h9.i { margin-left         : 10em; }
-  .toc {
-    font-weight              : normal;
-    margin-top               : 6px;
-    margin-bottom            : 6px;
-  }
-  h0.toc {
-    margin-left              : 1em;
-    font-size                : 120%%;
-    line-height              : 150%%;
-  }
-  h1.toc {
-    margin-left              : 1em;
-    font-size                : 115%%;
-    line-height              : 150%%;
-  }
-  h2.toc {
-    margin-left              : 2em;
-    font-size                : 110%%;
-    line-height              : 140%%;
-  }
-  h3.toc {
-    margin-left              : 3em;
-    font-size                : 105%%;
-    line-height              : 120%%;
-  }
-  h4.toc {
-    margin-left              : 4em;
-    font-size                : 100%%;
-    line-height              : 120%%;
-  }
-  h5.toc {
-    margin-left              : 5em;
-    font-size                : 95%%;
-    line-height              : 110%%;
-  }
-  h6.toc {
-    margin-left              : 6em;
-    font-size                : 90%%;
-    line-height              : 110%%;
-  }
-  h7.toc {
-    margin-left              : 7em;
-    font-size                : 85%%;
-    line-height              : 100%%;
-  }
-  .subtoc {
-    margin-right             : 34%%;
-    font-weight              : normal;
-  }
-  h5.subtoc {
-    margin-left              : 2em;
-    font-size                : 80%%;
-    margin-top               : 2px;
-    margin-bottom            : 2px;
-  }
-  h6.subtoc {
-    margin-left              : 3em;
-    font-size                : 75%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-  }
-  h7.subtoc {
-    margin-left              : 4em;
-    font-size                : 70%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-  }
-  /* flex */
-  .flex-menu-bar {
-    display                  : -webkit-flex;
-    display                  : flex;
-    -webkit-flex-wrap        : wrap;
-    -webkit-align-items      : center;
-    align-items              : center;
-    width                    : 100%%;
-    margin-left              : 5%%;
-    margin-right             : 2%%;
-    background-color         : #000000;
-  }
-  .flex-menu-option {
-    background-color         : #000000;
-    margin-right             : 4px;
-  }
-  .flex-list {
-    display                  : -webkit-flex;
-    display                  : flex;
-    -webkit-align-items      : center;
-    display                  : block;
-    align-items              : center;
-    width                    : 100%%;
-    background-color         : #000000;
-  }
-  .flex-list-item {
-    background-color         : #000000;
-    margin                   : 4px;
-  }
-  /* grid */
-  .wrapper {
-    display                  : grid;
-    grid-template-columns    : 100%%;
-    grid-template-areas      :
-      "headband"
-      "doc_header"
-      "doc_title"
-      "doc_toc"
-      "doc_prefix"
-      "doc_intro"
-      "doc_body"
-      "doc_endnotes"
-      "doc_glossary"
-      "doc_biblio"
-      "doc_bookindex"
-      "doc_blurb"
-      "doc_suffix";
-    margin                   : 0px;
-    padding                  : 0px;
-    background-color         : #000000;
-  }
-  .delimit {
-    border-style             : none;
-    border-color             : #000000;
-    padding                  : 10px;
-  }
-  .headband {
-    grid-area                : headband;
-    background-color         : #000000;
-  }
-  .doc_header {
-    grid-area                : doc_header;
-  }
-  .doc_title {
-    grid-area                : doc_title;
-  }
-  .doc_toc {
-    grid-area                : doc_toc;
-  }
-  .doc_prefix {
-    grid-area                : doc_prefix;
-  }
-  .doc_intro {
-    grid-area                : doc_intro;
-  }
-  .doc_body {
-    grid-area                : doc_body;
-  }
-  .doc_endnotes {
-    grid-area                : doc_endnotes;
-  }
-  .doc_glossary {
-    grid-area                : doc_glossary;
-  }
-  .doc_biblio {
-    grid-area                : doc_biblio;
-  }
-  .doc_bookindex {
-    grid-area                : doc_bookindex;
-  }
-  .doc_blurb {
-    grid-area                : doc_blurb;
-  }
-  .doc_suffix {
-    grid-area                : doc_suffix;
-  }
-  .nav-ul {
-    list-style               : none;
-    float                    : left;
-  }
-  .nav-li {
-    float                    : left;
-    padding-right            : 0.7em;
-  }
-  .nav-li a {
-    text-decoration          : none;
-    color                    : #000000;
-  }
-  footer {
-    background-color         : #FF704E;
-  }
+note { white-space         : pre; }
+label.ocn {
+  width                    : 2%%;
+  float                    : right;
+  top                      : 0;
+  font-size                : 10px;
+  margin-top               : 0px;
+  margin-bottom            : 5px;
+  margin-right             : 5px;
+  text-align               : right;
+  color                    : %s;
+  -khtml-user-select       : none;
+  -moz-user-select         : none;
+  -ms-user-select          : none;
+  -o-user-select           : none;
+  -webkit-user-select      : none;
+  user-select              : none;
+}
+table {
+  display                  : block;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+  background-color         : inherit;
+}
+tr { }
+th,td {
+  vertical-align           : top;
+  text-align               : left;
+}
+th {
+  font-weight              : bold;
+}
+em {
+  font-weight              : bold;
+  font-style               : italic;
+}
+p.left,th.left,td.left {
+  text-align               : left;
+}
+p.small_left,th.small_left,td.small_left {
+  text-align               : left;
+  font-size                : 80%%;
+}
+p.right,th.right,td.right {
+  text-align               : right;
+}
+ul, li {
+  list-style-type          : none;
+  list-style               : none;
+  padding-left             : 20px;
+  font-weight              : normal;
+  line-height              : 150%%;
+  text-align               : left;
+  text-indent              : 0mm;
+  margin-left              : 1em;
+  margin-right             : 2em;
+  margin-top               : 3px;
+  margin-bottom            : 3px;
+}
+li {
+  background               : (../image_sys/bullet_09.png) no-repeat 0px 6px;
+}
+ul { }
+h0, h1, h2, h3, h4, h5, h6, h7 {
+  font-weight              : bold;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-top               : 20px;
+  margin-bottom            : 10px;
+}
+h4.norm, h5.norm, h6.norm, h7.norm {
+  margin-top               : 10px;
+  margin-bottom            : 0px;
+}
+h0 { font-size             : 125%%; }
+h1 { font-size             : 120%%; }
+h2 { font-size             : 115%%; }
+h3 { font-size             : 110%%; }
+h4 { font-size             : 105%%; }
+h5 { font-size             : 100%%; }
+h6 { font-size             : 100%%; }
+h7 { font-size             : 100%%; }
+h0, h1, h2, h3, h4, h5, h6, h7 {
+  text-shadow              : .2em .2em .3em #999999;
+}
+h1.i { margin-left         : 2em; }
+h2.i { margin-left         : 3em; }
+h3.i { margin-left         : 4em; }
+h4.i { margin-left         : 5em; }
+h5.i { margin-left         : 6em; }
+h6.i { margin-left         : 7em; }
+h7.i { margin-left         : 8em; }
+h8.i { margin-left         : 9em; }
+h9.i { margin-left         : 10em; }
+.toc {
+  font-weight              : normal;
+  margin-top               : 6px;
+  margin-bottom            : 6px;
+}
+h0.toc {
+  margin-left              : 1em;
+  font-size                : 120%%;
+  line-height              : 150%%;
+}
+h1.toc {
+  margin-left              : 1em;
+  font-size                : 115%%;
+  line-height              : 150%%;
+}
+h2.toc {
+  margin-left              : 2em;
+  font-size                : 110%%;
+  line-height              : 140%%;
+}
+h3.toc {
+  margin-left              : 3em;
+  font-size                : 105%%;
+  line-height              : 120%%;
+}
+h4.toc {
+  margin-left              : 4em;
+  font-size                : 100%%;
+  line-height              : 120%%;
+}
+h5.toc {
+  margin-left              : 5em;
+  font-size                : 95%%;
+  line-height              : 110%%;
+}
+h6.toc {
+  margin-left              : 6em;
+  font-size                : 90%%;
+  line-height              : 110%%;
+}
+h7.toc {
+  margin-left              : 7em;
+  font-size                : 85%%;
+  line-height              : 100%%;
+}
+.subtoc {
+  margin-right             : 34%%;
+  font-weight              : normal;
+}
+h5.subtoc {
+  margin-left              : 2em;
+  font-size                : 80%%;
+  margin-top               : 2px;
+  margin-bottom            : 2px;
+}
+h6.subtoc {
+  margin-left              : 3em;
+  font-size                : 75%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+}
+h7.subtoc {
+  margin-left              : 4em;
+  font-size                : 70%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+}
+/* flex */
+.flex-menu-bar {
+  display                  : -webkit-flex;
+  display                  : flex;
+  -webkit-flex-wrap        : wrap;
+  -webkit-align-items      : center;
+  align-items              : center;
+  width                    : 100%%;
+  margin-left              : 5%%;
+  margin-right             : 2%%;
+  background-color         : #000000;
+}
+.flex-menu-option {
+  background-color         : #000000;
+  margin-right             : 4px;
+}
+.flex-list {
+  display                  : -webkit-flex;
+  display                  : flex;
+  -webkit-align-items      : center;
+  display                  : block;
+  align-items              : center;
+  width                    : 100%%;
+  background-color         : #000000;
+}
+.flex-list-item {
+  background-color         : #000000;
+  margin                   : 4px;
+}
+/* grid */
+.wrapper {
+  display                  : grid;
+  grid-template-columns    : 100%%;
+  grid-template-areas      :
+    "headband"
+    "doc_header"
+    "doc_title"
+    "doc_toc"
+    "doc_prefix"
+    "doc_intro"
+    "doc_body"
+    "doc_endnotes"
+    "doc_glossary"
+    "doc_biblio"
+    "doc_bookindex"
+    "doc_blurb"
+    "doc_suffix";
+  margin                   : 0px;
+  padding                  : 0px;
+  background-color         : #000000;
+}
+.delimit {
+  border-style             : none;
+  border-color             : #000000;
+  padding                  : 10px;
+}
+.headband {
+  grid-area                : headband;
+  background-color         : #000000;
+}
+.doc_header {
+  grid-area                : doc_header;
+}
+.doc_title {
+  grid-area                : doc_title;
+}
+.doc_toc {
+  grid-area                : doc_toc;
+}
+.doc_prefix {
+  grid-area                : doc_prefix;
+}
+.doc_intro {
+  grid-area                : doc_intro;
+}
+.doc_body {
+  grid-area                : doc_body;
+}
+.doc_endnotes {
+  grid-area                : doc_endnotes;
+}
+.doc_glossary {
+  grid-area                : doc_glossary;
+}
+.doc_biblio {
+  grid-area                : doc_biblio;
+}
+.doc_bookindex {
+  grid-area                : doc_bookindex;
+}
+.doc_blurb {
+  grid-area                : doc_blurb;
+}
+.doc_suffix {
+  grid-area                : doc_suffix;
+}
+.nav-ul {
+  list-style               : none;
+  float                    : left;
+}
+.nav-li {
+  float                    : left;
+  padding-right            : 0.7em;
+}
+.nav-li a {
+  text-decoration          : none;
+  color                    : #000000;
+}
+footer {
+  background-color         : #FF704E;
+}
 ┃",
     _color_ocn_dark,
     _css_indent,
     _color_ocn_dark,
 );
     string _css_light_epub = format(q"┃
-  *{
-    padding                  : 0px;
-    margin                   : 0px;
-  }
-  body {
-    height                   : 100vh;
-    background-color         : #FFFFFF;
-  }
-  body {
-    color                    : #000000;
-    background               : #FFFFFF;
-    background-color         : #FFFFFF;
-  }
-  a:link {
-    color                    : #003399;
-    text-decoration          : none;
-  }
-  a:visited {
-    color                    : #003399;
-    text-decoration          : none;
-  }
-  a:hover {
-    color                    : #000000;
-    background-color         : #F9F9AA;
-  }
-  a.lnkocn:link {
-    color                    : %s;
-    text-decoration          : none;
-  }
-  a.lnkocn:visited {
-    color                    : #32CD32;
-    text-decoration          : none;
-  }
-  a.lnkocn:hover {
-    color                    : #777777;
-    font-size                : 15px;
-  }
-  a:hover img {
-    background-color         : #FFFFFF;
-  }
-  a:active {
-    color                    : #003399;
-    text-decoration          : underline;
-  }
-  input {
-    color                    : #000000;
-    background-color         : #FFFFFF;
-  }
-  div {
-    margin-left              : 0;
-    margin-right             : 0;
-  }
-  div.p {
-    margin-left              : 5%%;
-    margin-right             : 1%%;
-  }
-  div.substance {
-    width                    : 100%%;
-    background-color         : #FFFFFF;
-  }
-  div.ocn {
-    width                    : 5%%;
-    float                    : right;
-    top                      : 0;
-    background-color         : #FFFFFF;
-  }
-  div.endnote {
-    width                    : 95%%;
-    background-color         : #FFFFFF;
-  }
-  div.toc {
-    position                 : absolute;
-    float                    : left;
-    margin                   : 0;
-    padding                  : 0;
-    padding-top              : 0.5em;
-    border                   : 0;
-    width                    : 13em;
-    background-color         : #EEEEEE;
-    margin-right             : 1em;
-  }
-  div.summary {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 13em solid #EEEEEE;
-    padding-left             : 1em;
-    background-color         : #EEEEEE;
-  }
-  div.content, div.main_column {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 13em solid #FFFFFF;
-    padding-left             : 1em;
-    padding-right            : 1em;
-  }
-  div.content0, div.main_column0 {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 0%% solid #FFFFFF;
-    padding-left             : 5%%;
-  }
-  div.scroll {
-    margin                   : 0;
-    padding                  : 0;
-    padding-left             : 1em;
-    padding-right            : 1em;
-  }
-  div.content:after {
-    content                  : ' ';
-    clear                    : both;
-    display                  : block;
-    height                   : 0;
-    overflow                 : hidden;
-  }
-  div.footer {
-    clear                    : left;
-    padding                  : 0.5em;
-    font-size                : 80%%;
-    margin                   : 0;
-  }
-  div.toc ul {
-    list-style               : none;
-    padding                  : 0;
-    margin                   : 0;
-  }
-  div.toc li ul a, li ul span.currentlink
-  {
-    font-weight              : normal;
-    font-size                : 90%%;
-    padding-left             : 2em;
-    background-color         : #EEEEEE;
-  }
-  div.toc a, span.currentlink{
-    display                  : block;
-    text-decoration          : none;
-    padding-left             : 0.5em;
-    color                    : #0000aa;
-  }
-  hr {
-    width                    : 90%%;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-    margin-top               : 1.8em;
-    margin-bottom            : 1.8em;
-  }
-  span.currentlink {
-    text-decoration          : none;
-    background-color         : #AAAAAA;
-  }
-  div.toc a:visited {
-    color                    : #0000aa;
-  }
-  div.toc a:hover {
-    color                    : #000000;
-    background-color         : #F9F9AA;
-  }
-  nav#toc ol {
-    list-style-type          : none;
-  }
-  .norm, .bold, .verse, .group, .block, .alt {
-    line-height              : 133%%;
-    margin-top               : 12px;
-    margin-bottom            : 0px;
-    padding-left             : 0em;
-    text-indent              : 0em;
-  }
-  p, h0, h1, h2, h3, h4, h5, h6, h7, ul, li {
-    display                  : block;
-    font-family              : verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-  }
-  p {
-    font-size                : 100%%;
-    font-weight              : normal;
-    line-height              : 133%%;
-    text-align               : justify;
-    text-indent              : 0mm;
-    margin-top               : 0.8em;
-    margin-bottom            : 0.8em;
-  }
-  img {
-    max-width                : 100%%;
-    height                   : auto;
-  }
-  pre {
-    width                    : auto;
-    display                  : block;
-    clear                    : both;
-    color                    : #555555;
-  }
-  pre.codeline {
-    display                  : table;
-    clear                    : both;
-    table-layout             : fixed;
-    margin-left              : 5%%;
-    margin-right             : 5%%;
-    width                    : 90%%;
-    white-space              : pre-wrap;
-    border-style             : none;
-    border-radius            : 5px 5px 5px 5px;
-    box-shadow               : 0 2px 5px #AAAAAA inset;
-    margin-bottom            : 1em;
-    padding                  : 0.5em 1em;
-    page-break-inside        : avoid;
-    word-wrap                : break-word;
-    font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
-    white-space              : pre;
-    white-space              : pre-wrap;
-    white-space              : -moz-pre-wrap;
-    white-space              : -o-pre-wrap;
-    background-color         : #EEEEEE;
-    color                    : #000000;
-    font-size                : 95%%;
-    line-height              : 100%%;
-  }
-  pre.codeline::before {
-    counter-reset            : linenum;
-  }
-  pre.codeline span.tr {
-    display                  : table-row;
-    counter-increment        : linenum;
-  }
-  pre.codeline span.th {
-    display                  : table-cell;
-    user-select              : none;
-    -moz-user-select         : none;
-    -webkit-user-select      : none;
-    padding                  : 0.5em 0.5em;
-    /* background-color         : #666666; */
-  }
-  pre.codeline span.th::before {
-    content                  : counter(linenum) ".";
-    color                    : #999999;
-    text-align               : right;
-    display                  : block;
-  }
-  pre.codeline span.th {
-    width                    : 4em;
-  }
-  pre.codeline code {
-    display                  : table-cell;
-  }
-  p.code {
-    border-style             : none;
-  }
-  p.spaced { white-space     : pre; }
-  p.block {
-    white-space              : pre;
-  }
-  p.group { }
-  p.alt { }
-  p.verse {
-    white-space              : pre;
-    margin-bottom            : 6px;
-  }
-  p.caption {
-    text-align               : left;
-    font-size                : 80%%;
-    display                  : inline;
-  }
-  p.endnote {
-    font-size                : 96%%;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-right             : 15mm;
-    padding-left             : 1em;
-    text-indent              : -1em;
-  }
-  p.center {
-    text-align               : center;
-  }
-  p.bold {
-    font-weight              : bold;
-  }
-  p.bold_left {
-    font-weight              : bold;
-    text-align               : left;
-  }
-  p.centerbold {
-    text-align               : center;
-    font-weight              : bold;
-  }
-  p.em {
-    font-weight              : bold;
-    font-style               : normal;
-    background               : #FFF3B6;
-  }
-  p.small {
-    font-size                : 80%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-    margin-right             : 6px;
-    text-align               : left;
-  }
-  .tiny, .tiny_left, .tiny_right, .tiny_center {
-    font-size                : 10px;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-    color                    : #777777;
-    margin-right             : 6px;
-    text-align               : left;
-  }
-  p.tiny { }
-  p.tiny_left {
-    margin-left              : 0px;
-    margin-right             : 0px;
-    text-align               : left;
-  }
-  p.tiny_right {
-    margin-right             : 1em;
-    text-align               : right;
-  }
-  p.tiny_center {
-    margin-left              : 0px;
-    margin-right             : 0px;
-    text-align               : center;
-  }
-  p.concordance_word {
-    line-height              : 150%%;
-    font-weight              : bold;
-    display                  : inline;
-    margin-top               : 4px;
-    margin-bottom            : 1px;
-  }
-  p.concordance_count {
-    font-size                : 80%%;
-    color                    : #777777;
-    display                  : inline;
-    margin-left              : 0em;
-  }
-  p.concordance_object {
-    font-size                : 80%%;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-left              : 3em;
-    margin-top               : 1px;
-    margin-bottom            : 3px;
-  }
-  p.book_index_lev1 {
-    line-height              : 100%%;
-    margin-top               : 4px;
-    margin-bottom            : 1px;
-  }
-  p.book_index_lev2 {
-    line-height              : 100%%;
-    text-align               : left;
-    margin-left              : 3em;
-    margin-top               : 1px;
-    margin-bottom            : 3px;
-  }
-  tt {
-    font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
-    background-color         : #EEEEEE;
-    color                    : #000000;
-  }
+*{
+  padding                  : 0px;
+  margin                   : 0px;
+}
+body {
+  height                   : 100vh;
+  background-color         : #FFFFFF;
+}
+body {
+  color                    : #000000;
+  background               : #FFFFFF;
+  background-color         : #FFFFFF;
+}
+a:link {
+  color                    : #003399;
+  text-decoration          : none;
+}
+a:visited {
+  color                    : #003399;
+  text-decoration          : none;
+}
+a:hover {
+  color                    : #000000;
+  background-color         : #F9F9AA;
+}
+a.lnkocn:link {
+  color                    : %s;
+  text-decoration          : none;
+}
+a.lnkocn:visited {
+  color                    : #32CD32;
+  text-decoration          : none;
+}
+a.lnkocn:hover {
+  color                    : #777777;
+  font-size                : 15px;
+}
+a:hover img {
+  background-color         : #FFFFFF;
+}
+a:active {
+  color                    : #003399;
+  text-decoration          : underline;
+}
+input {
+  color                    : #000000;
+  background-color         : #FFFFFF;
+}
+div {
+  margin-left              : 0;
+  margin-right             : 0;
+}
+div.p {
+  margin-left              : 5%%;
+  margin-right             : 1%%;
+}
+div.substance {
+  width                    : 100%%;
+  background-color         : #FFFFFF;
+}
+div.ocn {
+  width                    : 5%%;
+  float                    : right;
+  top                      : 0;
+  background-color         : #FFFFFF;
+}
+div.endnote {
+  width                    : 95%%;
+  background-color         : #FFFFFF;
+}
+div.toc {
+  position                 : absolute;
+  float                    : left;
+  margin                   : 0;
+  padding                  : 0;
+  padding-top              : 0.5em;
+  border                   : 0;
+  width                    : 13em;
+  background-color         : #EEEEEE;
+  margin-right             : 1em;
+}
+div.summary {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 13em solid #EEEEEE;
+  padding-left             : 1em;
+  background-color         : #EEEEEE;
+}
+div.content, div.main_column {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 13em solid #FFFFFF;
+  padding-left             : 1em;
+  padding-right            : 1em;
+}
+div.content0, div.main_column0 {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 0%% solid #FFFFFF;
+  padding-left             : 5%%;
+}
+div.scroll {
+  margin                   : 0;
+  padding                  : 0;
+  padding-left             : 1em;
+  padding-right            : 1em;
+}
+div.content:after {
+  content                  : ' ';
+  clear                    : both;
+  display                  : block;
+  height                   : 0;
+  overflow                 : hidden;
+}
+div.footer {
+  clear                    : left;
+  padding                  : 0.5em;
+  font-size                : 80%%;
+  margin                   : 0;
+}
+div.toc ul {
+  list-style               : none;
+  padding                  : 0;
+  margin                   : 0;
+}
+div.toc li ul a, li ul span.currentlink
+{
+  font-weight              : normal;
+  font-size                : 90%%;
+  padding-left             : 2em;
+  background-color         : #EEEEEE;
+}
+div.toc a, span.currentlink{
+  display                  : block;
+  text-decoration          : none;
+  padding-left             : 0.5em;
+  color                    : #0000aa;
+}
+hr {
+  width                    : 90%%;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+  margin-top               : 1.8em;
+  margin-bottom            : 1.8em;
+}
+span.currentlink {
+  text-decoration          : none;
+  background-color         : #AAAAAA;
+}
+div.toc a:visited {
+  color                    : #0000aa;
+}
+div.toc a:hover {
+  color                    : #000000;
+  background-color         : #F9F9AA;
+}
+nav#toc ol {
+  list-style-type          : none;
+}
+.norm, .bold, .verse, .group, .block, .alt {
+  line-height              : 133%%;
+  margin-top               : 12px;
+  margin-bottom            : 0px;
+  padding-left             : 0em;
+  text-indent              : 0em;
+}
+p, h0, h1, h2, h3, h4, h5, h6, h7, ul, li {
+  display                  : block;
+  font-family              : verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+}
+p {
+  font-size                : 100%%;
+  font-weight              : normal;
+  line-height              : 133%%;
+  text-align               : justify;
+  text-indent              : 0mm;
+  margin-top               : 0.8em;
+  margin-bottom            : 0.8em;
+}
+img {
+  max-width                : 100%%;
+  height                   : auto;
+}
+pre {
+  width                    : auto;
+  display                  : block;
+  clear                    : both;
+  color                    : #555555;
+}
+pre.codeline {
+  display                  : table;
+  clear                    : both;
+  table-layout             : fixed;
+  margin-left              : 5%%;
+  margin-right             : 5%%;
+  width                    : 90%%;
+  white-space              : pre-wrap;
+  border-style             : none;
+  border-radius            : 5px 5px 5px 5px;
+  box-shadow               : 0 2px 5px #AAAAAA inset;
+  margin-bottom            : 1em;
+  padding                  : 0.5em 1em;
+  page-break-inside        : avoid;
+  word-wrap                : break-word;
+  font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
+  white-space              : pre;
+  white-space              : pre-wrap;
+  white-space              : -moz-pre-wrap;
+  white-space              : -o-pre-wrap;
+  background-color         : #EEEEEE;
+  color                    : #000000;
+  font-size                : 95%%;
+  line-height              : 100%%;
+}
+pre.codeline::before {
+  counter-reset            : linenum;
+}
+pre.codeline span.tr {
+  display                  : table-row;
+  counter-increment        : linenum;
+}
+pre.codeline span.th {
+  display                  : table-cell;
+  user-select              : none;
+  -moz-user-select         : none;
+  -webkit-user-select      : none;
+  padding                  : 0.5em 0.5em;
+  /* background-color         : #666666; */
+}
+pre.codeline span.th::before {
+  content                  : counter(linenum) ".";
+  color                    : #999999;
+  text-align               : right;
+  display                  : block;
+}
+pre.codeline span.th {
+  width                    : 4em;
+}
+pre.codeline code {
+  display                  : table-cell;
+}
+p.code {
+  border-style             : none;
+}
+p.spaced { white-space     : pre; }
+p.block {
+  white-space              : pre;
+}
+p.group { }
+p.alt { }
+p.verse {
+  white-space              : pre;
+  margin-bottom            : 6px;
+}
+p.caption {
+  text-align               : left;
+  font-size                : 80%%;
+  display                  : inline;
+}
+p.endnote {
+  font-size                : 96%%;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-right             : 15mm;
+  padding-left             : 1em;
+  text-indent              : -1em;
+}
+p.center {
+  text-align               : center;
+}
+p.bold {
+  font-weight              : bold;
+}
+p.bold_left {
+  font-weight              : bold;
+  text-align               : left;
+}
+p.centerbold {
+  text-align               : center;
+  font-weight              : bold;
+}
+p.em {
+  font-weight              : bold;
+  font-style               : normal;
+  background               : #FFF3B6;
+}
+p.small {
+  font-size                : 80%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+  margin-right             : 6px;
+  text-align               : left;
+}
+.tiny, .tiny_left, .tiny_right, .tiny_center {
+  font-size                : 10px;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+  color                    : #777777;
+  margin-right             : 6px;
+  text-align               : left;
+}
+p.tiny { }
+p.tiny_left {
+  margin-left              : 0px;
+  margin-right             : 0px;
+  text-align               : left;
+}
+p.tiny_right {
+  margin-right             : 1em;
+  text-align               : right;
+}
+p.tiny_center {
+  margin-left              : 0px;
+  margin-right             : 0px;
+  text-align               : center;
+}
+p.concordance_word {
+  line-height              : 150%%;
+  font-weight              : bold;
+  display                  : inline;
+  margin-top               : 4px;
+  margin-bottom            : 1px;
+}
+p.concordance_count {
+  font-size                : 80%%;
+  color                    : #777777;
+  display                  : inline;
+  margin-left              : 0em;
+}
+p.concordance_object {
+  font-size                : 80%%;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-left              : 3em;
+  margin-top               : 1px;
+  margin-bottom            : 3px;
+}
+p.book_index_lev1 {
+  line-height              : 100%%;
+  margin-top               : 4px;
+  margin-bottom            : 1px;
+}
+p.book_index_lev2 {
+  line-height              : 100%%;
+  text-align               : left;
+  margin-left              : 3em;
+  margin-top               : 1px;
+  margin-bottom            : 3px;
+}
+tt {
+  font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
+  background-color         : #EEEEEE;
+  color                    : #000000;
+}
 %s
-  note { white-space         : pre; }
-  label.ocn {
-    width                    : 2%%;
-    float                    : right;
-    top                      : 0;
-    font-size                : 10px;
-    margin-top               : 0px;
-    margin-bottom            : 5px;
-    margin-right             : 5px;
-    text-align               : right;
-    color                    : %s;
-    -khtml-user-select       : none;
-    -moz-user-select         : none;
-    -ms-user-select          : none;
-    -o-user-select           : none;
-    -webkit-user-select      : none;
-    user-select              : none;
-  }
-  table {
-    display                  : block;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-    background-color         : inherit;
-  }
-  tr { }
-  th,td {
-    vertical-align           : top;
-    text-align               : left;
-  }
-  th {
-    font-weight              : bold;
-  }
-  em {
-    font-weight              : bold;
-    font-style               : italic;
-  }
-  p.left,th.left,td.left {
-    text-align               : left;
-  }
-  p.small_left,th.small_left,td.small_left {
-    text-align               : left;
-    font-size                : 80%%;
-  }
-  p.right,th.right,td.right {
-    text-align               : right;
-  }
-  ul, li {
-    list-style-type          : none;
-    list-style               : none;
-    padding-left             : 20px;
-    font-weight              : normal;
-    line-height              : 150%%;
-    text-align               : left;
-    text-indent              : 0mm;
-    margin-left              : 1em;
-    margin-right             : 2em;
-    margin-top               : 3px;
-    margin-bottom            : 3px;
-  }
-  li {
-    background               : url(../image_sys/bullet_09.png) no-repeat 0px 6px;
-  }
-  ul { }
-  h0, h1, h2, h3, h4, h5, h6, h7 {
-    font-weight              : bold;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-top               : 20px;
-    margin-bottom            : 10px;
-  }
-  h4.norm, h5.norm, h6.norm, h7.norm {
-    margin-top               : 10px;
-    margin-bottom            : 0px;
-  }
-  h0 { font-size             : 125%%; }
-  h1 { font-size             : 120%%; }
-  h2 { font-size             : 115%%; }
-  h3 { font-size             : 110%%; }
-  h4 { font-size             : 105%%; }
-  h5 { font-size             : 100%%; }
-  h6 { font-size             : 100%%; }
-  h7 { font-size             : 100%%; }
-  h0, h1, h2, h3, h4, h5, h6, h7 {
-    text-shadow              : .2em .2em .3em #808080;
-  }
-  h1.i { margin-left         : 2em; }
-  h2.i { margin-left         : 3em; }
-  h3.i { margin-left         : 4em; }
-  h4.i { margin-left         : 5em; }
-  h5.i { margin-left         : 6em; }
-  h6.i { margin-left         : 7em; }
-  h7.i { margin-left         : 8em; }
-  h8.i { margin-left         : 9em; }
-  h9.i { margin-left         : 10em; }
-  .toc {
-    font-weight              : normal;
-    margin-top               : 6px;
-    margin-bottom            : 6px;
-  }
-  h0.toc {
-    margin-left              : 1em;
-    font-size                : 120%%;
-    line-height              : 150%%;
-  }
-  h1.toc {
-    margin-left              : 1em;
-    font-size                : 115%%;
-    line-height              : 150%%;
-  }
-  h2.toc {
-    margin-left              : 2em;
-    font-size                : 110%%;
-    line-height              : 140%%;
-  }
-  h3.toc {
-    margin-left              : 3em;
-    font-size                : 105%%;
-    line-height              : 120%%;
-  }
-  h4.toc {
-    margin-left              : 4em;
-    font-size                : 100%%;
-    line-height              : 120%%;
-  }
-  h5.toc {
-    margin-left              : 5em;
-    font-size                : 95%%;
-    line-height              : 110%%;
-  }
-  h6.toc {
-    margin-left              : 6em;
-    font-size                : 90%%;
-    line-height              : 110%%;
-  }
-  h7.toc {
-    margin-left              : 7em;
-    font-size                : 85%%;
-    line-height              : 100%%;
-  }
-  .subtoc {
-    margin-right             : 34%%;
-    font-weight              : normal;
-  }
-  h5.subtoc {
-    margin-left              : 2em;
-    font-size                : 80%%;
-    margin-top               : 2px;
-    margin-bottom            : 2px;
-  }
-  h6.subtoc {
-    margin-left              : 3em;
-    font-size                : 75%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-  }
-  h7.subtoc {
-    margin-left              : 4em;
-    font-size                : 70%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-  }
+note { white-space         : pre; }
+label.ocn {
+  width                    : 2%%;
+  float                    : right;
+  top                      : 0;
+  font-size                : 10px;
+  margin-top               : 0px;
+  margin-bottom            : 5px;
+  margin-right             : 5px;
+  text-align               : right;
+  color                    : %s;
+  -khtml-user-select       : none;
+  -moz-user-select         : none;
+  -ms-user-select          : none;
+  -o-user-select           : none;
+  -webkit-user-select      : none;
+  user-select              : none;
+}
+table {
+  display                  : block;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+  background-color         : inherit;
+}
+tr { }
+th,td {
+  vertical-align           : top;
+  text-align               : left;
+}
+th {
+  font-weight              : bold;
+}
+em {
+  font-weight              : bold;
+  font-style               : italic;
+}
+p.left,th.left,td.left {
+  text-align               : left;
+}
+p.small_left,th.small_left,td.small_left {
+  text-align               : left;
+  font-size                : 80%%;
+}
+p.right,th.right,td.right {
+  text-align               : right;
+}
+ul, li {
+  list-style-type          : none;
+  list-style               : none;
+  padding-left             : 20px;
+  font-weight              : normal;
+  line-height              : 150%%;
+  text-align               : left;
+  text-indent              : 0mm;
+  margin-left              : 1em;
+  margin-right             : 2em;
+  margin-top               : 3px;
+  margin-bottom            : 3px;
+}
+li {
+  background               : url(../image_sys/bullet_09.png) no-repeat 0px 6px;
+}
+ul { }
+h0, h1, h2, h3, h4, h5, h6, h7 {
+  font-weight              : bold;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-top               : 20px;
+  margin-bottom            : 10px;
+}
+h4.norm, h5.norm, h6.norm, h7.norm {
+  margin-top               : 10px;
+  margin-bottom            : 0px;
+}
+h0 { font-size             : 125%%; }
+h1 { font-size             : 120%%; }
+h2 { font-size             : 115%%; }
+h3 { font-size             : 110%%; }
+h4 { font-size             : 105%%; }
+h5 { font-size             : 100%%; }
+h6 { font-size             : 100%%; }
+h7 { font-size             : 100%%; }
+h0, h1, h2, h3, h4, h5, h6, h7 {
+  text-shadow              : .2em .2em .3em #808080;
+}
+h1.i { margin-left         : 2em; }
+h2.i { margin-left         : 3em; }
+h3.i { margin-left         : 4em; }
+h4.i { margin-left         : 5em; }
+h5.i { margin-left         : 6em; }
+h6.i { margin-left         : 7em; }
+h7.i { margin-left         : 8em; }
+h8.i { margin-left         : 9em; }
+h9.i { margin-left         : 10em; }
+.toc {
+  font-weight              : normal;
+  margin-top               : 6px;
+  margin-bottom            : 6px;
+}
+h0.toc {
+  margin-left              : 1em;
+  font-size                : 120%%;
+  line-height              : 150%%;
+}
+h1.toc {
+  margin-left              : 1em;
+  font-size                : 115%%;
+  line-height              : 150%%;
+}
+h2.toc {
+  margin-left              : 2em;
+  font-size                : 110%%;
+  line-height              : 140%%;
+}
+h3.toc {
+  margin-left              : 3em;
+  font-size                : 105%%;
+  line-height              : 120%%;
+}
+h4.toc {
+  margin-left              : 4em;
+  font-size                : 100%%;
+  line-height              : 120%%;
+}
+h5.toc {
+  margin-left              : 5em;
+  font-size                : 95%%;
+  line-height              : 110%%;
+}
+h6.toc {
+  margin-left              : 6em;
+  font-size                : 90%%;
+  line-height              : 110%%;
+}
+h7.toc {
+  margin-left              : 7em;
+  font-size                : 85%%;
+  line-height              : 100%%;
+}
+.subtoc {
+  margin-right             : 34%%;
+  font-weight              : normal;
+}
+h5.subtoc {
+  margin-left              : 2em;
+  font-size                : 80%%;
+  margin-top               : 2px;
+  margin-bottom            : 2px;
+}
+h6.subtoc {
+  margin-left              : 3em;
+  font-size                : 75%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+}
+h7.subtoc {
+  margin-left              : 4em;
+  font-size                : 70%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+}
 
 ┃",
     _color_ocn_light,
@@ -3683,523 +3683,523 @@ template spineCss() {
     _color_ocn_light,
 );
     string _css_dark_epub = format(q"┃
-  *{
-    padding                  : 0px;
-    margin                   : 0px;
-  }
-  body {
-    height                   : 100vh;
-    background-color         : #000000;
-  }
-  body {
-    color                    : #CCCCCC;
-    background               : #000000;
-    background-color         : #000000;
-  }
-  a:link {
-    color                    : #FFFFFF;
-    text-decoration          : none;
-  }
-  a:visited {
-    color                    : #999999;
-    text-decoration          : none;
-  }
-  a:hover {
-    color                    : #000000;
-    background-color         : #555555;
-  }
-  a.lnkocn:link {
-    color                    : %s;
-    text-decoration          : none;
-  }
-  a.lnkocn:visited {
-    color                    : #9ACD32;
-    text-decoration          : none;
-  }
-  a.lnkocn:hover {
-    color                    : #BBBBBB;
-    font-size                : 15px;
-  }
-  a:hover img {
-    background-color         : #000000;
-  }
-  a:active {
-    color                    : #888888;
-    text-decoration          : underline;
-  }
-  input {
-    color                    : #FFFFFF;
-    background-color         : #777777;
-  }
-  div {
-    margin-left              : 0;
-    margin-right             : 0;
-  }
-  div.p {
-    margin-left              : 5%%;
-    margin-right             : 1%%;
-  }
-  div.substance {
-    width                    : 100%%;
-    background-color         : #000000;
-  }
-  div.ocn {
-    width                    : 5%%;
-    float                    : right;
-    top                      : 0;
-    background-color         : #000000;
-  }
-  div.endnote {
-    width                    : 95%%;
-    background-color         : #000000;
-  }
-  div.toc {
-    position                 : absolute;
-    float                    : left;
-    margin                   : 0;
-    padding                  : 0;
-    padding-top              : 0.5em;
-    border                   : 0;
-    width                    : 13em;
-    background-color         : #111111;
-    margin-right             : 1em;
-  }
-  div.summary {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 13em solid #111111;
-    padding-left             : 1em;
-    background-color         : #111111;
-  }
-  div.content, div.main_column {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 13em solid #000000;
-    padding-left             : 1em;
-    padding-right            : 1em;
-  }
-  div.content0, div.main_column0 {
-    margin                   : 0;
-    padding                  : 0;
-    border-left              : 0%% solid #000000;
-    padding-left             : 5%%;
-  }
-  div.scroll {
-    margin                   : 0;
-    padding                  : 0;
-    padding-left             : 1em;
-    padding-right            : 1em;
-  }
-  div.content:after {
-    content                  : ' ';
-    clear                    : both;
-    display                  : block;
-    height                   : 0;
-    overflow                 : hidden;
-  }
-  div.footer {
-    clear                    : left;
-    padding                  : 0.5em;
-    font-size                : 80%%;
-    margin                   : 0;
-  }
-  div.toc ul {
-    list-style               : none;
-    padding                  : 0;
-    margin                   : 0;
-  }
-  div.toc li ul a, li ul span.currentlink
-  {
-    font-weight              : normal;
-    font-size                : 90%%;
-    padding-left             : 2em;
-    background-color         : #111111;
-  }
-  div.toc a, span.currentlink{
-    display                  : block;
-    text-decoration          : none;
-    padding-left             : 0.5em;
-    color                    : #FF00AA;
-  }
-  hr {
-    width                    : 90%%;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-    margin-top               : 1.8em;
-    margin-bottom            : 1.8em;
-  }
-  span.currentlink {
-    text-decoration          : none;
-    background-color         : #AAAAF9;
-  }
-  div.toc a:visited {
-    color                    : #FF00AA;
-  }
-  div.toc a:hover {
-    color                    : #CCCCCC;
-    background-color         : #F9F9AA;
-  }
-  nav#toc ol {
-    list-style-type          : none;
-  }
-  .norm, .bold, .verse, .group, .block, .alt {
-    line-height              : 133%%;
-    margin-top               : 12px;
-    margin-bottom            : 0px;
-    padding-left             : 0em;
-    text-indent              : 0em;
-  }
-  p, h0, h1, h2, h3, h4, h5, h6, h7, ul, li {
-    display                  : block;
-    font-family              : verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-  }
-  p {
-    font-size                : 100%%;
-    font-weight              : normal;
-    line-height              : 133%%;
-    text-align               : justify;
-    text-indent              : 0mm;
-    margin-top               : 0.8em;
-    margin-bottom            : 0.8em;
-  }
-  img {
-    max-width                : 100%%;
-    height                   : auto;
-  }
-  pre {
-    width                    : auto;
-    display                  : block;
-    clear                    : both;
-    color                    : #555555;
-  }
-  pre.codeline {
-    display                  : table;
-    clear                    : both;
-    table-layout             : fixed;
-    margin-left              : 5%%;
-    margin-right             : 5%%;
-    width                    : 90%%;
-    white-space              : pre-wrap;
-    border-style             : none;
-    border-radius            : 5px 5px 5px 5px;
-    box-shadow               : 0 2px 5px #AAAAAA inset;
-    margin-bottom            : 1em;
-    padding                  : 0.5em 1em;
-    page-break-inside        : avoid;
-    word-wrap                : break-word;
-    font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
-    white-space              : pre;
-    white-space              : pre-wrap;
-    white-space              : -moz-pre-wrap;
-    white-space              : -o-pre-wrap;
-    background-color         : #555555;
-    color                    : #DDDDDD;
-    font-size                : 95%%;
-    line-height              : 100%%;
-  }
-  pre.codeline::before {
-    counter-reset            : linenum;
-  }
-  pre.codeline span.tr {
-    display                  : table-row;
-    counter-increment        : linenum;
-  }
-  pre.codeline span.th {
-    display                  : table-cell;
-    user-select              : none;
-    -moz-user-select         : none;
-    -webkit-user-select      : none;
-    padding                  : 0.5em 0.5em;
-  }
-  pre.codeline span.th::before {
-    content                  : counter(linenum) ".";
-    color                    : #999999;
-    text-align               : right;
-    display                  : block;
-  }
-  pre.codeline span.th {
-    width                    : 4em;
-  }
-  pre.codeline code {
-    display                  : table-cell;
-  }
-  p.code {
-    border-style             : none;
-  }
-  p.spaced { white-space     : pre; }
-  p.block {
-    white-space              : pre;
-  }
-  p.group { }
-  p.alt { }
-  p.verse {
-    white-space              : pre;
-    margin-bottom            : 6px;
-  }
-  p.caption {
-    text-align               : left;
-    font-size                : 80%%;
-    display                  : inline;
-  }
-  p.endnote {
-    font-size                : 96%%;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-right             : 15mm;
-    padding-left             : 1em;
-    text-indent              : -1em;
-  }
-  p.center {
-    text-align               : center;
-  }
-  p.bold {
-    font-weight              : bold;
-  }
-  p.bold_left {
-    font-weight              : bold;
-    text-align               : left;
-  }
-  p.centerbold {
-    text-align               : center;
-    font-weight              : bold;
-  }
-  p.em {
-    font-weight              : bold;
-    font-style               : normal;
-    background               : #FFF3B6;
-  }
-  p.small {
-    font-size                : 80%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-    margin-right             : 6px;
-    text-align               : left;
-  }
-  .tiny, .tiny_left, .tiny_right, .tiny_center {
-    font-size                : 10px;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-    color                    : #EEEEEE;
-    margin-right             : 6px;
-    text-align               : left;
-  }
-  p.tiny { }
-  p.tiny_left {
-    margin-left              : 0px;
-    margin-right             : 0px;
-    text-align               : left;
-  }
-  p.tiny_right {
-    margin-right             : 1em;
-    text-align               : right;
-  }
-  p.tiny_center {
-    margin-left              : 0px;
-    margin-right             : 0px;
-    text-align               : center;
-  }
-  p.concordance_word {
-    line-height              : 150%%;
-    font-weight              : bold;
-    display                  : inline;
-    margin-top               : 4px;
-    margin-bottom            : 1px;
-  }
-  p.concordance_count {
-    font-size                : 80%%;
-    color                    : #555555;
-    display                  : inline;
-    margin-left              : 0em;
-  }
-  p.concordance_object {
-    font-size                : 80%%;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-left              : 3em;
-    margin-top               : 1px;
-    margin-bottom            : 3px;
-  }
-  p.book_index_lev1 {
-    line-height              : 100%%;
-    margin-top               : 4px;
-    margin-bottom            : 1px;
-  }
-  p.book_index_lev2 {
-    line-height              : 100%%;
-    text-align               : left;
-    margin-left              : 3em;
-    margin-top               : 1px;
-    margin-bottom            : 3px;
-  }
-  tt {
-    font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
-    background-color         : #555555;
-    color                    : #DDDDDD;
-  }
+*{
+  padding                  : 0px;
+  margin                   : 0px;
+}
+body {
+  height                   : 100vh;
+  background-color         : #000000;
+}
+body {
+  color                    : #CCCCCC;
+  background               : #000000;
+  background-color         : #000000;
+}
+a:link {
+  color                    : #FFFFFF;
+  text-decoration          : none;
+}
+a:visited {
+  color                    : #999999;
+  text-decoration          : none;
+}
+a:hover {
+  color                    : #000000;
+  background-color         : #555555;
+}
+a.lnkocn:link {
+  color                    : %s;
+  text-decoration          : none;
+}
+a.lnkocn:visited {
+  color                    : #9ACD32;
+  text-decoration          : none;
+}
+a.lnkocn:hover {
+  color                    : #BBBBBB;
+  font-size                : 15px;
+}
+a:hover img {
+  background-color         : #000000;
+}
+a:active {
+  color                    : #888888;
+  text-decoration          : underline;
+}
+input {
+  color                    : #FFFFFF;
+  background-color         : #777777;
+}
+div {
+  margin-left              : 0;
+  margin-right             : 0;
+}
+div.p {
+  margin-left              : 5%%;
+  margin-right             : 1%%;
+}
+div.substance {
+  width                    : 100%%;
+  background-color         : #000000;
+}
+div.ocn {
+  width                    : 5%%;
+  float                    : right;
+  top                      : 0;
+  background-color         : #000000;
+}
+div.endnote {
+  width                    : 95%%;
+  background-color         : #000000;
+}
+div.toc {
+  position                 : absolute;
+  float                    : left;
+  margin                   : 0;
+  padding                  : 0;
+  padding-top              : 0.5em;
+  border                   : 0;
+  width                    : 13em;
+  background-color         : #111111;
+  margin-right             : 1em;
+}
+div.summary {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 13em solid #111111;
+  padding-left             : 1em;
+  background-color         : #111111;
+}
+div.content, div.main_column {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 13em solid #000000;
+  padding-left             : 1em;
+  padding-right            : 1em;
+}
+div.content0, div.main_column0 {
+  margin                   : 0;
+  padding                  : 0;
+  border-left              : 0%% solid #000000;
+  padding-left             : 5%%;
+}
+div.scroll {
+  margin                   : 0;
+  padding                  : 0;
+  padding-left             : 1em;
+  padding-right            : 1em;
+}
+div.content:after {
+  content                  : ' ';
+  clear                    : both;
+  display                  : block;
+  height                   : 0;
+  overflow                 : hidden;
+}
+div.footer {
+  clear                    : left;
+  padding                  : 0.5em;
+  font-size                : 80%%;
+  margin                   : 0;
+}
+div.toc ul {
+  list-style               : none;
+  padding                  : 0;
+  margin                   : 0;
+}
+div.toc li ul a, li ul span.currentlink
+{
+  font-weight              : normal;
+  font-size                : 90%%;
+  padding-left             : 2em;
+  background-color         : #111111;
+}
+div.toc a, span.currentlink{
+  display                  : block;
+  text-decoration          : none;
+  padding-left             : 0.5em;
+  color                    : #FF00AA;
+}
+hr {
+  width                    : 90%%;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+  margin-top               : 1.8em;
+  margin-bottom            : 1.8em;
+}
+span.currentlink {
+  text-decoration          : none;
+  background-color         : #AAAAF9;
+}
+div.toc a:visited {
+  color                    : #FF00AA;
+}
+div.toc a:hover {
+  color                    : #CCCCCC;
+  background-color         : #F9F9AA;
+}
+nav#toc ol {
+  list-style-type          : none;
+}
+.norm, .bold, .verse, .group, .block, .alt {
+  line-height              : 133%%;
+  margin-top               : 12px;
+  margin-bottom            : 0px;
+  padding-left             : 0em;
+  text-indent              : 0em;
+}
+p, h0, h1, h2, h3, h4, h5, h6, h7, ul, li {
+  display                  : block;
+  font-family              : verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+}
+p {
+  font-size                : 100%%;
+  font-weight              : normal;
+  line-height              : 133%%;
+  text-align               : justify;
+  text-indent              : 0mm;
+  margin-top               : 0.8em;
+  margin-bottom            : 0.8em;
+}
+img {
+  max-width                : 100%%;
+  height                   : auto;
+}
+pre {
+  width                    : auto;
+  display                  : block;
+  clear                    : both;
+  color                    : #555555;
+}
+pre.codeline {
+  display                  : table;
+  clear                    : both;
+  table-layout             : fixed;
+  margin-left              : 5%%;
+  margin-right             : 5%%;
+  width                    : 90%%;
+  white-space              : pre-wrap;
+  border-style             : none;
+  border-radius            : 5px 5px 5px 5px;
+  box-shadow               : 0 2px 5px #AAAAAA inset;
+  margin-bottom            : 1em;
+  padding                  : 0.5em 1em;
+  page-break-inside        : avoid;
+  word-wrap                : break-word;
+  font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
+  white-space              : pre;
+  white-space              : pre-wrap;
+  white-space              : -moz-pre-wrap;
+  white-space              : -o-pre-wrap;
+  background-color         : #555555;
+  color                    : #DDDDDD;
+  font-size                : 95%%;
+  line-height              : 100%%;
+}
+pre.codeline::before {
+  counter-reset            : linenum;
+}
+pre.codeline span.tr {
+  display                  : table-row;
+  counter-increment        : linenum;
+}
+pre.codeline span.th {
+  display                  : table-cell;
+  user-select              : none;
+  -moz-user-select         : none;
+  -webkit-user-select      : none;
+  padding                  : 0.5em 0.5em;
+}
+pre.codeline span.th::before {
+  content                  : counter(linenum) ".";
+  color                    : #999999;
+  text-align               : right;
+  display                  : block;
+}
+pre.codeline span.th {
+  width                    : 4em;
+}
+pre.codeline code {
+  display                  : table-cell;
+}
+p.code {
+  border-style             : none;
+}
+p.spaced { white-space     : pre; }
+p.block {
+  white-space              : pre;
+}
+p.group { }
+p.alt { }
+p.verse {
+  white-space              : pre;
+  margin-bottom            : 6px;
+}
+p.caption {
+  text-align               : left;
+  font-size                : 80%%;
+  display                  : inline;
+}
+p.endnote {
+  font-size                : 96%%;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-right             : 15mm;
+  padding-left             : 1em;
+  text-indent              : -1em;
+}
+p.center {
+  text-align               : center;
+}
+p.bold {
+  font-weight              : bold;
+}
+p.bold_left {
+  font-weight              : bold;
+  text-align               : left;
+}
+p.centerbold {
+  text-align               : center;
+  font-weight              : bold;
+}
+p.em {
+  font-weight              : bold;
+  font-style               : normal;
+  background               : #FFF3B6;
+}
+p.small {
+  font-size                : 80%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+  margin-right             : 6px;
+  text-align               : left;
+}
+.tiny, .tiny_left, .tiny_right, .tiny_center {
+  font-size                : 10px;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+  color                    : #EEEEEE;
+  margin-right             : 6px;
+  text-align               : left;
+}
+p.tiny { }
+p.tiny_left {
+  margin-left              : 0px;
+  margin-right             : 0px;
+  text-align               : left;
+}
+p.tiny_right {
+  margin-right             : 1em;
+  text-align               : right;
+}
+p.tiny_center {
+  margin-left              : 0px;
+  margin-right             : 0px;
+  text-align               : center;
+}
+p.concordance_word {
+  line-height              : 150%%;
+  font-weight              : bold;
+  display                  : inline;
+  margin-top               : 4px;
+  margin-bottom            : 1px;
+}
+p.concordance_count {
+  font-size                : 80%%;
+  color                    : #555555;
+  display                  : inline;
+  margin-left              : 0em;
+}
+p.concordance_object {
+  font-size                : 80%%;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-left              : 3em;
+  margin-top               : 1px;
+  margin-bottom            : 3px;
+}
+p.book_index_lev1 {
+  line-height              : 100%%;
+  margin-top               : 4px;
+  margin-bottom            : 1px;
+}
+p.book_index_lev2 {
+  line-height              : 100%%;
+  text-align               : left;
+  margin-left              : 3em;
+  margin-top               : 1px;
+  margin-bottom            : 3px;
+}
+tt {
+  font-family              : inconsolata, "liberation mono", "bitstream vera mono", "dejavu mono", monaco, consolas, "andale mono", "courier new", "courier 10 pitch", courier, monospace;
+  background-color         : #555555;
+  color                    : #DDDDDD;
+}
 %s
-  note { white-space         : pre; }
-  label.ocn {
-    width                    : 2%%;
-    float                    : right;
-    top                      : 0;
-    font-size                : 10px;
-    margin-top               : 0px;
-    margin-bottom            : 5px;
-    margin-right             : 5px;
-    text-align               : right;
-    color                    : %s;
-    -khtml-user-select       : none;
-    -moz-user-select         : none;
-    -ms-user-select          : none;
-    -o-user-select           : none;
-    -webkit-user-select      : none;
-    user-select              : none;
-  }
-  table {
-    display                  : block;
-    margin-left              : 5%%;
-    margin-right             : 2em;
-    background-color         : inherit;
-  }
-  tr { }
-  th,td {
-    vertical-align           : top;
-    text-align               : left;
-  }
-  th {
-    font-weight              : bold;
-  }
-  em {
-    font-weight              : bold;
-    font-style               : italic;
-  }
-  p.left,th.left,td.left {
-    text-align               : left;
-  }
-  p.small_left,th.small_left,td.small_left {
-    text-align               : left;
-    font-size                : 80%%;
-  }
-  p.right,th.right,td.right {
-    text-align               : right;
-  }
-  ul, li {
-    list-style-type          : none;
-    list-style               : none;
-    padding-left             : 20px;
-    font-weight              : normal;
-    line-height              : 150%%;
-    text-align               : left;
-    text-indent              : 0mm;
-    margin-left              : 1em;
-    margin-right             : 2em;
-    margin-top               : 3px;
-    margin-bottom            : 3px;
-  }
-  li {
-    background               : (../image_sys/bullet_09.png) no-repeat 0px 6px;
-  }
-  ul { }
-  h0, h1, h2, h3, h4, h5, h6, h7 {
-    font-weight              : bold;
-    line-height              : 120%%;
-    text-align               : left;
-    margin-top               : 20px;
-    margin-bottom            : 10px;
-  }
-  h4.norm, h5.norm, h6.norm, h7.norm {
-    margin-top               : 10px;
-    margin-bottom            : 0px;
-  }
-  h0 { font-size             : 125%%; }
-  h1 { font-size             : 120%%; }
-  h2 { font-size             : 115%%; }
-  h3 { font-size             : 110%%; }
-  h4 { font-size             : 105%%; }
-  h5 { font-size             : 100%%; }
-  h6 { font-size             : 100%%; }
-  h7 { font-size             : 100%%; }
-  h0, h1, h2, h3, h4, h5, h6, h7 {
-    text-shadow              : .2em .2em .3em #999999;
-  }
-  h1.i { margin-left         : 2em; }
-  h2.i { margin-left         : 3em; }
-  h3.i { margin-left         : 4em; }
-  h4.i { margin-left         : 5em; }
-  h5.i { margin-left         : 6em; }
-  h6.i { margin-left         : 7em; }
-  h7.i { margin-left         : 8em; }
-  h8.i { margin-left         : 9em; }
-  h9.i { margin-left         : 10em; }
-  .toc {
-    font-weight              : normal;
-    margin-top               : 6px;
-    margin-bottom            : 6px;
-  }
-  h0.toc {
-    margin-left              : 1em;
-    font-size                : 120%%;
-    line-height              : 150%%;
-  }
-  h1.toc {
-    margin-left              : 1em;
-    font-size                : 115%%;
-    line-height              : 150%%;
-  }
-  h2.toc {
-    margin-left              : 2em;
-    font-size                : 110%%;
-    line-height              : 140%%;
-  }
-  h3.toc {
-    margin-left              : 3em;
-    font-size                : 105%%;
-    line-height              : 120%%;
-  }
-  h4.toc {
-    margin-left              : 4em;
-    font-size                : 100%%;
-    line-height              : 120%%;
-  }
-  h5.toc {
-    margin-left              : 5em;
-    font-size                : 95%%;
-    line-height              : 110%%;
-  }
-  h6.toc {
-    margin-left              : 6em;
-    font-size                : 90%%;
-    line-height              : 110%%;
-  }
-  h7.toc {
-    margin-left              : 7em;
-    font-size                : 85%%;
-    line-height              : 100%%;
-  }
-  .subtoc {
-    margin-right             : 34%%;
-    font-weight              : normal;
-  }
-  h5.subtoc {
-    margin-left              : 2em;
-    font-size                : 80%%;
-    margin-top               : 2px;
-    margin-bottom            : 2px;
-  }
-  h6.subtoc {
-    margin-left              : 3em;
-    font-size                : 75%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-  }
-  h7.subtoc {
-    margin-left              : 4em;
-    font-size                : 70%%;
-    margin-top               : 0px;
-    margin-bottom            : 0px;
-  }
+note { white-space         : pre; }
+label.ocn {
+  width                    : 2%%;
+  float                    : right;
+  top                      : 0;
+  font-size                : 10px;
+  margin-top               : 0px;
+  margin-bottom            : 5px;
+  margin-right             : 5px;
+  text-align               : right;
+  color                    : %s;
+  -khtml-user-select       : none;
+  -moz-user-select         : none;
+  -ms-user-select          : none;
+  -o-user-select           : none;
+  -webkit-user-select      : none;
+  user-select              : none;
+}
+table {
+  display                  : block;
+  margin-left              : 5%%;
+  margin-right             : 2em;
+  background-color         : inherit;
+}
+tr { }
+th,td {
+  vertical-align           : top;
+  text-align               : left;
+}
+th {
+  font-weight              : bold;
+}
+em {
+  font-weight              : bold;
+  font-style               : italic;
+}
+p.left,th.left,td.left {
+  text-align               : left;
+}
+p.small_left,th.small_left,td.small_left {
+  text-align               : left;
+  font-size                : 80%%;
+}
+p.right,th.right,td.right {
+  text-align               : right;
+}
+ul, li {
+  list-style-type          : none;
+  list-style               : none;
+  padding-left             : 20px;
+  font-weight              : normal;
+  line-height              : 150%%;
+  text-align               : left;
+  text-indent              : 0mm;
+  margin-left              : 1em;
+  margin-right             : 2em;
+  margin-top               : 3px;
+  margin-bottom            : 3px;
+}
+li {
+  background               : (../image_sys/bullet_09.png) no-repeat 0px 6px;
+}
+ul { }
+h0, h1, h2, h3, h4, h5, h6, h7 {
+  font-weight              : bold;
+  line-height              : 120%%;
+  text-align               : left;
+  margin-top               : 20px;
+  margin-bottom            : 10px;
+}
+h4.norm, h5.norm, h6.norm, h7.norm {
+  margin-top               : 10px;
+  margin-bottom            : 0px;
+}
+h0 { font-size             : 125%%; }
+h1 { font-size             : 120%%; }
+h2 { font-size             : 115%%; }
+h3 { font-size             : 110%%; }
+h4 { font-size             : 105%%; }
+h5 { font-size             : 100%%; }
+h6 { font-size             : 100%%; }
+h7 { font-size             : 100%%; }
+h0, h1, h2, h3, h4, h5, h6, h7 {
+  text-shadow              : .2em .2em .3em #999999;
+}
+h1.i { margin-left         : 2em; }
+h2.i { margin-left         : 3em; }
+h3.i { margin-left         : 4em; }
+h4.i { margin-left         : 5em; }
+h5.i { margin-left         : 6em; }
+h6.i { margin-left         : 7em; }
+h7.i { margin-left         : 8em; }
+h8.i { margin-left         : 9em; }
+h9.i { margin-left         : 10em; }
+.toc {
+  font-weight              : normal;
+  margin-top               : 6px;
+  margin-bottom            : 6px;
+}
+h0.toc {
+  margin-left              : 1em;
+  font-size                : 120%%;
+  line-height              : 150%%;
+}
+h1.toc {
+  margin-left              : 1em;
+  font-size                : 115%%;
+  line-height              : 150%%;
+}
+h2.toc {
+  margin-left              : 2em;
+  font-size                : 110%%;
+  line-height              : 140%%;
+}
+h3.toc {
+  margin-left              : 3em;
+  font-size                : 105%%;
+  line-height              : 120%%;
+}
+h4.toc {
+  margin-left              : 4em;
+  font-size                : 100%%;
+  line-height              : 120%%;
+}
+h5.toc {
+  margin-left              : 5em;
+  font-size                : 95%%;
+  line-height              : 110%%;
+}
+h6.toc {
+  margin-left              : 6em;
+  font-size                : 90%%;
+  line-height              : 110%%;
+}
+h7.toc {
+  margin-left              : 7em;
+  font-size                : 85%%;
+  line-height              : 100%%;
+}
+.subtoc {
+  margin-right             : 34%%;
+  font-weight              : normal;
+}
+h5.subtoc {
+  margin-left              : 2em;
+  font-size                : 80%%;
+  margin-top               : 2px;
+  margin-bottom            : 2px;
+}
+h6.subtoc {
+  margin-left              : 3em;
+  font-size                : 75%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+}
+h7.subtoc {
+  margin-left              : 4em;
+  font-size                : 70%%;
+  margin-top               : 0px;
+  margin-bottom            : 0px;
+}
 
 ┃",
     _color_ocn_dark,
diff --git a/src/doc_reform/meta/conf_make_meta_json.d b/src/doc_reform/meta/conf_make_meta_json.d
index cc46754..574aebf 100644
--- a/src/doc_reform/meta/conf_make_meta_json.d
+++ b/src/doc_reform/meta/conf_make_meta_json.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/conf_make_meta_structs.d b/src/doc_reform/meta/conf_make_meta_structs.d
index aff2465..2a95379 100644
--- a/src/doc_reform/meta/conf_make_meta_structs.d
+++ b/src/doc_reform/meta/conf_make_meta_structs.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/conf_make_meta_yaml.d b/src/doc_reform/meta/conf_make_meta_yaml.d
index eac55b7..6afec40 100644
--- a/src/doc_reform/meta/conf_make_meta_yaml.d
+++ b/src/doc_reform/meta/conf_make_meta_yaml.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
@@ -230,7 +230,7 @@ template contentYAMLtoSpineStruct() {
       _struct_composite.make.substitute               = _mk.substitute(_struct_composite.make_str.substitute);
       _struct_composite.make.texpdf_font              = _mk.texpdf_font(_struct_composite.make_str.texpdf_font);
     }
-
+    
     /+ conf ------------------------------------------------------------------- +/
     if ("webserv" in _yaml
       && _yaml["webserv"].type.sequence
@@ -1092,7 +1092,7 @@ template contentYAMLtoSpineStruct() {
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
@@ -1174,7 +1174,7 @@ template configParseYAMLreturnSpineStruct() {
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/defaults.d b/src/doc_reform/meta/defaults.d
index ec6ba49..060b0ad 100644
--- a/src/doc_reform/meta/defaults.d
+++ b/src/doc_reform/meta/defaults.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/doc_debugs.d b/src/doc_reform/meta/doc_debugs.d
index f68240d..bcc28b8 100644
--- a/src/doc_reform/meta/doc_debugs.d
+++ b/src/doc_reform/meta/doc_debugs.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/metadoc.d b/src/doc_reform/meta/metadoc.d
index 525b32b..6f4a2a4 100644
--- a/src/doc_reform/meta/metadoc.d
+++ b/src/doc_reform/meta/metadoc.d
@@ -99,143 +99,143 @@ template spineAbstraction() {
       writeln("step4 commence → (doc_matters)");
     }
     struct DocumentMatters {
-      @safe auto generator_program() {
-        struct Prog_ {
-          @safe string project_name() {
-            return "spine";
-          }
-          @safe string name() {
-            return program_info.name;
-          }
-          @safe string ver() {
-            return program_info.ver;
-          }
-          @trusted string name_and_version() {
-            return format("%s-%s",
-              name,
-              ver,
-            );
-          }
-          @safe string url_home() {
-            return "https://sisudoc.org";
-          }
-          @safe string url_git() {
-            return "https://git.sisudoc.org/software/sisu";
-          }
-          @safe auto compiler() {
-            return program_info.compiler;
-          }
-          @safe auto stime() {
-            return Clock.currTime(UTC()).toSimpleString();
-          }
+    @safe auto generator_program() {
+      struct Prog_ {
+        @safe string project_name() {
+          return "spine";
         }
-        return Prog_();
-      }
-      @safe auto generated_time() {
-        auto _st = Clock.currTime(UTC());
-        auto _time = _st.year.to!string
-          ~ "-" ~ _st.month.to!int.to!string // prefer as month number
-          ~ "-" ~ _st.day.to!string
-          ~ " [" ~ _st.isoWeek.to!string ~ "/" ~ _st.dayOfWeek.to!int.to!string ~ "]"
-          ~ " " ~ _st.hour.to!string
-          ~ ":" ~ _st.minute.to!string
-          ~ ":" ~ _st.second.to!string;
-        return _time;
-      }
-      @safe auto conf_make_meta() {
-        return _make_and_meta_struct;
-      }
-      @safe auto has() {
-        return _doc_has_struct;
-      }
-      @safe auto env() {
-        struct Env_ {
-          @safe auto pwd() {
-            return _manifest.env.pwd;
-          }
-          @safe auto home() {
-            return _manifest.env.home;
-          }
+        @safe string name() {
+          return program_info.name;
         }
-        return Env_();
-      }
-      @safe auto opt() {
-        struct Opt_ {
-          @safe auto action() {
-            /+ getopt options, commandline instructions, raw
-             - processing instructions --epub --html etc.
-             - command line config instructions --output
-            +/
-            return _opt_action;
-          }
+        @safe string ver() {
+          return program_info.ver;
+        }
+        @trusted string name_and_version() {
+          return format("%s-%s",
+            name,
+            ver,
+          );
+        }
+        @safe string url_home() {
+          return "https://sisudoc.org";
+        }
+        @safe string url_git() {
+          return "https://git.sisudoc.org/software/sisu";
+        }
+        @safe auto compiler() {
+          return program_info.compiler;
+        }
+        @safe auto stime() {
+          return Clock.currTime(UTC()).toSimpleString();
         }
-        return Opt_();
-      }
-      @safe auto src() {
-        return _manifest.src;
-      }
-      @safe auto src_path_info() {
-        return spinePathsSRC!()(_manifest.env.pwd, _manifest.src.file_with_absolute_path); // would like (to have and use) relative path
       }
-      @safe auto pod() {
-        return _manifest.pod;
+      return Prog_();
+    }
+    @safe auto generated_time() {
+      auto _st = Clock.currTime(UTC());
+      auto _time = _st.year.to!string
+        ~ "-" ~ _st.month.to!int.to!string // prefer as month number
+        ~ "-" ~ _st.day.to!string
+        ~ " [" ~ _st.isoWeek.to!string ~ "/" ~ _st.dayOfWeek.to!int.to!string ~ "]"
+        ~ " " ~ _st.hour.to!string
+        ~ ":" ~ _st.minute.to!string
+        ~ ":" ~ _st.second.to!string;
+      return _time;
+    }
+    @safe auto conf_make_meta() {
+      return _make_and_meta_struct;
+    }
+    @safe auto has() {
+      return _doc_has_struct;
+    }
+    @safe auto env() {
+      struct Env_ {
+        @safe auto pwd() {
+          return _manifest.env.pwd;
+        }
+        @safe auto home() {
+          return _manifest.env.home;
+        }
       }
-      @safe auto sqlite() {
-        struct SQLite_ {
-          @safe string filename() {
-            string _fn = "";
-            string _pth = "";
-            if (_opt_action.sqlite_filename.length > 0) {
-              _fn = _opt_action.sqlite_filename;
-            } else if (_make_and_meta_struct.conf.w_srv_db_sqlite_filename.length > 0) {
-              _fn = _make_and_meta_struct.conf.w_srv_db_sqlite_filename;
-            }
-            return _fn;
-          }
-          @safe string path() {
-            string _pth = "";
-            if (_opt_action.sqlite_path.length > 0) {
-              _pth = _opt_action.sqlite_path;
-            } else if (_make_and_meta_struct.conf.w_srv_db_sqlite_path.length > 0) {
-              _pth = _make_and_meta_struct.conf.w_srv_db_sqlite_path;
-            }
-            return _pth;
-          }
-          @safe string cgi_filename() {
-            string _fn = "";
-            if (_opt_action.cgi_sqlite_search_filename.length > 0) {
-              _fn = _opt_action.cgi_sqlite_search_filename;
-            } else if (_make_and_meta_struct.conf.w_srv_cgi_search_script.length > 0) {
-              _fn = _make_and_meta_struct.conf.w_srv_cgi_search_script;
-            }
-            return _fn;
-          }
-          @safe string cgi_filename_d() {
-            string _fn = "";
-            if (_opt_action.cgi_sqlite_search_filename_d.length > 0) {
-              _fn = _opt_action.cgi_sqlite_search_filename_d;
-            } else if (_make_and_meta_struct.conf.w_srv_cgi_search_script_raw_fn_d.length > 0) {
-              _fn = _make_and_meta_struct.conf.w_srv_cgi_search_script_raw_fn_d;
-            }
-            return _fn;
-          }
+      return Env_();
+    }
+    @safe auto opt() {
+      struct Opt_ {
+        @safe auto action() {
+          /+ getopt options, commandline instructions, raw
+           - processing instructions --epub --html etc.
+           - command line config instructions --output
+          +/
+          return _opt_action;
         }
-        return SQLite_();
       }
-      @safe auto output_path() {
-        return _make_and_meta_struct.conf.output_path;
+      return Opt_();
+    }
+    @safe auto src() {
+      return _manifest.src;
+    }
+    @safe auto src_path_info() {
+      return spinePathsSRC!()(_manifest.env.pwd, _manifest.src.file_with_absolute_path); // would like (to have and use) relative path
+    }
+    @safe auto pod() {
+      return _manifest.pod;
+    }
+    @safe auto sqlite() {
+      struct SQLite_ {
+        @safe string filename() {
+          string _fn = "";
+          string _pth = "";
+          if (_opt_action.sqlite_filename.length > 0) {
+            _fn = _opt_action.sqlite_filename;
+          } else if (_make_and_meta_struct.conf.w_srv_db_sqlite_filename.length > 0) {
+            _fn = _make_and_meta_struct.conf.w_srv_db_sqlite_filename;
+          }
+          return _fn;
+        }
+        @safe string path() {
+          string _pth = "";
+          if (_opt_action.sqlite_path.length > 0) {
+            _pth = _opt_action.sqlite_path;
+          } else if (_make_and_meta_struct.conf.w_srv_db_sqlite_path.length > 0) {
+            _pth = _make_and_meta_struct.conf.w_srv_db_sqlite_path;
+          }
+          return _pth;
+        }
+        @safe string cgi_filename() {
+          string _fn = "";
+          if (_opt_action.cgi_sqlite_search_filename.length > 0) {
+            _fn = _opt_action.cgi_sqlite_search_filename;
+          } else if (_make_and_meta_struct.conf.w_srv_cgi_search_script.length > 0) {
+            _fn = _make_and_meta_struct.conf.w_srv_cgi_search_script;
+          }
+          return _fn;
+        }
+        @safe string cgi_filename_d() {
+          string _fn = "";
+          if (_opt_action.cgi_sqlite_search_filename_d.length > 0) {
+            _fn = _opt_action.cgi_sqlite_search_filename_d;
+          } else if (_make_and_meta_struct.conf.w_srv_cgi_search_script_raw_fn_d.length > 0) {
+            _fn = _make_and_meta_struct.conf.w_srv_cgi_search_script_raw_fn_d;
+          }
+          return _fn;
+        }
       }
-      @safe auto srcs() {
-        struct SRC_ {
-          auto file_insert_list() {
-            return _header_body_insertfilelist_imagelist[headBody.insert_file_list];
-          }
-          auto image_list() {
-            return _doc_has_struct.imagelist;
-          }
+      return SQLite_();
+    }
+    @safe auto output_path() {
+      return _make_and_meta_struct.conf.output_path;
+    }
+    @safe auto srcs() {
+      struct SRC_ {
+        auto file_insert_list() {
+          return _header_body_insertfilelist_imagelist[headBody.insert_file_list];
+        }
+        auto image_list() {
+          return _doc_has_struct.imagelist;
         }
-        return SRC_();
       }
+      return SRC_();
+    }
     }
     auto doc_matters = DocumentMatters();
     if ((_opt_action.debug_do)
diff --git a/src/doc_reform/meta/metadoc_curate.d b/src/doc_reform/meta/metadoc_curate.d
index 8190a9d..181b7c4 100644
--- a/src/doc_reform/meta/metadoc_curate.d
+++ b/src/doc_reform/meta/metadoc_curate.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/metadoc_curate_authors.d b/src/doc_reform/meta/metadoc_curate_authors.d
index 8c64f0c..c8c97f8 100644
--- a/src/doc_reform/meta/metadoc_curate_authors.d
+++ b/src/doc_reform/meta/metadoc_curate_authors.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/metadoc_curate_topics.d b/src/doc_reform/meta/metadoc_curate_topics.d
index 1fdc760..431783d 100644
--- a/src/doc_reform/meta/metadoc_curate_topics.d
+++ b/src/doc_reform/meta/metadoc_curate_topics.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/metadoc_from_src.d b/src/doc_reform/meta/metadoc_from_src.d
index bc19ec2..d433412 100644
--- a/src/doc_reform/meta/metadoc_from_src.d
+++ b/src/doc_reform/meta/metadoc_from_src.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/metadoc_object_setter.d b/src/doc_reform/meta/metadoc_object_setter.d
index 0b208f7..af5670e 100644
--- a/src/doc_reform/meta/metadoc_object_setter.d
+++ b/src/doc_reform/meta/metadoc_object_setter.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/metadoc_show_config.d b/src/doc_reform/meta/metadoc_show_config.d
index 2b07c77..c5e24ac 100644
--- a/src/doc_reform/meta/metadoc_show_config.d
+++ b/src/doc_reform/meta/metadoc_show_config.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/metadoc_show_make.d b/src/doc_reform/meta/metadoc_show_make.d
index 14e142b..6378b1c 100644
--- a/src/doc_reform/meta/metadoc_show_make.d
+++ b/src/doc_reform/meta/metadoc_show_make.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/metadoc_show_metadata.d b/src/doc_reform/meta/metadoc_show_metadata.d
index 5e69256..17cf977 100644
--- a/src/doc_reform/meta/metadoc_show_metadata.d
+++ b/src/doc_reform/meta/metadoc_show_metadata.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/metadoc_show_summary.d b/src/doc_reform/meta/metadoc_show_summary.d
index 7fd2ab2..1fb02f1 100644
--- a/src/doc_reform/meta/metadoc_show_summary.d
+++ b/src/doc_reform/meta/metadoc_show_summary.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/package.d b/src/doc_reform/meta/package.d
index 3238017..a5e0114 100644
--- a/src/doc_reform/meta/package.d
+++ b/src/doc_reform/meta/package.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/meta/rgx.d b/src/doc_reform/meta/rgx.d
index 94e3864..4924823 100644
--- a/src/doc_reform/meta/rgx.d
+++ b/src/doc_reform/meta/rgx.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/share/defaults.d b/src/doc_reform/share/defaults.d
index e834714..36ade3a 100644
--- a/src/doc_reform/share/defaults.d
+++ b/src/doc_reform/share/defaults.d
@@ -40,7 +40,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
diff --git a/src/doc_reform/spine.d b/src/doc_reform/spine.d
index 0893572..502ad15 100755
--- a/src/doc_reform/spine.d
+++ b/src/doc_reform/spine.d
@@ -41,7 +41,7 @@
     - docReform object numbering
       - standard SiSU object citation numbering & system
 
-  - Hompages:
+  - Homepages:
     [https://www.doc_reform.org]
     [https://www.sisudoc.org]
 
@@ -52,7 +52,7 @@
 module doc_reform.sisu_document_parser;
 /++
 name        "spine"
-description "A SiSU inspired document parser writen in D."
+description "A SiSU inspired document parser written in D."
 homepage    "https://sisudoc.org"
 +/
 import
@@ -119,11 +119,11 @@ string program_name = "spine";
     "debug"                       : false,
     "digest"                      : false,
     "epub"                        : false,
-    "curate"                     : false,
-    "curate-authors"             : false,
-    "curate-topics"              : false,
+    "curate"                      : false,
+    "curate-authors"              : false,
+    "curate-topics"               : false,
     "html"                        : false,
-    "html-link-curate"           : false,
+    "html-link-curate"            : false,
     "html-link-search"            : false,
     "html-seg"                    : false,
     "html-scroll"                 : false,
@@ -177,6 +177,8 @@ string program_name = "spine";
     "www-host"                    : "",    //_cfg.www_host,              // start with "localhost" ?
     "www-host-doc-root"           : "",    //_cfg.www_host_doc_root,     // start with "localhost" ?
     "www-url-doc-root"            : "",    //_cfg.www_url_doc_root,      // start with "http://localhost" ?
+    "cgi-http"                    : "",    //_cfg.cgi_http,              // suggest
+    "cgi-host"                    : "",    //_cfg.cgi_host,              // suggest
     "cgi-bin-root"                : "",    //_cfg.cgi_bin_root,          // suggest "/var/www/cgi/cgi-bin"
     "cgi-sqlite-search-filename"  : "",    //_cfg.cgi_filename,          // suggest "spine_search" (though "spine-search" would have been preferable?)
     "cgi-url-root"                : "",    //_cfg.cgi_url_root,          // start with "http://localhost/cgi-bin" ?
@@ -503,7 +505,7 @@ string program_name = "spine";
       return settings["www-host-doc-root"];
     }
     @trusted string  webserver_url_doc_root() {
-      return settings["www-url-root"];
+      return settings["www-url-doc-root"];
     }
     @trusted string  webserver_http() {
       return settings["www-http"];
@@ -654,7 +656,7 @@ string program_name = "spine";
   auto _manifested = PathMatters!()(_opt_action, _env, "");
   auto _manifests = [ _manifested ];
   auto _conf_file_details = configFilePaths!()(_manifested, _env, _opt_action.config_path_set);
-  ConfComposite _config;
+  ConfComposite _siteConfig;
   if (
     _opt_action.require_processing_files
     && _opt_action.config_path_set.empty
@@ -666,7 +668,7 @@ string program_name = "spine";
           _conf_file_details = configFilePaths!()(_manifested, _env, _opt_action.config_path_set);
           auto _config_local_site_struct = readConfigSite!()(_conf_file_details, _opt_action, _cfg);
           import doc_reform.meta.conf_make_meta_yaml;
-          _config = _config_local_site_struct.configParseYAMLreturnSpineStruct!()(_config, _manifested, _opt_action); // - get local site config
+          _siteConfig = _config_local_site_struct.configParseYAMLreturnSpineStruct!()(_siteConfig, _manifested, _opt_action); // - get local site config
           break;
         }
       }
@@ -674,11 +676,11 @@ string program_name = "spine";
   } else { /+ local site config +/
     auto _config_local_site_struct = readConfigSite!()(_conf_file_details, _opt_action, _cfg);
     import doc_reform.meta.conf_make_meta_yaml;
-    _config = _config_local_site_struct.configParseYAMLreturnSpineStruct!()(_config, _manifested, _opt_action); // - get local site config
+    _siteConfig = _config_local_site_struct.configParseYAMLreturnSpineStruct!()(_siteConfig, _manifested, _opt_action); // - get local site config
   }
   if (_opt_action.show_config) {
     import doc_reform.meta.metadoc_show_config;
-    spineShowSiteConfig!()(_opt_action, _config);
+    spineShowSiteConfig!()(_opt_action, _siteConfig);
   }
   if (!(_opt_action.skip_output)) {
     if ((_opt_action.debug_do)
@@ -686,15 +688,15 @@ string program_name = "spine";
     ) {
       writeln("step0 commence → (without processing files)");
     }
-    outputHubOp!()(_env, _opt_action, _config);
+    outputHubOp!()(_env, _opt_action, _siteConfig);
     if ((_opt_action.debug_do)
     || (_opt_action.very_verbose)
     ) {
       writeln("- step0 complete");
     }
   }
-  ConfComposite _make_and_meta_struct = _config;
-  destroy(_config);
+  ConfComposite _make_and_meta_struct = _siteConfig;
+  destroy(_siteConfig);
   foreach(arg; args[1..$]) {
     if (arg.match(rgx.flag_action)) { /+ cli instruction, flag do +/
       flag_action ~= " " ~ arg;   // flags not taken by getopt
-- 
cgit v1.2.3