@internetarchive/bookreader 5.0.0-10-alpha-3 → 5.0.0-101

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/BookReader/474.js +2 -0
  2. package/BookReader/474.js.map +1 -0
  3. package/BookReader/BookReader.css +431 -1134
  4. package/BookReader/BookReader.js +1 -1
  5. package/BookReader/BookReader.js.LICENSE.txt +20 -20
  6. package/BookReader/BookReader.js.map +1 -1
  7. package/BookReader/bergamot-translator-worker.js +2966 -0
  8. package/BookReader/bergamot-translator-worker.wasm +0 -0
  9. package/BookReader/hypothesis/LICENSE +50 -0
  10. package/BookReader/hypothesis/README.md +55 -0
  11. package/BookReader/hypothesis/build/boot.js +1 -0
  12. package/BookReader/hypothesis/build/manifest.json +20 -0
  13. package/BookReader/hypothesis/build/scripts/annotator.bundle.js +184 -0
  14. package/BookReader/hypothesis/build/scripts/annotator.bundle.js.map +1 -0
  15. package/BookReader/hypothesis/build/scripts/sidebar.bundle.js +798 -0
  16. package/BookReader/hypothesis/build/scripts/sidebar.bundle.js.map +1 -0
  17. package/BookReader/hypothesis/build/scripts/ui-playground.bundle.js +711 -0
  18. package/BookReader/hypothesis/build/scripts/ui-playground.bundle.js.map +1 -0
  19. package/BookReader/hypothesis/build/styles/annotator.css +2235 -0
  20. package/BookReader/hypothesis/build/styles/annotator.css.map +1 -0
  21. package/BookReader/hypothesis/build/styles/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  22. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  23. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  24. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  25. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  26. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Bold.woff2 +0 -0
  27. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  28. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Italic.woff2 +0 -0
  29. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Regular.woff2 +0 -0
  30. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  31. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Math-Italic.woff2 +0 -0
  32. package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  33. package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  34. package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  35. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Script-Regular.woff2 +0 -0
  36. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  37. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  38. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  39. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  40. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  41. package/BookReader/hypothesis/build/styles/highlights.css +2 -0
  42. package/BookReader/hypothesis/build/styles/highlights.css.map +1 -0
  43. package/BookReader/hypothesis/build/styles/katex.min.css +2 -0
  44. package/BookReader/hypothesis/build/styles/katex.min.css.map +1 -0
  45. package/BookReader/hypothesis/build/styles/pdfjs-overrides.css +2 -0
  46. package/BookReader/hypothesis/build/styles/pdfjs-overrides.css.map +1 -0
  47. package/BookReader/hypothesis/build/styles/sidebar.css +2731 -0
  48. package/BookReader/hypothesis/build/styles/sidebar.css.map +1 -0
  49. package/BookReader/hypothesis/build/styles/ui-playground.css +2659 -0
  50. package/BookReader/hypothesis/build/styles/ui-playground.css.map +1 -0
  51. package/BookReader/hypothesis/package.json +126 -0
  52. package/BookReader/ia-bookreader-bundle.js +1782 -0
  53. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +7 -0
  54. package/BookReader/ia-bookreader-bundle.js.map +1 -0
  55. package/BookReader/icons/1up.svg +1 -1
  56. package/BookReader/icons/2up.svg +1 -1
  57. package/BookReader/icons/advance.svg +1 -1
  58. package/BookReader/icons/chevron-right.svg +1 -1
  59. package/BookReader/icons/close-circle-dark.svg +1 -1
  60. package/BookReader/icons/close-circle.svg +1 -1
  61. package/BookReader/icons/fullscreen.svg +1 -1
  62. package/BookReader/icons/fullscreen_exit.svg +1 -1
  63. package/BookReader/icons/hamburger.svg +1 -1
  64. package/BookReader/icons/left-arrow.svg +1 -1
  65. package/BookReader/icons/magnify-minus.svg +1 -1
  66. package/BookReader/icons/magnify-plus.svg +1 -1
  67. package/BookReader/icons/magnify.svg +1 -1
  68. package/BookReader/icons/pause.svg +1 -1
  69. package/BookReader/icons/play.svg +1 -1
  70. package/BookReader/icons/playback-speed.svg +1 -1
  71. package/BookReader/icons/read-aloud.svg +1 -1
  72. package/BookReader/icons/review.svg +1 -1
  73. package/BookReader/icons/thumbnails.svg +1 -1
  74. package/BookReader/icons/voice.svg +1 -0
  75. package/BookReader/icons/volume-full.svg +1 -1
  76. package/BookReader/images/BRicons.svg +3 -3
  77. package/BookReader/images/books_graphic.svg +1 -1
  78. package/BookReader/images/hypothesis.ico +0 -0
  79. package/BookReader/images/icon_book.svg +1 -1
  80. package/BookReader/images/icon_bookmark.svg +1 -1
  81. package/BookReader/images/icon_experiment.svg +1 -0
  82. package/BookReader/images/icon_gear.svg +1 -1
  83. package/BookReader/images/icon_hamburger.svg +1 -1
  84. package/BookReader/images/icon_home.svg +1 -1
  85. package/BookReader/images/icon_info.svg +1 -1
  86. package/BookReader/images/icon_one_page.svg +1 -1
  87. package/BookReader/images/icon_pause.svg +1 -1
  88. package/BookReader/images/icon_play.svg +1 -1
  89. package/BookReader/images/icon_playback-rate.svg +1 -1
  90. package/BookReader/images/icon_search_button.svg +1 -1
  91. package/BookReader/images/icon_share.svg +1 -1
  92. package/BookReader/images/icon_skip-ahead.svg +1 -1
  93. package/BookReader/images/icon_skip-back.svg +1 -1
  94. package/BookReader/images/icon_speaker.svg +1 -1
  95. package/BookReader/images/icon_speaker_open.svg +1 -1
  96. package/BookReader/images/icon_thumbnails.svg +1 -1
  97. package/BookReader/images/icon_toc.svg +1 -1
  98. package/BookReader/images/icon_two_pages.svg +1 -1
  99. package/BookReader/images/marker_chap-off.svg +1 -1
  100. package/BookReader/images/marker_chap-on.svg +1 -1
  101. package/BookReader/images/marker_srch-on.svg +1 -1
  102. package/BookReader/images/translate.svg +1 -0
  103. package/BookReader/images/unviewable_page.png +0 -0
  104. package/BookReader/jquery-3.js +2 -0
  105. package/BookReader/jquery-3.js.LICENSE.txt +24 -0
  106. package/BookReader/plugins/plugin.archive_analytics.js +1 -1
  107. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  108. package/BookReader/plugins/plugin.autoplay.js +1 -1
  109. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  110. package/BookReader/plugins/plugin.chapters.js +25 -1
  111. package/BookReader/plugins/plugin.chapters.js.LICENSE.txt +1 -0
  112. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  113. package/BookReader/plugins/plugin.experiments.js +3 -0
  114. package/BookReader/plugins/plugin.experiments.js.LICENSE.txt +1 -0
  115. package/BookReader/plugins/plugin.experiments.js.map +1 -0
  116. package/BookReader/plugins/plugin.iframe.js +1 -1
  117. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  118. package/BookReader/plugins/plugin.iiif.js +2 -0
  119. package/BookReader/plugins/plugin.iiif.js.map +1 -0
  120. package/BookReader/plugins/plugin.resume.js +1 -1
  121. package/BookReader/plugins/plugin.resume.js.map +1 -1
  122. package/BookReader/plugins/plugin.search.js +2 -1
  123. package/BookReader/plugins/plugin.search.js.LICENSE.txt +1 -0
  124. package/BookReader/plugins/plugin.search.js.map +1 -1
  125. package/BookReader/plugins/plugin.text_selection.js +2 -1
  126. package/BookReader/plugins/plugin.text_selection.js.LICENSE.txt +1 -0
  127. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  128. package/BookReader/plugins/plugin.translate.js +137 -0
  129. package/BookReader/plugins/plugin.translate.js.LICENSE.txt +1 -0
  130. package/BookReader/plugins/plugin.translate.js.map +1 -0
  131. package/BookReader/plugins/plugin.tts.js +1 -1
  132. package/BookReader/plugins/plugin.tts.js.LICENSE.txt +2 -0
  133. package/BookReader/plugins/plugin.tts.js.map +1 -1
  134. package/BookReader/plugins/plugin.url.js +1 -1
  135. package/BookReader/plugins/plugin.url.js.map +1 -1
  136. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -1
  137. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  138. package/BookReader/plugins/translator-worker.js +2 -0
  139. package/BookReader/plugins/translator-worker.js.map +1 -0
  140. package/BookReader/silence.mp3 +0 -0
  141. package/BookReader/translator-worker.js +475 -0
  142. package/BookReader/webcomponents-bundle.js +3 -0
  143. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  144. package/BookReader/webcomponents-bundle.js.map +1 -0
  145. package/README.md +14 -3
  146. package/jsconfig.json +19 -0
  147. package/package.json +84 -64
  148. package/src/BookNavigator/assets/bookmark-colors.js +1 -1
  149. package/src/BookNavigator/assets/button-base.js +2 -1
  150. package/src/BookNavigator/assets/ia-logo.js +17 -0
  151. package/src/BookNavigator/assets/icon_checkmark.js +1 -1
  152. package/src/BookNavigator/assets/icon_close.js +1 -1
  153. package/src/BookNavigator/book-navigator.js +620 -0
  154. package/src/BookNavigator/bookmarks/bookmark-button.js +3 -2
  155. package/src/BookNavigator/bookmarks/bookmark-edit.js +2 -3
  156. package/src/BookNavigator/bookmarks/bookmarks-list.js +2 -3
  157. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +2 -2
  158. package/src/BookNavigator/bookmarks/bookmarks-provider.js +27 -17
  159. package/src/BookNavigator/bookmarks/ia-bookmarks.js +116 -67
  160. package/src/BookNavigator/delete-modal-actions.js +1 -1
  161. package/src/BookNavigator/downloads/downloads-provider.js +36 -21
  162. package/src/BookNavigator/downloads/downloads.js +24 -4
  163. package/src/BookNavigator/search/search-provider.js +55 -27
  164. package/src/BookNavigator/search/search-results.js +25 -11
  165. package/src/BookNavigator/sharing.js +27 -0
  166. package/src/BookNavigator/viewable-files.js +95 -0
  167. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +13 -12
  168. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +9 -9
  169. package/src/BookReader/BookModel.js +92 -46
  170. package/src/BookReader/DragScrollable.js +233 -0
  171. package/src/BookReader/ImageCache.js +49 -16
  172. package/src/BookReader/Mode1Up.js +58 -360
  173. package/src/BookReader/Mode1UpLit.js +393 -0
  174. package/src/BookReader/Mode2Up.js +75 -1318
  175. package/src/BookReader/Mode2UpLit.js +787 -0
  176. package/src/BookReader/ModeCoordinateSpace.js +29 -0
  177. package/src/BookReader/ModeSmoothZoom.js +312 -0
  178. package/src/BookReader/ModeThumb.js +20 -12
  179. package/src/BookReader/Navbar/Navbar.js +130 -53
  180. package/src/BookReader/PageContainer.js +120 -23
  181. package/src/BookReader/ReduceSet.js +2 -2
  182. package/src/BookReader/Toolbar/Toolbar.js +18 -40
  183. package/src/BookReader/events.js +2 -3
  184. package/src/BookReader/options.js +87 -16
  185. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  186. package/src/BookReader/utils/ScrollClassAdder.js +31 -0
  187. package/src/BookReader/utils/SelectionObserver.js +45 -0
  188. package/src/BookReader/utils/classes.js +1 -1
  189. package/src/BookReader/utils.js +136 -12
  190. package/src/BookReader.js +641 -1192
  191. package/src/BookReaderPlugin.js +52 -0
  192. package/src/assets/icons/magnify-minus.svg +3 -7
  193. package/src/assets/icons/magnify-plus.svg +3 -7
  194. package/src/assets/icons/voice.svg +1 -0
  195. package/src/assets/images/hypothesis.ico +0 -0
  196. package/src/assets/images/icon_experiment.svg +1 -0
  197. package/src/assets/images/translate.svg +1 -0
  198. package/src/assets/images/unviewable_page.png +0 -0
  199. package/src/assets/silence.mp3 +0 -0
  200. package/src/css/BookReader.scss +1 -5
  201. package/src/css/_BRBookmarks.scss +1 -1
  202. package/src/css/_BRComponent.scss +1 -1
  203. package/src/css/_BRicon.scss +8 -2
  204. package/src/css/_BRmain.scss +16 -3
  205. package/src/css/_BRnav.scss +12 -66
  206. package/src/css/_BRpages.scss +171 -42
  207. package/src/css/_BRsearch.scss +69 -30
  208. package/src/css/_BRtoolbar.scss +5 -5
  209. package/src/css/_TextSelection.scss +129 -24
  210. package/src/css/_colorbox.scss +2 -2
  211. package/src/css/_controls.scss +24 -7
  212. package/src/css/_icons.scss +1 -1
  213. package/src/ia-bookreader/ia-bookreader.js +224 -0
  214. package/src/plugins/plugin.archive_analytics.js +84 -78
  215. package/src/plugins/plugin.autoplay.js +99 -104
  216. package/src/plugins/plugin.chapters.js +314 -205
  217. package/src/plugins/plugin.experiments.js +321 -0
  218. package/src/plugins/plugin.iframe.js +1 -1
  219. package/src/plugins/plugin.iiif.js +141 -0
  220. package/src/plugins/plugin.resume.js +54 -51
  221. package/src/plugins/plugin.text_selection.js +510 -219
  222. package/src/plugins/plugin.vendor-fullscreen.js +5 -5
  223. package/src/plugins/search/plugin.search.js +370 -392
  224. package/src/plugins/search/utils.js +43 -0
  225. package/src/plugins/search/view.js +49 -67
  226. package/src/plugins/translate/TranslationManager.js +162 -0
  227. package/src/plugins/translate/plugin.translate.js +523 -0
  228. package/src/plugins/tts/AbstractTTSEngine.js +78 -49
  229. package/src/plugins/tts/FestivalTTSEngine.js +20 -30
  230. package/src/plugins/tts/PageChunk.js +33 -21
  231. package/src/plugins/tts/PageChunkIterator.js +11 -17
  232. package/src/plugins/tts/WebTTSEngine.js +131 -91
  233. package/src/plugins/tts/plugin.tts.js +344 -350
  234. package/src/plugins/tts/utils.js +49 -47
  235. package/src/plugins/url/UrlPlugin.js +191 -0
  236. package/src/plugins/{plugin.url.js → url/plugin.url.js} +44 -15
  237. package/src/util/TextSelectionManager.js +282 -0
  238. package/src/util/browserSniffing.js +33 -1
  239. package/src/util/cache.js +20 -0
  240. package/src/util/docCookies.js +21 -2
  241. package/src/util/strings.js +1 -0
  242. package/.babelrc +0 -12
  243. package/.dependabot/config.yml +0 -6
  244. package/.eslintrc.js +0 -50
  245. package/.gitattributes +0 -2
  246. package/.github/ISSUE_TEMPLATE/bug.md +0 -32
  247. package/.github/ISSUE_TEMPLATE/feature-request.md +0 -30
  248. package/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -15
  249. package/.github/workflows/node.js.yml +0 -37
  250. package/.github/workflows/npm-publish.yml +0 -47
  251. package/.testcaferc.json +0 -5
  252. package/BookReader/bookreader-component-bundle.js +0 -1450
  253. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
  254. package/BookReader/bookreader-component-bundle.js.map +0 -1
  255. package/BookReader/jquery-1.10.1.js +0 -2
  256. package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
  257. package/BookReader/plugins/plugin.menu_toggle.js +0 -2
  258. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  259. package/BookReader/plugins/plugin.mobile_nav.js +0 -2
  260. package/BookReader/plugins/plugin.mobile_nav.js.map +0 -1
  261. package/BookReaderDemo/BookReaderDemo.css +0 -41
  262. package/BookReaderDemo/BookReaderJSAdvanced.js +0 -115
  263. package/BookReaderDemo/BookReaderJSAutoplay.js +0 -56
  264. package/BookReaderDemo/BookReaderJSSimple.js +0 -55
  265. package/BookReaderDemo/IIIFBookReader.js +0 -207
  266. package/BookReaderDemo/assets/v5/Bookreader-logo-cool-grad.svg +0 -1
  267. package/BookReaderDemo/assets/v5/Bookreader-logo-flat.svg +0 -1
  268. package/BookReaderDemo/assets/v5/Bookreader-logo-hex-cool-grad.png +0 -0
  269. package/BookReaderDemo/assets/v5/Bookreader-logo-hex-flat.png +0 -0
  270. package/BookReaderDemo/assets/v5/Bookreader-logo-lines.png +0 -0
  271. package/BookReaderDemo/assets/v5/Bookreader-logo-lines.svg +0 -1
  272. package/BookReaderDemo/assets/v5/Bookreader-logo-warm.svg +0 -1
  273. package/BookReaderDemo/assets/v5/bookreader-logo-renders@1x.png +0 -0
  274. package/BookReaderDemo/assets/v5/bookreader-logo-renders@2x.png +0 -0
  275. package/BookReaderDemo/assets/v5/bookreader-v5-screenshot.png +0 -0
  276. package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
  277. package/BookReaderDemo/demo-advanced.html +0 -33
  278. package/BookReaderDemo/demo-autoplay.html +0 -38
  279. package/BookReaderDemo/demo-embed-iframe-src.html +0 -84
  280. package/BookReaderDemo/demo-embed.html +0 -26
  281. package/BookReaderDemo/demo-fullscreen-mobile.html +0 -36
  282. package/BookReaderDemo/demo-fullscreen.html +0 -33
  283. package/BookReaderDemo/demo-iiif.html +0 -34
  284. package/BookReaderDemo/demo-iiif.js +0 -26
  285. package/BookReaderDemo/demo-internetarchive.html +0 -74
  286. package/BookReaderDemo/demo-multiple.html +0 -43
  287. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  288. package/BookReaderDemo/demo-preview-pages.html +0 -1092
  289. package/BookReaderDemo/demo-simple.html +0 -34
  290. package/BookReaderDemo/demo-vendor-fullscreen.html +0 -36
  291. package/BookReaderDemo/immersion-1up.html +0 -64
  292. package/BookReaderDemo/immersion-mode.html +0 -35
  293. package/BookReaderDemo/toggle_controls.html +0 -53
  294. package/BookReaderDemo/view_mode.html +0 -39
  295. package/BookReaderDemo/viewmode-cycle.html +0 -41
  296. package/CHANGELOG.md +0 -493
  297. package/CONTRIBUTING.md +0 -7
  298. package/codecov.yml +0 -17
  299. package/index.html +0 -31
  300. package/karma.conf.js +0 -23
  301. package/screenshot.png +0 -0
  302. package/scripts/postversion.js +0 -10
  303. package/scripts/preversion.js +0 -14
  304. package/scripts/version.js +0 -26
  305. package/src/BookNavigator/BookModel.js +0 -14
  306. package/src/BookNavigator/BookNavigator.js +0 -446
  307. package/src/BookNavigator/assets/book-loader.js +0 -27
  308. package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
  309. package/src/BookNavigator/search/a-search-result.js +0 -55
  310. package/src/BookReader/DebugConsole.js +0 -54
  311. package/src/BookReaderComponent/BookReaderComponent.js +0 -112
  312. package/src/ItemNavigator/ItemNavigator.js +0 -376
  313. package/src/ItemNavigator/providers/sharing.js +0 -29
  314. package/src/css/_MobileNav.scss +0 -194
  315. package/src/dragscrollable-br.js +0 -261
  316. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  317. package/src/plugins/plugin.mobile_nav.js +0 -287
  318. package/tests/BookReader/BookModel.test.js +0 -312
  319. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  320. package/tests/BookReader/DebugConsole.test.js +0 -25
  321. package/tests/BookReader/ImageCache.test.js +0 -150
  322. package/tests/BookReader/Mode1Up.test.js +0 -164
  323. package/tests/BookReader/Mode2Up.test.js +0 -247
  324. package/tests/BookReader/Navbar/Navbar.test.js +0 -169
  325. package/tests/BookReader/PageContainer.test.js +0 -115
  326. package/tests/BookReader/ReduceSet.test.js +0 -38
  327. package/tests/BookReader/Toolbar/Toolbar.test.js +0 -26
  328. package/tests/BookReader/utils/classes.test.js +0 -88
  329. package/tests/BookReader/utils.test.js +0 -109
  330. package/tests/BookReader.options.test.js +0 -39
  331. package/tests/BookReader.test.js +0 -301
  332. package/tests/e2e/README.md +0 -75
  333. package/tests/e2e/autoplay.test.js +0 -13
  334. package/tests/e2e/base.test.js +0 -35
  335. package/tests/e2e/helpers/base.js +0 -263
  336. package/tests/e2e/helpers/debug.js +0 -13
  337. package/tests/e2e/helpers/desktopSearch.js +0 -72
  338. package/tests/e2e/helpers/mobileSearch.js +0 -85
  339. package/tests/e2e/helpers/mockSearch.js +0 -93
  340. package/tests/e2e/helpers/rightToLeft.js +0 -29
  341. package/tests/e2e/ia-production/ia-prod-base.js +0 -17
  342. package/tests/e2e/models/BookReader.js +0 -11
  343. package/tests/e2e/models/Navigation.js +0 -56
  344. package/tests/e2e/rightToLeft.test.js +0 -20
  345. package/tests/e2e/viewmode.test.js +0 -37
  346. package/tests/karma/BookNavigator/book-navigator.test.js +0 -132
  347. package/tests/karma/BookNavigator/bookmarks/bookmark-edit.test.js +0 -133
  348. package/tests/karma/BookNavigator/bookmarks/bookmarks-list.test.js +0 -222
  349. package/tests/karma/BookNavigator/search/search-provider.test.js +0 -23
  350. package/tests/karma/BookNavigator/search/search-results.test.js +0 -240
  351. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
  352. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
  353. package/tests/plugins/plugin.archive_analytics.test.js +0 -23
  354. package/tests/plugins/plugin.autoplay.test.js +0 -52
  355. package/tests/plugins/plugin.chapters.test.js +0 -130
  356. package/tests/plugins/plugin.iframe.test.js +0 -42
  357. package/tests/plugins/plugin.mobile_nav.test.js +0 -66
  358. package/tests/plugins/plugin.resume.test.js +0 -98
  359. package/tests/plugins/plugin.text_selection.test.js +0 -203
  360. package/tests/plugins/plugin.url.test.js +0 -129
  361. package/tests/plugins/plugin.vendor-fullscreen.test.js +0 -65
  362. package/tests/plugins/search/plugin.search.test.js +0 -173
  363. package/tests/plugins/search/plugin.search.view.test.js +0 -106
  364. package/tests/plugins/tts/AbstractTTSEngine.test.js +0 -153
  365. package/tests/plugins/tts/FestivalTTSEngine.test.js +0 -59
  366. package/tests/plugins/tts/PageChunk.test.js +0 -57
  367. package/tests/plugins/tts/PageChunkIterator.test.js +0 -179
  368. package/tests/plugins/tts/WebTTSEngine.test.js +0 -126
  369. package/tests/plugins/tts/utils.test.js +0 -133
  370. package/tests/util/browserSniffing.test.js +0 -56
  371. package/tests/util/docCookies.test.js +0 -15
  372. package/tests/util/strings.test.js +0 -63
  373. package/tests/utils.js +0 -42
  374. package/webpack.config.js +0 -86
