@internetarchive/bookreader 5.0.0-11 → 5.0.0-110

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 (380) hide show
  1. package/BookReader/474.js +2 -0
  2. package/BookReader/474.js.map +1 -0
  3. package/BookReader/BookReader.css +604 -1239
  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 +1907 -0
  53. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +19 -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/slider-toggle.svg +1 -0
  74. package/BookReader/icons/thumbnails.svg +1 -1
  75. package/BookReader/icons/voice.svg +1 -0
  76. package/BookReader/icons/volume-full.svg +1 -1
  77. package/BookReader/images/BRicons.svg +3 -3
  78. package/BookReader/images/books_graphic.svg +1 -1
  79. package/BookReader/images/hypothesis.ico +0 -0
  80. package/BookReader/images/icon_book.svg +1 -1
  81. package/BookReader/images/icon_bookmark.svg +1 -1
  82. package/BookReader/images/icon_experiment.svg +1 -0
  83. package/BookReader/images/icon_gear.svg +1 -1
  84. package/BookReader/images/icon_hamburger.svg +1 -1
  85. package/BookReader/images/icon_home.svg +1 -1
  86. package/BookReader/images/icon_info.svg +1 -1
  87. package/BookReader/images/icon_one_page.svg +1 -1
  88. package/BookReader/images/icon_pause.svg +1 -1
  89. package/BookReader/images/icon_play.svg +1 -1
  90. package/BookReader/images/icon_playback-rate.svg +1 -1
  91. package/BookReader/images/icon_search_button.svg +1 -1
  92. package/BookReader/images/icon_share.svg +1 -1
  93. package/BookReader/images/icon_skip-ahead.svg +1 -1
  94. package/BookReader/images/icon_skip-back.svg +1 -1
  95. package/BookReader/images/icon_speaker.svg +1 -1
  96. package/BookReader/images/icon_speaker_open.svg +1 -1
  97. package/BookReader/images/icon_thumbnails.svg +1 -1
  98. package/BookReader/images/icon_toc.svg +1 -1
  99. package/BookReader/images/icon_two_pages.svg +1 -1
  100. package/BookReader/images/marker_chap-off.svg +1 -1
  101. package/BookReader/images/marker_chap-on.svg +1 -1
  102. package/BookReader/images/marker_srch-on.svg +1 -1
  103. package/BookReader/images/translate.svg +1 -0
  104. package/BookReader/images/unviewable_page.png +0 -0
  105. package/BookReader/jquery-3.js +2 -0
  106. package/BookReader/jquery-3.js.LICENSE.txt +24 -0
  107. package/BookReader/plugins/plugin.archive_analytics.js +1 -1
  108. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  109. package/BookReader/plugins/plugin.autoplay.js +1 -1
  110. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  111. package/BookReader/plugins/plugin.chapters.js +22 -1
  112. package/BookReader/plugins/plugin.chapters.js.LICENSE.txt +1 -0
  113. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  114. package/BookReader/plugins/plugin.experiments.js +3 -0
  115. package/BookReader/plugins/plugin.experiments.js.LICENSE.txt +1 -0
  116. package/BookReader/plugins/plugin.experiments.js.map +1 -0
  117. package/BookReader/plugins/plugin.iframe.js +1 -1
  118. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  119. package/BookReader/plugins/plugin.iiif.js +2 -0
  120. package/BookReader/plugins/plugin.iiif.js.map +1 -0
  121. package/BookReader/plugins/plugin.resume.js +1 -1
  122. package/BookReader/plugins/plugin.resume.js.map +1 -1
  123. package/BookReader/plugins/plugin.search.js +2 -1
  124. package/BookReader/plugins/plugin.search.js.LICENSE.txt +1 -0
  125. package/BookReader/plugins/plugin.search.js.map +1 -1
  126. package/BookReader/plugins/plugin.text_selection.js +2 -1
  127. package/BookReader/plugins/plugin.text_selection.js.LICENSE.txt +1 -0
  128. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  129. package/BookReader/plugins/plugin.translate.js +137 -0
  130. package/BookReader/plugins/plugin.translate.js.LICENSE.txt +1 -0
  131. package/BookReader/plugins/plugin.translate.js.map +1 -0
  132. package/BookReader/plugins/plugin.tts.js +1 -1
  133. package/BookReader/plugins/plugin.tts.js.LICENSE.txt +2 -0
  134. package/BookReader/plugins/plugin.tts.js.map +1 -1
  135. package/BookReader/plugins/plugin.url.js +1 -1
  136. package/BookReader/plugins/plugin.url.js.map +1 -1
  137. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -1
  138. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  139. package/BookReader/plugins/translator-worker.js +2 -0
  140. package/BookReader/plugins/translator-worker.js.map +1 -0
  141. package/BookReader/silence.mp3 +0 -0
  142. package/BookReader/translator-worker.js +475 -0
  143. package/BookReader/webcomponents-bundle.js +3 -0
  144. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  145. package/BookReader/webcomponents-bundle.js.map +1 -0
  146. package/README.md +14 -3
  147. package/jsconfig.json +19 -0
  148. package/package.json +92 -70
  149. package/src/BookReader/BookModel.js +92 -46
  150. package/src/BookReader/DragScrollable.js +233 -0
  151. package/src/BookReader/ImageCache.js +49 -16
  152. package/src/BookReader/Mode1Up.js +66 -365
  153. package/src/BookReader/Mode1UpLit.js +392 -0
  154. package/src/BookReader/Mode2Up.js +87 -1315
  155. package/src/BookReader/Mode2UpLit.js +788 -0
  156. package/src/BookReader/ModeAbstract.js +43 -0
  157. package/src/BookReader/ModeCoordinateSpace.js +29 -0
  158. package/src/BookReader/ModeSmoothZoom.js +312 -0
  159. package/src/BookReader/ModeThumb.js +29 -15
  160. package/src/BookReader/Navbar/Navbar.js +201 -76
  161. package/src/BookReader/PageContainer.js +120 -23
  162. package/src/BookReader/ReduceSet.js +2 -2
  163. package/src/BookReader/Toolbar/Toolbar.js +18 -40
  164. package/src/BookReader/events.js +3 -3
  165. package/src/BookReader/options.js +94 -17
  166. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  167. package/src/BookReader/utils/ScrollClassAdder.js +31 -0
  168. package/src/BookReader/utils/SelectionObserver.js +45 -0
  169. package/src/BookReader/utils/classes.js +1 -1
  170. package/src/BookReader/utils.js +136 -12
  171. package/src/BookReader.js +678 -1226
  172. package/src/BookReaderPlugin.js +52 -0
  173. package/src/assets/icons/magnify-minus.svg +3 -7
  174. package/src/assets/icons/magnify-plus.svg +3 -7
  175. package/src/assets/icons/slider-toggle.svg +1 -0
  176. package/src/assets/icons/voice.svg +1 -0
  177. package/src/assets/images/hypothesis.ico +0 -0
  178. package/src/assets/images/icon_experiment.svg +1 -0
  179. package/src/assets/images/translate.svg +1 -0
  180. package/src/assets/images/unviewable_page.png +0 -0
  181. package/src/assets/silence.mp3 +0 -0
  182. package/src/css/BookReader.scss +1 -5
  183. package/src/css/_BRBookmarks.scss +1 -1
  184. package/src/css/_BRComponent.scss +1 -1
  185. package/src/css/_BRicon.scss +8 -2
  186. package/src/css/_BRmain.scss +16 -3
  187. package/src/css/_BRnav.scss +74 -70
  188. package/src/css/_BRpages.scss +171 -42
  189. package/src/css/_BRsearch.scss +69 -30
  190. package/src/css/_BRtoolbar.scss +5 -5
  191. package/src/css/_TextSelection.scss +129 -24
  192. package/src/css/_colorbox.scss +2 -2
  193. package/src/css/_controls.scss +24 -7
  194. package/src/css/_icons.scss +8 -1
  195. package/src/{BookNavigator/assets → css}/button-base.js +2 -2
  196. package/src/css/icon_checkmark.js +9 -0
  197. package/src/css/sharedStyles.js +15 -0
  198. package/src/ia-bookreader/downloads/downloads-provider.js +81 -0
  199. package/src/{BookNavigator → ia-bookreader}/downloads/downloads.js +25 -5
  200. package/src/ia-bookreader/ia-bookreader.js +666 -0
  201. package/src/ia-bookreader/sharing.js +27 -0
  202. package/src/ia-bookreader/viewable-files.js +98 -0
  203. package/src/{BookNavigator → ia-bookreader}/visual-adjustments/visual-adjustments-provider.js +17 -17
  204. package/src/{BookNavigator → ia-bookreader}/visual-adjustments/visual-adjustments.js +75 -67
  205. package/src/{BookNavigator → plugins}/bookmarks/bookmark-button.js +4 -3
  206. package/src/{BookNavigator/assets → plugins/bookmarks}/bookmark-colors.js +1 -1
  207. package/src/{BookNavigator → plugins}/bookmarks/bookmark-edit.js +43 -31
  208. package/src/{BookNavigator → plugins}/bookmarks/bookmarks-list.js +48 -49
  209. package/src/{BookNavigator → plugins}/bookmarks/bookmarks-loginCTA.js +3 -3
  210. package/src/plugins/bookmarks/bookmarks-provider.js +63 -0
  211. package/src/{BookNavigator → plugins/bookmarks}/delete-modal-actions.js +1 -1
  212. package/src/{BookNavigator → plugins}/bookmarks/ia-bookmarks.js +117 -68
  213. package/src/plugins/plugin.archive_analytics.js +84 -78
  214. package/src/plugins/plugin.autoplay.js +99 -104
  215. package/src/plugins/plugin.chapters.js +314 -205
  216. package/src/plugins/plugin.experiments.js +321 -0
  217. package/src/plugins/plugin.iframe.js +1 -1
  218. package/src/plugins/plugin.iiif.js +141 -0
  219. package/src/plugins/plugin.resume.js +54 -51
  220. package/src/plugins/plugin.text_selection.js +522 -219
  221. package/src/plugins/plugin.vendor-fullscreen.js +5 -5
  222. package/src/plugins/search/plugin.search.js +374 -392
  223. package/src/{BookNavigator → plugins}/search/search-provider.js +59 -27
  224. package/src/{BookNavigator → plugins}/search/search-results.js +105 -76
  225. package/src/plugins/search/utils.js +50 -0
  226. package/src/plugins/search/view.js +50 -68
  227. package/src/plugins/translate/TranslationManager.js +164 -0
  228. package/src/plugins/translate/plugin.translate.js +512 -0
  229. package/src/plugins/tts/AbstractTTSEngine.js +78 -49
  230. package/src/plugins/tts/FestivalTTSEngine.js +20 -30
  231. package/src/plugins/tts/PageChunk.js +33 -21
  232. package/src/plugins/tts/PageChunkIterator.js +11 -17
  233. package/src/plugins/tts/WebTTSEngine.js +131 -91
  234. package/src/plugins/tts/plugin.tts.js +345 -350
  235. package/src/plugins/tts/utils.js +77 -49
  236. package/src/plugins/url/UrlPlugin.js +191 -0
  237. package/src/plugins/{plugin.url.js → url/plugin.url.js} +44 -15
  238. package/src/util/TextSelectionManager.js +282 -0
  239. package/src/util/browserSniffing.js +33 -1
  240. package/src/util/cache.js +20 -0
  241. package/src/util/docCookies.js +21 -2
  242. package/src/util/lit.js +15 -0
  243. package/src/util/strings.js +1 -0
  244. package/.babelrc +0 -12
  245. package/.dependabot/config.yml +0 -6
  246. package/.eslintrc.js +0 -50
  247. package/.gitattributes +0 -2
  248. package/.github/ISSUE_TEMPLATE/bug.md +0 -32
  249. package/.github/ISSUE_TEMPLATE/feature-request.md +0 -30
  250. package/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -15
  251. package/.github/workflows/node.js.yml +0 -37
  252. package/.github/workflows/npm-publish.yml +0 -47
  253. package/.testcaferc.json +0 -5
  254. package/BookReader/bookreader-component-bundle.js +0 -1450
  255. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
  256. package/BookReader/bookreader-component-bundle.js.map +0 -1
  257. package/BookReader/jquery-1.10.1.js +0 -2
  258. package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
  259. package/BookReader/plugins/plugin.menu_toggle.js +0 -2
  260. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  261. package/BookReader/plugins/plugin.mobile_nav.js +0 -2
  262. package/BookReader/plugins/plugin.mobile_nav.js.map +0 -1
  263. package/BookReaderDemo/BookReaderDemo.css +0 -41
  264. package/BookReaderDemo/BookReaderJSAdvanced.js +0 -115
  265. package/BookReaderDemo/BookReaderJSAutoplay.js +0 -56
  266. package/BookReaderDemo/BookReaderJSSimple.js +0 -55
  267. package/BookReaderDemo/IIIFBookReader.js +0 -207
  268. package/BookReaderDemo/assets/v5/Bookreader-logo-cool-grad.svg +0 -1
  269. package/BookReaderDemo/assets/v5/Bookreader-logo-flat.svg +0 -1
  270. package/BookReaderDemo/assets/v5/Bookreader-logo-hex-cool-grad.png +0 -0
  271. package/BookReaderDemo/assets/v5/Bookreader-logo-hex-flat.png +0 -0
  272. package/BookReaderDemo/assets/v5/Bookreader-logo-lines.png +0 -0
  273. package/BookReaderDemo/assets/v5/Bookreader-logo-lines.svg +0 -1
  274. package/BookReaderDemo/assets/v5/Bookreader-logo-warm.svg +0 -1
  275. package/BookReaderDemo/assets/v5/bookreader-logo-renders@1x.png +0 -0
  276. package/BookReaderDemo/assets/v5/bookreader-logo-renders@2x.png +0 -0
  277. package/BookReaderDemo/assets/v5/bookreader-v5-screenshot.png +0 -0
  278. package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
  279. package/BookReaderDemo/demo-advanced.html +0 -33
  280. package/BookReaderDemo/demo-autoplay.html +0 -38
  281. package/BookReaderDemo/demo-embed-iframe-src.html +0 -84
  282. package/BookReaderDemo/demo-embed.html +0 -26
  283. package/BookReaderDemo/demo-fullscreen-mobile.html +0 -36
  284. package/BookReaderDemo/demo-fullscreen.html +0 -33
  285. package/BookReaderDemo/demo-iiif.html +0 -34
  286. package/BookReaderDemo/demo-iiif.js +0 -26
  287. package/BookReaderDemo/demo-internetarchive.html +0 -74
  288. package/BookReaderDemo/demo-multiple.html +0 -43
  289. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  290. package/BookReaderDemo/demo-preview-pages.html +0 -1092
  291. package/BookReaderDemo/demo-simple.html +0 -34
  292. package/BookReaderDemo/demo-vendor-fullscreen.html +0 -36
  293. package/BookReaderDemo/immersion-1up.html +0 -64
  294. package/BookReaderDemo/immersion-mode.html +0 -35
  295. package/BookReaderDemo/toggle_controls.html +0 -53
  296. package/BookReaderDemo/view_mode.html +0 -39
  297. package/BookReaderDemo/viewmode-cycle.html +0 -41
  298. package/CHANGELOG.md +0 -495
  299. package/CONTRIBUTING.md +0 -7
  300. package/codecov.yml +0 -17
  301. package/index.html +0 -31
  302. package/karma.conf.js +0 -23
  303. package/screenshot.png +0 -0
  304. package/scripts/postversion.js +0 -10
  305. package/scripts/preversion.js +0 -14
  306. package/scripts/version.js +0 -26
  307. package/src/BookNavigator/BookModel.js +0 -14
  308. package/src/BookNavigator/BookNavigator.js +0 -446
  309. package/src/BookNavigator/assets/book-loader.js +0 -27
  310. package/src/BookNavigator/assets/icon_checkmark.js +0 -6
  311. package/src/BookNavigator/assets/icon_close.js +0 -3
  312. package/src/BookNavigator/bookmarks/bookmarks-provider.js +0 -53
  313. package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
  314. package/src/BookNavigator/downloads/downloads-provider.js +0 -66
  315. package/src/BookNavigator/search/a-search-result.js +0 -55
  316. package/src/BookReader/DebugConsole.js +0 -54
  317. package/src/BookReaderComponent/BookReaderComponent.js +0 -112
  318. package/src/ItemNavigator/ItemNavigator.js +0 -376
  319. package/src/ItemNavigator/providers/sharing.js +0 -29
  320. package/src/css/_MobileNav.scss +0 -194
  321. package/src/dragscrollable-br.js +0 -261
  322. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  323. package/src/plugins/plugin.mobile_nav.js +0 -287
  324. package/tests/BookReader/BookModel.test.js +0 -312
  325. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  326. package/tests/BookReader/DebugConsole.test.js +0 -25
  327. package/tests/BookReader/ImageCache.test.js +0 -150
  328. package/tests/BookReader/Mode1Up.test.js +0 -164
  329. package/tests/BookReader/Mode2Up.test.js +0 -247
  330. package/tests/BookReader/Navbar/Navbar.test.js +0 -169
  331. package/tests/BookReader/PageContainer.test.js +0 -115
  332. package/tests/BookReader/ReduceSet.test.js +0 -38
  333. package/tests/BookReader/Toolbar/Toolbar.test.js +0 -26
  334. package/tests/BookReader/utils/classes.test.js +0 -88
  335. package/tests/BookReader/utils.test.js +0 -109
  336. package/tests/BookReader.options.test.js +0 -39
  337. package/tests/BookReader.test.js +0 -301
  338. package/tests/e2e/README.md +0 -75
  339. package/tests/e2e/autoplay.test.js +0 -13
  340. package/tests/e2e/base.test.js +0 -35
  341. package/tests/e2e/helpers/base.js +0 -263
  342. package/tests/e2e/helpers/debug.js +0 -13
  343. package/tests/e2e/helpers/desktopSearch.js +0 -72
  344. package/tests/e2e/helpers/mobileSearch.js +0 -85
  345. package/tests/e2e/helpers/mockSearch.js +0 -93
  346. package/tests/e2e/helpers/rightToLeft.js +0 -29
  347. package/tests/e2e/ia-production/ia-prod-base.js +0 -17
  348. package/tests/e2e/models/BookReader.js +0 -11
  349. package/tests/e2e/models/Navigation.js +0 -56
  350. package/tests/e2e/rightToLeft.test.js +0 -20
  351. package/tests/e2e/viewmode.test.js +0 -37
  352. package/tests/karma/BookNavigator/book-navigator.test.js +0 -132
  353. package/tests/karma/BookNavigator/bookmarks/bookmark-edit.test.js +0 -133
  354. package/tests/karma/BookNavigator/bookmarks/bookmarks-list.test.js +0 -222
  355. package/tests/karma/BookNavigator/search/search-provider.test.js +0 -23
  356. package/tests/karma/BookNavigator/search/search-results.test.js +0 -240
  357. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
  358. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
  359. package/tests/plugins/plugin.archive_analytics.test.js +0 -23
  360. package/tests/plugins/plugin.autoplay.test.js +0 -52
  361. package/tests/plugins/plugin.chapters.test.js +0 -130
  362. package/tests/plugins/plugin.iframe.test.js +0 -42
  363. package/tests/plugins/plugin.mobile_nav.test.js +0 -66
  364. package/tests/plugins/plugin.resume.test.js +0 -98
  365. package/tests/plugins/plugin.text_selection.test.js +0 -203
  366. package/tests/plugins/plugin.url.test.js +0 -129
  367. package/tests/plugins/plugin.vendor-fullscreen.test.js +0 -65
  368. package/tests/plugins/search/plugin.search.test.js +0 -173
  369. package/tests/plugins/search/plugin.search.view.test.js +0 -106
  370. package/tests/plugins/tts/AbstractTTSEngine.test.js +0 -153
  371. package/tests/plugins/tts/FestivalTTSEngine.test.js +0 -59
  372. package/tests/plugins/tts/PageChunk.test.js +0 -57
  373. package/tests/plugins/tts/PageChunkIterator.test.js +0 -179
  374. package/tests/plugins/tts/WebTTSEngine.test.js +0 -126
  375. package/tests/plugins/tts/utils.test.js +0 -133
  376. package/tests/util/browserSniffing.test.js +0 -56
  377. package/tests/util/docCookies.test.js +0 -15
  378. package/tests/util/strings.test.js +0 -63
  379. package/tests/utils.js +0 -42
  380. 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,42 +77,43 @@
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;
88
89
  line-height: 1.2;
89
90
  -webkit-text-size-adjust: none;
90
91
  /* Some helper functional css utilities */
91
- /* Desktop-only */
92
- /* Element-level rules */
93
92
  }
94
- .BookReader .larger, .BRmobileMenu .larger, .BRfloat .larger {
93
+ .BookReader .larger, .BRfloat .larger {
95
94
  font-size: 1.2em;
96
95
  }
96
+ .BookReader, .BRfloat {
97
+ /* Desktop-only */
98
+ }
97
99
  @media (min-width: 801px) {
98
- .BookReader .mv20-lg, .BRmobileMenu .mv20-lg, .BRfloat .mv20-lg {
100
+ .BookReader .mv20-lg, .BRfloat .mv20-lg {
99
101
  margin-top: 20px;
100
102
  margin-bottom: 20px;
101
103
  }
102
104
  }
103
- .BookReader h3, .BRmobileMenu h3, .BRfloat h3 {
105
+ .BookReader, .BRfloat {
106
+ /* Element-level rules */
107
+ }
108
+ .BookReader h3, .BRfloat h3 {
104
109
  font-size: 20px;
105
110
  font-weight: 700;
106
111
  color: #dedede;
107
112
  }
108
- .BookReader a, .BRmobileMenu a, .BRfloat a {
109
- outline: none;
110
- }
111
- .BookReader button, .BRmobileMenu button, .BRfloat button {
113
+ .BookReader button, .BRfloat button {
112
114
  cursor: pointer;
113
115
  }
114
- .BookReader a.logo, .BRmobileMenu a.logo, .BRfloat a.logo {
116
+ .BookReader a.logo, .BRfloat a.logo {
115
117
  display: inline-block;
116
118
  width: auto;
117
119
  height: 100%;
@@ -126,6 +128,7 @@
126
128
  position: relative;
127
129
  overflow: hidden;
128
130
  background-color: black;
131
+ contain: strict;
129
132
  }
130
133
 
131
134
  .BRcontainer {
@@ -204,7 +207,7 @@
204
207
  display: block;
205
208
  }
206
209
  .BRshare button[type=button].share-finished {
207
- background-color: #4a90e2;
210
+ background-color: rgb(74, 144, 226);
208
211
  border: 0;
209
212
  color: white;
210
213
  border-radius: 3px;
@@ -227,13 +230,13 @@
227
230
  }
228
231
 
229
232
  .BRinfoMoreInfoWrapper {
230
- background-color: #4a90e2;
233
+ background-color: rgb(74, 144, 226);
231
234
  border-radius: 2px;
232
235
  padding: 8px;
233
236
  text-align: center;
234
237
  }
235
238
  .BRinfoMoreInfoWrapper:active {
236
- background-color: #509bf2;
239
+ background-color: rgb(80, 155, 242);
237
240
  }
238
241
 
239
242
  .BRinfoOtherFormats {
@@ -284,10 +287,10 @@ body.BRfullscreenActive .mm-menu {
284
287
  line-height: 1;
285
288
  }
286
289
  .BRaction:active {
287
- background-color: #ababab;
290
+ background-color: rgb(171, 171, 171);
288
291
  }
289
292
  .BRaction.default {
290
- background-color: #c1c1c1;
293
+ background-color: rgb(193, 193, 193);
291
294
  color: white;
292
295
  }
293
296
  .BRaction.primary {
@@ -302,7 +305,7 @@ body.BRfullscreenActive .mm-menu {
302
305
  color: orange;
303
306
  }
304
307
  .BRaction.orangeButton:active {
305
- border-color: #f9c613;
308
+ border-color: rgb(249, 198, 19);
306
309
  }
307
310
  .BRaction.skinny {
308
311
  min-width: 50px;
@@ -322,51 +325,42 @@ body.BRfullscreenActive .mm-menu {
322
325
  .BRinfoLeftCol {
323
326
  font-size: 14px;
324
327
  }
325
-
326
328
  .BRimageW {
327
329
  text-align: center;
328
330
  margin-bottom: 10px;
329
331
  }
330
-
331
332
  .BRimageW img {
332
333
  height: 200px;
333
334
  width: auto;
334
335
  }
335
-
336
336
  .BRinfoValue.larger {
337
337
  font-size: 16px;
338
338
  }
339
-
340
339
  .BRinfoMoreInfoWrapper a {
341
340
  font-size: inherit;
342
341
  color: white;
343
342
  text-decoration: none;
344
343
  }
345
-
346
344
  .BRinfoOtherFormatsFormat {
347
345
  margin-bottom: 6px;
348
346
  }
349
-
350
347
  .BRinfoFooter {
351
348
  margin-bottom: 10px;
352
349
  text-align: left;
353
350
  }
354
-
355
351
  .BRinfoFooter a {
356
352
  display: block;
357
353
  }
358
-
359
354
  .BRfloatFoot.BRinfoFooter {
360
355
  margin: initial;
361
356
  padding: initial;
362
357
  border: initial;
363
358
  font-size: inherit;
364
359
  }
365
-
366
- .BookReader .fieldset-embed, .BRmobileMenu .fieldset-embed, .BRfloat .fieldset-embed {
360
+ .BookReader .fieldset-embed, .BRfloat .fieldset-embed {
367
361
  display: none;
368
362
  }
369
- .BookReader .BRaction, .BRmobileMenu .BRaction, .BRfloat .BRaction {
363
+ .BookReader .BRaction, .BRfloat .BRaction {
370
364
  padding: 8px 10px;
371
365
  margin-left: 0;
372
366
  margin-bottom: 10px;
@@ -379,57 +373,47 @@ body.BRfullscreenActive .mm-menu {
379
373
  position: relative;
380
374
  padding: 15px;
381
375
  }
382
-
383
376
  .BRinfoLeftCol {
384
377
  float: left;
385
378
  width: 40%;
386
379
  min-height: 1px;
387
380
  }
388
-
389
381
  .BRinfoRightCol {
390
382
  float: left;
391
383
  width: 58%;
392
384
  }
393
-
394
385
  .BRimageW {
395
386
  text-align: center;
396
387
  margin-bottom: 10px;
397
388
  margin-right: 26px;
398
389
  }
399
-
400
390
  .BRimageW img {
401
391
  height: auto;
402
392
  width: 100%;
403
393
  }
404
-
405
394
  .BRinfoValue.larger {
406
395
  font-size: 20px;
407
396
  line-height: 1.2;
408
397
  }
409
-
410
398
  .BRinfoMoreInfoWrapper a {
411
399
  font-size: 14px;
412
400
  color: white;
413
401
  text-decoration: none;
414
402
  font-weight: bold;
415
403
  }
416
-
417
404
  .BRinfoOtherFormatsFormat {
418
405
  display: inline;
419
406
  margin-right: 10px;
420
407
  }
421
-
422
408
  .BRinfoFooter {
423
409
  font-size: 1em;
424
410
  clear: both;
425
411
  }
426
-
427
412
  .BRinfoFooter a {
428
413
  display: inline;
429
414
  margin-right: 10px;
430
415
  }
431
-
432
- .BookReader .BRaction, .BRmobileMenu .BRaction, .BRfloat .BRaction {
416
+ .BookReader .BRaction, .BRfloat .BRaction {
433
417
  padding: 8px 16px;
434
418
  }
435
419
  }
@@ -441,6 +425,23 @@ body.BRfullscreenActive .mm-menu {
441
425
  background-color: white;
442
426
  }
443
427
 
428
+ .BRfullscreenAnimation .br-mode-2up__book {
429
+ transition: transform 0.2s ease-in-out;
430
+ }
431
+
432
+ .fullscreenActive.BRmodeThumb .BRcontainer,
433
+ .fullscreenActive.BRmode1up .BRcontainer {
434
+ animation: flash 0.3s ease-in-out;
435
+ }
436
+
437
+ @keyframes flash {
438
+ 0% {
439
+ opacity: 0;
440
+ }
441
+ 100% {
442
+ opacity: 1;
443
+ }
444
+ }
444
445
  .BRpageview {
445
446
  position: relative;
446
447
  margin: auto;
@@ -453,7 +454,7 @@ body.BRfullscreenActive .mm-menu {
453
454
  border: 0;
454
455
  }
455
456
 
456
- .BRmodeThumb .BRpagecontainer, .BRmode2Up .BRpagecontainer {
457
+ .BRmodeThumb .BRpagecontainer, .BRmode2up .BRpagecontainer {
457
458
  cursor: pointer;
458
459
  }
459
460
 
@@ -461,10 +462,29 @@ body.BRfullscreenActive .mm-menu {
461
462
  cursor: unset;
462
463
  }
463
464
 
465
+ .br-mode-1up__root {
466
+ display: block;
467
+ overflow: auto;
468
+ position: relative;
469
+ width: 100%;
470
+ height: 100%;
471
+ contain: strict;
472
+ }
473
+ .br-mode-1up__root .br-mode-1up__world {
474
+ position: absolute;
475
+ transform-origin: 0 0;
476
+ }
477
+ .br-mode-1up__root .br-mode-1up__visible-world {
478
+ position: absolute;
479
+ transform-origin: 0 0;
480
+ }
481
+
464
482
  .BRpagecontainer {
465
483
  position: relative;
466
484
  overflow: hidden;
467
485
  background: #FEFDEB;
486
+ overflow: hidden;
487
+ overflow: clip;
468
488
  }
469
489
  .BRpagecontainer img {
470
490
  position: absolute;
@@ -484,6 +504,20 @@ body.BRfullscreenActive .mm-menu {
484
504
  .BRpagecontainer.BRpageloading img {
485
505
  color: transparent;
486
506
  }
507
+ .BRpagecontainer.BRpageloading img:not([src]) {
508
+ display: none;
509
+ }
510
+ .BRpagecontainer.BRpageloading::after {
511
+ display: block;
512
+ content: "";
513
+ width: 20px;
514
+ height: 20px;
515
+ position: absolute;
516
+ left: 50%;
517
+ top: 50%;
518
+ transform: translate(-50%, -50%);
519
+ background: url("images/loading.gif") center/20px no-repeat;
520
+ }
487
521
  .BRpagecontainer.BRemptypage {
488
522
  background: transparent;
489
523
  }
@@ -491,61 +525,127 @@ body.BRfullscreenActive .mm-menu {
491
525
  background-image: none;
492
526
  }
493
527
 
494
- .BRbookcover {
528
+ svg.BRPageLayer {
495
529
  position: absolute;
496
- background-image: none;
497
- box-shadow: 1px 0 10px #111;
530
+ top: 0;
531
+ left: 0;
532
+ right: 0;
533
+ bottom: 0;
498
534
  }
499
535
 
500
- .BRPreview .BRpageimage {
501
- background-color: #eee;
502
- -webkit-filter: grayscale(100%);
503
- filter: grayscale(100%);
536
+ .BRpageFlipping .BRtextLayer {
537
+ display: none;
504
538
  }
505
539
 
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;
540
+ .br-mode-2up__root {
541
+ display: block;
542
+ overflow: auto;
543
+ width: 100%;
544
+ height: 100%;
513
545
  }
514
546
 
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 */
547
+ .br-mode-2up__book {
548
+ position: relative;
549
+ transform-origin: 0 0;
550
+ width: 0px;
551
+ height: 0px;
552
+ }
553
+
554
+ .BRmode2up {
555
+ transition: opacity 0.2s;
556
+ }
557
+
558
+ .BRmode2up .BRpagecontainer {
559
+ backface-visibility: hidden;
560
+ }
561
+ .BRmode2up .BRpagecontainer:not(.BRpage-visible) {
562
+ display: none;
563
+ }
564
+
565
+ .br-mode-2up__leafs {
521
566
  position: absolute;
522
567
  cursor: pointer;
568
+ top: 0;
569
+ transform-style: preserve-3d;
523
570
  }
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 */
571
+ .br-mode-2up__leafs[side=left] {
572
+ border-radius: 4px 0 0 4px;
573
+ }
574
+ .br-mode-2up__leafs[side=left] .br-leaf-edges__label {
575
+ padding-right: 10px;
576
+ border-radius: 4px 0 0 4px;
577
+ }
578
+ .br-mode-2up__leafs[side=right] {
579
+ border-radius: 0 4px 4px 0;
580
+ }
581
+ .br-mode-2up__leafs[side=right] .br-leaf-edges__label {
582
+ padding-left: 20px;
583
+ border-radius: 0 4px 4px 0;
584
+ }
585
+ .br-mode-2up__leafs.br-mode-2up__leafs--flipping {
586
+ z-index: 200000;
587
+ transition: transform 5s;
588
+ transition-timing-function: ease-in-out;
589
+ border-radius: 0;
590
+ }
591
+ .br-mode-2up__leafs.br-mode-2up__leafs--flipping:before {
592
+ content: "";
593
+ display: block;
594
+ width: 100%;
595
+ height: 100%;
531
596
  position: absolute;
597
+ transform: rotateY(-90deg);
532
598
  }
533
-
534
- .BRgutter {
535
- /* border: 1px solid rgb(68, 25, 17); */
599
+ .br-mode-2up__leafs, .br-mode-2up__leafs.br-mode-2up__leafs--flipping::before {
600
+ background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
601
+ }
602
+ .br-mode-2up__leafs .br-leaf-edges__bar {
603
+ display: none;
604
+ pointer-events: none;
536
605
  position: absolute;
537
- background: transparent url(images/booksplit.png) repeat scroll 0% 0%;
606
+ top: 0;
607
+ bottom: 0;
608
+ min-width: 1px;
609
+ background-color: #9A9B9D;
610
+ opacity: 0.85;
611
+ transform: translateX(-50%);
538
612
  }
539
-
540
- .BRtwoPagePopUp {
541
- padding: 6px;
613
+ .br-mode-2up__leafs .br-leaf-edges__label {
614
+ display: none;
615
+ pointer-events: none;
616
+ z-index: 1000;
542
617
  position: absolute;
543
- font-size: 12px;
618
+ padding: 6px;
544
619
  color: white;
545
620
  background-color: #9A9B9D;
546
621
  opacity: 0.85;
547
- border-radius: 4px;
548
622
  white-space: nowrap;
623
+ transform: translateY(-10px);
624
+ }
625
+
626
+ .br-mode-2up--flipping-left .BRpage-entering[data-side=R] {
627
+ z-index: 10;
628
+ transform-origin: left;
629
+ transform: rotateY(0deg);
630
+ }
631
+ .br-mode-2up--flipping-left .BRpage-exiting[data-side=L] {
632
+ z-index: 10;
633
+ transform-origin: right;
634
+ }
635
+ .br-mode-2up--flipping-left .BRpage-exiting[data-side=R] {
636
+ z-index: 9;
637
+ }
638
+
639
+ .br-mode-2up--flipping-right .BRpage-entering[data-side=L] {
640
+ z-index: 10;
641
+ transform-origin: right;
642
+ }
643
+ .br-mode-2up--flipping-right .BRpage-exiting[data-side=R] {
644
+ z-index: 10;
645
+ transform-origin: left;
646
+ }
647
+ .br-mode-2up--flipping-right .BRpage-exiting[data-side=L] {
648
+ z-index: 9;
549
649
  }
550
650
 
551
651
  .BRToolbarButton, .BRicon {
@@ -616,10 +716,10 @@ i.BRicon {
616
716
  }
617
717
 
618
718
  .BRicon.read {
719
+ transition-property: background-color, border, background-position;
619
720
  width: 34px;
620
721
  height: 34px;
621
722
  background-position: -203px center;
622
- transition-property: background-color, border, background-position;
623
723
  }
624
724
  @media (max-width: 800px) {
625
725
  .BRicon.read {
@@ -630,10 +730,10 @@ i.BRicon {
630
730
  }
631
731
 
632
732
  .BRicon.unread {
733
+ transition-property: background-color, border, background-position;
633
734
  width: 34px;
634
735
  height: 34px;
635
736
  background-position: -283px center;
636
- transition-property: background-color, border, background-position;
637
737
  }
638
738
  @media (max-width: 800px) {
639
739
  .BRicon.unread {
@@ -725,7 +825,7 @@ i.BRicon {
725
825
  * BRfloat is the modal popup used in bookreader
726
826
  */
727
827
  .BRfloat {
728
- color: #343434;
828
+ color: rgb(52, 52, 52);
729
829
  }
730
830
 
731
831
  .BRfloat a.title {
@@ -881,14 +981,13 @@ i.BRicon {
881
981
  /* Desktop Only */
882
982
  @media (min-width: 801px) {
883
983
  .BRfloat .message,
884
- .BRfloatBody {
984
+ .BRfloatBody {
885
985
  padding: 10px 15px 10px 15px;
886
986
  font-size: 16px;
887
987
  line-height: normal;
888
988
  margin-top: 0;
889
989
  margin-bottom: 0px;
890
990
  }
891
-
892
991
  .BRfloatHead {
893
992
  box-sizing: border-box;
894
993
  line-height: normal;
@@ -896,9 +995,8 @@ i.BRicon {
896
995
  font-size: 16px;
897
996
  font-weight: 700;
898
997
  text-align: center;
899
- border-bottom: 1px solid #d8d8d8;
998
+ border-bottom: 1px solid rgb(216, 216, 216);
900
999
  }
901
-
902
1000
  .BRfloatFoot {
903
1001
  padding: 10px;
904
1002
  margin-bottom: 10px;
@@ -909,25 +1007,22 @@ i.BRicon {
909
1007
  .BRfloatBody {
910
1008
  padding: 10px 10px;
911
1009
  }
912
-
913
1010
  .BRfloat .message,
914
- .BRfloatBody,
915
- .BRfloatHead {
1011
+ .BRfloatBody,
1012
+ .BRfloatHead {
916
1013
  box-sizing: border-box;
917
1014
  line-height: normal;
918
- border-bottom: 1px solid #d8d8d8;
1015
+ border-bottom: 1px solid rgb(216, 216, 216);
919
1016
  padding: 10px;
920
1017
  min-height: initial;
921
1018
  font-size: 14px;
922
1019
  font-weight: 700;
923
1020
  text-align: center;
924
1021
  }
925
-
926
1022
  .BRfloatFoot {
927
1023
  padding: 10px 10px 0 10px;
928
1024
  border-top: 1px solid #ccc;
929
1025
  }
930
-
931
1026
  .BRfloatFoot .BRaction {
932
1027
  margin-bottom: 10px;
933
1028
  }
@@ -937,7 +1032,6 @@ i.BRicon {
937
1032
  max-width: initial;
938
1033
  width: 455px;
939
1034
  }
940
-
941
1035
  .BRfloat.wide {
942
1036
  max-width: initial;
943
1037
  width: 555px;
@@ -961,11 +1055,11 @@ i.BRicon {
961
1055
  @keyframes fadeUp {
962
1056
  from {
963
1057
  opacity: 0;
964
- transform: translateY(10px);
1058
+ translate: 0 10px;
965
1059
  }
966
1060
  to {
967
1061
  opacity: 1;
968
- transform: translateY(0);
1062
+ translate: 0 0;
969
1063
  }
970
1064
  }
971
1065
  .BRfooter {
@@ -989,13 +1083,14 @@ i.BRicon {
989
1083
  border: none;
990
1084
  border-radius: 2px;
991
1085
  background: transparent;
992
- outline: none;
993
1086
  }
994
- .BRfooter button:hover .tooltip {
995
- display: block;
996
- }
997
- .BRfooter button.hide {
998
- display: none;
1087
+ @media (hover: hover) {
1088
+ .BRfooter button {
1089
+ /* styles to apply on devices that support hover */
1090
+ }
1091
+ .BRfooter button:hover .BRtooltip {
1092
+ display: block;
1093
+ }
999
1094
  }
1000
1095
 
1001
1096
  .BRReadAloudToolbar {
@@ -1009,7 +1104,6 @@ i.BRicon {
1009
1104
  animation: fadeUp 0.2s;
1010
1105
  background-color: #333;
1011
1106
  color: white;
1012
- /* Full mobile styles */
1013
1107
  }
1014
1108
  .BRReadAloudToolbar a {
1015
1109
  color: white;
@@ -1040,91 +1134,6 @@ i.BRicon {
1040
1134
  display: block;
1041
1135
  border: 3px solid rgba(255, 255, 255, 0.3);
1042
1136
  }
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
1137
  .BRReadAloudToolbar--controls {
1129
1138
  display: flex;
1130
1139
  }
@@ -1175,8 +1184,7 @@ i.BRicon {
1175
1184
  appearance: none;
1176
1185
  border: 0;
1177
1186
  text-align: center;
1178
- text-align-last: center;
1179
- /* Chrome */
1187
+ text-align-last: center; /* Chrome */
1180
1188
  padding-top: 60%;
1181
1189
  padding-left: 10%;
1182
1190
  padding-right: 10%;
@@ -1203,24 +1211,6 @@ i.BRicon {
1203
1211
  /* Theming */
1204
1212
  background-color: #333;
1205
1213
  color: white;
1206
- /* Full mobile styles */
1207
- }
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
1214
  }
1225
1215
  .BRnav a {
1226
1216
  color: white;
@@ -1251,12 +1241,8 @@ i.BRicon {
1251
1241
  display: block;
1252
1242
  border: 3px solid rgba(255, 255, 255, 0.3);
1253
1243
  }
1254
- .BRnav .BRnavCntl {
1255
- z-index: 6;
1256
- background-color: #4D4D4D;
1257
- }
1258
- .BRnav .BRnavCntlBtm:hover {
1259
- background-color: #0074D1;
1244
+ .BRnav {
1245
+ /* Full mobile styles */
1260
1246
  }
1261
1247
  @media (max-width: 800px) {
1262
1248
  .BRnav {
@@ -1280,11 +1266,15 @@ i.BRicon {
1280
1266
  box-sizing: content-box;
1281
1267
  border-radius: 10px;
1282
1268
  cursor: pointer;
1283
- /* handle active state for touch */
1284
1269
  }
1285
1270
  .BRpager.ui-slider.ui-widget.ui-widget-content {
1286
1271
  border: none;
1287
1272
  }
1273
+ .BRpager.ui-slider.ui-slider-docked {
1274
+ height: 1px;
1275
+ width: 100%;
1276
+ margin: 0px;
1277
+ }
1288
1278
  .BRpager.ui-slider .ui-slider-horizontal .ui-slider-handle,
1289
1279
  .BRpager.ui-slider .ui-slider-handle {
1290
1280
  position: absolute;
@@ -1292,8 +1282,7 @@ i.BRicon {
1292
1282
  height: 20px;
1293
1283
  border-radius: 50%;
1294
1284
  top: -5px;
1295
- margin-left: -9px;
1296
- /* Center icon */
1285
+ margin-left: -9px; /* Center icon */
1297
1286
  z-index: 6;
1298
1287
  border: none;
1299
1288
  }
@@ -1301,6 +1290,9 @@ i.BRicon {
1301
1290
  height: 100%;
1302
1291
  border-radius: 10px;
1303
1292
  }
1293
+ .BRpager.ui-slider {
1294
+ /* handle active state for touch */
1295
+ }
1304
1296
  .touch .BRpager.ui-slider .ui-slider-handle.ui-state-active {
1305
1297
  width: 24px;
1306
1298
  height: 24px;
@@ -1320,10 +1312,10 @@ i.BRicon {
1320
1312
 
1321
1313
  .BRcurrentpage {
1322
1314
  display: inline-block;
1323
- text-align: center;
1315
+ text-align: left;
1324
1316
  padding: 0 0 0 0;
1325
1317
  font-size: 12px;
1326
- margin-left: 5px;
1318
+ margin-left: 15px;
1327
1319
  margin-right: 10px;
1328
1320
  line-height: 1;
1329
1321
  }
@@ -1366,24 +1358,13 @@ i.BRicon {
1366
1358
  vertical-align: top;
1367
1359
  }
1368
1360
 
1369
- .BRup {
1370
- background-image: url("images/nav_control-up.png");
1371
- background-repeat: no-repeat;
1372
- }
1373
-
1374
1361
  /* Mobile Only */
1375
1362
  @media (max-width: 800px) {
1376
1363
  /* hide navline chapters and search in mobile */
1377
1364
  .BRnavline .BRchapter {
1378
1365
  display: none;
1379
1366
  }
1380
-
1381
- .BRnavCntlBtm {
1382
- bottom: 34px;
1383
- }
1384
-
1385
1367
  .BRpager.ui-slider {
1386
- height: 10px;
1387
1368
  top: 12px;
1388
1369
  }
1389
1370
  }
@@ -1399,6 +1380,53 @@ i.BRicon {
1399
1380
  background-position: -1384px center;
1400
1381
  }
1401
1382
 
1383
+ .BRnavMobile {
1384
+ box-sizing: content-box;
1385
+ }
1386
+
1387
+ .BRnavMobile.docked {
1388
+ height: 0px;
1389
+ border: none;
1390
+ }
1391
+ .BRnavMobile.docked .BRcontrols .scrubber .BRpager.ui-slider {
1392
+ top: -1px;
1393
+ }
1394
+ .BRnavMobile.docked .ui-slider,
1395
+ .BRnavMobile.docked .ui-slider-range {
1396
+ height: 2px;
1397
+ border-radius: 0px;
1398
+ }
1399
+ .BRnavMobile.docked .BRnavpos {
1400
+ margin: 0px;
1401
+ }
1402
+ .BRnavMobile.docked .scrubber {
1403
+ margin: 0px;
1404
+ padding: 0px;
1405
+ height: 0px;
1406
+ }
1407
+ .BRnavMobile.docked .controls {
1408
+ padding: 0px;
1409
+ background-color: transparent;
1410
+ }
1411
+ .BRnavMobile.docked .BRnavline {
1412
+ display: none;
1413
+ }
1414
+ .BRnavMobile.docked .ui-slider-handle {
1415
+ display: none;
1416
+ }
1417
+ .BRnavMobile.docked button {
1418
+ display: none;
1419
+ }
1420
+
1421
+ .ui-slider:focus-within {
1422
+ outline: 2px solid #BBB;
1423
+ outline-offset: 1px;
1424
+ }
1425
+
1426
+ .BRnavMobile.hide {
1427
+ display: none;
1428
+ }
1429
+
1402
1430
  /**
1403
1431
  * BRtoolbar is the top control bar (eg header)
1404
1432
  */
@@ -1438,8 +1466,6 @@ i.BRicon {
1438
1466
 
1439
1467
  .BRtoolbarbuttons {
1440
1468
  white-space: nowrap;
1441
- text-align: right;
1442
- border-spacing: 0;
1443
1469
  box-sizing: border-box;
1444
1470
  display: flex;
1445
1471
  flex-direction: row;
@@ -1472,13 +1498,11 @@ i.BRicon {
1472
1498
  }
1473
1499
 
1474
1500
  .BRtoolbarLeft {
1475
- text-align: left;
1476
1501
  flex: 1 auto;
1477
1502
  overflow-y: hidden;
1478
1503
  }
1479
1504
 
1480
1505
  .BRtoolbarRight {
1481
- text-align: right;
1482
1506
  flex: none;
1483
1507
  }
1484
1508
 
@@ -1489,1029 +1513,263 @@ i.BRicon {
1489
1513
  box-shadow: 0px 1px 3px 0px rgba(102, 102, 102, 0.25);
1490
1514
  }
1491
1515
  }
1492
- .BookReader .BRquery, .BRmobileMenu .BRquery, .BRfloat .BRquery, .BookReader .BRchapter > div, .BRmobileMenu .BRchapter > div, .BRfloat .BRchapter > div {
1516
+ ia-bookreader .BRtoolbar {
1517
+ padding-left: 50px;
1518
+ }
1519
+
1520
+ .BookReader .BRquery, .BRfloat .BRquery, .BookReader .BRchapter > div, .BRfloat .BRchapter > div {
1493
1521
  display: none;
1494
1522
  position: absolute;
1495
1523
  bottom: calc(100% + 5px);
1496
- left: 50%;
1497
- transform: translateX(-50%);
1498
- width: 230px;
1524
+ left: -14px;
1525
+ width: 350px;
1526
+ max-width: 100vw;
1499
1527
  padding: 12px 14px;
1528
+ padding-bottom: 10px;
1500
1529
  color: #fff;
1501
- font-weight: bold;
1502
1530
  background: #333;
1503
1531
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
1532
+ border-radius: 4px;
1533
+ animation: fadeUp 0.2s;
1534
+ -webkit-user-select: none;
1535
+ -moz-user-select: none;
1536
+ -ms-user-select: none;
1537
+ -o-user-select: none;
1538
+ user-select: none;
1504
1539
  }
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;
1507
- position: absolute;
1508
- top: 100%;
1509
- left: 50%;
1510
- transform: translateX(-50%);
1511
- content: "";
1512
- border: 7px solid transparent;
1513
- border-width: 7px 4px;
1514
- border-bottom: none;
1515
- border-top-color: #333;
1516
- }
1517
-
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 */
1524
- z-index: 4;
1525
- animation: hiliteFadeIn 0.2s;
1526
- }
1527
- .BookReader .BRchapter, .BookReader .BRsearch, .BRmobileMenu .BRchapter, .BRmobileMenu .BRsearch, .BRfloat .BRchapter, .BRfloat .BRsearch {
1528
- position: absolute;
1529
- bottom: 0;
1530
- /* Relative to nav line */
1531
- cursor: pointer;
1532
- z-index: 3;
1533
- background-color: transparent;
1534
- background-repeat: no-repeat;
1535
- font-weight: normal;
1536
- }
1537
- .BookReader .BRchapter, .BRmobileMenu .BRchapter, .BRfloat .BRchapter {
1538
- background-color: white;
1539
- color: #666;
1540
- height: 8px;
1541
- width: 4px;
1542
- bottom: -13px;
1543
- margin-left: -12px;
1544
- /* Center icon */
1545
- }
1546
- .BookReader .BRchapter:hover > div, .BRmobileMenu .BRchapter:hover > div, .BRfloat .BRchapter:hover > div {
1547
- display: block;
1548
- }
1549
- .BookReader .BRchapter.front, .BRmobileMenu .BRchapter.front, .BRfloat .BRchapter.front {
1550
- background-color: blue;
1551
- }
1552
- .BookReader .BRsearch, .BRmobileMenu .BRsearch, .BRfloat .BRsearch {
1553
- width: 9px;
1554
- height: 6px;
1555
- margin-left: -10px;
1556
- }
1557
- .BookReader .BRsearch:before, .BRmobileMenu .BRsearch:before, .BRfloat .BRsearch:before {
1558
- position: absolute;
1559
- left: calc(50% - 2px);
1560
- transform: translateX(-50%);
1561
- width: 2px;
1562
- height: 6px;
1563
- content: "";
1564
- background: #428bca;
1565
- border-radius: 2px;
1566
- }
1567
- .BookReader .BRsearch:hover .BRquery, .BRmobileMenu .BRsearch:hover .BRquery, .BRfloat .BRsearch:hover .BRquery {
1568
- display: block;
1569
- }
1570
- .BookReader .BRsearch .BRquery, .BRmobileMenu .BRsearch .BRquery, .BRfloat .BRsearch .BRquery {
1571
- display: none;
1572
- }
1573
- .BookReader .BRquery b, .BRmobileMenu .BRquery b, .BRfloat .BRquery b {
1574
- color: #adaedc;
1575
- font-weight: bold;
1576
- background-color: #272958;
1577
- }
1578
- .BookReader .BRbooksearch, .BRmobileMenu .BRbooksearch, .BRfloat .BRbooksearch {
1579
- position: relative;
1580
- box-sizing: border-box;
1581
- }
1582
- .BookReader .BRbooksearch.desktop, .BRmobileMenu .BRbooksearch.desktop, .BRfloat .BRbooksearch.desktop {
1583
- position: relative;
1584
- height: 30px;
1585
- border: 1px solid white;
1586
- border-radius: 20px;
1587
- display: inline-block;
1588
- line-height: 0;
1589
- vertical-align: top;
1590
- margin-top: 0;
1591
- margin-bottom: 0;
1592
- }
1593
- .BookReader .BRbooksearch.desktop .BRsearchInput, .BRmobileMenu .BRbooksearch.desktop .BRsearchInput, .BRfloat .BRbooksearch.desktop .BRsearchInput {
1594
- -webkit-appearance: none;
1595
- position: relative;
1596
- width: 130px;
1597
- max-width: 160px;
1598
- height: 100%;
1599
- color: white;
1600
- outline: none;
1601
- border: none;
1602
- padding: 3px 0px 3px 10px;
1603
- margin: 0;
1604
- box-sizing: border-box;
1605
- background: transparent;
1606
- display: block;
1607
- float: left;
1608
- font-size: 14px;
1609
- line-height: 1.2;
1610
- }
1611
- .BookReader .BRbooksearch.desktop .BRsearchSubmit, .BRmobileMenu .BRbooksearch.desktop .BRsearchSubmit, .BRfloat .BRbooksearch.desktop .BRsearchSubmit {
1612
- width: auto;
1613
- height: 100%;
1614
- border: none;
1615
- text-align: center;
1616
- color: #fff;
1617
- overflow: hidden;
1618
- box-sizing: boder-box;
1619
- display: block;
1620
- background: transparent;
1621
- float: left;
1622
- cursor: pointer;
1623
- }
1624
- .BookReader .BRsearch-navigation, .BRmobileMenu .BRsearch-navigation, .BRfloat .BRsearch-navigation {
1625
- position: relative;
1626
- z-index: 1;
1627
- display: flex;
1628
- justify-content: space-between;
1629
- align-items: center;
1630
- color: #fff;
1631
- background-color: #333;
1632
- padding: 5px 0;
1633
- }
1634
- .BookReader .BRsearch-navigation button.toggle-sidebar, .BRmobileMenu .BRsearch-navigation button.toggle-sidebar, .BRfloat .BRsearch-navigation button.toggle-sidebar {
1635
- width: unset;
1636
- padding: 0 10px;
1637
- }
1638
- .BookReader .BRsearch-navigation button.toggle-sidebar h4, .BRmobileMenu .BRsearch-navigation button.toggle-sidebar h4, .BRfloat .BRsearch-navigation button.toggle-sidebar h4 {
1639
- padding: 0;
1640
- margin: 0;
1641
- font-size: 15px;
1642
- font-weight: normal;
1643
- color: #fff;
1644
- }
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 {
1646
- vertical-align: middle;
1647
- }
1648
- .BookReader .BRsearch-navigation .pagination, .BRmobileMenu .BRsearch-navigation .pagination, .BRfloat .BRsearch-navigation .pagination {
1649
- position: absolute;
1650
- left: 50%;
1651
- top: 50%;
1652
- transform: translate(-50%, -50%);
1653
- margin: 0;
1654
- }
1655
- .BookReader .BRsearch-navigation .pagination span, .BRmobileMenu .BRsearch-navigation .pagination span, .BRfloat .BRsearch-navigation .pagination span {
1656
- display: inline-block;
1657
- padding: 0 5px;
1658
- }
1659
- .BookReader .BRsearch-navigation .pagination button[disabled], .BRmobileMenu .BRsearch-navigation .pagination button[disabled], .BRfloat .BRsearch-navigation .pagination button[disabled] {
1660
- opacity: 0.3;
1661
- cursor: default;
1662
- }
1663
- .BookReader .BRsearch-navigation .pagination button span, .BRmobileMenu .BRsearch-navigation .pagination button span, .BRfloat .BRsearch-navigation .pagination button span {
1664
- width: 8px;
1665
- height: 13px;
1666
- padding: 0;
1667
- background-size: 100% auto;
1668
- }
1669
- .BookReader .BRsearch-navigation .clear span, .BRmobileMenu .BRsearch-navigation .clear span, .BRfloat .BRsearch-navigation .clear span {
1670
- width: 18px;
1671
- height: 18px;
1672
- }
1673
- .BookReader .BRsearch-navigation + .BRnav .BRnavCntl, .BRmobileMenu .BRsearch-navigation + .BRnav .BRnavCntl, .BRfloat .BRsearch-navigation + .BRnav .BRnavCntl {
1674
- display: none;
1675
- }
1676
-
1677
- @keyframes hiliteFadeIn {
1678
- from {
1679
- opacity: 0;
1680
- }
1681
- to {
1682
- opacity: 0.2;
1683
- }
1684
- }
1685
- /* Mid size breakpoint */
1686
- @media (max-width: 1050px) {
1687
- .BookReader .BRbooksearch .BRsearchInput, .BRmobileMenu .BRbooksearch .BRsearchInput, .BRfloat .BRbooksearch .BRsearchInput {
1688
- padding: 0 0 0 8px;
1689
- width: 110px;
1690
- min-width: 110px;
1691
- }
1692
- .BookReader .BRbooksearch .BRsearchSubmit, .BRmobileMenu .BRbooksearch .BRsearchSubmit, .BRfloat .BRbooksearch .BRsearchSubmit {
1693
- float: left;
1694
- }
1695
- }
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;
1540
+ .BookReader .BRquery:after, .BRfloat .BRquery:after, .BookReader .BRchapter > div:after, .BRfloat .BRchapter > div:after {
2383
1541
  position: absolute;
1542
+ content: "";
1543
+ bottom: -9px;
2384
1544
  left: 0;
2385
- top: 1px;
1545
+ width: 30px;
1546
+ height: 10px;
1547
+ clip-path: polygon(0 0, 100% 0, 50% 100%);
2386
1548
  }
2387
1549
 
2388
- .DrawerSettingsTitle {
2389
- color: #fff;
2390
- font-size: 14px;
2391
- font-weight: bold;
2392
- margin-bottom: 10px;
1550
+ .BookReader .searchHiliteLayer, .BookReader .ttsHiliteLayer, .BRfloat .searchHiliteLayer, .BRfloat .ttsHiliteLayer {
1551
+ pointer-events: none;
1552
+ z-index: 4;
2393
1553
  }
2394
-
2395
- .DrawerSettingsLayoutWrapper {
2396
- text-align: center;
2397
- padding: 0;
2398
- margin-bottom: 20px;
1554
+ .BookReader .searchHiliteLayer rect, .BookReader .ttsHiliteLayer rect, .BRfloat .searchHiliteLayer rect, .BRfloat .ttsHiliteLayer rect {
1555
+ fill: rgba(0, 0, 255, 0.2);
2399
1556
  }
2400
-
2401
- .DrawerLayoutButton {
2402
- border: none;
2403
- background: none;
2404
- color: #fff;
2405
- line-height: 18px;
1557
+ .BookReader .searchHiliteLayer rect, .BRfloat .searchHiliteLayer rect {
1558
+ animation: highlightFocus 600ms 1 reverse;
1559
+ stroke: blue;
1560
+ stroke-width: 4px;
2406
1561
  }
2407
-
2408
- .DrawerLayoutButton:active {
2409
- color: grey;
1562
+ .BookReader .searchHiliteLayer rect:nth-child(1), .BRfloat .searchHiliteLayer rect:nth-child(1) {
1563
+ animation-delay: 0ms;
2410
1564
  }
2411
-
2412
- .BRmobileShare div.share-title {
2413
- font-weight: bold;
2414
- font-size: 16px;
2415
- line-height: 1.5;
1565
+ .BookReader .searchHiliteLayer rect:nth-child(2), .BRfloat .searchHiliteLayer rect:nth-child(2) {
1566
+ animation-delay: 50ms;
2416
1567
  }
2417
- .BRmobileShare div.share-social {
2418
- margin: 10px 0 20px 0;
1568
+ .BookReader .searchHiliteLayer rect:nth-child(3), .BRfloat .searchHiliteLayer rect:nth-child(3) {
1569
+ animation-delay: 100ms;
2419
1570
  }
2420
- .BRmobileShare p {
2421
- font-weight: bold;
1571
+ .BookReader .searchHiliteLayer rect:nth-child(4), .BRfloat .searchHiliteLayer rect:nth-child(4) {
1572
+ animation-delay: 150ms;
2422
1573
  }
2423
- .BRmobileShare fieldset {
2424
- padding: 0;
2425
- border: 0;
2426
- margin-bottom: 30px;
1574
+ .BookReader .searchHiliteLayer rect:nth-child(5), .BRfloat .searchHiliteLayer rect:nth-child(5) {
1575
+ animation-delay: 200ms;
1576
+ }
1577
+ .BookReader .searchHiliteLayer rect:nth-child(6), .BRfloat .searchHiliteLayer rect:nth-child(6) {
1578
+ animation-delay: 250ms;
1579
+ }
1580
+ .BookReader .searchHiliteLayer rect:nth-child(7), .BRfloat .searchHiliteLayer rect:nth-child(7) {
1581
+ animation-delay: 300ms;
1582
+ }
1583
+ .BookReader .searchHiliteLayer rect:nth-child(8), .BRfloat .searchHiliteLayer rect:nth-child(8) {
1584
+ animation-delay: 350ms;
1585
+ }
1586
+ .BookReader .searchHiliteLayer rect:nth-child(9), .BRfloat .searchHiliteLayer rect:nth-child(9) {
1587
+ animation-delay: 400ms;
1588
+ }
1589
+ .BookReader .searchHiliteLayer rect:nth-child(10), .BRfloat .searchHiliteLayer rect:nth-child(10) {
1590
+ animation-delay: 450ms;
1591
+ }
1592
+ .BookReader .BRchapter, .BookReader .BRsearch, .BRfloat .BRchapter, .BRfloat .BRsearch {
1593
+ position: absolute;
1594
+ bottom: 0; /* Relative to nav line */
1595
+ cursor: pointer;
1596
+ z-index: 3;
1597
+ background-color: transparent;
1598
+ background-repeat: no-repeat;
1599
+ font-weight: normal;
1600
+ }
1601
+ .BookReader .BRchapter, .BRfloat .BRchapter {
1602
+ background-color: white;
1603
+ color: #666;
1604
+ height: 8px;
1605
+ width: 4px;
1606
+ bottom: -13px;
1607
+ margin-left: -12px; /* Center icon */
2427
1608
  }
2428
- .BRmobileShare fieldset label {
1609
+ .BookReader .BRchapter:hover > div, .BRfloat .BRchapter:hover > div {
2429
1610
  display: block;
2430
1611
  }
2431
- .BRmobileShare fieldset input[type=text] {
2432
- width: 95%;
1612
+ .BookReader .BRchapter.front, .BRfloat .BRchapter.front {
1613
+ background-color: blue;
1614
+ }
1615
+ .BookReader .BRchapter .BRchapterPage, .BRfloat .BRchapter .BRchapterPage {
1616
+ font-size: 0.85em;
1617
+ opacity: 0.8;
2433
1618
  }
2434
- .BRmobileShare button.share-finished {
2435
- display: none;
1619
+ .BookReader .BRsearch, .BRfloat .BRsearch {
1620
+ width: 9px;
1621
+ height: 6px;
1622
+ margin-left: -10px;
2436
1623
  }
2437
- .BRmobileShare div.share-embed {
2438
- border: 1px solid #ccc;
2439
- padding: 0 10px;
1624
+ .BookReader .BRsearch:before, .BRfloat .BRsearch:before {
1625
+ position: absolute;
1626
+ left: calc(50% - 2px);
1627
+ transform: translateX(-50%);
1628
+ width: 2px;
1629
+ height: 6px;
1630
+ content: "";
1631
+ background: #428bca;
1632
+ border-radius: 2px;
2440
1633
  }
2441
- .BRmobileShare .open-to-this-page {
1634
+ .BookReader .BRsearch:hover .BRquery, .BRfloat .BRsearch:hover .BRquery {
2442
1635
  display: block;
2443
- margin: 10px 0;
2444
1636
  }
2445
-
2446
- .BRmobileHamburgerWrapper {
1637
+ .BookReader .BRsearch .BRquery, .BRfloat .BRsearch .BRquery {
2447
1638
  display: none;
2448
1639
  }
2449
-
2450
- .BRmobileMenu {
2451
- display: none;
1640
+ .BookReader .BRquery main, .BRfloat .BRquery main {
1641
+ display: -webkit-box;
1642
+ -webkit-line-clamp: 4;
1643
+ -webkit-box-orient: vertical;
1644
+ overflow: hidden;
1645
+ margin-bottom: 6px;
2452
1646
  }
2453
-
2454
- .BRtoolbar.responsive {
2455
- display: none;
1647
+ .BookReader .BRquery main:before, .BRfloat .BRquery main:before {
1648
+ content: "“";
2456
1649
  }
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
- }
1650
+ .BookReader .BRquery main:after, .BRfloat .BRquery main:after {
1651
+ content: "”";
1652
+ }
1653
+ .BookReader .BRquery footer, .BRfloat .BRquery footer {
1654
+ font-size: 0.85em;
1655
+ opacity: 0.8;
1656
+ }
1657
+ .BookReader .BRquery mark, .BRfloat .BRquery mark {
1658
+ color: #adaedc;
1659
+ font-weight: bold;
1660
+ background-color: #272958;
2481
1661
  }
2482
- .BRcheckbox-label-filters {
1662
+ .BookReader .BRbooksearch, .BRfloat .BRbooksearch {
2483
1663
  position: relative;
2484
- bottom: 2px;
1664
+ box-sizing: border-box;
2485
1665
  }
2486
-
2487
- /* Desktop Only */
2488
- @media (min-width: 801px) {
2489
- .BRtoolbar.responsive {
2490
- display: block;
2491
- }
1666
+ .BookReader .BRbooksearch.desktop, .BRfloat .BRbooksearch.desktop {
1667
+ position: relative;
1668
+ height: 30px;
1669
+ border: 1px solid white;
1670
+ border-radius: 20px;
1671
+ display: inline-block;
1672
+ line-height: 0;
1673
+ vertical-align: top;
1674
+ margin-top: 0;
1675
+ margin-bottom: 0;
1676
+ }
1677
+ .BookReader .BRbooksearch.desktop .BRsearchInput, .BRfloat .BRbooksearch.desktop .BRsearchInput {
1678
+ -webkit-appearance: none;
1679
+ position: relative;
1680
+ width: 130px;
1681
+ max-width: 160px;
1682
+ height: 100%;
1683
+ color: white;
1684
+ border: none;
1685
+ padding: 3px 0px 3px 10px;
1686
+ margin: 0;
1687
+ box-sizing: border-box;
1688
+ background: transparent;
1689
+ display: block;
1690
+ float: left;
1691
+ font-size: 14px;
1692
+ line-height: 1.2;
2492
1693
  }
2493
- li.BRtable-contents-el {
2494
- line-height: 150%;
2495
- padding: 10px 10px 10px 20px;
1694
+ .BookReader .BRbooksearch.desktop .BRsearchSubmit, .BRfloat .BRbooksearch.desktop .BRsearchSubmit {
1695
+ width: auto;
1696
+ height: 100%;
1697
+ border: none;
1698
+ text-align: center;
1699
+ color: #fff;
2496
1700
  overflow: hidden;
1701
+ box-sizing: boder-box;
1702
+ display: block;
1703
+ background: transparent;
1704
+ float: left;
1705
+ cursor: pointer;
1706
+ }
1707
+ .BookReader .BRsearch-navigation, .BRfloat .BRsearch-navigation {
1708
+ position: relative;
1709
+ z-index: 1;
1710
+ display: flex;
1711
+ justify-content: space-between;
1712
+ align-items: center;
2497
1713
  color: #fff;
1714
+ background-color: #333;
1715
+ padding: 5px 0;
2498
1716
  }
2499
- li.BRtable-contents-el.chapter-clickable {
1717
+ .BookReader .BRsearch-navigation button.toggle-sidebar, .BRfloat .BRsearch-navigation button.toggle-sidebar {
1718
+ width: unset;
1719
+ padding: 0 10px;
1720
+ }
1721
+ .BookReader .BRsearch-navigation button.toggle-sidebar h4, .BRfloat .BRsearch-navigation button.toggle-sidebar h4 {
1722
+ padding: 0;
1723
+ margin: 0;
1724
+ font-size: 15px;
2500
1725
  font-weight: normal;
1726
+ color: #fff;
2501
1727
  }
2502
- li.BRtable-contents-el.current-chapter {
2503
- background-color: lightblue;
1728
+ .BookReader .BRsearch-navigation button.toggle-sidebar h4 span, .BRfloat .BRsearch-navigation button.toggle-sidebar h4 span {
1729
+ vertical-align: middle;
2504
1730
  }
2505
- li.BRtable-contents-el > span {
2506
- display: inline;
1731
+ .BookReader .BRsearch-navigation .pagination, .BRfloat .BRsearch-navigation .pagination {
1732
+ position: absolute;
1733
+ left: 50%;
1734
+ top: 50%;
1735
+ transform: translate(-50%, -50%);
1736
+ margin: 0;
1737
+ }
1738
+ .BookReader .BRsearch-navigation .pagination span, .BRfloat .BRsearch-navigation .pagination span {
1739
+ display: inline-block;
1740
+ padding: 0 5px;
1741
+ }
1742
+ .BookReader .BRsearch-navigation .pagination button[disabled], .BRfloat .BRsearch-navigation .pagination button[disabled] {
1743
+ opacity: 0.3;
1744
+ cursor: default;
1745
+ }
1746
+ .BookReader .BRsearch-navigation .pagination button span, .BRfloat .BRsearch-navigation .pagination button span {
1747
+ width: 8px;
1748
+ height: 13px;
2507
1749
  padding: 0;
2508
- white-space: normal;
1750
+ background-size: 100% auto;
2509
1751
  }
2510
- li.BRtable-contents-el .BRTOCElementPage {
2511
- font-size: 0.85em;
2512
- opacity: 0.8;
1752
+ .BookReader .BRsearch-navigation .clear span, .BRfloat .BRsearch-navigation .clear span {
1753
+ width: 18px;
1754
+ height: 18px;
2513
1755
  }
2514
1756
 
1757
+ @keyframes highlightFocus {
1758
+ to {
1759
+ stroke-width: 20px;
1760
+ }
1761
+ }
1762
+ /* Mid size breakpoint */
1763
+ @media (max-width: 1050px) {
1764
+ .BookReader .BRbooksearch .BRsearchInput, .BRfloat .BRbooksearch .BRsearchInput {
1765
+ padding: 0 0 0 8px;
1766
+ width: 110px;
1767
+ min-width: 110px;
1768
+ }
1769
+ .BookReader .BRbooksearch .BRsearchSubmit, .BRfloat .BRbooksearch .BRsearchSubmit {
1770
+ float: left;
1771
+ }
1772
+ }
2515
1773
  /****************** Excerpt from jquery-ui *********************/
2516
1774
  .ui-helper-hidden {
2517
1775
  display: none;
@@ -2581,7 +1839,7 @@ li.BRtable-contents-el .BRTOCElementPage {
2581
1839
  }
2582
1840
 
2583
1841
  .icon-fullscreen-exit {
2584
- background-image: url("icons/fullscreen-exit.svg");
1842
+ background-image: url("icons/fullscreen_exit.svg");
2585
1843
  }
2586
1844
 
2587
1845
  .icon-thumb {
@@ -2664,11 +1922,17 @@ li.BRtable-contents-el .BRTOCElementPage {
2664
1922
  background-image: url("icons/close-circle-dark.svg");
2665
1923
  }
2666
1924
 
1925
+ .icon-toggle-slider {
1926
+ background-size: 25px;
1927
+ width: 25px;
1928
+ height: 25px;
1929
+ background-image: url("icons/slider-toggle.svg");
1930
+ }
1931
+
2667
1932
  .BRcontrols {
2668
1933
  width: 100%;
2669
- /* BookReader defaults overrides */
2670
1934
  }
2671
- .BRcontrols .tooltip {
1935
+ .BRcontrols .BRtooltip {
2672
1936
  display: none;
2673
1937
  position: absolute;
2674
1938
  width: auto;
@@ -2681,8 +1945,9 @@ li.BRtable-contents-el .BRTOCElementPage {
2681
1945
  color: #fff;
2682
1946
  border-radius: 3px;
2683
1947
  background: #333;
1948
+ pointer-events: none;
2684
1949
  }
2685
- .BRcontrols .full .tooltip {
1950
+ .BRcontrols .full .BRtooltip {
2686
1951
  left: auto;
2687
1952
  right: 0;
2688
1953
  transform: translateX(0);
@@ -2690,23 +1955,29 @@ li.BRtable-contents-el .BRTOCElementPage {
2690
1955
  .BRfullscreenActive .BRcontrols .icon-fullscreen {
2691
1956
  background-image: url("icons/fullscreen_exit.svg");
2692
1957
  }
2693
- .BRcontrols select.playback-speed {
2694
- width: 24px;
1958
+ .BRcontrols select.playback-speed, .BRcontrols select.playback-voices {
2695
1959
  padding-top: 18px;
2696
1960
  -moz-appearance: none;
2697
1961
  -webkit-appearance: none;
2698
1962
  appearance: none;
2699
1963
  font-size: 10px;
2700
- text-align: center;
2701
1964
  text-align-last: center;
2702
1965
  color: #fff;
2703
1966
  border: none;
2704
1967
  cursor: pointer;
2705
- background: transparent url("icons/playback-speed.svg") 50% 0 no-repeat;
2706
1968
  }
2707
- .BRcontrols select.playback-speed option {
1969
+ .BRcontrols select.playback-speed option, .BRcontrols select.playback-speed optgroup, .BRcontrols select.playback-voices option, .BRcontrols select.playback-voices optgroup {
2708
1970
  background: #333;
2709
1971
  }
1972
+ .BRcontrols select.playback-speed {
1973
+ width: 30px;
1974
+ background: transparent url("icons/playback-speed.svg") 50% 0 no-repeat;
1975
+ }
1976
+ .BRcontrols select.playback-voices {
1977
+ width: 30px;
1978
+ background: transparent url("icons/voice.svg") 50% 0 no-repeat;
1979
+ background-size: 18px;
1980
+ }
2710
1981
  .BRcontrols .active {
2711
1982
  background: #fff;
2712
1983
  }
@@ -2731,6 +2002,9 @@ li.BRtable-contents-el .BRTOCElementPage {
2731
2002
  width: 30px;
2732
2003
  height: 30px;
2733
2004
  }
2005
+ .BRcontrols .controls .hide {
2006
+ display: none;
2007
+ }
2734
2008
  @keyframes slideUp {
2735
2009
  from {
2736
2010
  opacity: 0;
@@ -2759,6 +2033,10 @@ li.BRtable-contents-el .BRTOCElementPage {
2759
2033
  display: flex;
2760
2034
  animation: slideUp 0.2s;
2761
2035
  }
2036
+ .BRcontrols .read-aloud.visible button {
2037
+ width: unset;
2038
+ height: unset;
2039
+ }
2762
2040
  .BRcontrols .read-aloud li {
2763
2041
  padding: 0 10px;
2764
2042
  }
@@ -2867,6 +2145,9 @@ li.BRtable-contents-el .BRTOCElementPage {
2867
2145
  padding: 0;
2868
2146
  }
2869
2147
  }
2148
+ .BRcontrols {
2149
+ /* BookReader defaults overrides */
2150
+ }
2870
2151
  .BRcontrols .BRnavline {
2871
2152
  top: -4px;
2872
2153
  }
@@ -2878,34 +2159,79 @@ li.BRtable-contents-el .BRTOCElementPage {
2878
2159
  background-color: #ccc;
2879
2160
  }
2880
2161
 
2881
- .textSelectionSVG {
2882
- width: 100%;
2162
+ .BRtextLayer, .BRtranslateLayer {
2163
+ z-index: 2;
2883
2164
  position: absolute;
2884
- height: 100%;
2885
2165
  top: 0;
2886
2166
  left: 0;
2167
+ color: transparent;
2168
+ transform-origin: 0 0;
2887
2169
  pointer-events: none;
2170
+ cursor: text;
2888
2171
  }
2889
- .textSelectionSVG .BRwordElement {
2890
- pointer-events: all;
2172
+
2173
+ .BRtextLayer {
2174
+ mix-blend-mode: multiply;
2891
2175
  }
2892
- .textSelectionSVG.selectingSVG {
2893
- pointer-events: auto;
2176
+
2177
+ .BRtranslateLayer {
2178
+ hyphens: auto;
2179
+ }
2180
+
2181
+ .BRparagraphElement {
2182
+ margin: 0;
2894
2183
  cursor: text;
2184
+ font-family: Georgia, serif;
2185
+ line-height: 0;
2186
+ }
2187
+
2188
+ .BRlineElement {
2189
+ pointer-events: all;
2190
+ white-space: nowrap;
2191
+ display: inline-block;
2192
+ }
2193
+ .BRtextLayer[dir=ltr] .BRlineElement {
2194
+ margin-right: 100%;
2895
2195
  }
2896
- .textSelectionSVG .BRwordElement::selection {
2897
- background: rgba(86, 158, 230, 0.4);
2196
+ .BRtextLayer[dir=rtl] .BRlineElement {
2197
+ margin-left: 100%;
2898
2198
  }
2899
- .textSelectionSVG .BRwordElement::-moz-selection {
2900
- background: rgba(86, 158, 230, 0.4);
2199
+
2200
+ .BRwordElement::selection, .BRspace::selection, .BRparagraphElement::selection, .BRparagraphElement br::selection {
2201
+ background: hsla(210, 74%, 62%, 0.4);
2202
+ }
2203
+ .BRwordElement::-moz-selection, .BRspace::-moz-selection, .BRparagraphElement::-moz-selection, .BRparagraphElement br::-moz-selection {
2204
+ background: hsla(210, 74%, 62%, 0.4);
2901
2205
  color: transparent;
2902
2206
  }
2903
- .textSelectionSVG .BRparagElement {
2904
- fill: red;
2905
- cursor: text;
2906
- white-space: pre;
2907
- fill-opacity: 0;
2908
- font-family: Georgia, serif;
2207
+
2208
+ .BRtextLayer ::target-text {
2209
+ background-color: hsla(45, 80%, 66%, 0.6);
2210
+ color: transparent;
2211
+ }
2212
+
2213
+ .BRtranslateLayer ::selection {
2214
+ background: hsla(210, 74%, 62%, 0.4);
2215
+ }
2216
+
2217
+ .BRtranslateLayer ::-moz-selection {
2218
+ background: hsla(210, 74%, 62%, 0.4);
2219
+ }
2220
+
2221
+ .BRparagraphElement br {
2222
+ visibility: hidden;
2223
+ }
2224
+
2225
+ .BRwordElement--hyphen::after {
2226
+ content: "-";
2227
+ }
2228
+
2229
+ .BRsmooth-zooming .BRpagecontainer:not(.BRpagecontainer--hasSelection):not(:has(hypothesis-highlight)) .BRtextLayer, .BRscrolling-active .BRpagecontainer:not(.BRpagecontainer--hasSelection):not(:has(hypothesis-highlight)) .BRtextLayer {
2230
+ display: none;
2231
+ }
2232
+
2233
+ .BRmode1up .BRpagecontainer:not(.BRpage-visible) .BRtextLayer {
2234
+ display: none;
2909
2235
  }
2910
2236
 
2911
2237
  .BRpagecontainer img {
@@ -2914,11 +2240,50 @@ li.BRtable-contents-el .BRTOCElementPage {
2914
2240
  user-select: none;
2915
2241
  }
2916
2242
 
2917
- .BRpageFlipping .textSelectionSVG {
2243
+ .BRtextLayer:has([_istranslated="1"], msreadoutspan) {
2244
+ mix-blend-mode: normal;
2245
+ }
2246
+
2247
+ .BRwordElement[_istranslated="1"], .BRwordElement[_msttexthash], .BRspace[_istranslated="1"], .BRspace[_msttexthash] {
2248
+ color: black;
2249
+ letter-spacing: unset !important;
2250
+ }
2251
+
2252
+ .BRlineElement:has([_istranslated="1"], [_msttexthash]) {
2253
+ background: rgba(248, 237, 192, 0.8);
2254
+ backdrop-filter: blur(8px);
2255
+ color: black;
2256
+ text-align: justify;
2257
+ width: inherit;
2258
+ }
2259
+ .BRlineElement:has([_istranslated="1"], [_msttexthash]):not(:nth-last-child(2)) {
2260
+ text-align-last: justify;
2261
+ }
2262
+
2263
+ .BRlineElement[_msttexthash] {
2264
+ word-spacing: unset !important;
2265
+ }
2266
+
2267
+ .BRtranslateLayer .BRparagraphElement {
2268
+ pointer-events: auto;
2269
+ overflow-y: auto;
2270
+ background: rgba(248, 237, 192, 0.8);
2271
+ backdrop-filter: blur(8px);
2272
+ color: black;
2273
+ line-height: 1em;
2274
+ text-align: justify;
2275
+ }
2276
+
2277
+ .BRtranslateLayer .BRparagraphElement .BRlineElement {
2278
+ white-space: break-spaces;
2279
+ display: inline-block;
2280
+ }
2281
+
2282
+ .BRtextLayer.showingTranslation {
2918
2283
  display: none;
2919
2284
  }
2920
2285
 
2921
- .BRpagecontainer.BRemptypage .textSelectionSVG {
2286
+ .BRtranslateLayer .BRparagraphElement.BRtranslateHidden {
2922
2287
  display: none;
2923
2288
  }
2924
2289
 
@@ -2926,7 +2291,7 @@ li.BRtable-contents-el .BRTOCElementPage {
2926
2291
  * Hide modal-manager that loads item-navigator-modal
2927
2292
  * loading bookmarks related alert messages
2928
2293
  */
2929
- #item-navigator-modal {
2294
+ modal-manager[mode=closed] {
2930
2295
  display: none;
2931
2296
  }
2932
2297
 
@@ -2945,7 +2310,7 @@ li.BRtable-contents-el .BRTOCElementPage {
2945
2310
  opacity: 0;
2946
2311
  }
2947
2312
 
2948
- .BRtwopageview .BRpagecontainer[data-side=L] .bookmark-button {
2313
+ .BRmode2up .BRpagecontainer[data-side=L] .bookmark-button {
2949
2314
  right: auto;
2950
2315
  left: 0;
2951
2316
  }