@@ -1,3 +1,4 @@
1
+ @charset "UTF-8";
1
2
  /* Variables */
2
3
  /* COLORBOX POP-UP */
3
4
  #colorbox, #cboxOverlay, #cboxWrapper {
@@ -76,12 +77,12 @@
76
77
  background: transparent;
77
78
  }
78
79
 
79
- .shift {
80
+ .br-colorbox-shift {
80
81
  position: absolute !important;
81
82
  left: -10000px !important;
82
83
  }
83
84
 
84
- .BookReader, .BRmobileMenu, .BRfloat {
85
+ .BookReader, .BRfloat {
85
86
  /* Shared root element rules */
86
87
  font-family: "Helvetica Neue", Arial, Verdana, sans-serif;
87
88
  font-size: 14px;
@@ -91,27 +92,24 @@
91
92
  /* Desktop-only */
92
93
  /* Element-level rules */
93
94
  }
94
- .BookReader .larger, .BRmobileMenu .larger, .BRfloat .larger {
95
+ .BookReader .larger, .BRfloat .larger {
95
96
  font-size: 1.2em;
96
97
  }
97
98
  @media (min-width: 801px) {
98
- .BookReader .mv20-lg, .BRmobileMenu .mv20-lg, .BRfloat .mv20-lg {
99
+ .BookReader .mv20-lg, .BRfloat .mv20-lg {
99
100
  margin-top: 20px;
100
101
  margin-bottom: 20px;
101
102
  }
102
103
  }
103
- .BookReader h3, .BRmobileMenu h3, .BRfloat h3 {
104
+ .BookReader h3, .BRfloat h3 {
104
105
  font-size: 20px;
105
106
  font-weight: 700;
106
107
  color: #dedede;
107
108
  }
108
- .BookReader a, .BRmobileMenu a, .BRfloat a {
109
- outline: none;
110
- }
111
- .BookReader button, .BRmobileMenu button, .BRfloat button {
109
+ .BookReader button, .BRfloat button {
112
110
  cursor: pointer;
113
111
  }
114
- .BookReader a.logo, .BRmobileMenu a.logo, .BRfloat a.logo {
112
+ .BookReader a.logo, .BRfloat a.logo {
115
113
  display: inline-block;
116
114
  width: auto;
117
115
  height: 100%;
@@ -126,6 +124,7 @@
126
124
  position: relative;
127
125
  overflow: hidden;
128
126
  background-color: black;
127
+ contain: strict;
129
128
  }
130
129
 
131
130
  .BRcontainer {
@@ -204,7 +203,7 @@
204
203
  display: block;
205
204
  }
206
205
  .BRshare button[type=button].share-finished {
207
- background-color: #4a90e2;
206
+ background-color: rgb(74, 144, 226);
208
207
  border: 0;
209
208
  color: white;
210
209
  border-radius: 3px;
@@ -227,13 +226,13 @@
227
226
  }
228
227
 
229
228
  .BRinfoMoreInfoWrapper {
230
- background-color: #4a90e2;
229
+ background-color: rgb(74, 144, 226);
231
230
  border-radius: 2px;
232
231
  padding: 8px;
233
232
  text-align: center;
234
233
  }
235
234
  .BRinfoMoreInfoWrapper:active {
236
- background-color: #509bf2;
235
+ background-color: rgb(80, 155, 242);
237
236
  }
238
237
 
239
238
  .BRinfoOtherFormats {
@@ -284,10 +283,10 @@ body.BRfullscreenActive .mm-menu {
284
283
  line-height: 1;
285
284
  }
286
285
  .BRaction:active {
287
- background-color: #ababab;
286
+ background-color: rgb(171, 171, 171);
288
287
  }
289
288
  .BRaction.default {
290
- background-color: #c1c1c1;
289
+ background-color: rgb(193, 193, 193);
291
290
  color: white;
292
291
  }
293
292
  .BRaction.primary {
@@ -302,7 +301,7 @@ body.BRfullscreenActive .mm-menu {
302
301
  color: orange;
303
302
  }
304
303
  .BRaction.orangeButton:active {
305
- border-color: #f9c613;
304
+ border-color: rgb(249, 198, 19);
306
305
  }
307
306
  .BRaction.skinny {
308
307
  min-width: 50px;
@@ -322,51 +321,42 @@ body.BRfullscreenActive .mm-menu {
322
321
  .BRinfoLeftCol {
323
322
  font-size: 14px;
324
323
  }
325
-
326
324
  .BRimageW {
327
325
  text-align: center;
328
326
  margin-bottom: 10px;
329
327
  }
330
-
331
328
  .BRimageW img {
332
329
  height: 200px;
333
330
  width: auto;
334
331
  }
335
-
336
332
  .BRinfoValue.larger {
337
333
  font-size: 16px;
338
334
  }
339
-
340
335
  .BRinfoMoreInfoWrapper a {
341
336
  font-size: inherit;
342
337
  color: white;
343
338
  text-decoration: none;
344
339
  }
345
-
346
340
  .BRinfoOtherFormatsFormat {
347
341
  margin-bottom: 6px;
348
342
  }
349
-
350
343
  .BRinfoFooter {
351
344
  margin-bottom: 10px;
352
345
  text-align: left;
353
346
  }
354
-
355
347
  .BRinfoFooter a {
356
348
  display: block;
357
349
  }
358
-
359
350
  .BRfloatFoot.BRinfoFooter {
360
351
  margin: initial;
361
352
  padding: initial;
362
353
  border: initial;
363
354
  font-size: inherit;
364
355
  }
365
-
366
- .BookReader .fieldset-embed, .BRmobileMenu .fieldset-embed, .BRfloat .fieldset-embed {
356
+ .BookReader .fieldset-embed, .BRfloat .fieldset-embed {
367
357
  display: none;
368
358
  }
369
- .BookReader .BRaction, .BRmobileMenu .BRaction, .BRfloat .BRaction {
359
+ .BookReader .BRaction, .BRfloat .BRaction {
370
360
  padding: 8px 10px;
371
361
  margin-left: 0;
372
362
  margin-bottom: 10px;
@@ -379,57 +369,47 @@ body.BRfullscreenActive .mm-menu {
379
369
  position: relative;
380
370
  padding: 15px;
381
371
  }
382
-
383
372
  .BRinfoLeftCol {
384
373
  float: left;
385
374
  width: 40%;
386
375
  min-height: 1px;
387
376
  }
388
-
389
377
  .BRinfoRightCol {
390
378
  float: left;
391
379
  width: 58%;
392
380
  }
393
-
394
381
  .BRimageW {
395
382
  text-align: center;
396
383
  margin-bottom: 10px;
397
384
  margin-right: 26px;
398
385
  }
399
-
400
386
  .BRimageW img {
401
387
  height: auto;
402
388
  width: 100%;
403
389
  }
404
-
405
390
  .BRinfoValue.larger {
406
391
  font-size: 20px;
407
392
  line-height: 1.2;
408
393
  }
409
-
410
394
  .BRinfoMoreInfoWrapper a {
411
395
  font-size: 14px;
412
396
  color: white;
413
397
  text-decoration: none;
414
398
  font-weight: bold;
415
399
  }
416
-
417
400
  .BRinfoOtherFormatsFormat {
418
401
  display: inline;
419
402
  margin-right: 10px;
420
403
  }
421
-
422
404
  .BRinfoFooter {
423
405
  font-size: 1em;
424
406
  clear: both;
425
407
  }
426
-
427
408
  .BRinfoFooter a {
428
409
  display: inline;
429
410
  margin-right: 10px;
430
411
  }
431
-
432
- .BookReader .BRaction, .BRmobileMenu .BRaction, .BRfloat .BRaction {
412
+ .BookReader .BRaction, .BRfloat .BRaction {
433
413
  padding: 8px 16px;
434
414
  }
435
415
  }
@@ -441,6 +421,23 @@ body.BRfullscreenActive .mm-menu {
441
421
  background-color: white;
442
422
  }
443
423
 
424
+ .BRfullscreenAnimation .br-mode-2up__book {
425
+ transition: transform 0.2s ease-in-out;
426
+ }
427
+
428
+ .fullscreenActive.BRmodeThumb .BRcontainer,
429
+ .fullscreenActive.BRmode1up .BRcontainer {
430
+ animation: flash 0.3s ease-in-out;
431
+ }
432
+
433
+ @keyframes flash {
434
+ 0% {
435
+ opacity: 0;
436
+ }
437
+ 100% {
438
+ opacity: 1;
439
+ }
440
+ }
444
441
  .BRpageview {
445
442
  position: relative;
446
443
  margin: auto;
@@ -453,7 +450,7 @@ body.BRfullscreenActive .mm-menu {
453
450
  border: 0;
454
451
  }
455
452
 
456
- .BRmodeThumb .BRpagecontainer, .BRmode2Up .BRpagecontainer {
453
+ .BRmodeThumb .BRpagecontainer, .BRmode2up .BRpagecontainer {
457
454
  cursor: pointer;
458
455
  }
459
456
 
@@ -461,10 +458,29 @@ body.BRfullscreenActive .mm-menu {
461
458
  cursor: unset;
462
459
  }
463
460
 
461
+ .br-mode-1up__root {
462
+ display: block;
463
+ overflow: auto;
464
+ position: relative;
465
+ width: 100%;
466
+ height: 100%;
467
+ contain: strict;
468
+ }
469
+ .br-mode-1up__root .br-mode-1up__world {
470
+ position: absolute;
471
+ transform-origin: 0 0;
472
+ }
473
+ .br-mode-1up__root .br-mode-1up__visible-world {
474
+ position: absolute;
475
+ transform-origin: 0 0;
476
+ }
477
+
464
478
  .BRpagecontainer {
465
479
  position: relative;
466
480
  overflow: hidden;
467
481
  background: #FEFDEB;
482
+ overflow: hidden;
483
+ overflow: clip;
468
484
  }
469
485
  .BRpagecontainer img {
470
486
  position: absolute;
@@ -484,6 +500,20 @@ body.BRfullscreenActive .mm-menu {
484
500
  .BRpagecontainer.BRpageloading img {
485
501
  color: transparent;
486
502
  }
503
+ .BRpagecontainer.BRpageloading img:not([src]) {
504
+ display: none;
505
+ }
506
+ .BRpagecontainer.BRpageloading::after {
507
+ display: block;
508
+ content: "";
509
+ width: 20px;
510
+ height: 20px;
511
+ position: absolute;
512
+ left: 50%;
513
+ top: 50%;
514
+ transform: translate(-50%, -50%);
515
+ background: url("images/loading.gif") center/20px no-repeat;
516
+ }
487
517
  .BRpagecontainer.BRemptypage {
488
518
  background: transparent;
489
519
  }
@@ -491,61 +521,127 @@ body.BRfullscreenActive .mm-menu {
491
521
  background-image: none;
492
522
  }
493
523
 
494
- .BRbookcover {
524
+ svg.BRPageLayer {
495
525
  position: absolute;
496
- background-image: none;
497
- box-shadow: 1px 0 10px #111;
526
+ top: 0;
527
+ left: 0;
528
+ right: 0;
529
+ bottom: 0;
498
530
  }
499
531
 
500
- .BRPreview .BRpageimage {
501
- background-color: #eee;
502
- -webkit-filter: grayscale(100%);
503
- filter: grayscale(100%);
532
+ .BRpageFlipping .BRtextLayer {
533
+ display: none;
504
534
  }
505
535
 
506
- .BRleafEdgeR {
507
- border-style: solid solid solid none;
508
- border-color: #333322;
509
- border-width: 1px 1px 1px 0px;
510
- background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
511
- position: absolute;
512
- cursor: pointer;
536
+ .br-mode-2up__root {
537
+ display: block;
538
+ overflow: auto;
539
+ width: 100%;
540
+ height: 100%;
513
541
  }
514
542
 
515
- .BRleafEdgeL {
516
- /* border-style: solid none solid solid;
517
- border-color: rgb(51, 51, 34);
518
- border-width: 1px 0px 1px 1px; */
519
- background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
520
- /* XXXmang replace file */
543
+ .br-mode-2up__book {
544
+ position: relative;
545
+ transform-origin: 0 0;
546
+ width: 0px;
547
+ height: 0px;
548
+ }
549
+
550
+ .BRmode2up {
551
+ transition: opacity 0.2s;
552
+ }
553
+
554
+ .BRmode2up .BRpagecontainer {
555
+ backface-visibility: hidden;
556
+ }
557
+ .BRmode2up .BRpagecontainer:not(.BRpage-visible) {
558
+ display: none;
559
+ }
560
+
561
+ .br-mode-2up__leafs {
521
562
  position: absolute;
522
563
  cursor: pointer;
564
+ top: 0;
565
+ transform-style: preserve-3d;
523
566
  }
524
-
525
- .BRleafEdgeTmp {
526
- /* border-style: solid none solid solid;
527
- border-color: rgb(51, 51, 34);
528
- border-width: 1px 0px 1px 1px; */
529
- background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
530
- /* XXXmang replace file */
567
+ .br-mode-2up__leafs[side=left] {
568
+ border-radius: 4px 0 0 4px;
569
+ }
570
+ .br-mode-2up__leafs[side=left] .br-leaf-edges__label {
571
+ padding-right: 10px;
572
+ border-radius: 4px 0 0 4px;
573
+ }
574
+ .br-mode-2up__leafs[side=right] {
575
+ border-radius: 0 4px 4px 0;
576
+ }
577
+ .br-mode-2up__leafs[side=right] .br-leaf-edges__label {
578
+ padding-left: 20px;
579
+ border-radius: 0 4px 4px 0;
580
+ }
581
+ .br-mode-2up__leafs.br-mode-2up__leafs--flipping {
582
+ z-index: 200000;
583
+ transition: transform 5s;
584
+ transition-timing-function: ease-in-out;
585
+ border-radius: 0;
586
+ }
587
+ .br-mode-2up__leafs.br-mode-2up__leafs--flipping:before {
588
+ content: "";
589
+ display: block;
590
+ width: 100%;
591
+ height: 100%;
531
592
  position: absolute;
593
+ transform: rotateY(-90deg);
532
594
  }
533
-
534
- .BRgutter {
535
- /* border: 1px solid rgb(68, 25, 17); */
595
+ .br-mode-2up__leafs, .br-mode-2up__leafs.br-mode-2up__leafs--flipping::before {
596
+ background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
597
+ }
598
+ .br-mode-2up__leafs .br-leaf-edges__bar {
599
+ display: none;
600
+ pointer-events: none;
536
601
  position: absolute;
537
- background: transparent url(images/booksplit.png) repeat scroll 0% 0%;
602
+ top: 0;
603
+ bottom: 0;
604
+ min-width: 1px;
605
+ background-color: #9A9B9D;
606
+ opacity: 0.85;
607
+ transform: translateX(-50%);
538
608
  }
539
-
540
- .BRtwoPagePopUp {
541
- padding: 6px;
609
+ .br-mode-2up__leafs .br-leaf-edges__label {
610
+ display: none;
611
+ pointer-events: none;
612
+ z-index: 1000;
542
613
  position: absolute;
543
- font-size: 12px;
614
+ padding: 6px;
544
615
  color: white;
545
616
  background-color: #9A9B9D;
546
617
  opacity: 0.85;
547
- border-radius: 4px;
548
618
  white-space: nowrap;
619
+ transform: translateY(-10px);
620
+ }
621
+
622
+ .br-mode-2up--flipping-left .BRpage-entering[data-side=R] {
623
+ z-index: 10;
624
+ transform-origin: left;
625
+ transform: rotateY(0deg);
626
+ }
627
+ .br-mode-2up--flipping-left .BRpage-exiting[data-side=L] {
628
+ z-index: 10;
629
+ transform-origin: right;
630
+ }
631
+ .br-mode-2up--flipping-left .BRpage-exiting[data-side=R] {
632
+ z-index: 9;
633
+ }
634
+
635
+ .br-mode-2up--flipping-right .BRpage-entering[data-side=L] {
636
+ z-index: 10;
637
+ transform-origin: right;
638
+ }
639
+ .br-mode-2up--flipping-right .BRpage-exiting[data-side=R] {
640
+ z-index: 10;
641
+ transform-origin: left;
642
+ }
643
+ .br-mode-2up--flipping-right .BRpage-exiting[data-side=L] {
644
+ z-index: 9;
549
645
  }
550
646
 
551
647
  .BRToolbarButton, .BRicon {
@@ -616,10 +712,10 @@ i.BRicon {
616
712
  }
617
713
 
618
714
  .BRicon.read {
715
+ transition-property: background-color, border, background-position;
619
716
  width: 34px;
620
717
  height: 34px;
621
718
  background-position: -203px center;
622
- transition-property: background-color, border, background-position;
623
719
  }
624
720
  @media (max-width: 800px) {
625
721
  .BRicon.read {
@@ -630,10 +726,10 @@ i.BRicon {
630
726
  }
631
727
 
632
728
  .BRicon.unread {
729
+ transition-property: background-color, border, background-position;
633
730
  width: 34px;
634
731
  height: 34px;
635
732
  background-position: -283px center;
636
- transition-property: background-color, border, background-position;
637
733
  }
638
734
  @media (max-width: 800px) {
639
735
  .BRicon.unread {
@@ -725,7 +821,7 @@ i.BRicon {
725
821
  * BRfloat is the modal popup used in bookreader
726
822
  */
727
823
  .BRfloat {
728
- color: #343434;
824
+ color: rgb(52, 52, 52);
729
825
  }
730
826
 
731
827
  .BRfloat a.title {
@@ -881,14 +977,13 @@ i.BRicon {
881
977
  /* Desktop Only */
882
978
  @media (min-width: 801px) {
883
979
  .BRfloat .message,
884
- .BRfloatBody {
980
+ .BRfloatBody {
885
981
  padding: 10px 15px 10px 15px;
886
982
  font-size: 16px;
887
983
  line-height: normal;
888
984
  margin-top: 0;
889
985
  margin-bottom: 0px;
890
986
  }
891
-
892
987
  .BRfloatHead {
893
988
  box-sizing: border-box;
894
989
  line-height: normal;
@@ -896,9 +991,8 @@ i.BRicon {
896
991
  font-size: 16px;
897
992
  font-weight: 700;
898
993
  text-align: center;
899
- border-bottom: 1px solid #d8d8d8;
994
+ border-bottom: 1px solid rgb(216, 216, 216);
900
995
  }
901
-
902
996
  .BRfloatFoot {
903
997
  padding: 10px;
904
998
  margin-bottom: 10px;
@@ -909,25 +1003,22 @@ i.BRicon {
909
1003
  .BRfloatBody {
910
1004
  padding: 10px 10px;
911
1005
  }
912
-
913
1006
  .BRfloat .message,
914
- .BRfloatBody,
915
- .BRfloatHead {
1007
+ .BRfloatBody,
1008
+ .BRfloatHead {
916
1009
  box-sizing: border-box;
917
1010
  line-height: normal;
918
- border-bottom: 1px solid #d8d8d8;
1011
+ border-bottom: 1px solid rgb(216, 216, 216);
919
1012
  padding: 10px;
920
1013
  min-height: initial;
921
1014
  font-size: 14px;
922
1015
  font-weight: 700;
923
1016
  text-align: center;
924
1017
  }
925
-
926
1018
  .BRfloatFoot {
927
1019
  padding: 10px 10px 0 10px;
928
1020
  border-top: 1px solid #ccc;
929
1021
  }
930
-
931
1022
  .BRfloatFoot .BRaction {
932
1023
  margin-bottom: 10px;
933
1024
  }
@@ -937,7 +1028,6 @@ i.BRicon {
937
1028
  max-width: initial;
938
1029
  width: 455px;
939
1030
  }
940
-
941
1031
  .BRfloat.wide {
942
1032
  max-width: initial;
943
1033
  width: 555px;
@@ -961,11 +1051,11 @@ i.BRicon {
961
1051
  @keyframes fadeUp {
962
1052
  from {
963
1053
  opacity: 0;
964
- transform: translateY(10px);
1054
+ translate: 0 10px;
965
1055
  }
966
1056
  to {
967
1057
  opacity: 1;
968
- transform: translateY(0);
1058
+ translate: 0 0;
969
1059
  }
970
1060
  }
971
1061
  .BRfooter {
@@ -989,13 +1079,14 @@ i.BRicon {
989
1079
  border: none;
990
1080
  border-radius: 2px;
991
1081
  background: transparent;
992
- outline: none;
993
- }
994
- .BRfooter button:hover .tooltip {
995
- display: block;
996
1082
  }
997
- .BRfooter button.hide {
998
- display: none;
1083
+ @media (hover: hover) {
1084
+ .BRfooter button {
1085
+ /* styles to apply on devices that support hover */
1086
+ }
1087
+ .BRfooter button:hover .BRtooltip {
1088
+ display: block;
1089
+ }
999
1090
  }
1000
1091
 
1001
1092
  .BRReadAloudToolbar {
@@ -1009,7 +1100,6 @@ i.BRicon {
1009
1100
  animation: fadeUp 0.2s;
1010
1101
  background-color: #333;
1011
1102
  color: white;
1012
- /* Full mobile styles */
1013
1103
  }
1014
1104
  .BRReadAloudToolbar a {
1015
1105
  color: white;
@@ -1040,91 +1130,6 @@ i.BRicon {
1040
1130
  display: block;
1041
1131
  border: 3px solid rgba(255, 255, 255, 0.3);
1042
1132
  }
1043
- .BRReadAloudToolbar .BRnavCntl {
1044
- z-index: 6;
1045
- background-color: #4D4D4D;
1046
- }
1047
- .BRReadAloudToolbar .BRnavCntlBtm:hover {
1048
- background-color: #0074D1;
1049
- }
1050
- .BRReadAloudToolbar.BRnavEmbed {
1051
- background-color: white;
1052
- color: black;
1053
- }
1054
- .BRReadAloudToolbar.BRnavEmbed a {
1055
- color: black;
1056
- }
1057
- .BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider {
1058
- background: #B7B7B7;
1059
- }
1060
- .BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider .ui-slider-handle {
1061
- background: #0074D1;
1062
- }
1063
- .BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider .ui-slider-range {
1064
- background: rgba(0, 116, 209, 0.25);
1065
- }
1066
- .BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon {
1067
- border-left: 1px solid #979797;
1068
- }
1069
- .BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon.activated {
1070
- background-color: rgba(0, 116, 209, 0.4);
1071
- }
1072
- .BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon.activated:before {
1073
- content: "";
1074
- top: 0;
1075
- left: 0;
1076
- width: 100%;
1077
- height: 100%;
1078
- box-sizing: border-box;
1079
- display: block;
1080
- border: 3px solid rgba(0, 116, 209, 0.3);
1081
- }
1082
- .BRReadAloudToolbar.BRnavEmbed .BRnavCntl {
1083
- background-color: #979797;
1084
- }
1085
- .BRReadAloudToolbar.BRnavEmbed .BRnavCntlBtm:hover {
1086
- background-color: #0074D1;
1087
- }
1088
- @media (max-width: 800px) {
1089
- .BRbodyMobileNavEnabled .BRReadAloudToolbar, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar {
1090
- background-color: white;
1091
- color: black;
1092
- }
1093
- .BRbodyMobileNavEnabled .BRReadAloudToolbar a, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar a {
1094
- color: black;
1095
- }
1096
- .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRpager.ui-slider, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRpager.ui-slider {
1097
- background: #B7B7B7;
1098
- }
1099
- .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRpager.ui-slider .ui-slider-handle, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRpager.ui-slider .ui-slider-handle {
1100
- background: #0074D1;
1101
- }
1102
- .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRpager.ui-slider .ui-slider-range, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRpager.ui-slider .ui-slider-range {
1103
- background: rgba(0, 116, 209, 0.25);
1104
- }
1105
- .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRpage .BRicon, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRpage .BRicon {
1106
- border-left: 1px solid #979797;
1107
- }
1108
- .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRpage .BRicon.activated, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRpage .BRicon.activated {
1109
- background-color: rgba(0, 116, 209, 0.4);
1110
- }
1111
- .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRpage .BRicon.activated:before, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRpage .BRicon.activated:before {
1112
- content: "";
1113
- top: 0;
1114
- left: 0;
1115
- width: 100%;
1116
- height: 100%;
1117
- box-sizing: border-box;
1118
- display: block;
1119
- border: 3px solid rgba(0, 116, 209, 0.3);
1120
- }
1121
- .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRnavCntl, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRnavCntl {
1122
- background-color: #979797;
1123
- }
1124
- .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRnavCntlBtm:hover, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRnavCntlBtm:hover {
1125
- background-color: #0074D1;
1126
- }
1127
- }
1128
1133
  .BRReadAloudToolbar--controls {
1129
1134
  display: flex;
1130
1135
  }
@@ -1175,8 +1180,7 @@ i.BRicon {
1175
1180
  appearance: none;
1176
1181
  border: 0;
1177
1182
  text-align: center;
1178
- text-align-last: center;
1179
- /* Chrome */
1183
+ text-align-last: center; /* Chrome */
1180
1184
  padding-top: 60%;
1181
1185
  padding-left: 10%;
1182
1186
  padding-right: 10%;
@@ -1205,23 +1209,6 @@ i.BRicon {
1205
1209
  color: white;
1206
1210
  /* Full mobile styles */
1207
1211
  }
1208
- .BRnav.BRnavEmbed {
1209
- padding-top: 0;
1210
- height: auto;
1211
- align-items: center;
1212
- }
1213
- .BRnav.BRnavEmbed .BRembedreturn {
1214
- flex: 1 auto;
1215
- overflow-x: hidden;
1216
- }
1217
- .BRnav.BRnavEmbed .logo {
1218
- display: inline-block;
1219
- width: 25px;
1220
- height: 25px;
1221
- margin: 0 10px;
1222
- background: transparent url(images/icon_home.svg) no-repeat center center;
1223
- background-size: contain;
1224
- }
1225
1212
  .BRnav a {
1226
1213
  color: white;
1227
1214
  }
@@ -1251,13 +1238,6 @@ i.BRicon {
1251
1238
  display: block;
1252
1239
  border: 3px solid rgba(255, 255, 255, 0.3);
1253
1240
  }
1254
- .BRnav .BRnavCntl {
1255
- z-index: 6;
1256
- background-color: #4D4D4D;
1257
- }
1258
- .BRnav .BRnavCntlBtm:hover {
1259
- background-color: #0074D1;
1260
- }
1261
1241
  @media (max-width: 800px) {
1262
1242
  .BRnav {
1263
1243
  height: 34px;
@@ -1292,8 +1272,7 @@ i.BRicon {
1292
1272
  height: 20px;
1293
1273
  border-radius: 50%;
1294
1274
  top: -5px;
1295
- margin-left: -9px;
1296
- /* Center icon */
1275
+ margin-left: -9px; /* Center icon */
1297
1276
  z-index: 6;
1298
1277
  border: none;
1299
1278
  }
@@ -1366,22 +1345,12 @@ i.BRicon {
1366
1345
  vertical-align: top;
1367
1346
  }
1368
1347
 
1369
- .BRup {
1370
- background-image: url("images/nav_control-up.png");
1371
- background-repeat: no-repeat;
1372
- }
1373
-
1374
1348
  /* Mobile Only */
1375
1349
  @media (max-width: 800px) {
1376
1350
  /* hide navline chapters and search in mobile */
1377
1351
  .BRnavline .BRchapter {
1378
1352
  display: none;
1379
1353
  }
1380
-
1381
- .BRnavCntlBtm {
1382
- bottom: 34px;
1383
- }
1384
-
1385
1354
  .BRpager.ui-slider {
1386
1355
  height: 10px;
1387
1356
  top: 12px;
@@ -1438,8 +1407,6 @@ i.BRicon {
1438
1407
 
1439
1408
  .BRtoolbarbuttons {
1440
1409
  white-space: nowrap;
1441
- text-align: right;
1442
- border-spacing: 0;
1443
1410
  box-sizing: border-box;
1444
1411
  display: flex;
1445
1412
  flex-direction: row;
@@ -1472,13 +1439,11 @@ i.BRicon {
1472
1439
  }
1473
1440
 
1474
1441
  .BRtoolbarLeft {
1475
- text-align: left;
1476
1442
  flex: 1 auto;
1477
1443
  overflow-y: hidden;
1478
1444
  }
1479
1445
 
1480
1446
  .BRtoolbarRight {
1481
- text-align: right;
1482
1447
  flex: none;
1483
1448
  }
1484
1449
 
@@ -1489,72 +1454,115 @@ i.BRicon {
1489
1454
  box-shadow: 0px 1px 3px 0px rgba(102, 102, 102, 0.25);
1490
1455
  }
1491
1456
  }
1492
- .BookReader .BRquery, .BRmobileMenu .BRquery, .BRfloat .BRquery, .BookReader .BRchapter > div, .BRmobileMenu .BRchapter > div, .BRfloat .BRchapter > div {
1457
+ ia-bookreader .BRtoolbar {
1458
+ padding-left: 50px;
1459
+ }
1460
+
1461
+ .BookReader .BRquery, .BRfloat .BRquery, .BookReader .BRchapter > div, .BRfloat .BRchapter > div {
1493
1462
  display: none;
1494
1463
  position: absolute;
1495
1464
  bottom: calc(100% + 5px);
1496
- left: 50%;
1497
- transform: translateX(-50%);
1498
- width: 230px;
1465
+ left: -14px;
1466
+ width: 350px;
1467
+ max-width: 100vw;
1499
1468
  padding: 12px 14px;
1469
+ padding-bottom: 10px;
1500
1470
  color: #fff;
1501
- font-weight: bold;
1502
1471
  background: #333;
1503
1472
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
1473
+ border-radius: 4px;
1474
+ animation: fadeUp 0.2s;
1475
+ -webkit-user-select: none;
1476
+ -moz-user-select: none;
1477
+ -ms-user-select: none;
1478
+ -o-user-select: none;
1479
+ user-select: none;
1504
1480
  }
1505
- .BookReader .BRquery:after, .BRmobileMenu .BRquery:after, .BRfloat .BRquery:after, .BookReader .BRchapter > div:after, .BRmobileMenu .BRchapter > div:after, .BRfloat .BRchapter > div:after {
1506
- display: none;
1481
+ .BookReader .BRquery:after, .BRfloat .BRquery:after, .BookReader .BRchapter > div:after, .BRfloat .BRchapter > div:after {
1507
1482
  position: absolute;
1508
- top: 100%;
1509
- left: 50%;
1510
- transform: translateX(-50%);
1511
1483
  content: "";
1512
- border: 7px solid transparent;
1513
- border-width: 7px 4px;
1514
- border-bottom: none;
1515
- border-top-color: #333;
1484
+ bottom: -9px;
1485
+ left: 0;
1486
+ width: 30px;
1487
+ height: 10px;
1488
+ clip-path: polygon(0 0, 100% 0, 50% 100%);
1516
1489
  }
1517
1490
 
1518
- .BookReader .BookReaderSearchHilite, .BRmobileMenu .BookReaderSearchHilite, .BRfloat .BookReaderSearchHilite {
1519
- opacity: 0.2;
1520
- filter: alpha(opacity=20);
1521
- background-color: #0000ff;
1522
- position: absolute;
1523
- /* z-index is important */
1491
+ .BookReader .searchHiliteLayer, .BookReader .ttsHiliteLayer, .BRfloat .searchHiliteLayer, .BRfloat .ttsHiliteLayer {
1492
+ pointer-events: none;
1524
1493
  z-index: 4;
1525
- animation: hiliteFadeIn 0.2s;
1526
1494
  }
1527
- .BookReader .BRchapter, .BookReader .BRsearch, .BRmobileMenu .BRchapter, .BRmobileMenu .BRsearch, .BRfloat .BRchapter, .BRfloat .BRsearch {
1495
+ .BookReader .searchHiliteLayer rect, .BookReader .ttsHiliteLayer rect, .BRfloat .searchHiliteLayer rect, .BRfloat .ttsHiliteLayer rect {
1496
+ fill: rgba(0, 0, 255, 0.2);
1497
+ }
1498
+ .BookReader .searchHiliteLayer rect, .BRfloat .searchHiliteLayer rect {
1499
+ animation: highlightFocus 600ms 1 reverse;
1500
+ stroke: blue;
1501
+ stroke-width: 4px;
1502
+ }
1503
+ .BookReader .searchHiliteLayer rect:nth-child(1), .BRfloat .searchHiliteLayer rect:nth-child(1) {
1504
+ animation-delay: 0ms;
1505
+ }
1506
+ .BookReader .searchHiliteLayer rect:nth-child(2), .BRfloat .searchHiliteLayer rect:nth-child(2) {
1507
+ animation-delay: 50ms;
1508
+ }
1509
+ .BookReader .searchHiliteLayer rect:nth-child(3), .BRfloat .searchHiliteLayer rect:nth-child(3) {
1510
+ animation-delay: 100ms;
1511
+ }
1512
+ .BookReader .searchHiliteLayer rect:nth-child(4), .BRfloat .searchHiliteLayer rect:nth-child(4) {
1513
+ animation-delay: 150ms;
1514
+ }
1515
+ .BookReader .searchHiliteLayer rect:nth-child(5), .BRfloat .searchHiliteLayer rect:nth-child(5) {
1516
+ animation-delay: 200ms;
1517
+ }
1518
+ .BookReader .searchHiliteLayer rect:nth-child(6), .BRfloat .searchHiliteLayer rect:nth-child(6) {
1519
+ animation-delay: 250ms;
1520
+ }
1521
+ .BookReader .searchHiliteLayer rect:nth-child(7), .BRfloat .searchHiliteLayer rect:nth-child(7) {
1522
+ animation-delay: 300ms;
1523
+ }
1524
+ .BookReader .searchHiliteLayer rect:nth-child(8), .BRfloat .searchHiliteLayer rect:nth-child(8) {
1525
+ animation-delay: 350ms;
1526
+ }
1527
+ .BookReader .searchHiliteLayer rect:nth-child(9), .BRfloat .searchHiliteLayer rect:nth-child(9) {
1528
+ animation-delay: 400ms;
1529
+ }
1530
+ .BookReader .searchHiliteLayer rect:nth-child(10), .BRfloat .searchHiliteLayer rect:nth-child(10) {
1531
+ animation-delay: 450ms;
1532
+ }
1533
+ .BookReader .BRchapter, .BookReader .BRsearch, .BRfloat .BRchapter, .BRfloat .BRsearch {
1528
1534
  position: absolute;
1529
- bottom: 0;
1530
- /* Relative to nav line */
1535
+ bottom: 0; /* Relative to nav line */
1531
1536
  cursor: pointer;
1532
1537
  z-index: 3;
1533
1538
  background-color: transparent;
1534
1539
  background-repeat: no-repeat;
1535
1540
  font-weight: normal;
1536
1541
  }
1537
- .BookReader .BRchapter, .BRmobileMenu .BRchapter, .BRfloat .BRchapter {
1542
+ .BookReader .BRchapter, .BRfloat .BRchapter {
1538
1543
  background-color: white;
1539
1544
  color: #666;
1540
1545
  height: 8px;
1541
1546
  width: 4px;
1542
1547
  bottom: -13px;
1543
- margin-left: -12px;
1544
- /* Center icon */
1548
+ margin-left: -12px; /* Center icon */
1545
1549
  }
1546
- .BookReader .BRchapter:hover > div, .BRmobileMenu .BRchapter:hover > div, .BRfloat .BRchapter:hover > div {
1550
+ .BookReader .BRchapter:hover > div, .BRfloat .BRchapter:hover > div {
1547
1551
  display: block;
1548
1552
  }
1549
- .BookReader .BRchapter.front, .BRmobileMenu .BRchapter.front, .BRfloat .BRchapter.front {
1553
+ .BookReader .BRchapter.front, .BRfloat .BRchapter.front {
1550
1554
  background-color: blue;
1551
1555
  }
1552
- .BookReader .BRsearch, .BRmobileMenu .BRsearch, .BRfloat .BRsearch {
1556
+ .BookReader .BRchapter .BRchapterPage, .BRfloat .BRchapter .BRchapterPage {
1557
+ font-size: 0.85em;
1558
+ opacity: 0.8;
1559
+ }
1560
+ .BookReader .BRsearch, .BRfloat .BRsearch {
1553
1561
  width: 9px;
1554
1562
  height: 6px;
1555
1563
  margin-left: -10px;
1556
1564
  }
1557
- .BookReader .BRsearch:before, .BRmobileMenu .BRsearch:before, .BRfloat .BRsearch:before {
1565
+ .BookReader .BRsearch:before, .BRfloat .BRsearch:before {
1558
1566
  position: absolute;
1559
1567
  left: calc(50% - 2px);
1560
1568
  transform: translateX(-50%);
@@ -1564,22 +1572,39 @@ i.BRicon {
1564
1572
  background: #428bca;
1565
1573
  border-radius: 2px;
1566
1574
  }
1567
- .BookReader .BRsearch:hover .BRquery, .BRmobileMenu .BRsearch:hover .BRquery, .BRfloat .BRsearch:hover .BRquery {
1575
+ .BookReader .BRsearch:hover .BRquery, .BRfloat .BRsearch:hover .BRquery {
1568
1576
  display: block;
1569
1577
  }
1570
- .BookReader .BRsearch .BRquery, .BRmobileMenu .BRsearch .BRquery, .BRfloat .BRsearch .BRquery {
1578
+ .BookReader .BRsearch .BRquery, .BRfloat .BRsearch .BRquery {
1571
1579
  display: none;
1572
1580
  }
1573
- .BookReader .BRquery b, .BRmobileMenu .BRquery b, .BRfloat .BRquery b {
1581
+ .BookReader .BRquery main, .BRfloat .BRquery main {
1582
+ display: -webkit-box;
1583
+ -webkit-line-clamp: 4;
1584
+ -webkit-box-orient: vertical;
1585
+ overflow: hidden;
1586
+ margin-bottom: 6px;
1587
+ }
1588
+ .BookReader .BRquery main:before, .BRfloat .BRquery main:before {
1589
+ content: "“";
1590
+ }
1591
+ .BookReader .BRquery main:after, .BRfloat .BRquery main:after {
1592
+ content: "”";
1593
+ }
1594
+ .BookReader .BRquery footer, .BRfloat .BRquery footer {
1595
+ font-size: 0.85em;
1596
+ opacity: 0.8;
1597
+ }
1598
+ .BookReader .BRquery mark, .BRfloat .BRquery mark {
1574
1599
  color: #adaedc;
1575
1600
  font-weight: bold;
1576
1601
  background-color: #272958;
1577
1602
  }
1578
- .BookReader .BRbooksearch, .BRmobileMenu .BRbooksearch, .BRfloat .BRbooksearch {
1603
+ .BookReader .BRbooksearch, .BRfloat .BRbooksearch {
1579
1604
  position: relative;
1580
1605
  box-sizing: border-box;
1581
1606
  }
1582
- .BookReader .BRbooksearch.desktop, .BRmobileMenu .BRbooksearch.desktop, .BRfloat .BRbooksearch.desktop {
1607
+ .BookReader .BRbooksearch.desktop, .BRfloat .BRbooksearch.desktop {
1583
1608
  position: relative;
1584
1609
  height: 30px;
1585
1610
  border: 1px solid white;
@@ -1590,14 +1615,13 @@ i.BRicon {
1590
1615
  margin-top: 0;
1591
1616
  margin-bottom: 0;
1592
1617
  }
1593
- .BookReader .BRbooksearch.desktop .BRsearchInput, .BRmobileMenu .BRbooksearch.desktop .BRsearchInput, .BRfloat .BRbooksearch.desktop .BRsearchInput {
1618
+ .BookReader .BRbooksearch.desktop .BRsearchInput, .BRfloat .BRbooksearch.desktop .BRsearchInput {
1594
1619
  -webkit-appearance: none;
1595
1620
  position: relative;
1596
1621
  width: 130px;
1597
1622
  max-width: 160px;
1598
1623
  height: 100%;
1599
1624
  color: white;
1600
- outline: none;
1601
1625
  border: none;
1602
1626
  padding: 3px 0px 3px 10px;
1603
1627
  margin: 0;
@@ -1608,7 +1632,7 @@ i.BRicon {
1608
1632
  font-size: 14px;
1609
1633
  line-height: 1.2;
1610
1634
  }
1611
- .BookReader .BRbooksearch.desktop .BRsearchSubmit, .BRmobileMenu .BRbooksearch.desktop .BRsearchSubmit, .BRfloat .BRbooksearch.desktop .BRsearchSubmit {
1635
+ .BookReader .BRbooksearch.desktop .BRsearchSubmit, .BRfloat .BRbooksearch.desktop .BRsearchSubmit {
1612
1636
  width: auto;
1613
1637
  height: 100%;
1614
1638
  border: none;
@@ -1621,7 +1645,7 @@ i.BRicon {
1621
1645
  float: left;
1622
1646
  cursor: pointer;
1623
1647
  }
1624
- .BookReader .BRsearch-navigation, .BRmobileMenu .BRsearch-navigation, .BRfloat .BRsearch-navigation {
1648
+ .BookReader .BRsearch-navigation, .BRfloat .BRsearch-navigation {
1625
1649
  position: relative;
1626
1650
  z-index: 1;
1627
1651
  display: flex;
@@ -1631,890 +1655,65 @@ i.BRicon {
1631
1655
  background-color: #333;
1632
1656
  padding: 5px 0;
1633
1657
  }
1634
- .BookReader .BRsearch-navigation button.toggle-sidebar, .BRmobileMenu .BRsearch-navigation button.toggle-sidebar, .BRfloat .BRsearch-navigation button.toggle-sidebar {
1658
+ .BookReader .BRsearch-navigation button.toggle-sidebar, .BRfloat .BRsearch-navigation button.toggle-sidebar {
1635
1659
  width: unset;
1636
1660
  padding: 0 10px;
1637
1661
  }
1638
- .BookReader .BRsearch-navigation button.toggle-sidebar h4, .BRmobileMenu .BRsearch-navigation button.toggle-sidebar h4, .BRfloat .BRsearch-navigation button.toggle-sidebar h4 {
1662
+ .BookReader .BRsearch-navigation button.toggle-sidebar h4, .BRfloat .BRsearch-navigation button.toggle-sidebar h4 {
1639
1663
  padding: 0;
1640
1664
  margin: 0;
1641
1665
  font-size: 15px;
1642
1666
  font-weight: normal;
1643
1667
  color: #fff;
1644
1668
  }
1645
- .BookReader .BRsearch-navigation button.toggle-sidebar h4 span, .BRmobileMenu .BRsearch-navigation button.toggle-sidebar h4 span, .BRfloat .BRsearch-navigation button.toggle-sidebar h4 span {
1669
+ .BookReader .BRsearch-navigation button.toggle-sidebar h4 span, .BRfloat .BRsearch-navigation button.toggle-sidebar h4 span {
1646
1670
  vertical-align: middle;
1647
1671
  }
1648
- .BookReader .BRsearch-navigation .pagination, .BRmobileMenu .BRsearch-navigation .pagination, .BRfloat .BRsearch-navigation .pagination {
1672
+ .BookReader .BRsearch-navigation .pagination, .BRfloat .BRsearch-navigation .pagination {
1649
1673
  position: absolute;
1650
1674
  left: 50%;
1651
1675
  top: 50%;
1652
1676
  transform: translate(-50%, -50%);
1653
1677
  margin: 0;
1654
1678
  }
1655
- .BookReader .BRsearch-navigation .pagination span, .BRmobileMenu .BRsearch-navigation .pagination span, .BRfloat .BRsearch-navigation .pagination span {
1679
+ .BookReader .BRsearch-navigation .pagination span, .BRfloat .BRsearch-navigation .pagination span {
1656
1680
  display: inline-block;
1657
1681
  padding: 0 5px;
1658
1682
  }
1659
- .BookReader .BRsearch-navigation .pagination button[disabled], .BRmobileMenu .BRsearch-navigation .pagination button[disabled], .BRfloat .BRsearch-navigation .pagination button[disabled] {
1683
+ .BookReader .BRsearch-navigation .pagination button[disabled], .BRfloat .BRsearch-navigation .pagination button[disabled] {
1660
1684
  opacity: 0.3;
1661
1685
  cursor: default;
1662
1686
  }
1663
- .BookReader .BRsearch-navigation .pagination button span, .BRmobileMenu .BRsearch-navigation .pagination button span, .BRfloat .BRsearch-navigation .pagination button span {
1687
+ .BookReader .BRsearch-navigation .pagination button span, .BRfloat .BRsearch-navigation .pagination button span {
1664
1688
  width: 8px;
1665
1689
  height: 13px;
1666
1690
  padding: 0;
1667
1691
  background-size: 100% auto;
1668
1692
  }
1669
- .BookReader .BRsearch-navigation .clear span, .BRmobileMenu .BRsearch-navigation .clear span, .BRfloat .BRsearch-navigation .clear span {
1693
+ .BookReader .BRsearch-navigation .clear span, .BRfloat .BRsearch-navigation .clear span {
1670
1694
  width: 18px;
1671
1695
  height: 18px;
1672
1696
  }
1673
- .BookReader .BRsearch-navigation + .BRnav .BRnavCntl, .BRmobileMenu .BRsearch-navigation + .BRnav .BRnavCntl, .BRfloat .BRsearch-navigation + .BRnav .BRnavCntl {
1674
- display: none;
1675
- }
1676
1697
 
1677
- @keyframes hiliteFadeIn {
1678
- from {
1679
- opacity: 0;
1680
- }
1698
+ @keyframes highlightFocus {
1681
1699
  to {
1682
- opacity: 0.2;
1700
+ stroke-width: 20px;
1683
1701
  }
1684
1702
  }
1685
1703
  /* Mid size breakpoint */
1686
1704
  @media (max-width: 1050px) {
1687
- .BookReader .BRbooksearch .BRsearchInput, .BRmobileMenu .BRbooksearch .BRsearchInput, .BRfloat .BRbooksearch .BRsearchInput {
1705
+ .BookReader .BRbooksearch .BRsearchInput, .BRfloat .BRbooksearch .BRsearchInput {
1688
1706
  padding: 0 0 0 8px;
1689
1707
  width: 110px;
1690
1708
  min-width: 110px;
1691
1709
  }
1692
- .BookReader .BRbooksearch .BRsearchSubmit, .BRmobileMenu .BRbooksearch .BRsearchSubmit, .BRfloat .BRbooksearch .BRsearchSubmit {
1710
+ .BookReader .BRbooksearch .BRsearchSubmit, .BRfloat .BRbooksearch .BRsearchSubmit {
1693
1711
  float: left;
1694
1712
  }
1695
1713
  }
1696
- .mm-menu, .mm-panels, .mm-panels > .mm-panel {
1697
- margin: 0;
1698
- left: 0;
1699
- right: 0;
1700
- top: 0;
1701
- bottom: 0;
1702
- z-index: 0;
1703
- box-sizing: border-box;
1704
- }
1705
-
1706
- .mm-btn, .mm-menu {
1707
- box-sizing: border-box;
1708
- }
1709
-
1710
- .mm-listview a, .mm-listview a:hover, .mm-navbar a, .mm-navbar a:hover {
1711
- text-decoration: none;
1712
- }
1713
-
1714
- .mm-hidden {
1715
- display: none !important;
1716
- }
1717
-
1718
- .mm-menu, .mm-panels > .mm-panel:not(.mm-hidden) {
1719
- display: block;
1720
- }
1721
-
1722
- .mm-wrapper {
1723
- overflow-x: hidden;
1724
- position: relative;
1725
- }
1726
-
1727
- .mm-menu {
1728
- padding: 0;
1729
- position: absolute;
1730
- }
1731
-
1732
- .mm-panels, .mm-panels > .mm-panel {
1733
- background: inherit;
1734
- border-color: inherit;
1735
- position: absolute;
1736
- }
1737
-
1738
- .mm-btn, .mm-panel.mm-highest {
1739
- z-index: 1;
1740
- }
1741
-
1742
- .mm-panels {
1743
- overflow: hidden;
1744
- }
1745
-
1746
- .mm-panel {
1747
- -webkit-transition: -webkit-transform 0.4s ease;
1748
- transition: -webkit-transform 0.4s ease;
1749
- transition: transform 0.4s ease;
1750
- transition: transform 0.4s ease, -webkit-transform 0.4s ease;
1751
- -webkit-transform: translate3d(100%, 0, 0);
1752
- transform: translate3d(100%, 0, 0);
1753
- }
1754
-
1755
- .mm-panel.mm-opened {
1756
- -webkit-transform: translate3d(0, 0, 0);
1757
- transform: translate3d(0, 0, 0);
1758
- }
1759
-
1760
- .mm-panel.mm-subopened {
1761
- -webkit-transform: translate3d(-30%, 0, 0);
1762
- transform: translate3d(-30%, 0, 0);
1763
- }
1764
-
1765
- .mm-panels > .mm-panel {
1766
- -webkit-overflow-scrolling: touch;
1767
- overflow: scroll;
1768
- overflow-x: hidden;
1769
- overflow-y: auto;
1770
- padding: 0 20px;
1771
- }
1772
-
1773
- .mm-listview .mm-divider, .mm-listview > li > a, .mm-listview > li > span, .mm-navbar .mm-title {
1774
- text-overflow: ellipsis;
1775
- white-space: nowrap;
1776
- overflow: hidden;
1777
- }
1778
-
1779
- .mm-panels > .mm-panel.mm-hasnavbar {
1780
- padding-top: 40px;
1781
- }
1782
-
1783
- .mm-panels > .mm-panel:after, .mm-panels > .mm-panel:before {
1784
- content: "";
1785
- display: block;
1786
- height: 20px;
1787
- }
1788
-
1789
- .mm-vertical .mm-panel {
1790
- -webkit-transform: none !important;
1791
- -ms-transform: none !important;
1792
- transform: none !important;
1793
- }
1794
-
1795
- .mm-listview .mm-vertical .mm-panel, .mm-vertical .mm-listview .mm-panel {
1796
- display: none;
1797
- padding: 10px 0 10px 10px;
1798
- }
1799
-
1800
- .mm-listview .mm-vertical .mm-panel .mm-listview > li:last-child:after, .mm-vertical .mm-listview .mm-panel .mm-listview > li:last-child:after {
1801
- border-color: transparent;
1802
- }
1803
-
1804
- .mm-vertical li.mm-opened > .mm-panel, li.mm-vertical.mm-opened > .mm-panel {
1805
- display: block;
1806
- }
1807
-
1808
- .mm-listview > li.mm-vertical > .mm-next, .mm-vertical .mm-listview > li > .mm-next {
1809
- height: 40px;
1810
- bottom: auto;
1811
- }
1812
-
1813
- .mm-listview > li.mm-vertical > .mm-next:after, .mm-vertical .mm-listview > li > .mm-next:after {
1814
- top: 16px;
1815
- bottom: auto;
1816
- }
1817
-
1818
- .mm-listview > li.mm-vertical.mm-opened > .mm-next:after, .mm-vertical .mm-listview > li.mm-opened > .mm-next:after {
1819
- -webkit-transform: rotate(45deg);
1820
- -ms-transform: rotate(45deg);
1821
- transform: rotate(45deg);
1822
- right: 19px;
1823
- }
1824
-
1825
- .mm-btn {
1826
- width: 40px;
1827
- height: 40px;
1828
- position: absolute;
1829
- top: 0;
1830
- }
1831
-
1832
- .mm-clear:after, .mm-clear:before, .mm-close:after, .mm-close:before {
1833
- content: "";
1834
- border: 2px solid transparent;
1835
- display: block;
1836
- width: 5px;
1837
- height: 5px;
1838
- margin: auto;
1839
- position: absolute;
1840
- top: 0;
1841
- bottom: 0;
1842
- -webkit-transform: rotate(-45deg);
1843
- -ms-transform: rotate(-45deg);
1844
- transform: rotate(-45deg);
1845
- }
1846
-
1847
- .mm-clear:before, .mm-close:before {
1848
- border-right: none;
1849
- border-bottom: none;
1850
- right: 18px;
1851
- }
1852
-
1853
- .mm-clear:after, .mm-close:after {
1854
- border-left: none;
1855
- border-top: none;
1856
- right: 25px;
1857
- }
1858
-
1859
- .mm-arrow:after, .mm-next:after, .mm-prev:before {
1860
- content: "";
1861
- border: 2px solid transparent;
1862
- display: block;
1863
- width: 8px;
1864
- height: 8px;
1865
- margin: auto;
1866
- position: absolute;
1867
- top: 0;
1868
- bottom: 0;
1869
- -webkit-transform: rotate(-45deg);
1870
- -ms-transform: rotate(-45deg);
1871
- transform: rotate(-45deg);
1872
- }
1873
-
1874
- .mm-prev:before {
1875
- border-right: none;
1876
- border-bottom: none;
1877
- left: 23px;
1878
- }
1879
-
1880
- .mm-arrow:after, .mm-next:after {
1881
- border-top: none;
1882
- border-left: none;
1883
- right: 23px;
1884
- }
1885
-
1886
- .mm-navbar {
1887
- border-bottom: 1px solid;
1888
- border-color: inherit;
1889
- text-align: center;
1890
- line-height: 20px;
1891
- height: 40px;
1892
- padding: 0 40px;
1893
- margin: 0;
1894
- position: absolute;
1895
- top: 0;
1896
- left: 0;
1897
- right: 0;
1898
- }
1899
-
1900
- .mm-navbar > * {
1901
- display: block;
1902
- padding: 10px 0;
1903
- }
1904
-
1905
- .mm-navbar .mm-btn:first-child {
1906
- padding-left: 20px;
1907
- left: 0;
1908
- }
1909
-
1910
- .mm-navbar .mm-btn:last-child {
1911
- text-align: right;
1912
- padding-right: 20px;
1913
- right: 0;
1914
- }
1915
-
1916
- .mm-panel .mm-navbar {
1917
- display: none;
1918
- }
1919
-
1920
- .mm-panel.mm-hasnavbar .mm-navbar {
1921
- display: block;
1922
- }
1923
-
1924
- .mm-listview, .mm-listview > li {
1925
- list-style: none;
1926
- display: block;
1927
- padding: 0;
1928
- margin: 0;
1929
- }
1930
-
1931
- .mm-listview {
1932
- font: inherit;
1933
- font-size: 14px;
1934
- line-height: 20px;
1935
- }
1936
-
1937
- .mm-listview > li {
1938
- position: relative;
1939
- }
1940
-
1941
- .mm-listview > li, .mm-listview > li .mm-next, .mm-listview > li .mm-next:before, .mm-listview > li:after {
1942
- border-color: inherit;
1943
- }
1944
-
1945
- .mm-listview > li > a, .mm-listview > li > span {
1946
- color: inherit;
1947
- display: block;
1948
- padding: 10px 10px 10px 20px;
1949
- margin: 0;
1950
- }
1951
-
1952
- .mm-listview > li > a.mm-arrow, .mm-listview > li > span.mm-arrow {
1953
- padding-right: 50px;
1954
- }
1955
-
1956
- .mm-listview > li:not(.mm-divider):after {
1957
- content: "";
1958
- border-bottom-width: 1px;
1959
- border-bottom-style: solid;
1960
- display: block;
1961
- position: absolute;
1962
- right: 0;
1963
- bottom: 0;
1964
- left: 20px;
1965
- }
1966
-
1967
- .mm-listview .mm-next {
1968
- background: rgba(3, 2, 1, 0);
1969
- width: 50px;
1970
- padding: 0;
1971
- position: absolute;
1972
- right: 0;
1973
- top: 0;
1974
- bottom: 0;
1975
- z-index: 2;
1976
- }
1977
-
1978
- .mm-listview .mm-next:before {
1979
- content: "";
1980
- border-left-width: 1px;
1981
- border-left-style: solid;
1982
- display: block;
1983
- position: absolute;
1984
- top: 0;
1985
- bottom: 0;
1986
- left: 0;
1987
- }
1988
-
1989
- .mm-listview .mm-next + a, .mm-listview .mm-next + span {
1990
- margin-right: 50px;
1991
- }
1992
-
1993
- .mm-listview .mm-next.mm-fullsubopen {
1994
- width: 100%;
1995
- }
1996
-
1997
- .mm-listview .mm-next.mm-fullsubopen:before {
1998
- border-left: none;
1999
- }
2000
-
2001
- .mm-listview .mm-next.mm-fullsubopen + a, .mm-listview .mm-next.mm-fullsubopen + span {
2002
- padding-right: 50px;
2003
- margin-right: 0;
2004
- }
2005
-
2006
- .mm-panels > .mm-panel > .mm-listview {
2007
- margin: 20px -20px;
2008
- }
2009
-
2010
- .mm-panels > .mm-panel > .mm-listview:first-child, .mm-panels > .mm-panel > .mm-navbar + .mm-listview {
2011
- margin-top: -20px;
2012
- }
2013
-
2014
- .mm-listview .mm-inset {
2015
- list-style: disc inside;
2016
- padding: 0 10px 15px 40px;
2017
- margin: 0;
2018
- }
2019
-
2020
- .mm-listview .mm-inset > li {
2021
- padding: 5px 0;
2022
- }
2023
-
2024
- .mm-listview .mm-divider {
2025
- font-size: 10px;
2026
- text-transform: uppercase;
2027
- text-indent: 20px;
2028
- line-height: 25px;
2029
- }
2030
-
2031
- .mm-listview .mm-spacer {
2032
- padding-top: 40px;
2033
- }
2034
-
2035
- .mm-listview .mm-spacer > .mm-next {
2036
- top: 40px;
2037
- }
2038
-
2039
- .mm-listview .mm-spacer.mm-divider {
2040
- padding-top: 25px;
2041
- }
2042
-
2043
- .mm-menu {
2044
- background: #f3f3f3;
2045
- border-color: rgba(0, 0, 0, 0.1);
2046
- color: rgba(0, 0, 0, 0.7);
2047
- }
2048
-
2049
- .mm-menu .mm-navbar a, .mm-menu .mm-navbar > * {
2050
- color: rgba(0, 0, 0, 0.3);
2051
- }
2052
-
2053
- .mm-menu .mm-btn:after, .mm-menu .mm-btn:before {
2054
- border-color: rgba(0, 0, 0, 0.3);
2055
- }
2056
-
2057
- .mm-menu .mm-listview {
2058
- border-color: rgba(0, 0, 0, 0.1);
2059
- }
2060
-
2061
- .mm-menu .mm-listview > li .mm-arrow:after, .mm-menu .mm-listview > li .mm-next:after {
2062
- border-color: rgba(0, 0, 0, 0.3);
2063
- }
2064
-
2065
- .mm-menu .mm-listview > li a:not(.mm-next) {
2066
- -webkit-tap-highlight-color: rgba(255, 255, 255, 0.5);
2067
- tap-highlight-color: rgba(255, 255, 255, 0.5);
2068
- }
2069
-
2070
- .mm-menu .mm-listview > li.mm-selected > a:not(.mm-next), .mm-menu .mm-listview > li.mm-selected > span {
2071
- background: rgba(255, 255, 255, 0.5);
2072
- }
2073
-
2074
- .mm-menu .mm-divider, .mm-menu .mm-listview > li.mm-opened.mm-vertical > .mm-panel, .mm-menu .mm-listview > li.mm-opened.mm-vertical > a.mm-next, .mm-menu.mm-vertical .mm-listview > li.mm-opened > .mm-panel, .mm-menu.mm-vertical .mm-listview > li.mm-opened > a.mm-next {
2075
- background: rgba(0, 0, 0, 0.05);
2076
- }
2077
-
2078
- .mm-page {
2079
- box-sizing: border-box;
2080
- position: relative;
2081
- }
2082
-
2083
- .mm-slideout {
2084
- -webkit-transition: -webkit-transform 0.4s ease;
2085
- transition: -webkit-transform 0.4s ease;
2086
- transition: transform 0.4s ease;
2087
- transition: transform 0.4s ease, -webkit-transform 0.4s ease;
2088
- z-index: 1;
2089
- }
2090
-
2091
- html.mm-opened {
2092
- overflow-x: hidden;
2093
- position: relative;
2094
- }
2095
-
2096
- html.mm-blocking, html.mm-blocking body {
2097
- overflow: hidden;
2098
- }
2099
-
2100
- html.mm-background .mm-page {
2101
- background: inherit;
2102
- }
2103
-
2104
- #mm-blocker {
2105
- background: rgba(3, 2, 1, 0);
2106
- display: none;
2107
- width: 100%;
2108
- height: 100%;
2109
- position: fixed;
2110
- top: 0;
2111
- left: 0;
2112
- z-index: 2;
2113
- }
2114
-
2115
- html.mm-blocking #mm-blocker {
2116
- display: block;
2117
- }
2118
-
2119
- .mm-menu.mm-offcanvas {
2120
- z-index: 0;
2121
- display: none;
2122
- position: fixed;
2123
- width: 80%;
2124
- min-width: 140px;
2125
- max-width: 440px;
2126
- }
2127
-
2128
- .mm-menu.mm-offcanvas.mm-current {
2129
- display: block;
2130
- }
2131
-
2132
- html.mm-opening .mm-slideout {
2133
- -webkit-transform: translate3d(80%, 0, 0);
2134
- transform: translate3d(80%, 0, 0);
2135
- }
2136
-
2137
- @media all and (max-width: 175px) {
2138
- html.mm-opening .mm-slideout {
2139
- -webkit-transform: translate3d(140px, 0, 0);
2140
- transform: translate3d(140px, 0, 0);
2141
- }
2142
- }
2143
- @media all and (min-width: 550px) {
2144
- html.mm-opening .mm-slideout {
2145
- -webkit-transform: translate3d(440px, 0, 0);
2146
- transform: translate3d(440px, 0, 0);
2147
- }
2148
- }
2149
- .mm-navbar-bottom, .mm-navbar-top ~ .mm-navbar-top {
2150
- border-bottom: none;
2151
- }
2152
-
2153
- .mm-menu > .mm-navbar {
2154
- background: inherit;
2155
- padding: 0;
2156
- z-index: 3;
2157
- -webkit-transform: translate3d(0, 0, 0);
2158
- transform: translate3d(0, 0, 0);
2159
- }
2160
-
2161
- .mm-navbar-bottom {
2162
- border-top-width: 1px;
2163
- border-top-style: solid;
2164
- top: auto;
2165
- bottom: 0;
2166
- }
2167
-
2168
- .mm-navbar-bottom ~ .mm-navbar-bottom {
2169
- border-top: none;
2170
- }
2171
-
2172
- .mm-navbar.mm-hasbtns {
2173
- padding: 0 40px;
2174
- }
2175
-
2176
- .mm-navbar[class*=mm-navbar-content-] > * {
2177
- box-sizing: border-box;
2178
- display: block;
2179
- float: left;
2180
- }
2181
-
2182
- .mm-navbar .mm-breadcrumbs {
2183
- text-overflow: ellipsis;
2184
- white-space: nowrap;
2185
- overflow: hidden;
2186
- -webkit-overflow-scrolling: touch;
2187
- overflow-x: auto;
2188
- text-align: left;
2189
- padding: 0 0 0 17px;
2190
- }
2191
-
2192
- .mm-navbar .mm-breadcrumbs > * {
2193
- display: inline-block;
2194
- padding: 10px 3px;
2195
- }
2196
-
2197
- .mm-navbar .mm-breadcrumbs > a {
2198
- text-decoration: underline;
2199
- }
2200
-
2201
- .mm-navbar.mm-hasbtns .mm-breadcrumbs {
2202
- margin-left: -40px;
2203
- }
2204
-
2205
- .mm-navbar.mm-hasbtns .mm-btn:not(.mm-hidden) + .mm-breadcrumbs {
2206
- margin-left: 0;
2207
- padding-left: 0;
2208
- }
2209
-
2210
- .mm-navbar-top-1 {
2211
- top: 0;
2212
- }
2213
-
2214
- .mm-hasnavbar-top-1 .mm-panels, .mm-navbar-top-2 {
2215
- top: 40px;
2216
- }
2217
-
2218
- .mm-hasnavbar-top-2 .mm-panels, .mm-navbar-top-3 {
2219
- top: 80px;
2220
- }
2221
-
2222
- .mm-hasnavbar-top-3 .mm-panels, .mm-navbar-top-4 {
2223
- top: 120px;
2224
- }
2225
-
2226
- .mm-hasnavbar-top-4 .mm-panels {
2227
- top: 160px;
2228
- }
2229
-
2230
- .mm-navbar-bottom-1 {
2231
- bottom: 0;
2232
- }
2233
-
2234
- .mm-hasnavbar-bottom-1 .mm-panels, .mm-navbar-bottom-2 {
2235
- bottom: 40px;
2236
- }
2237
-
2238
- .mm-hasnavbar-bottom-2 .mm-panels, .mm-navbar-bottom-3 {
2239
- bottom: 80px;
2240
- }
2241
-
2242
- .mm-hasnavbar-bottom-3 .mm-panels, .mm-navbar-bottom-4 {
2243
- bottom: 120px;
2244
- }
2245
-
2246
- .mm-hasnavbar-bottom-4 .mm-panels {
2247
- bottom: 160px;
2248
- }
2249
-
2250
- .mm-navbar-size-2 {
2251
- height: 80px;
2252
- }
2253
-
2254
- .mm-navbar-size-3 {
2255
- height: 120px;
2256
- }
2257
-
2258
- .mm-navbar-size-4 {
2259
- height: 160px;
2260
- }
2261
-
2262
- .mm-navbar-content-2 > * {
2263
- width: 50%;
2264
- }
2265
-
2266
- .mm-navbar-content-3 > * {
2267
- width: 33.33%;
2268
- }
2269
-
2270
- .mm-navbar-content-4 > * {
2271
- width: 25%;
2272
- }
2273
-
2274
- .mm-navbar-content-5 > * {
2275
- width: 20%;
2276
- }
2277
-
2278
- .mm-navbar-content-6 > * {
2279
- width: 16.67%;
2280
- }
2281
-
2282
- .mm-menu .mm-navbar a, .mm-menu .mm-navbar > * {
2283
- color: #fff;
2284
- font-size: 14px;
2285
- }
2286
-
2287
- .mm-menu {
2288
- color: #fff;
2289
- background: #151515;
2290
- }
2291
- .mm-menu > .mm-navbar {
2292
- background: #333;
2293
- }
2294
-
2295
- .mm-panel {
2296
- font-size: 12px;
2297
- }
2298
-
2299
- #mm-blocker {
2300
- z-index: 2002;
2301
- }
2302
-
2303
- .mm-panel h1 {
2304
- margin-top: 0;
2305
- color: #245e83;
2306
- font-size: 14px;
2307
- }
2308
-
2309
- .mm-menu .mm-listview > li .mm-next,
2310
- .mm-menu .mm-listview > li .mm-next:before, .mm-menu .mm-listview > li:after,
2311
- .mm-menu .mm-listview > li .mm-arrow:after,
2312
- .mm-menu .mm-listview > li .mm-next:after {
2313
- border-color: #fff;
2314
- }
2315
-
2316
- .mm-menu .mm-btn:after,
2317
- .mm-menu .mm-btn:before {
2318
- border-color: #fff;
2319
- }
2320
-
2321
- /* Needed to override mmenu style */
2322
- html.mm-background .BookReader {
2323
- background-color: black;
2324
- }
2325
-
2326
- .BRmobileMenu button {
2327
- -webkit-appearance: initial;
2328
- }
2329
- .BRmobileMenu .BRaction {
2330
- display: block;
2331
- width: 100%;
2332
- }
2333
- .BRmobileMenu div.share-social button {
2334
- padding: 0 5px;
2335
- height: 40px;
2336
- text-align: left;
2337
- }
2338
- .BRmobileMenu a {
2339
- color: inherit;
2340
- }
2341
-
2342
- .BRtoolbarMobileTitle {
2343
- overflow: hidden;
2344
- width: 100%;
2345
- white-space: nowrap;
2346
- text-align: center;
2347
- font-size: 14px;
2348
- line-height: 40px;
2349
- display: block;
2350
- margin-right: 10px;
2351
- }
2352
-
2353
- .BRmobileHamburgerWrapper {
2354
- display: block;
2355
- padding: 0 30px 0 50px;
2356
- }
2357
-
2358
- .BRmobileHamburger {
2359
- background: transparent url("icons/hamburger.svg") 50% 50% no-repeat;
2360
- display: block;
2361
- width: 40px;
2362
- height: 40px;
2363
- position: absolute;
2364
- top: 0;
2365
- left: 10px;
2366
- border: none;
2367
- outline: none;
2368
- }
2369
-
2370
- .DrawerIconWrapper {
2371
- display: block;
2372
- float: left;
2373
- width: 20px;
2374
- height: 20px;
2375
- margin-right: 10px;
2376
- text-align: center;
2377
- position: relative;
2378
- }
2379
-
2380
- .DrawerIcon {
2381
- height: 18px;
2382
- width: auto;
2383
- position: absolute;
2384
- left: 0;
2385
- top: 1px;
2386
- }
2387
-
2388
- .DrawerSettingsTitle {
2389
- color: #fff;
2390
- font-size: 14px;
2391
- font-weight: bold;
2392
- margin-bottom: 10px;
2393
- }
2394
-
2395
- .DrawerSettingsLayoutWrapper {
2396
- text-align: center;
2397
- padding: 0;
2398
- margin-bottom: 20px;
2399
- }
2400
-
2401
- .DrawerLayoutButton {
2402
- border: none;
2403
- background: none;
2404
- color: #fff;
2405
- line-height: 18px;
2406
- }
2407
-
2408
- .DrawerLayoutButton:active {
2409
- color: grey;
2410
- }
2411
-
2412
- .BRmobileShare div.share-title {
2413
- font-weight: bold;
2414
- font-size: 16px;
2415
- line-height: 1.5;
2416
- }
2417
- .BRmobileShare div.share-social {
2418
- margin: 10px 0 20px 0;
2419
- }
2420
- .BRmobileShare p {
2421
- font-weight: bold;
2422
- }
2423
- .BRmobileShare fieldset {
2424
- padding: 0;
2425
- border: 0;
2426
- margin-bottom: 30px;
2427
- }
2428
- .BRmobileShare fieldset label {
2429
- display: block;
2430
- }
2431
- .BRmobileShare fieldset input[type=text] {
2432
- width: 95%;
2433
- }
2434
- .BRmobileShare button.share-finished {
2435
- display: none;
2436
- }
2437
- .BRmobileShare div.share-embed {
2438
- border: 1px solid #ccc;
2439
- padding: 0 10px;
2440
- }
2441
- .BRmobileShare .open-to-this-page {
2442
- display: block;
2443
- margin: 10px 0;
2444
- }
2445
-
2446
- .BRmobileHamburgerWrapper {
2447
- display: none;
2448
- }
2449
-
2450
- .BRmobileMenu {
2451
- display: none;
2452
- }
2453
-
2454
- .BRtoolbar.responsive {
2455
- display: none;
2456
- }
2457
-
2458
- /* Mobile Only */
2459
- @media (max-width: 800px) {
2460
- .BRbodyMobileNavEnabled .BRtoolbar.responsive,
2461
- .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive {
2462
- display: block;
2463
- height: 40px;
2464
- box-sizing: border-box;
2465
- width: 100%;
2466
- color: #fff;
2467
- background: #333;
2468
- }
2469
- .BRbodyMobileNavEnabled .BRtoolbar.responsive .BRtoolbarbuttons,
2470
- .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive .BRtoolbarbuttons {
2471
- display: none;
2472
- }
2473
- .BRbodyMobileNavEnabled .BRtoolbar.responsive .BRmobileHamburgerWrapper,
2474
- .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive .BRmobileHamburgerWrapper {
2475
- display: block;
2476
- }
2477
- .BRbodyMobileNavEnabled .BRtoolbar.responsive .BRmobileMenu,
2478
- .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive .BRmobileMenu {
2479
- display: block;
2480
- }
2481
- }
2482
- .BRcheckbox-label-filters {
2483
- position: relative;
2484
- bottom: 2px;
2485
- }
2486
-
2487
- /* Desktop Only */
2488
- @media (min-width: 801px) {
2489
- .BRtoolbar.responsive {
2490
- display: block;
2491
- }
2492
- }
2493
- li.BRtable-contents-el {
2494
- line-height: 150%;
2495
- padding: 10px 10px 10px 20px;
2496
- overflow: hidden;
2497
- color: #fff;
2498
- }
2499
- li.BRtable-contents-el.chapter-clickable {
2500
- font-weight: normal;
2501
- }
2502
- li.BRtable-contents-el.current-chapter {
2503
- background-color: lightblue;
2504
- }
2505
- li.BRtable-contents-el > span {
2506
- display: inline;
2507
- padding: 0;
2508
- white-space: normal;
2509
- }
2510
- li.BRtable-contents-el .BRTOCElementPage {
2511
- font-size: 0.85em;
2512
- opacity: 0.8;
2513
- }
2514
-
2515
- /****************** Excerpt from jquery-ui *********************/
2516
- .ui-helper-hidden {
2517
- display: none;
1714
+ /****************** Excerpt from jquery-ui *********************/
1715
+ .ui-helper-hidden {
1716
+ display: none;
2518
1717
  }
2519
1718
 
2520
1719
  .ui-helper-hidden-accessible {
@@ -2581,7 +1780,7 @@ li.BRtable-contents-el .BRTOCElementPage {
2581
1780
  }
2582
1781
 
2583
1782
  .icon-fullscreen-exit {
2584
- background-image: url("icons/fullscreen-exit.svg");
1783
+ background-image: url("icons/fullscreen_exit.svg");
2585
1784
  }
2586
1785
 
2587
1786
  .icon-thumb {
@@ -2668,7 +1867,7 @@ li.BRtable-contents-el .BRTOCElementPage {
2668
1867
  width: 100%;
2669
1868
  /* BookReader defaults overrides */
2670
1869
  }
2671
- .BRcontrols .tooltip {
1870
+ .BRcontrols .BRtooltip {
2672
1871
  display: none;
2673
1872
  position: absolute;
2674
1873
  width: auto;
@@ -2681,8 +1880,9 @@ li.BRtable-contents-el .BRTOCElementPage {
2681
1880
  color: #fff;
2682
1881
  border-radius: 3px;
2683
1882
  background: #333;
1883
+ pointer-events: none;
2684
1884
  }
2685
- .BRcontrols .full .tooltip {
1885
+ .BRcontrols .full .BRtooltip {
2686
1886
  left: auto;
2687
1887
  right: 0;
2688
1888
  transform: translateX(0);
@@ -2690,23 +1890,29 @@ li.BRtable-contents-el .BRTOCElementPage {
2690
1890
  .BRfullscreenActive .BRcontrols .icon-fullscreen {
2691
1891
  background-image: url("icons/fullscreen_exit.svg");
2692
1892
  }
2693
- .BRcontrols select.playback-speed {
2694
- width: 24px;
1893
+ .BRcontrols select.playback-speed, .BRcontrols select.playback-voices {
2695
1894
  padding-top: 18px;
2696
1895
  -moz-appearance: none;
2697
1896
  -webkit-appearance: none;
2698
1897
  appearance: none;
2699
1898
  font-size: 10px;
2700
- text-align: center;
2701
1899
  text-align-last: center;
2702
1900
  color: #fff;
2703
1901
  border: none;
2704
1902
  cursor: pointer;
2705
- background: transparent url("icons/playback-speed.svg") 50% 0 no-repeat;
2706
1903
  }
2707
- .BRcontrols select.playback-speed option {
1904
+ .BRcontrols select.playback-speed option, .BRcontrols select.playback-speed optgroup, .BRcontrols select.playback-voices option, .BRcontrols select.playback-voices optgroup {
2708
1905
  background: #333;
2709
1906
  }
1907
+ .BRcontrols select.playback-speed {
1908
+ width: 30px;
1909
+ background: transparent url("icons/playback-speed.svg") 50% 0 no-repeat;
1910
+ }
1911
+ .BRcontrols select.playback-voices {
1912
+ width: 30px;
1913
+ background: transparent url("icons/voice.svg") 50% 0 no-repeat;
1914
+ background-size: 18px;
1915
+ }
2710
1916
  .BRcontrols .active {
2711
1917
  background: #fff;
2712
1918
  }
@@ -2731,6 +1937,9 @@ li.BRtable-contents-el .BRTOCElementPage {
2731
1937
  width: 30px;
2732
1938
  height: 30px;
2733
1939
  }
1940
+ .BRcontrols .controls .hide {
1941
+ display: none;
1942
+ }
2734
1943
  @keyframes slideUp {
2735
1944
  from {
2736
1945
  opacity: 0;
@@ -2759,6 +1968,10 @@ li.BRtable-contents-el .BRTOCElementPage {
2759
1968
  display: flex;
2760
1969
  animation: slideUp 0.2s;
2761
1970
  }
1971
+ .BRcontrols .read-aloud.visible button {
1972
+ width: unset;
1973
+ height: unset;
1974
+ }
2762
1975
  .BRcontrols .read-aloud li {
2763
1976
  padding: 0 10px;
2764
1977
  }
@@ -2878,34 +2091,79 @@ li.BRtable-contents-el .BRTOCElementPage {
2878
2091
  background-color: #ccc;
2879
2092
  }
2880
2093
 
2881
- .textSelectionSVG {
2882
- width: 100%;
2094
+ .BRtextLayer, .BRtranslateLayer {
2095
+ z-index: 2;
2883
2096
  position: absolute;
2884
- height: 100%;
2885
2097
  top: 0;
2886
2098
  left: 0;
2099
+ color: transparent;
2100
+ transform-origin: 0 0;
2887
2101
  pointer-events: none;
2102
+ cursor: text;
2888
2103
  }
2889
- .textSelectionSVG .BRwordElement {
2890
- pointer-events: all;
2104
+
2105
+ .BRtextLayer {
2106
+ mix-blend-mode: multiply;
2891
2107
  }
2892
- .textSelectionSVG.selectingSVG {
2893
- pointer-events: auto;
2108
+
2109
+ .BRtranslateLayer {
2110
+ hyphens: auto;
2111
+ }
2112
+
2113
+ .BRparagraphElement {
2114
+ margin: 0;
2894
2115
  cursor: text;
2116
+ font-family: Georgia, serif;
2117
+ line-height: 0;
2118
+ }
2119
+
2120
+ .BRlineElement {
2121
+ pointer-events: all;
2122
+ white-space: nowrap;
2123
+ display: inline-block;
2124
+ }
2125
+ .BRtextLayer[dir=ltr] .BRlineElement {
2126
+ margin-right: 100%;
2895
2127
  }
2896
- .textSelectionSVG .BRwordElement::selection {
2897
- background: rgba(86, 158, 230, 0.4);
2128
+ .BRtextLayer[dir=rtl] .BRlineElement {
2129
+ margin-left: 100%;
2898
2130
  }
2899
- .textSelectionSVG .BRwordElement::-moz-selection {
2900
- background: rgba(86, 158, 230, 0.4);
2131
+
2132
+ .BRwordElement::selection, .BRspace::selection, .BRparagraphElement::selection, .BRparagraphElement br::selection {
2133
+ background: hsla(210, 74%, 62%, 0.4);
2134
+ }
2135
+ .BRwordElement::-moz-selection, .BRspace::-moz-selection, .BRparagraphElement::-moz-selection, .BRparagraphElement br::-moz-selection {
2136
+ background: hsla(210, 74%, 62%, 0.4);
2901
2137
  color: transparent;
2902
2138
  }
2903
- .textSelectionSVG .BRparagElement {
2904
- fill: red;
2905
- cursor: text;
2906
- white-space: pre;
2907
- fill-opacity: 0;
2908
- font-family: Georgia, serif;
2139
+
2140
+ .BRtextLayer ::target-text {
2141
+ background-color: hsla(45, 80%, 66%, 0.6);
2142
+ color: transparent;
2143
+ }
2144
+
2145
+ .BRtranslateLayer ::selection {
2146
+ background: hsla(210, 74%, 62%, 0.4);
2147
+ }
2148
+
2149
+ .BRtranslateLayer ::-moz-selection {
2150
+ background: hsla(210, 74%, 62%, 0.4);
2151
+ }
2152
+
2153
+ .BRparagraphElement br {
2154
+ visibility: hidden;
2155
+ }
2156
+
2157
+ .BRwordElement--hyphen::after {
2158
+ content: "-";
2159
+ }
2160
+
2161
+ .BRsmooth-zooming .BRpagecontainer:not(.BRpagecontainer--hasSelection):not(:has(hypothesis-highlight)) .BRtextLayer, .BRscrolling-active .BRpagecontainer:not(.BRpagecontainer--hasSelection):not(:has(hypothesis-highlight)) .BRtextLayer {
2162
+ display: none;
2163
+ }
2164
+
2165
+ .BRmode1up .BRpagecontainer:not(.BRpage-visible) .BRtextLayer {
2166
+ display: none;
2909
2167
  }
2910
2168
 
2911
2169
  .BRpagecontainer img {
@@ -2914,11 +2172,50 @@ li.BRtable-contents-el .BRTOCElementPage {
2914
2172
  user-select: none;
2915
2173
  }
2916
2174
 
2917
- .BRpageFlipping .textSelectionSVG {
2175
+ .BRtextLayer:has([_istranslated="1"], msreadoutspan) {
2176
+ mix-blend-mode: normal;
2177
+ }
2178
+
2179
+ .BRwordElement[_istranslated="1"], .BRwordElement[_msttexthash], .BRspace[_istranslated="1"], .BRspace[_msttexthash] {
2180
+ color: black;
2181
+ letter-spacing: unset !important;
2182
+ }
2183
+
2184
+ .BRlineElement:has([_istranslated="1"], [_msttexthash]) {
2185
+ background: rgba(248, 237, 192, 0.8);
2186
+ backdrop-filter: blur(8px);
2187
+ color: black;
2188
+ text-align: justify;
2189
+ width: inherit;
2190
+ }
2191
+ .BRlineElement:has([_istranslated="1"], [_msttexthash]):not(:nth-last-child(2)) {
2192
+ text-align-last: justify;
2193
+ }
2194
+
2195
+ .BRlineElement[_msttexthash] {
2196
+ word-spacing: unset !important;
2197
+ }
2198
+
2199
+ .BRtranslateLayer .BRparagraphElement {
2200
+ pointer-events: auto;
2201
+ overflow-y: auto;
2202
+ background: rgba(248, 237, 192, 0.8);
2203
+ backdrop-filter: blur(8px);
2204
+ color: black;
2205
+ line-height: 1em;
2206
+ text-align: justify;
2207
+ }
2208
+
2209
+ .BRtranslateLayer .BRparagraphElement .BRlineElement {
2210
+ white-space: break-spaces;
2211
+ display: inline-block;
2212
+ }
2213
+
2214
+ .BRtextLayer.showingTranslation {
2918
2215
  display: none;
2919
2216
  }
2920
2217
 
2921
- .BRpagecontainer.BRemptypage .textSelectionSVG {
2218
+ .BRtranslateLayer .BRparagraphElement.BRtranslateHidden {
2922
2219
  display: none;
2923
2220
  }
2924
2221
 
@@ -2926,7 +2223,7 @@ li.BRtable-contents-el .BRTOCElementPage {
2926
2223
  * Hide modal-manager that loads item-navigator-modal
2927
2224
  * loading bookmarks related alert messages
2928
2225
  */
2929
- #item-navigator-modal {
2226
+ modal-manager[mode=closed] {
2930
2227
  display: none;
2931
2228
  }
2932
2229
 
@@ -2945,7 +2242,7 @@ li.BRtable-contents-el .BRTOCElementPage {
2945
2242
  opacity: 0;
2946
2243
  }
2947
2244
 
2948
- .BRtwopageview .BRpagecontainer[data-side=L] .bookmark-button {
2245
+ .BRmode2up .BRpagecontainer[data-side=L] .bookmark-button {
2949
2246
  right: auto;
2950
2247
  left: 0;
2951
2248
  }