@internetarchive/bookreader 5.0.0-18

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 (428) hide show
  1. package/.eslintrc.js +58 -0
  2. package/.gitattributes +2 -0
  3. package/.github/ISSUE_TEMPLATE/bug.md +32 -0
  4. package/.github/ISSUE_TEMPLATE/feature-request.md +30 -0
  5. package/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +15 -0
  6. package/.github/dependabot.yml +8 -0
  7. package/.github/workflows/node.js.yml +37 -0
  8. package/.github/workflows/npm-publish.yml +47 -0
  9. package/.testcaferc.json +5 -0
  10. package/BookReader/BookReader.css +2983 -0
  11. package/BookReader/BookReader.js +3 -0
  12. package/BookReader/BookReader.js.LICENSE.txt +117 -0
  13. package/BookReader/BookReader.js.map +1 -0
  14. package/BookReader/bookreader-component-bundle.js +1436 -0
  15. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +27 -0
  16. package/BookReader/bookreader-component-bundle.js.map +1 -0
  17. package/BookReader/icons/1up.svg +1 -0
  18. package/BookReader/icons/2up.svg +1 -0
  19. package/BookReader/icons/advance.svg +3 -0
  20. package/BookReader/icons/chevron-right.svg +1 -0
  21. package/BookReader/icons/close-circle-dark.svg +1 -0
  22. package/BookReader/icons/close-circle.svg +1 -0
  23. package/BookReader/icons/fullscreen.svg +1 -0
  24. package/BookReader/icons/fullscreen_exit.svg +1 -0
  25. package/BookReader/icons/hamburger.svg +1 -0
  26. package/BookReader/icons/left-arrow.svg +1 -0
  27. package/BookReader/icons/magnify-minus.svg +1 -0
  28. package/BookReader/icons/magnify-plus.svg +1 -0
  29. package/BookReader/icons/magnify.svg +1 -0
  30. package/BookReader/icons/pause.svg +1 -0
  31. package/BookReader/icons/play.svg +1 -0
  32. package/BookReader/icons/playback-speed.svg +1 -0
  33. package/BookReader/icons/read-aloud.svg +1 -0
  34. package/BookReader/icons/review.svg +3 -0
  35. package/BookReader/icons/thumbnails.svg +1 -0
  36. package/BookReader/icons/volume-full.svg +1 -0
  37. package/BookReader/images/BRicons.png +0 -0
  38. package/BookReader/images/BRicons.svg +5 -0
  39. package/BookReader/images/BRicons_ia.png +0 -0
  40. package/BookReader/images/back_pages.png +0 -0
  41. package/BookReader/images/book_bottom_icon.png +0 -0
  42. package/BookReader/images/book_down_icon.png +0 -0
  43. package/BookReader/images/book_left_icon.png +0 -0
  44. package/BookReader/images/book_leftmost_icon.png +0 -0
  45. package/BookReader/images/book_right_icon.png +0 -0
  46. package/BookReader/images/book_rightmost_icon.png +0 -0
  47. package/BookReader/images/book_top_icon.png +0 -0
  48. package/BookReader/images/book_up_icon.png +0 -0
  49. package/BookReader/images/books_graphic.svg +1 -0
  50. package/BookReader/images/booksplit.png +0 -0
  51. package/BookReader/images/control_pause_icon.png +0 -0
  52. package/BookReader/images/control_play_icon.png +0 -0
  53. package/BookReader/images/embed_icon.png +0 -0
  54. package/BookReader/images/icon-home-ia.png +0 -0
  55. package/BookReader/images/icon_OL-logo-xs.png +0 -0
  56. package/BookReader/images/icon_alert-xs.png +0 -0
  57. package/BookReader/images/icon_book.svg +1 -0
  58. package/BookReader/images/icon_bookmark.svg +1 -0
  59. package/BookReader/images/icon_close-pop.png +0 -0
  60. package/BookReader/images/icon_download.png +0 -0
  61. package/BookReader/images/icon_gear.svg +1 -0
  62. package/BookReader/images/icon_hamburger.svg +1 -0
  63. package/BookReader/images/icon_home.png +0 -0
  64. package/BookReader/images/icon_home.svg +1 -0
  65. package/BookReader/images/icon_home_ia.png +0 -0
  66. package/BookReader/images/icon_indicator.png +0 -0
  67. package/BookReader/images/icon_info.svg +1 -0
  68. package/BookReader/images/icon_one_page.svg +1 -0
  69. package/BookReader/images/icon_pause.svg +1 -0
  70. package/BookReader/images/icon_play.svg +1 -0
  71. package/BookReader/images/icon_playback-rate.svg +1 -0
  72. package/BookReader/images/icon_return.png +0 -0
  73. package/BookReader/images/icon_search_button.svg +1 -0
  74. package/BookReader/images/icon_share.svg +1 -0
  75. package/BookReader/images/icon_skip-ahead.svg +1 -0
  76. package/BookReader/images/icon_skip-back.svg +2 -0
  77. package/BookReader/images/icon_speaker.svg +1 -0
  78. package/BookReader/images/icon_speaker_open.svg +1 -0
  79. package/BookReader/images/icon_thumbnails.svg +1 -0
  80. package/BookReader/images/icon_toc.svg +1 -0
  81. package/BookReader/images/icon_two_pages.svg +1 -0
  82. package/BookReader/images/icon_zoomer.png +0 -0
  83. package/BookReader/images/loading.gif +0 -0
  84. package/BookReader/images/logo_icon.png +0 -0
  85. package/BookReader/images/marker_chap-off.png +0 -0
  86. package/BookReader/images/marker_chap-off.svg +1 -0
  87. package/BookReader/images/marker_chap-off_ia.png +0 -0
  88. package/BookReader/images/marker_chap-on.png +0 -0
  89. package/BookReader/images/marker_chap-on.svg +1 -0
  90. package/BookReader/images/marker_srch-on.svg +1 -0
  91. package/BookReader/images/marker_srchchap-off.png +0 -0
  92. package/BookReader/images/marker_srchchap-on.png +0 -0
  93. package/BookReader/images/nav_control-dn.png +0 -0
  94. package/BookReader/images/nav_control-dn_ia.png +0 -0
  95. package/BookReader/images/nav_control-up.png +0 -0
  96. package/BookReader/images/nav_control-up_ia.png +0 -0
  97. package/BookReader/images/nav_control.png +0 -0
  98. package/BookReader/images/one_page_mode_icon.png +0 -0
  99. package/BookReader/images/paper-badge.png +0 -0
  100. package/BookReader/images/print_icon.png +0 -0
  101. package/BookReader/images/progressbar.gif +0 -0
  102. package/BookReader/images/right_edges.png +0 -0
  103. package/BookReader/images/slider.png +0 -0
  104. package/BookReader/images/slider_ia.png +0 -0
  105. package/BookReader/images/thumbnail_mode_icon.png +0 -0
  106. package/BookReader/images/transparent.png +0 -0
  107. package/BookReader/images/two_page_mode_icon.png +0 -0
  108. package/BookReader/images/zoom_in_icon.png +0 -0
  109. package/BookReader/images/zoom_out_icon.png +0 -0
  110. package/BookReader/jquery-1.10.1.js +2 -0
  111. package/BookReader/jquery-1.10.1.js.LICENSE.txt +24 -0
  112. package/BookReader/plugins/plugin.archive_analytics.js +2 -0
  113. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -0
  114. package/BookReader/plugins/plugin.autoplay.js +2 -0
  115. package/BookReader/plugins/plugin.autoplay.js.map +1 -0
  116. package/BookReader/plugins/plugin.chapters.js +2 -0
  117. package/BookReader/plugins/plugin.chapters.js.map +1 -0
  118. package/BookReader/plugins/plugin.iframe.js +2 -0
  119. package/BookReader/plugins/plugin.iframe.js.map +1 -0
  120. package/BookReader/plugins/plugin.mobile_nav.js +2 -0
  121. package/BookReader/plugins/plugin.mobile_nav.js.map +1 -0
  122. package/BookReader/plugins/plugin.resume.js +2 -0
  123. package/BookReader/plugins/plugin.resume.js.map +1 -0
  124. package/BookReader/plugins/plugin.search.js +2 -0
  125. package/BookReader/plugins/plugin.search.js.map +1 -0
  126. package/BookReader/plugins/plugin.text_selection.js +2 -0
  127. package/BookReader/plugins/plugin.text_selection.js.map +1 -0
  128. package/BookReader/plugins/plugin.tts.js +3 -0
  129. package/BookReader/plugins/plugin.tts.js.LICENSE.txt +27 -0
  130. package/BookReader/plugins/plugin.tts.js.map +1 -0
  131. package/BookReader/plugins/plugin.url.js +2 -0
  132. package/BookReader/plugins/plugin.url.js.map +1 -0
  133. package/BookReader/plugins/plugin.vendor-fullscreen.js +2 -0
  134. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -0
  135. package/BookReaderDemo/BookReaderDemo.css +41 -0
  136. package/BookReaderDemo/BookReaderJSAdvanced.js +115 -0
  137. package/BookReaderDemo/BookReaderJSAutoplay.js +56 -0
  138. package/BookReaderDemo/BookReaderJSSimple.js +55 -0
  139. package/BookReaderDemo/IIIFBookReader.js +207 -0
  140. package/BookReaderDemo/assets/v5/Bookreader-logo-cool-grad.svg +1 -0
  141. package/BookReaderDemo/assets/v5/Bookreader-logo-flat.svg +1 -0
  142. package/BookReaderDemo/assets/v5/Bookreader-logo-hex-cool-grad.png +0 -0
  143. package/BookReaderDemo/assets/v5/Bookreader-logo-hex-flat.png +0 -0
  144. package/BookReaderDemo/assets/v5/Bookreader-logo-lines.png +0 -0
  145. package/BookReaderDemo/assets/v5/Bookreader-logo-lines.svg +1 -0
  146. package/BookReaderDemo/assets/v5/Bookreader-logo-warm.svg +1 -0
  147. package/BookReaderDemo/assets/v5/bookreader-logo-renders@1x.png +0 -0
  148. package/BookReaderDemo/assets/v5/bookreader-logo-renders@2x.png +0 -0
  149. package/BookReaderDemo/assets/v5/bookreader-v5-screenshot.png +0 -0
  150. package/BookReaderDemo/bookreader-template-bundle.js +7178 -0
  151. package/BookReaderDemo/demo-advanced.html +32 -0
  152. package/BookReaderDemo/demo-autoplay.html +38 -0
  153. package/BookReaderDemo/demo-embed-iframe-src.html +84 -0
  154. package/BookReaderDemo/demo-embed.html +26 -0
  155. package/BookReaderDemo/demo-fullscreen-mobile.html +36 -0
  156. package/BookReaderDemo/demo-fullscreen.html +33 -0
  157. package/BookReaderDemo/demo-iiif.html +34 -0
  158. package/BookReaderDemo/demo-iiif.js +26 -0
  159. package/BookReaderDemo/demo-internetarchive.html +74 -0
  160. package/BookReaderDemo/demo-multiple.html +43 -0
  161. package/BookReaderDemo/demo-preview-pages.html +1092 -0
  162. package/BookReaderDemo/demo-simple.html +34 -0
  163. package/BookReaderDemo/demo-vendor-fullscreen.html +36 -0
  164. package/BookReaderDemo/immersion-1up.html +64 -0
  165. package/BookReaderDemo/immersion-mode.html +35 -0
  166. package/BookReaderDemo/toggle_controls.html +53 -0
  167. package/BookReaderDemo/view_mode.html +39 -0
  168. package/BookReaderDemo/viewmode-cycle.html +41 -0
  169. package/CHANGELOG.md +540 -0
  170. package/CONTRIBUTING.md +7 -0
  171. package/LICENSE +661 -0
  172. package/README.md +205 -0
  173. package/babel.config.js +18 -0
  174. package/codecov.yml +17 -0
  175. package/index.html +31 -0
  176. package/jsconfig.json +14 -0
  177. package/karma.conf.js +23 -0
  178. package/package.json +129 -0
  179. package/screenshot.png +0 -0
  180. package/scripts/postversion.js +10 -0
  181. package/scripts/preversion.js +14 -0
  182. package/scripts/version.js +26 -0
  183. package/src/BookNavigator/BookModel.js +14 -0
  184. package/src/BookNavigator/BookNavigator.js +468 -0
  185. package/src/BookNavigator/assets/book-loader.js +27 -0
  186. package/src/BookNavigator/assets/bookmark-colors.js +15 -0
  187. package/src/BookNavigator/assets/button-base.js +61 -0
  188. package/src/BookNavigator/assets/icon_checkmark.js +6 -0
  189. package/src/BookNavigator/assets/icon_close.js +3 -0
  190. package/src/BookNavigator/assets/icon_sort_asc.js +5 -0
  191. package/src/BookNavigator/assets/icon_sort_desc.js +5 -0
  192. package/src/BookNavigator/assets/icon_sort_neutral.js +5 -0
  193. package/src/BookNavigator/assets/icon_volumes.js +11 -0
  194. package/src/BookNavigator/bookmarks/bookmark-button.js +64 -0
  195. package/src/BookNavigator/bookmarks/bookmark-edit.js +215 -0
  196. package/src/BookNavigator/bookmarks/bookmarks-list.js +285 -0
  197. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +28 -0
  198. package/src/BookNavigator/bookmarks/bookmarks-provider.js +53 -0
  199. package/src/BookNavigator/bookmarks/ia-bookmarks.js +500 -0
  200. package/src/BookNavigator/br-fullscreen-mgr.js +83 -0
  201. package/src/BookNavigator/delete-modal-actions.js +49 -0
  202. package/src/BookNavigator/downloads/downloads-provider.js +76 -0
  203. package/src/BookNavigator/downloads/downloads.js +138 -0
  204. package/src/BookNavigator/search/a-search-result.js +55 -0
  205. package/src/BookNavigator/search/search-provider.js +180 -0
  206. package/src/BookNavigator/search/search-results.js +360 -0
  207. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +93 -0
  208. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +280 -0
  209. package/src/BookNavigator/volumes/volumes-provider.js +83 -0
  210. package/src/BookNavigator/volumes/volumes.js +178 -0
  211. package/src/BookReader/BookModel.js +518 -0
  212. package/src/BookReader/DebugConsole.js +54 -0
  213. package/src/BookReader/ImageCache.js +116 -0
  214. package/src/BookReader/Mode1Up.js +90 -0
  215. package/src/BookReader/Mode1UpLit.js +434 -0
  216. package/src/BookReader/Mode2Up.js +1372 -0
  217. package/src/BookReader/ModeSmoothZoom.js +177 -0
  218. package/src/BookReader/ModeThumb.js +336 -0
  219. package/src/BookReader/Navbar/Navbar.js +339 -0
  220. package/src/BookReader/PageContainer.js +120 -0
  221. package/src/BookReader/ReduceSet.js +26 -0
  222. package/src/BookReader/Toolbar/Toolbar.js +384 -0
  223. package/src/BookReader/events.js +20 -0
  224. package/src/BookReader/options.js +320 -0
  225. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  226. package/src/BookReader/utils/classes.js +36 -0
  227. package/src/BookReader/utils.js +240 -0
  228. package/src/BookReader.js +2546 -0
  229. package/src/BookReaderComponent/BookReaderComponent.js +112 -0
  230. package/src/ItemNavigator/ItemNavigator.js +376 -0
  231. package/src/ItemNavigator/providers/sharing.js +33 -0
  232. package/src/assets/icons/1up.svg +12 -0
  233. package/src/assets/icons/2up.svg +15 -0
  234. package/src/assets/icons/advance.svg +26 -0
  235. package/src/assets/icons/chevron-right.svg +1 -0
  236. package/src/assets/icons/close-circle-dark.svg +1 -0
  237. package/src/assets/icons/close-circle.svg +1 -0
  238. package/src/assets/icons/fullscreen.svg +17 -0
  239. package/src/assets/icons/fullscreen_exit.svg +17 -0
  240. package/src/assets/icons/hamburger.svg +15 -0
  241. package/src/assets/icons/left-arrow.svg +12 -0
  242. package/src/assets/icons/magnify-minus.svg +16 -0
  243. package/src/assets/icons/magnify-plus.svg +17 -0
  244. package/src/assets/icons/magnify.svg +15 -0
  245. package/src/assets/icons/pause.svg +23 -0
  246. package/src/assets/icons/play.svg +22 -0
  247. package/src/assets/icons/playback-speed.svg +34 -0
  248. package/src/assets/icons/read-aloud.svg +22 -0
  249. package/src/assets/icons/review.svg +22 -0
  250. package/src/assets/icons/thumbnails.svg +17 -0
  251. package/src/assets/icons/volume-full.svg +22 -0
  252. package/src/assets/images/BRicons.png +0 -0
  253. package/src/assets/images/BRicons.svg +94 -0
  254. package/src/assets/images/BRicons_ia.png +0 -0
  255. package/src/assets/images/back_pages.png +0 -0
  256. package/src/assets/images/book_bottom_icon.png +0 -0
  257. package/src/assets/images/book_down_icon.png +0 -0
  258. package/src/assets/images/book_left_icon.png +0 -0
  259. package/src/assets/images/book_leftmost_icon.png +0 -0
  260. package/src/assets/images/book_right_icon.png +0 -0
  261. package/src/assets/images/book_rightmost_icon.png +0 -0
  262. package/src/assets/images/book_top_icon.png +0 -0
  263. package/src/assets/images/book_up_icon.png +0 -0
  264. package/src/assets/images/books_graphic.svg +177 -0
  265. package/src/assets/images/booksplit.png +0 -0
  266. package/src/assets/images/control_pause_icon.png +0 -0
  267. package/src/assets/images/control_play_icon.png +0 -0
  268. package/src/assets/images/embed_icon.png +0 -0
  269. package/src/assets/images/icon-home-ia.png +0 -0
  270. package/src/assets/images/icon_OL-logo-xs.png +0 -0
  271. package/src/assets/images/icon_alert-xs.png +0 -0
  272. package/src/assets/images/icon_book.svg +12 -0
  273. package/src/assets/images/icon_bookmark.svg +12 -0
  274. package/src/assets/images/icon_close-pop.png +0 -0
  275. package/src/assets/images/icon_download.png +0 -0
  276. package/src/assets/images/icon_gear.svg +14 -0
  277. package/src/assets/images/icon_hamburger.svg +20 -0
  278. package/src/assets/images/icon_home.png +0 -0
  279. package/src/assets/images/icon_home.svg +21 -0
  280. package/src/assets/images/icon_home_ia.png +0 -0
  281. package/src/assets/images/icon_indicator.png +0 -0
  282. package/src/assets/images/icon_info.svg +11 -0
  283. package/src/assets/images/icon_one_page.svg +8 -0
  284. package/src/assets/images/icon_pause.svg +1 -0
  285. package/src/assets/images/icon_play.svg +1 -0
  286. package/src/assets/images/icon_playback-rate.svg +15 -0
  287. package/src/assets/images/icon_return.png +0 -0
  288. package/src/assets/images/icon_search_button.svg +8 -0
  289. package/src/assets/images/icon_share.svg +9 -0
  290. package/src/assets/images/icon_skip-ahead.svg +6 -0
  291. package/src/assets/images/icon_skip-back.svg +13 -0
  292. package/src/assets/images/icon_speaker.svg +18 -0
  293. package/src/assets/images/icon_speaker_open.svg +10 -0
  294. package/src/assets/images/icon_thumbnails.svg +12 -0
  295. package/src/assets/images/icon_toc.svg +5 -0
  296. package/src/assets/images/icon_two_pages.svg +9 -0
  297. package/src/assets/images/icon_zoomer.png +0 -0
  298. package/src/assets/images/loading.gif +0 -0
  299. package/src/assets/images/logo_icon.png +0 -0
  300. package/src/assets/images/marker_chap-off.png +0 -0
  301. package/src/assets/images/marker_chap-off.svg +11 -0
  302. package/src/assets/images/marker_chap-off_ia.png +0 -0
  303. package/src/assets/images/marker_chap-on.png +0 -0
  304. package/src/assets/images/marker_chap-on.svg +11 -0
  305. package/src/assets/images/marker_srch-on.svg +11 -0
  306. package/src/assets/images/marker_srchchap-off.png +0 -0
  307. package/src/assets/images/marker_srchchap-on.png +0 -0
  308. package/src/assets/images/nav_control-dn.png +0 -0
  309. package/src/assets/images/nav_control-dn_ia.png +0 -0
  310. package/src/assets/images/nav_control-up.png +0 -0
  311. package/src/assets/images/nav_control-up_ia.png +0 -0
  312. package/src/assets/images/nav_control.png +0 -0
  313. package/src/assets/images/one_page_mode_icon.png +0 -0
  314. package/src/assets/images/paper-badge.png +0 -0
  315. package/src/assets/images/print_icon.png +0 -0
  316. package/src/assets/images/progressbar.gif +0 -0
  317. package/src/assets/images/right_edges.png +0 -0
  318. package/src/assets/images/slider.png +0 -0
  319. package/src/assets/images/slider_ia.png +0 -0
  320. package/src/assets/images/thumbnail_mode_icon.png +0 -0
  321. package/src/assets/images/transparent.png +0 -0
  322. package/src/assets/images/two_page_mode_icon.png +0 -0
  323. package/src/assets/images/zoom_in_icon.png +0 -0
  324. package/src/assets/images/zoom_out_icon.png +0 -0
  325. package/src/css/BookReader.scss +89 -0
  326. package/src/css/_BRBookmarks.scss +29 -0
  327. package/src/css/_BRComponent.scss +13 -0
  328. package/src/css/_BRfloat.scss +197 -0
  329. package/src/css/_BRicon.scss +48 -0
  330. package/src/css/_BRmain.scss +251 -0
  331. package/src/css/_BRnav.scss +382 -0
  332. package/src/css/_BRpages.scss +139 -0
  333. package/src/css/_BRsearch.scss +226 -0
  334. package/src/css/_BRtoolbar.scss +84 -0
  335. package/src/css/_BRvendor.scss +5 -0
  336. package/src/css/_MobileNav.scss +194 -0
  337. package/src/css/_TextSelection.scss +32 -0
  338. package/src/css/_colorbox.scss +52 -0
  339. package/src/css/_controls.scss +244 -0
  340. package/src/css/_icons.scss +121 -0
  341. package/src/dragscrollable-br.js +261 -0
  342. package/src/jquery-wrapper.js +4 -0
  343. package/src/plugins/plugin.archive_analytics.js +86 -0
  344. package/src/plugins/plugin.autoplay.js +129 -0
  345. package/src/plugins/plugin.chapters.js +251 -0
  346. package/src/plugins/plugin.iframe.js +48 -0
  347. package/src/plugins/plugin.mobile_nav.js +287 -0
  348. package/src/plugins/plugin.resume.js +68 -0
  349. package/src/plugins/plugin.text_selection.js +291 -0
  350. package/src/plugins/plugin.url.js +198 -0
  351. package/src/plugins/plugin.vendor-fullscreen.js +247 -0
  352. package/src/plugins/search/plugin.search.js +439 -0
  353. package/src/plugins/search/view.js +440 -0
  354. package/src/plugins/tts/AbstractTTSEngine.js +242 -0
  355. package/src/plugins/tts/FestivalTTSEngine.js +169 -0
  356. package/src/plugins/tts/PageChunk.js +107 -0
  357. package/src/plugins/tts/PageChunkIterator.js +163 -0
  358. package/src/plugins/tts/WebTTSEngine.js +352 -0
  359. package/src/plugins/tts/plugin.tts.js +335 -0
  360. package/src/plugins/tts/tooltip_dict.js +15 -0
  361. package/src/plugins/tts/utils.js +91 -0
  362. package/src/util/browserSniffing.js +30 -0
  363. package/src/util/debouncer.js +26 -0
  364. package/src/util/docCookies.js +67 -0
  365. package/src/util/strings.js +34 -0
  366. package/tests/BookReader/BookModel.test.js +312 -0
  367. package/tests/BookReader/BookReaderPublicFunctions.test.js +164 -0
  368. package/tests/BookReader/DebugConsole.test.js +25 -0
  369. package/tests/BookReader/ImageCache.test.js +150 -0
  370. package/tests/BookReader/Mode1UpLit.test.js +87 -0
  371. package/tests/BookReader/Mode2Up.test.js +245 -0
  372. package/tests/BookReader/ModeSmoothZoom.test.js +149 -0
  373. package/tests/BookReader/Navbar/Navbar.test.js +169 -0
  374. package/tests/BookReader/PageContainer.test.js +187 -0
  375. package/tests/BookReader/ReduceSet.test.js +38 -0
  376. package/tests/BookReader/Toolbar/Toolbar.test.js +26 -0
  377. package/tests/BookReader/utils/HTMLDimensionsCacher.test.js +59 -0
  378. package/tests/BookReader/utils/classes.test.js +88 -0
  379. package/tests/BookReader/utils.test.js +136 -0
  380. package/tests/BookReader.options.test.js +39 -0
  381. package/tests/BookReader.test.js +301 -0
  382. package/tests/e2e/README.md +75 -0
  383. package/tests/e2e/autoplay.test.js +13 -0
  384. package/tests/e2e/base.test.js +35 -0
  385. package/tests/e2e/helpers/base.js +263 -0
  386. package/tests/e2e/helpers/debug.js +13 -0
  387. package/tests/e2e/helpers/desktopSearch.js +72 -0
  388. package/tests/e2e/helpers/mobileSearch.js +85 -0
  389. package/tests/e2e/helpers/mockSearch.js +93 -0
  390. package/tests/e2e/helpers/rightToLeft.js +29 -0
  391. package/tests/e2e/ia-production/ia-prod-base.js +17 -0
  392. package/tests/e2e/models/BookReader.js +11 -0
  393. package/tests/e2e/models/Navigation.js +56 -0
  394. package/tests/e2e/rightToLeft.test.js +20 -0
  395. package/tests/e2e/viewmode.test.js +37 -0
  396. package/tests/karma/BookNavigator/book-navigator.test.js +180 -0
  397. package/tests/karma/BookNavigator/bookmarks/bookmark-edit.test.js +133 -0
  398. package/tests/karma/BookNavigator/bookmarks/bookmarks-list.test.js +222 -0
  399. package/tests/karma/BookNavigator/downloads/downloads-provider.test.js +64 -0
  400. package/tests/karma/BookNavigator/downloads/downloads.test.js +54 -0
  401. package/tests/karma/BookNavigator/search/search-provider.test.js +23 -0
  402. package/tests/karma/BookNavigator/search/search-results.test.js +240 -0
  403. package/tests/karma/BookNavigator/sharing/sharing-provider.test.js +40 -0
  404. package/tests/karma/BookNavigator/visual-adjustments.test.js +201 -0
  405. package/tests/karma/BookNavigator/volumes/volumes-provider.test.js +160 -0
  406. package/tests/karma/BookNavigator/volumes/volumes.test.js +98 -0
  407. package/tests/plugins/plugin.archive_analytics.test.js +23 -0
  408. package/tests/plugins/plugin.autoplay.test.js +52 -0
  409. package/tests/plugins/plugin.chapters.test.js +130 -0
  410. package/tests/plugins/plugin.iframe.test.js +42 -0
  411. package/tests/plugins/plugin.mobile_nav.test.js +66 -0
  412. package/tests/plugins/plugin.resume.test.js +98 -0
  413. package/tests/plugins/plugin.text_selection.test.js +193 -0
  414. package/tests/plugins/plugin.url.test.js +129 -0
  415. package/tests/plugins/plugin.vendor-fullscreen.test.js +65 -0
  416. package/tests/plugins/search/plugin.search.test.js +173 -0
  417. package/tests/plugins/search/plugin.search.view.test.js +106 -0
  418. package/tests/plugins/tts/AbstractTTSEngine.test.js +153 -0
  419. package/tests/plugins/tts/FestivalTTSEngine.test.js +59 -0
  420. package/tests/plugins/tts/PageChunk.test.js +57 -0
  421. package/tests/plugins/tts/PageChunkIterator.test.js +179 -0
  422. package/tests/plugins/tts/WebTTSEngine.test.js +126 -0
  423. package/tests/plugins/tts/utils.test.js +133 -0
  424. package/tests/util/browserSniffing.test.js +56 -0
  425. package/tests/util/docCookies.test.js +15 -0
  426. package/tests/util/strings.test.js +63 -0
  427. package/tests/utils.js +80 -0
  428. package/webpack.config.js +85 -0
@@ -0,0 +1,2983 @@
1
+ /* Variables */
2
+ /* COLORBOX POP-UP */
3
+ #colorbox, #cboxOverlay, #cboxWrapper {
4
+ position: absolute;
5
+ top: 0;
6
+ left: 0;
7
+ z-index: 3000;
8
+ }
9
+
10
+ #cboxOverlay {
11
+ position: fixed;
12
+ width: 100%;
13
+ height: 100%;
14
+ background: #000;
15
+ opacity: 0.75;
16
+ filter: Alpha(Opacity=75);
17
+ }
18
+
19
+ #cboxMiddleLeft, #cboxBottomLeft {
20
+ clear: left;
21
+ }
22
+
23
+ #cboxContent {
24
+ position: relative;
25
+ }
26
+
27
+ #cboxLoadedContent {
28
+ overflow: hidden !important;
29
+ }
30
+
31
+ #cboxLoadedContent iframe {
32
+ display: block;
33
+ border: 0;
34
+ }
35
+
36
+ #cboxTitle {
37
+ margin: 0;
38
+ display: none !important;
39
+ }
40
+
41
+ #cboxLoadingOverlay, #cboxLoadingGraphic {
42
+ position: absolute;
43
+ top: 25px;
44
+ left: 25px;
45
+ width: 100%;
46
+ }
47
+
48
+ #cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
49
+ cursor: pointer;
50
+ }
51
+
52
+ #cboxClose {
53
+ display: none !important;
54
+ }
55
+
56
+ #colorbox {
57
+ background: white;
58
+ border: 2px solid #ccc;
59
+ -webkit-border-radius: 12px;
60
+ -moz-border-radius: 12px;
61
+ border-radius: 12px;
62
+ -webkit-box-shadow: 0px 0px 27px 6px rgba(66, 66, 66, 0.8);
63
+ -moz-box-shadow: 0px 0px 27px 6px rgba(66, 66, 66, 0.8);
64
+ box-shadow: 0px 0px 27px 6px rgba(66, 66, 66, 0.8);
65
+ }
66
+
67
+ #cboxContent {
68
+ padding: 0;
69
+ }
70
+
71
+ #cboxLoadedContent {
72
+ margin: 0;
73
+ }
74
+
75
+ #cboxLoadingOverlay {
76
+ background: transparent;
77
+ }
78
+
79
+ .shift {
80
+ position: absolute !important;
81
+ left: -10000px !important;
82
+ }
83
+
84
+ .BookReader, .BRmobileMenu, .BRfloat {
85
+ /* Shared root element rules */
86
+ font-family: "Helvetica Neue", Arial, Verdana, sans-serif;
87
+ font-size: 14px;
88
+ line-height: 1.2;
89
+ -webkit-text-size-adjust: none;
90
+ /* Some helper functional css utilities */
91
+ /* Desktop-only */
92
+ /* Element-level rules */
93
+ }
94
+ .BookReader .larger, .BRmobileMenu .larger, .BRfloat .larger {
95
+ font-size: 1.2em;
96
+ }
97
+ @media (min-width: 801px) {
98
+ .BookReader .mv20-lg, .BRmobileMenu .mv20-lg, .BRfloat .mv20-lg {
99
+ margin-top: 20px;
100
+ margin-bottom: 20px;
101
+ }
102
+ }
103
+ .BookReader h3, .BRmobileMenu h3, .BRfloat h3 {
104
+ font-size: 20px;
105
+ font-weight: 700;
106
+ color: #dedede;
107
+ }
108
+ .BookReader a, .BRmobileMenu a, .BRfloat a {
109
+ outline: none;
110
+ }
111
+ .BookReader button, .BRmobileMenu button, .BRfloat button {
112
+ cursor: pointer;
113
+ }
114
+ .BookReader a.logo, .BRmobileMenu a.logo, .BRfloat a.logo {
115
+ display: inline-block;
116
+ width: auto;
117
+ height: 100%;
118
+ margin: 0 10px;
119
+ background: transparent url(images/icon_home.svg) no-repeat center center;
120
+ background-size: contain;
121
+ }
122
+
123
+ .BookReader {
124
+ margin: 0;
125
+ padding: 0;
126
+ position: relative;
127
+ overflow: hidden;
128
+ background-color: black;
129
+ contain: strict;
130
+ }
131
+
132
+ .BRcontainer {
133
+ top: 0;
134
+ bottom: 0;
135
+ z-index: 1;
136
+ width: 100%;
137
+ overflow-x: auto;
138
+ overflow-y: scroll;
139
+ position: absolute;
140
+ -webkit-overflow-scrolling: touch;
141
+ }
142
+
143
+ .BRprogresspopup {
144
+ margin: 80px auto auto;
145
+ position: relative;
146
+ width: 320px;
147
+ background-color: white;
148
+ font-size: 1.5em;
149
+ padding: 20px;
150
+ border: 2px solid #999;
151
+ z-index: 3000;
152
+ color: #222;
153
+ }
154
+ .BRprogresspopup .close-popup {
155
+ position: absolute;
156
+ top: 0;
157
+ right: 0;
158
+ width: 30px;
159
+ width: 30px;
160
+ padding: 0;
161
+ border: 0;
162
+ background-color: transparent;
163
+ }
164
+ .BRprogresspopup .close-popup .icon.icon-close-dark {
165
+ position: absolute;
166
+ top: 5px;
167
+ right: 5px;
168
+ }
169
+
170
+ .BRprogressbar {
171
+ background-image: url("images/progressbar.gif");
172
+ background-repeat: no-repeat;
173
+ background-position: center top;
174
+ }
175
+
176
+ /* Share dialog */
177
+ .BRshare.BRfloat {
178
+ width: 600px;
179
+ }
180
+ .BRshare .share-title {
181
+ margin: 15px 15px 0;
182
+ font-weight: bold;
183
+ font-size: 18px;
184
+ line-height: 22px;
185
+ }
186
+ .BRshare .share-social {
187
+ margin: 15px 15px 0;
188
+ }
189
+ .BRshare .share-social button {
190
+ padding: 0 5px;
191
+ height: 40px;
192
+ text-align: left;
193
+ color: white;
194
+ }
195
+ .BRshare .share-social button > i {
196
+ margin-right: 5px;
197
+ }
198
+ .BRshare .share-social > div {
199
+ display: inline;
200
+ }
201
+ .BRshare .share-embed {
202
+ margin-top: 20px;
203
+ }
204
+ .BRshare label.sub.open-to-this-page {
205
+ display: block;
206
+ }
207
+ .BRshare button[type=button].share-finished {
208
+ background-color: #4a90e2;
209
+ border: 0;
210
+ color: white;
211
+ border-radius: 3px;
212
+ padding: 10px 25px;
213
+ font-size: 15px;
214
+ }
215
+
216
+ /* Info dialog */
217
+ .BRinfoValueWrapper {
218
+ margin-bottom: 10px;
219
+ }
220
+
221
+ .BRinfoValue {
222
+ font-size: 16px;
223
+ }
224
+
225
+ .BRinfoLabel {
226
+ font-size: 12px;
227
+ color: #999;
228
+ }
229
+
230
+ .BRinfoMoreInfoWrapper {
231
+ background-color: #4a90e2;
232
+ border-radius: 2px;
233
+ padding: 8px;
234
+ text-align: center;
235
+ }
236
+ .BRinfoMoreInfoWrapper:active {
237
+ background-color: #509bf2;
238
+ }
239
+
240
+ .BRinfoOtherFormats {
241
+ margin-bottom: 40px;
242
+ }
243
+
244
+ .BRinfoRightCol > div {
245
+ margin-bottom: 15px;
246
+ }
247
+
248
+ .BRinfoFooter {
249
+ text-align: right;
250
+ }
251
+
252
+ /* Fullscreen rules */
253
+ .BookReader.fullscreenActive {
254
+ position: fixed;
255
+ width: 100%;
256
+ height: 100%;
257
+ max-height: 100%;
258
+ background-color: black;
259
+ top: 0;
260
+ left: 0;
261
+ margin: 0;
262
+ z-index: 2000;
263
+ }
264
+ .BookReader.fullscreenActive .BRmobileHamburgerWrapper {
265
+ z-index: 2002;
266
+ }
267
+
268
+ body.BRfullscreenActive {
269
+ overflow: hidden;
270
+ }
271
+ body.BRfullscreenActive .mm-menu {
272
+ z-index: 1999;
273
+ }
274
+
275
+ .BRaction {
276
+ margin-left: 5px;
277
+ margin-right: 5px;
278
+ padding: 8px 30px;
279
+ font-size: 14px;
280
+ border: none;
281
+ border-radius: 3px;
282
+ cursor: pointer;
283
+ min-width: 150px;
284
+ text-align: center;
285
+ line-height: 1;
286
+ }
287
+ .BRaction:active {
288
+ background-color: #ababab;
289
+ }
290
+ .BRaction.default {
291
+ background-color: #c1c1c1;
292
+ color: white;
293
+ }
294
+ .BRaction.primary {
295
+ background-color: #4990E2;
296
+ }
297
+ .BRaction.primary:active {
298
+ background-color: #2a76cd;
299
+ }
300
+ .BRaction.orangeButton {
301
+ background-color: transparent;
302
+ border: 2px solid orange;
303
+ color: orange;
304
+ }
305
+ .BRaction.orangeButton:active {
306
+ border-color: #f9c613;
307
+ }
308
+ .BRaction.skinny {
309
+ min-width: 50px;
310
+ }
311
+ .BRaction.facebook-share-button {
312
+ background-color: #3a5998;
313
+ }
314
+ .BRaction.twitter-share-button {
315
+ background-color: #429aff;
316
+ }
317
+ .BRaction.email-share-button {
318
+ background-color: #c1c1c1;
319
+ }
320
+
321
+ /* Mobile Only */
322
+ @media (max-width: 800px) {
323
+ .BRinfoLeftCol {
324
+ font-size: 14px;
325
+ }
326
+
327
+ .BRimageW {
328
+ text-align: center;
329
+ margin-bottom: 10px;
330
+ }
331
+
332
+ .BRimageW img {
333
+ height: 200px;
334
+ width: auto;
335
+ }
336
+
337
+ .BRinfoValue.larger {
338
+ font-size: 16px;
339
+ }
340
+
341
+ .BRinfoMoreInfoWrapper a {
342
+ font-size: inherit;
343
+ color: white;
344
+ text-decoration: none;
345
+ }
346
+
347
+ .BRinfoOtherFormatsFormat {
348
+ margin-bottom: 6px;
349
+ }
350
+
351
+ .BRinfoFooter {
352
+ margin-bottom: 10px;
353
+ text-align: left;
354
+ }
355
+
356
+ .BRinfoFooter a {
357
+ display: block;
358
+ }
359
+
360
+ .BRfloatFoot.BRinfoFooter {
361
+ margin: initial;
362
+ padding: initial;
363
+ border: initial;
364
+ font-size: inherit;
365
+ }
366
+
367
+ .BookReader .fieldset-embed, .BRmobileMenu .fieldset-embed, .BRfloat .fieldset-embed {
368
+ display: none;
369
+ }
370
+ .BookReader .BRaction, .BRmobileMenu .BRaction, .BRfloat .BRaction {
371
+ padding: 8px 10px;
372
+ margin-left: 0;
373
+ margin-bottom: 10px;
374
+ }
375
+ }
376
+ /* Desktop Only */
377
+ @media (min-width: 801px) {
378
+ .BRinfoW {
379
+ font-size: 14px;
380
+ position: relative;
381
+ padding: 15px;
382
+ }
383
+
384
+ .BRinfoLeftCol {
385
+ float: left;
386
+ width: 40%;
387
+ min-height: 1px;
388
+ }
389
+
390
+ .BRinfoRightCol {
391
+ float: left;
392
+ width: 58%;
393
+ }
394
+
395
+ .BRimageW {
396
+ text-align: center;
397
+ margin-bottom: 10px;
398
+ margin-right: 26px;
399
+ }
400
+
401
+ .BRimageW img {
402
+ height: auto;
403
+ width: 100%;
404
+ }
405
+
406
+ .BRinfoValue.larger {
407
+ font-size: 20px;
408
+ line-height: 1.2;
409
+ }
410
+
411
+ .BRinfoMoreInfoWrapper a {
412
+ font-size: 14px;
413
+ color: white;
414
+ text-decoration: none;
415
+ font-weight: bold;
416
+ }
417
+
418
+ .BRinfoOtherFormatsFormat {
419
+ display: inline;
420
+ margin-right: 10px;
421
+ }
422
+
423
+ .BRinfoFooter {
424
+ font-size: 1em;
425
+ clear: both;
426
+ }
427
+
428
+ .BRinfoFooter a {
429
+ display: inline;
430
+ margin-right: 10px;
431
+ }
432
+
433
+ .BookReader .BRaction, .BRmobileMenu .BRaction, .BRfloat .BRaction {
434
+ padding: 8px 16px;
435
+ }
436
+ }
437
+ /* filters */
438
+ .filter-applied .BRpagediv1up {
439
+ background-color: white;
440
+ }
441
+ .filter-applied .BRpagedivthumb {
442
+ background-color: white;
443
+ }
444
+
445
+ .BRpageview {
446
+ position: relative;
447
+ margin: auto;
448
+ }
449
+
450
+ .BRmode1up .BRpagecontainer, .BRmodeThumb .BRpagecontainer {
451
+ box-shadow: 1px 1px 2px #333;
452
+ }
453
+ .BRmode1up .BRpagecontainer img, .BRmodeThumb .BRpagecontainer img {
454
+ border: 0;
455
+ }
456
+
457
+ .BRmodeThumb .BRpagecontainer, .BRmode2Up .BRpagecontainer {
458
+ cursor: pointer;
459
+ }
460
+
461
+ .BRpagecontainer.BRemptypage {
462
+ cursor: unset;
463
+ }
464
+
465
+ .br-mode-1up {
466
+ display: block;
467
+ overflow: auto;
468
+ position: relative;
469
+ width: 100%;
470
+ height: 100%;
471
+ contain: strict;
472
+ }
473
+ .br-mode-1up .br-mode-1up__world {
474
+ position: absolute;
475
+ transform-origin: 0 0;
476
+ }
477
+ .br-mode-1up .br-mode-1up__visible-world {
478
+ position: absolute;
479
+ transform-origin: 0 0;
480
+ }
481
+
482
+ .BRpagecontainer {
483
+ position: relative;
484
+ overflow: hidden;
485
+ background: #FEFDEB;
486
+ }
487
+ .BRpagecontainer img {
488
+ position: absolute;
489
+ background: transparent;
490
+ display: block;
491
+ width: 100%;
492
+ height: 100%;
493
+ }
494
+ .BRpagecontainer .BRscreen {
495
+ position: absolute;
496
+ top: 0;
497
+ right: 0;
498
+ bottom: 0;
499
+ left: 0;
500
+ z-index: 1;
501
+ }
502
+ .BRpagecontainer.BRpageloading img {
503
+ color: transparent;
504
+ }
505
+ .BRpagecontainer.BRemptypage {
506
+ background: transparent;
507
+ }
508
+ .BRpagecontainer.BRemptypage img {
509
+ background-image: none;
510
+ }
511
+
512
+ svg.BRPageLayer {
513
+ position: absolute;
514
+ top: 0;
515
+ left: 0;
516
+ right: 0;
517
+ bottom: 0;
518
+ }
519
+
520
+ .BRpageFlipping .BRPageLayer {
521
+ display: none;
522
+ }
523
+
524
+ .BRbookcover {
525
+ position: absolute;
526
+ background-image: none;
527
+ box-shadow: 1px 0 10px #111;
528
+ }
529
+
530
+ .BRPreview .BRpageimage {
531
+ background-color: #eee;
532
+ -webkit-filter: grayscale(100%);
533
+ filter: grayscale(100%);
534
+ }
535
+
536
+ .BRleafEdgeR {
537
+ border-style: solid solid solid none;
538
+ border-color: #333322;
539
+ border-width: 1px 1px 1px 0px;
540
+ background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
541
+ position: absolute;
542
+ cursor: pointer;
543
+ }
544
+
545
+ .BRleafEdgeL {
546
+ /* border-style: solid none solid solid;
547
+ border-color: rgb(51, 51, 34);
548
+ border-width: 1px 0px 1px 1px; */
549
+ background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
550
+ /* XXXmang replace file */
551
+ position: absolute;
552
+ cursor: pointer;
553
+ }
554
+
555
+ .BRleafEdgeTmp {
556
+ /* border-style: solid none solid solid;
557
+ border-color: rgb(51, 51, 34);
558
+ border-width: 1px 0px 1px 1px; */
559
+ background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
560
+ /* XXXmang replace file */
561
+ position: absolute;
562
+ }
563
+
564
+ .BRgutter {
565
+ /* border: 1px solid rgb(68, 25, 17); */
566
+ position: absolute;
567
+ background: transparent url(images/booksplit.png) repeat scroll 0% 0%;
568
+ }
569
+
570
+ .BRtwoPagePopUp {
571
+ padding: 6px;
572
+ position: absolute;
573
+ font-size: 12px;
574
+ color: white;
575
+ background-color: #9A9B9D;
576
+ opacity: 0.85;
577
+ border-radius: 4px;
578
+ white-space: nowrap;
579
+ }
580
+
581
+ .BRToolbarButton, .BRicon {
582
+ position: relative;
583
+ transition-duration: 0.2s;
584
+ transition-property: background-color, border;
585
+ }
586
+ .BRToolbarButton:hover, .BRicon:hover {
587
+ background-color: rgba(50, 50, 50, 0.2);
588
+ }
589
+ .BRToolbarButton:active, .BRicon:active {
590
+ background-color: rgba(255, 255, 255, 0.2);
591
+ background-color: rgba(50, 50, 50, 0.4);
592
+ }
593
+
594
+ .BRicon {
595
+ padding: 0;
596
+ margin: 0;
597
+ vertical-align: middle;
598
+ border: none;
599
+ cursor: pointer;
600
+ background-color: transparent;
601
+ background-image: url(images/BRicons.svg);
602
+ background-repeat: no-repeat;
603
+ }
604
+
605
+ i.BRicon {
606
+ display: inline-block;
607
+ }
608
+
609
+ .BRicon.logo {
610
+ width: 34px;
611
+ height: 34px;
612
+ background-position: -3px center;
613
+ }
614
+ @media (max-width: 800px) {
615
+ .BRicon.logo {
616
+ width: 40px;
617
+ height: 40px;
618
+ background-position: 0px center;
619
+ }
620
+ }
621
+
622
+ .BRicon.info {
623
+ width: 34px;
624
+ height: 34px;
625
+ background-position: -43px center;
626
+ }
627
+ @media (max-width: 800px) {
628
+ .BRicon.info {
629
+ width: 40px;
630
+ height: 40px;
631
+ background-position: -40px center;
632
+ }
633
+ }
634
+
635
+ .BRicon.share {
636
+ width: 34px;
637
+ height: 34px;
638
+ background-position: -123px center;
639
+ }
640
+ @media (max-width: 800px) {
641
+ .BRicon.share {
642
+ width: 40px;
643
+ height: 40px;
644
+ background-position: -120px center;
645
+ }
646
+ }
647
+
648
+ .BRicon.read {
649
+ width: 34px;
650
+ height: 34px;
651
+ background-position: -203px center;
652
+ transition-property: background-color, border, background-position;
653
+ }
654
+ @media (max-width: 800px) {
655
+ .BRicon.read {
656
+ width: 40px;
657
+ height: 40px;
658
+ background-position: -200px center;
659
+ }
660
+ }
661
+
662
+ .BRicon.unread {
663
+ width: 34px;
664
+ height: 34px;
665
+ background-position: -283px center;
666
+ transition-property: background-color, border, background-position;
667
+ }
668
+ @media (max-width: 800px) {
669
+ .BRicon.unread {
670
+ width: 40px;
671
+ height: 40px;
672
+ background-position: -280px center;
673
+ }
674
+ }
675
+
676
+ .BRicon.fit {
677
+ width: 34px;
678
+ height: 34px;
679
+ background-position: -363px center;
680
+ }
681
+ @media (max-width: 800px) {
682
+ .BRicon.fit {
683
+ width: 40px;
684
+ height: 40px;
685
+ background-position: -360px center;
686
+ }
687
+ }
688
+
689
+ .BRicon.download {
690
+ width: 34px;
691
+ height: 34px;
692
+ background-position: -1523px center;
693
+ }
694
+ @media (max-width: 800px) {
695
+ .BRicon.download {
696
+ width: 40px;
697
+ height: 40px;
698
+ background-position: -1520px center;
699
+ }
700
+ }
701
+
702
+ .BRicon.return {
703
+ width: 34px;
704
+ height: 34px;
705
+ background-position: -1043px center;
706
+ }
707
+ @media (max-width: 800px) {
708
+ .BRicon.return {
709
+ width: 40px;
710
+ height: 40px;
711
+ background-position: -1040px center;
712
+ }
713
+ }
714
+
715
+ .BRicon.fb {
716
+ width: 34px;
717
+ height: 34px;
718
+ background-position: -1603px center;
719
+ }
720
+ @media (max-width: 800px) {
721
+ .BRicon.fb {
722
+ width: 40px;
723
+ height: 40px;
724
+ background-position: -1600px center;
725
+ }
726
+ }
727
+
728
+ .BRicon.twitter {
729
+ width: 34px;
730
+ height: 34px;
731
+ background-position: -1643px center;
732
+ }
733
+ @media (max-width: 800px) {
734
+ .BRicon.twitter {
735
+ width: 40px;
736
+ height: 40px;
737
+ background-position: -1640px center;
738
+ }
739
+ }
740
+
741
+ .BRicon.email {
742
+ width: 34px;
743
+ height: 34px;
744
+ background-position: -1683px center;
745
+ }
746
+ @media (max-width: 800px) {
747
+ .BRicon.email {
748
+ width: 40px;
749
+ height: 40px;
750
+ background-position: -1680px center;
751
+ }
752
+ }
753
+
754
+ /**
755
+ * BRfloat is the modal popup used in bookreader
756
+ */
757
+ .BRfloat {
758
+ color: #343434;
759
+ }
760
+
761
+ .BRfloat a.title {
762
+ text-decoration: none;
763
+ }
764
+
765
+ .BRfloat .floatShut {
766
+ position: absolute;
767
+ top: 4px;
768
+ right: 8px;
769
+ display: block;
770
+ width: 32px;
771
+ height: 32px;
772
+ border: none;
773
+ background-color: transparent;
774
+ background-image: url("images/icon_close-pop.png");
775
+ background-position: 0 0;
776
+ background-repeat: no-repeat;
777
+ }
778
+
779
+ .BRfloat .floatShut:hover {
780
+ background-position: 0 -32px;
781
+ }
782
+
783
+ .BRfloat fieldset {
784
+ padding: 10px 15px;
785
+ border: none;
786
+ }
787
+
788
+ .BRfloat fieldset.sub {
789
+ margin-top: 0px;
790
+ padding: 10px;
791
+ }
792
+
793
+ .BRfloat fieldset.center {
794
+ text-align: center;
795
+ padding: 10px 20px 30px;
796
+ }
797
+
798
+ .BRfloat label {
799
+ display: block;
800
+ font-weight: 700;
801
+ font-size: 1em;
802
+ margin: 5px 0;
803
+ }
804
+
805
+ .BRfloat label.sub {
806
+ display: inline;
807
+ padding: 10px 30px 10px 0;
808
+ font-weight: normal;
809
+ font-size: 1em;
810
+ color: #666;
811
+ }
812
+
813
+ .BRfloat input[type=text],
814
+ .BRfloat textarea {
815
+ display: block;
816
+ margin-top: 10px;
817
+ width: 100%;
818
+ padding: 3px;
819
+ border: 2px inset;
820
+ font-family: "Lucida Grande", "Verdana", "Arial", sans-serif;
821
+ font-size: 0.8em;
822
+ line-height: 1.25;
823
+ font-weight: normal;
824
+ }
825
+
826
+ .BRfloat textarea {
827
+ height: 55px;
828
+ }
829
+
830
+ .BRfloat p {
831
+ margin: 15px 15px 0;
832
+ }
833
+
834
+ .BRfloat p.meta {
835
+ font-size: 1.1em;
836
+ color: #748d36;
837
+ margin: 10px 0 0;
838
+ }
839
+
840
+ .BRfloatCover {
841
+ float: left;
842
+ padding: 0 20px 30px 0;
843
+ }
844
+
845
+ .BRfloatHead {
846
+ font-size: 1.2em;
847
+ }
848
+
849
+ .BRfloatHead h2 {
850
+ display: inline;
851
+ font-size: 1.3em;
852
+ }
853
+
854
+ .BRfloatMeta p {
855
+ margin: 0;
856
+ padding: 0;
857
+ font-size: 1.1em;
858
+ line-height: 1.5em;
859
+ }
860
+
861
+ .BRfloatMeta p.moreInfo {
862
+ line-height: 15px;
863
+ margin-top: 30px;
864
+ }
865
+
866
+ .BRfloatMeta p.moreInfo span {
867
+ background: url("images/icon_OL-logo-xs.png") no-repeat;
868
+ display: block;
869
+ float: left;
870
+ width: 26px;
871
+ height: 15px;
872
+ }
873
+
874
+ .BRfloatMeta h3 {
875
+ font-size: 1.1em;
876
+ font-weight: 700;
877
+ line-height: 1.5em;
878
+ margin-top: 30px;
879
+ color: #333;
880
+ }
881
+
882
+ .BRfloatMeta ul.links {
883
+ float: left;
884
+ clear: right;
885
+ }
886
+
887
+ .BRfloatMeta ul.links li {
888
+ list-style-type: none;
889
+ display: block;
890
+ float: left;
891
+ font-size: 1.1em;
892
+ line-height: 1.5em;
893
+ }
894
+
895
+ .BRfloatMeta ul.links li span {
896
+ padding: 0 10px;
897
+ }
898
+
899
+ .BRfloatFoot a.problem, a.problem-icon {
900
+ background: url("images/icon_alert-xs.png") no-repeat;
901
+ padding-left: 20px;
902
+ }
903
+
904
+ .BRfloatHead,
905
+ .BRfloatBody {
906
+ width: 100%;
907
+ box-sizing: border-box;
908
+ text-align: center;
909
+ }
910
+
911
+ /* Desktop Only */
912
+ @media (min-width: 801px) {
913
+ .BRfloat .message,
914
+ .BRfloatBody {
915
+ padding: 10px 15px 10px 15px;
916
+ font-size: 16px;
917
+ line-height: normal;
918
+ margin-top: 0;
919
+ margin-bottom: 0px;
920
+ }
921
+
922
+ .BRfloatHead {
923
+ box-sizing: border-box;
924
+ line-height: normal;
925
+ padding: 10px;
926
+ font-size: 16px;
927
+ font-weight: 700;
928
+ text-align: center;
929
+ border-bottom: 1px solid #d8d8d8;
930
+ }
931
+
932
+ .BRfloatFoot {
933
+ padding: 10px;
934
+ margin-bottom: 10px;
935
+ }
936
+ }
937
+ /* Mobile Only (with some responsiveness) */
938
+ @media (max-width: 800px) {
939
+ .BRfloatBody {
940
+ padding: 10px 10px;
941
+ }
942
+
943
+ .BRfloat .message,
944
+ .BRfloatBody,
945
+ .BRfloatHead {
946
+ box-sizing: border-box;
947
+ line-height: normal;
948
+ border-bottom: 1px solid #d8d8d8;
949
+ padding: 10px;
950
+ min-height: initial;
951
+ font-size: 14px;
952
+ font-weight: 700;
953
+ text-align: center;
954
+ }
955
+
956
+ .BRfloatFoot {
957
+ padding: 10px 10px 0 10px;
958
+ border-top: 1px solid #ccc;
959
+ }
960
+
961
+ .BRfloatFoot .BRaction {
962
+ margin-bottom: 10px;
963
+ }
964
+ }
965
+ @media (min-width: 801px) {
966
+ .BRfloat {
967
+ max-width: initial;
968
+ width: 455px;
969
+ }
970
+
971
+ .BRfloat.wide {
972
+ max-width: initial;
973
+ width: 555px;
974
+ }
975
+ }
976
+ @media (max-width: 800px) and (min-width: 341px) {
977
+ .BRfloat {
978
+ max-width: initial;
979
+ width: 340px;
980
+ }
981
+ }
982
+ @media (max-width: 340px) {
983
+ .BRfloat {
984
+ max-width: 95%;
985
+ width: 95%;
986
+ }
987
+ }
988
+ /**
989
+ * BRnav is the bottom control bar (eg footer)
990
+ */
991
+ @keyframes fadeUp {
992
+ from {
993
+ opacity: 0;
994
+ transform: translateY(10px);
995
+ }
996
+ to {
997
+ opacity: 1;
998
+ transform: translateY(0);
999
+ }
1000
+ }
1001
+ .BRfooter {
1002
+ position: absolute;
1003
+ bottom: 0;
1004
+ left: 0;
1005
+ width: 100%;
1006
+ display: flex;
1007
+ flex-direction: column;
1008
+ /* important so it overlays over the book pages when showing */
1009
+ z-index: 3;
1010
+ }
1011
+ .BRfooter button {
1012
+ width: 30px;
1013
+ height: 30px;
1014
+ -webkit-appearance: none;
1015
+ -moz-appearance: none;
1016
+ appearance: none;
1017
+ padding: 0;
1018
+ cursor: pointer;
1019
+ border: none;
1020
+ border-radius: 2px;
1021
+ background: transparent;
1022
+ outline: none;
1023
+ }
1024
+ .BRfooter button:hover .tooltip {
1025
+ display: block;
1026
+ }
1027
+ .BRfooter button.hide {
1028
+ display: none;
1029
+ }
1030
+
1031
+ .BRReadAloudToolbar {
1032
+ display: flex;
1033
+ justify-content: center;
1034
+ margin: 5px;
1035
+ padding: 0 8.5px;
1036
+ border-radius: 4px;
1037
+ align-self: center;
1038
+ height: 34px;
1039
+ animation: fadeUp 0.2s;
1040
+ background-color: #333;
1041
+ color: white;
1042
+ /* Full mobile styles */
1043
+ }
1044
+ .BRReadAloudToolbar a {
1045
+ color: white;
1046
+ }
1047
+ .BRReadAloudToolbar .BRpager {
1048
+ background-color: #4D4D4D;
1049
+ }
1050
+ .BRReadAloudToolbar .BRpager .ui-slider-handle {
1051
+ background: white;
1052
+ border: none;
1053
+ }
1054
+ .BRReadAloudToolbar .BRpager .ui-slider-range {
1055
+ background: rgba(255, 255, 255, 0.59);
1056
+ }
1057
+ .BRReadAloudToolbar .BRpage .BRicon {
1058
+ border-left: 1px solid #4D4D4D;
1059
+ }
1060
+ .BRReadAloudToolbar .BRpage .BRicon.activated {
1061
+ background-color: rgba(255, 255, 255, 0.4);
1062
+ }
1063
+ .BRReadAloudToolbar .BRpage .BRicon.activated:before {
1064
+ content: "";
1065
+ top: 0;
1066
+ left: 0;
1067
+ width: 100%;
1068
+ height: 100%;
1069
+ box-sizing: border-box;
1070
+ display: block;
1071
+ border: 3px solid rgba(255, 255, 255, 0.3);
1072
+ }
1073
+ .BRReadAloudToolbar .BRnavCntl {
1074
+ z-index: 6;
1075
+ background-color: #4D4D4D;
1076
+ }
1077
+ .BRReadAloudToolbar .BRnavCntlBtm:hover {
1078
+ background-color: #0074D1;
1079
+ }
1080
+ .BRReadAloudToolbar.BRnavEmbed {
1081
+ background-color: white;
1082
+ color: black;
1083
+ }
1084
+ .BRReadAloudToolbar.BRnavEmbed a {
1085
+ color: black;
1086
+ }
1087
+ .BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider {
1088
+ background: #B7B7B7;
1089
+ }
1090
+ .BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider .ui-slider-handle {
1091
+ background: #0074D1;
1092
+ }
1093
+ .BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider .ui-slider-range {
1094
+ background: rgba(0, 116, 209, 0.25);
1095
+ }
1096
+ .BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon {
1097
+ border-left: 1px solid #979797;
1098
+ }
1099
+ .BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon.activated {
1100
+ background-color: rgba(0, 116, 209, 0.4);
1101
+ }
1102
+ .BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon.activated:before {
1103
+ content: "";
1104
+ top: 0;
1105
+ left: 0;
1106
+ width: 100%;
1107
+ height: 100%;
1108
+ box-sizing: border-box;
1109
+ display: block;
1110
+ border: 3px solid rgba(0, 116, 209, 0.3);
1111
+ }
1112
+ .BRReadAloudToolbar.BRnavEmbed .BRnavCntl {
1113
+ background-color: #979797;
1114
+ }
1115
+ .BRReadAloudToolbar.BRnavEmbed .BRnavCntlBtm:hover {
1116
+ background-color: #0074D1;
1117
+ }
1118
+ @media (max-width: 800px) {
1119
+ .BRbodyMobileNavEnabled .BRReadAloudToolbar, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar {
1120
+ background-color: white;
1121
+ color: black;
1122
+ }
1123
+ .BRbodyMobileNavEnabled .BRReadAloudToolbar a, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar a {
1124
+ color: black;
1125
+ }
1126
+ .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRpager.ui-slider, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRpager.ui-slider {
1127
+ background: #B7B7B7;
1128
+ }
1129
+ .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRpager.ui-slider .ui-slider-handle, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRpager.ui-slider .ui-slider-handle {
1130
+ background: #0074D1;
1131
+ }
1132
+ .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRpager.ui-slider .ui-slider-range, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRpager.ui-slider .ui-slider-range {
1133
+ background: rgba(0, 116, 209, 0.25);
1134
+ }
1135
+ .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRpage .BRicon, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRpage .BRicon {
1136
+ border-left: 1px solid #979797;
1137
+ }
1138
+ .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRpage .BRicon.activated, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRpage .BRicon.activated {
1139
+ background-color: rgba(0, 116, 209, 0.4);
1140
+ }
1141
+ .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRpage .BRicon.activated:before, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRpage .BRicon.activated:before {
1142
+ content: "";
1143
+ top: 0;
1144
+ left: 0;
1145
+ width: 100%;
1146
+ height: 100%;
1147
+ box-sizing: border-box;
1148
+ display: block;
1149
+ border: 3px solid rgba(0, 116, 209, 0.3);
1150
+ }
1151
+ .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRnavCntl, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRnavCntl {
1152
+ background-color: #979797;
1153
+ }
1154
+ .BRbodyMobileNavEnabled .BRReadAloudToolbar .BRnavCntlBtm:hover, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar .BRnavCntlBtm:hover {
1155
+ background-color: #0074D1;
1156
+ }
1157
+ }
1158
+ .BRReadAloudToolbar--controls {
1159
+ display: flex;
1160
+ }
1161
+ .BRReadAloudToolbar--controls > * {
1162
+ height: 100%;
1163
+ }
1164
+ .BRReadAloudToolbar .BRToolbarButton .icon {
1165
+ width: 34px;
1166
+ height: 34px;
1167
+ box-sizing: border-box;
1168
+ }
1169
+ .BRReadAloudToolbar .BRToolbarButton.jumpForward .icon, .BRReadAloudToolbar .BRToolbarButton.jumpBackward .icon {
1170
+ padding: 9px;
1171
+ }
1172
+ .BRReadAloudToolbar button {
1173
+ padding: 0;
1174
+ margin: 0;
1175
+ border: 0px none;
1176
+ box-sizing: border-box;
1177
+ background: transparent none repeat scroll 0% 0%;
1178
+ display: block;
1179
+ }
1180
+ .BRReadAloudToolbar .playback-rate-container {
1181
+ width: 34px;
1182
+ height: 34px;
1183
+ position: relative;
1184
+ }
1185
+ .BRReadAloudToolbar .playback-rate-container .icon {
1186
+ position: absolute;
1187
+ top: 0;
1188
+ left: 0;
1189
+ width: 100%;
1190
+ height: 100%;
1191
+ padding: 6px;
1192
+ box-sizing: border-box;
1193
+ padding-bottom: 1em;
1194
+ }
1195
+ .BRReadAloudToolbar .playback-rate-container select {
1196
+ cursor: pointer;
1197
+ position: absolute;
1198
+ top: 0;
1199
+ bottom: 0;
1200
+ left: 0;
1201
+ width: 100%;
1202
+ font-size: 0.8em;
1203
+ -moz-appearance: none;
1204
+ -webkit-appearance: none;
1205
+ appearance: none;
1206
+ border: 0;
1207
+ text-align: center;
1208
+ text-align-last: center;
1209
+ /* Chrome */
1210
+ padding-top: 60%;
1211
+ padding-left: 10%;
1212
+ padding-right: 10%;
1213
+ color: #333;
1214
+ background: transparent;
1215
+ /* IE */
1216
+ }
1217
+ .BRReadAloudToolbar .playback-rate-container select::-ms-expand {
1218
+ display: none;
1219
+ }
1220
+ .BRReadAloudToolbar button:hover, .BRReadAloudToolbar .playback-rate-container:hover {
1221
+ background: rgba(50, 50, 50, 0.2);
1222
+ }
1223
+
1224
+ .BRnav {
1225
+ box-sizing: border-box;
1226
+ height: 34px;
1227
+ padding-top: 0;
1228
+ overflow: visible;
1229
+ display: block;
1230
+ display: flex;
1231
+ flex-direction: row;
1232
+ border-top: 1px solid #222;
1233
+ /* Theming */
1234
+ background-color: #333;
1235
+ color: white;
1236
+ /* Full mobile styles */
1237
+ }
1238
+ .BRnav.BRnavEmbed {
1239
+ padding-top: 0;
1240
+ height: auto;
1241
+ align-items: center;
1242
+ }
1243
+ .BRnav.BRnavEmbed .BRembedreturn {
1244
+ flex: 1 auto;
1245
+ overflow-x: hidden;
1246
+ }
1247
+ .BRnav.BRnavEmbed .logo {
1248
+ display: inline-block;
1249
+ width: 25px;
1250
+ height: 25px;
1251
+ margin: 0 10px;
1252
+ background: transparent url(images/icon_home.svg) no-repeat center center;
1253
+ background-size: contain;
1254
+ }
1255
+ .BRnav a {
1256
+ color: white;
1257
+ }
1258
+ .BRnav .BRpager {
1259
+ background-color: #4D4D4D;
1260
+ }
1261
+ .BRnav .BRpager .ui-slider-handle {
1262
+ background: white;
1263
+ border: none;
1264
+ }
1265
+ .BRnav .BRpager .ui-slider-range {
1266
+ background: rgba(255, 255, 255, 0.59);
1267
+ }
1268
+ .BRnav .BRpage .BRicon {
1269
+ border-left: 1px solid #4D4D4D;
1270
+ }
1271
+ .BRnav .BRpage .BRicon.activated {
1272
+ background-color: rgba(255, 255, 255, 0.4);
1273
+ }
1274
+ .BRnav .BRpage .BRicon.activated:before {
1275
+ content: "";
1276
+ top: 0;
1277
+ left: 0;
1278
+ width: 100%;
1279
+ height: 100%;
1280
+ box-sizing: border-box;
1281
+ display: block;
1282
+ border: 3px solid rgba(255, 255, 255, 0.3);
1283
+ }
1284
+ .BRnav .BRnavCntl {
1285
+ z-index: 6;
1286
+ background-color: #4D4D4D;
1287
+ }
1288
+ .BRnav .BRnavCntlBtm:hover {
1289
+ background-color: #0074D1;
1290
+ }
1291
+ @media (max-width: 800px) {
1292
+ .BRnav {
1293
+ height: 34px;
1294
+ box-shadow: 0px -1px 3px 0px rgba(102, 102, 102, 0.25);
1295
+ }
1296
+ }
1297
+
1298
+ .BRnavpos {
1299
+ position: relative;
1300
+ margin-right: 10px;
1301
+ margin-left: 10px;
1302
+ float: left;
1303
+ flex: 1 auto;
1304
+ }
1305
+
1306
+ .BRpager.ui-slider {
1307
+ position: relative;
1308
+ height: 8px;
1309
+ top: 13px;
1310
+ box-sizing: content-box;
1311
+ border-radius: 10px;
1312
+ cursor: pointer;
1313
+ /* handle active state for touch */
1314
+ }
1315
+ .BRpager.ui-slider.ui-widget.ui-widget-content {
1316
+ border: none;
1317
+ }
1318
+ .BRpager.ui-slider .ui-slider-horizontal .ui-slider-handle,
1319
+ .BRpager.ui-slider .ui-slider-handle {
1320
+ position: absolute;
1321
+ width: 20px;
1322
+ height: 20px;
1323
+ border-radius: 50%;
1324
+ top: -5px;
1325
+ margin-left: -9px;
1326
+ /* Center icon */
1327
+ z-index: 6;
1328
+ border: none;
1329
+ }
1330
+ .BRpager.ui-slider .ui-slider-range {
1331
+ height: 100%;
1332
+ border-radius: 10px;
1333
+ }
1334
+ .touch .BRpager.ui-slider .ui-slider-handle.ui-state-active {
1335
+ width: 24px;
1336
+ height: 24px;
1337
+ top: -4px;
1338
+ margin-left: -11px;
1339
+ }
1340
+
1341
+ /* BRnavlin is where chapters/search are appended */
1342
+ .BRnavline {
1343
+ position: relative;
1344
+ height: 1px;
1345
+ width: auto;
1346
+ top: -1px;
1347
+ margin: 0 10px;
1348
+ width: 100%;
1349
+ }
1350
+
1351
+ .BRcurrentpage {
1352
+ display: inline-block;
1353
+ text-align: center;
1354
+ padding: 0 0 0 0;
1355
+ font-size: 12px;
1356
+ margin-left: 5px;
1357
+ margin-right: 10px;
1358
+ line-height: 1;
1359
+ }
1360
+
1361
+ .BRnavTitle {
1362
+ position: relative;
1363
+ z-index: 2;
1364
+ text-align: center;
1365
+ padding: 0 0 0 0;
1366
+ font-size: 12px;
1367
+ margin-left: 10px;
1368
+ margin-right: 5px;
1369
+ line-height: 1;
1370
+ display: flex;
1371
+ flex-direction: column;
1372
+ justify-content: center;
1373
+ letter-spacing: 0.5px;
1374
+ font-style: italic;
1375
+ }
1376
+
1377
+ .BRpage {
1378
+ height: 100%;
1379
+ overflow: hidden;
1380
+ padding-left: 0;
1381
+ text-align: right;
1382
+ white-space: nowrap;
1383
+ float: left;
1384
+ flex: none;
1385
+ }
1386
+
1387
+ .BRpageLparan {
1388
+ margin-right: 1px;
1389
+ font-size: 0.8em;
1390
+ vertical-align: top;
1391
+ }
1392
+
1393
+ .BRpageRparan {
1394
+ margin-left: 1px;
1395
+ font-size: 0.8em;
1396
+ vertical-align: top;
1397
+ }
1398
+
1399
+ .BRup {
1400
+ background-image: url("images/nav_control-up.png");
1401
+ background-repeat: no-repeat;
1402
+ }
1403
+
1404
+ /* Mobile Only */
1405
+ @media (max-width: 800px) {
1406
+ /* hide navline chapters and search in mobile */
1407
+ .BRnavline .BRchapter {
1408
+ display: none;
1409
+ }
1410
+
1411
+ .BRnavCntlBtm {
1412
+ bottom: 34px;
1413
+ }
1414
+
1415
+ .BRpager.ui-slider {
1416
+ height: 10px;
1417
+ top: 12px;
1418
+ }
1419
+ }
1420
+ /* Mobile nav zoom buttons */
1421
+ .DrawerSettingsWrapper [class*=zoom] {
1422
+ width: 40px;
1423
+ height: 40px;
1424
+ background-position: -1224px center;
1425
+ background-size: 3440px auto;
1426
+ }
1427
+
1428
+ .DrawerSettingsWrapper .zoom_in {
1429
+ background-position: -1384px center;
1430
+ }
1431
+
1432
+ /**
1433
+ * BRtoolbar is the top control bar (eg header)
1434
+ */
1435
+ .BRtoolbar {
1436
+ position: relative;
1437
+ top: 0;
1438
+ left: 0;
1439
+ padding: 10px 10px 4px 10px;
1440
+ width: 100%;
1441
+ background-color: transparent;
1442
+ box-sizing: border-box;
1443
+ width: 100%;
1444
+ color: white;
1445
+ font-size: 14px;
1446
+ /* ensure that this displays over book */
1447
+ z-index: 3;
1448
+ }
1449
+
1450
+ .BRtoolbar .label {
1451
+ font-size: 12px;
1452
+ color: #ccc;
1453
+ }
1454
+
1455
+ .BRtoolbar a {
1456
+ text-decoration: none;
1457
+ color: white;
1458
+ }
1459
+ .BRtoolbar a:hover {
1460
+ color: white;
1461
+ text-decoration: underline;
1462
+ }
1463
+
1464
+ /* desktop header */
1465
+ .BRtoolbarSection > * {
1466
+ margin-left: 6px;
1467
+ }
1468
+
1469
+ .BRtoolbarbuttons {
1470
+ white-space: nowrap;
1471
+ text-align: right;
1472
+ border-spacing: 0;
1473
+ box-sizing: border-box;
1474
+ display: flex;
1475
+ flex-direction: row;
1476
+ }
1477
+
1478
+ .BRtoolbarbuttons .BRpill {
1479
+ border: 1px solid white;
1480
+ background: transparent;
1481
+ padding: 5px 10px;
1482
+ height: 30px;
1483
+ border-radius: 20px;
1484
+ color: white;
1485
+ line-height: 0;
1486
+ vertical-align: middle;
1487
+ font-size: 12px;
1488
+ cursor: pointer;
1489
+ }
1490
+ .BRtoolbarbuttons .BRpill.BRtoolbarHamburger {
1491
+ border: none;
1492
+ border-radius: none;
1493
+ }
1494
+
1495
+ .BRtoolbarSection {
1496
+ white-space: nowrap;
1497
+ }
1498
+
1499
+ .BRtoolbarSectionLogo {
1500
+ text-align: center;
1501
+ display: none;
1502
+ }
1503
+
1504
+ .BRtoolbarLeft {
1505
+ text-align: left;
1506
+ flex: 1 auto;
1507
+ overflow-y: hidden;
1508
+ }
1509
+
1510
+ .BRtoolbarRight {
1511
+ text-align: right;
1512
+ flex: none;
1513
+ }
1514
+
1515
+ @media (max-width: 800px) {
1516
+ .BRtoolbar {
1517
+ height: 34px;
1518
+ padding: 0;
1519
+ box-shadow: 0px 1px 3px 0px rgba(102, 102, 102, 0.25);
1520
+ }
1521
+ }
1522
+ .BookReader .BRquery, .BRmobileMenu .BRquery, .BRfloat .BRquery, .BookReader .BRchapter > div, .BRmobileMenu .BRchapter > div, .BRfloat .BRchapter > div {
1523
+ display: none;
1524
+ position: absolute;
1525
+ bottom: calc(100% + 5px);
1526
+ left: 50%;
1527
+ transform: translateX(-50%);
1528
+ width: 230px;
1529
+ padding: 12px 14px;
1530
+ color: #fff;
1531
+ font-weight: bold;
1532
+ background: #333;
1533
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
1534
+ }
1535
+ .BookReader .BRquery:after, .BRmobileMenu .BRquery:after, .BRfloat .BRquery:after, .BookReader .BRchapter > div:after, .BRmobileMenu .BRchapter > div:after, .BRfloat .BRchapter > div:after {
1536
+ display: none;
1537
+ position: absolute;
1538
+ top: 100%;
1539
+ left: 50%;
1540
+ transform: translateX(-50%);
1541
+ content: "";
1542
+ border: 7px solid transparent;
1543
+ border-width: 7px 4px;
1544
+ border-bottom: none;
1545
+ border-top-color: #333;
1546
+ }
1547
+
1548
+ .BookReader .searchHiliteLayer, .BookReader .ttsHiliteLayer, .BRmobileMenu .searchHiliteLayer, .BRmobileMenu .ttsHiliteLayer, .BRfloat .searchHiliteLayer, .BRfloat .ttsHiliteLayer {
1549
+ pointer-events: none;
1550
+ }
1551
+ .BookReader .searchHiliteLayer rect, .BookReader .ttsHiliteLayer rect, .BRmobileMenu .searchHiliteLayer rect, .BRmobileMenu .ttsHiliteLayer rect, .BRfloat .searchHiliteLayer rect, .BRfloat .ttsHiliteLayer rect {
1552
+ fill: #0000ff;
1553
+ fill-opacity: 0.2;
1554
+ animation: hiliteFadeIn 0.2s;
1555
+ }
1556
+ .BookReader .BRchapter, .BookReader .BRsearch, .BRmobileMenu .BRchapter, .BRmobileMenu .BRsearch, .BRfloat .BRchapter, .BRfloat .BRsearch {
1557
+ position: absolute;
1558
+ bottom: 0;
1559
+ /* Relative to nav line */
1560
+ cursor: pointer;
1561
+ z-index: 3;
1562
+ background-color: transparent;
1563
+ background-repeat: no-repeat;
1564
+ font-weight: normal;
1565
+ }
1566
+ .BookReader .BRchapter, .BRmobileMenu .BRchapter, .BRfloat .BRchapter {
1567
+ background-color: white;
1568
+ color: #666;
1569
+ height: 8px;
1570
+ width: 4px;
1571
+ bottom: -13px;
1572
+ margin-left: -12px;
1573
+ /* Center icon */
1574
+ }
1575
+ .BookReader .BRchapter:hover > div, .BRmobileMenu .BRchapter:hover > div, .BRfloat .BRchapter:hover > div {
1576
+ display: block;
1577
+ }
1578
+ .BookReader .BRchapter.front, .BRmobileMenu .BRchapter.front, .BRfloat .BRchapter.front {
1579
+ background-color: blue;
1580
+ }
1581
+ .BookReader .BRsearch, .BRmobileMenu .BRsearch, .BRfloat .BRsearch {
1582
+ width: 9px;
1583
+ height: 6px;
1584
+ margin-left: -10px;
1585
+ }
1586
+ .BookReader .BRsearch:before, .BRmobileMenu .BRsearch:before, .BRfloat .BRsearch:before {
1587
+ position: absolute;
1588
+ left: calc(50% - 2px);
1589
+ transform: translateX(-50%);
1590
+ width: 2px;
1591
+ height: 6px;
1592
+ content: "";
1593
+ background: #428bca;
1594
+ border-radius: 2px;
1595
+ }
1596
+ .BookReader .BRsearch:hover .BRquery, .BRmobileMenu .BRsearch:hover .BRquery, .BRfloat .BRsearch:hover .BRquery {
1597
+ display: block;
1598
+ }
1599
+ .BookReader .BRsearch .BRquery, .BRmobileMenu .BRsearch .BRquery, .BRfloat .BRsearch .BRquery {
1600
+ display: none;
1601
+ }
1602
+ .BookReader .BRquery b, .BRmobileMenu .BRquery b, .BRfloat .BRquery b {
1603
+ color: #adaedc;
1604
+ font-weight: bold;
1605
+ background-color: #272958;
1606
+ }
1607
+ .BookReader .BRbooksearch, .BRmobileMenu .BRbooksearch, .BRfloat .BRbooksearch {
1608
+ position: relative;
1609
+ box-sizing: border-box;
1610
+ }
1611
+ .BookReader .BRbooksearch.desktop, .BRmobileMenu .BRbooksearch.desktop, .BRfloat .BRbooksearch.desktop {
1612
+ position: relative;
1613
+ height: 30px;
1614
+ border: 1px solid white;
1615
+ border-radius: 20px;
1616
+ display: inline-block;
1617
+ line-height: 0;
1618
+ vertical-align: top;
1619
+ margin-top: 0;
1620
+ margin-bottom: 0;
1621
+ }
1622
+ .BookReader .BRbooksearch.desktop .BRsearchInput, .BRmobileMenu .BRbooksearch.desktop .BRsearchInput, .BRfloat .BRbooksearch.desktop .BRsearchInput {
1623
+ -webkit-appearance: none;
1624
+ position: relative;
1625
+ width: 130px;
1626
+ max-width: 160px;
1627
+ height: 100%;
1628
+ color: white;
1629
+ outline: none;
1630
+ border: none;
1631
+ padding: 3px 0px 3px 10px;
1632
+ margin: 0;
1633
+ box-sizing: border-box;
1634
+ background: transparent;
1635
+ display: block;
1636
+ float: left;
1637
+ font-size: 14px;
1638
+ line-height: 1.2;
1639
+ }
1640
+ .BookReader .BRbooksearch.desktop .BRsearchSubmit, .BRmobileMenu .BRbooksearch.desktop .BRsearchSubmit, .BRfloat .BRbooksearch.desktop .BRsearchSubmit {
1641
+ width: auto;
1642
+ height: 100%;
1643
+ border: none;
1644
+ text-align: center;
1645
+ color: #fff;
1646
+ overflow: hidden;
1647
+ box-sizing: boder-box;
1648
+ display: block;
1649
+ background: transparent;
1650
+ float: left;
1651
+ cursor: pointer;
1652
+ }
1653
+ .BookReader .BRsearch-navigation, .BRmobileMenu .BRsearch-navigation, .BRfloat .BRsearch-navigation {
1654
+ position: relative;
1655
+ z-index: 1;
1656
+ display: flex;
1657
+ justify-content: space-between;
1658
+ align-items: center;
1659
+ color: #fff;
1660
+ background-color: #333;
1661
+ padding: 5px 0;
1662
+ }
1663
+ .BookReader .BRsearch-navigation button.toggle-sidebar, .BRmobileMenu .BRsearch-navigation button.toggle-sidebar, .BRfloat .BRsearch-navigation button.toggle-sidebar {
1664
+ width: unset;
1665
+ padding: 0 10px;
1666
+ }
1667
+ .BookReader .BRsearch-navigation button.toggle-sidebar h4, .BRmobileMenu .BRsearch-navigation button.toggle-sidebar h4, .BRfloat .BRsearch-navigation button.toggle-sidebar h4 {
1668
+ padding: 0;
1669
+ margin: 0;
1670
+ font-size: 15px;
1671
+ font-weight: normal;
1672
+ color: #fff;
1673
+ }
1674
+ .BookReader .BRsearch-navigation button.toggle-sidebar h4 span, .BRmobileMenu .BRsearch-navigation button.toggle-sidebar h4 span, .BRfloat .BRsearch-navigation button.toggle-sidebar h4 span {
1675
+ vertical-align: middle;
1676
+ }
1677
+ .BookReader .BRsearch-navigation .pagination, .BRmobileMenu .BRsearch-navigation .pagination, .BRfloat .BRsearch-navigation .pagination {
1678
+ position: absolute;
1679
+ left: 50%;
1680
+ top: 50%;
1681
+ transform: translate(-50%, -50%);
1682
+ margin: 0;
1683
+ }
1684
+ .BookReader .BRsearch-navigation .pagination span, .BRmobileMenu .BRsearch-navigation .pagination span, .BRfloat .BRsearch-navigation .pagination span {
1685
+ display: inline-block;
1686
+ padding: 0 5px;
1687
+ }
1688
+ .BookReader .BRsearch-navigation .pagination button[disabled], .BRmobileMenu .BRsearch-navigation .pagination button[disabled], .BRfloat .BRsearch-navigation .pagination button[disabled] {
1689
+ opacity: 0.3;
1690
+ cursor: default;
1691
+ }
1692
+ .BookReader .BRsearch-navigation .pagination button span, .BRmobileMenu .BRsearch-navigation .pagination button span, .BRfloat .BRsearch-navigation .pagination button span {
1693
+ width: 8px;
1694
+ height: 13px;
1695
+ padding: 0;
1696
+ background-size: 100% auto;
1697
+ }
1698
+ .BookReader .BRsearch-navigation .clear span, .BRmobileMenu .BRsearch-navigation .clear span, .BRfloat .BRsearch-navigation .clear span {
1699
+ width: 18px;
1700
+ height: 18px;
1701
+ }
1702
+ .BookReader .BRsearch-navigation + .BRnav .BRnavCntl, .BRmobileMenu .BRsearch-navigation + .BRnav .BRnavCntl, .BRfloat .BRsearch-navigation + .BRnav .BRnavCntl {
1703
+ display: none;
1704
+ }
1705
+
1706
+ @keyframes hiliteFadeIn {
1707
+ from {
1708
+ fill-opacity: 0;
1709
+ }
1710
+ }
1711
+ /* Mid size breakpoint */
1712
+ @media (max-width: 1050px) {
1713
+ .BookReader .BRbooksearch .BRsearchInput, .BRmobileMenu .BRbooksearch .BRsearchInput, .BRfloat .BRbooksearch .BRsearchInput {
1714
+ padding: 0 0 0 8px;
1715
+ width: 110px;
1716
+ min-width: 110px;
1717
+ }
1718
+ .BookReader .BRbooksearch .BRsearchSubmit, .BRmobileMenu .BRbooksearch .BRsearchSubmit, .BRfloat .BRbooksearch .BRsearchSubmit {
1719
+ float: left;
1720
+ }
1721
+ }
1722
+ .mm-menu, .mm-panels, .mm-panels > .mm-panel {
1723
+ margin: 0;
1724
+ left: 0;
1725
+ right: 0;
1726
+ top: 0;
1727
+ bottom: 0;
1728
+ z-index: 0;
1729
+ box-sizing: border-box;
1730
+ }
1731
+
1732
+ .mm-btn, .mm-menu {
1733
+ box-sizing: border-box;
1734
+ }
1735
+
1736
+ .mm-listview a, .mm-listview a:hover, .mm-navbar a, .mm-navbar a:hover {
1737
+ text-decoration: none;
1738
+ }
1739
+
1740
+ .mm-hidden {
1741
+ display: none !important;
1742
+ }
1743
+
1744
+ .mm-menu, .mm-panels > .mm-panel:not(.mm-hidden) {
1745
+ display: block;
1746
+ }
1747
+
1748
+ .mm-wrapper {
1749
+ overflow-x: hidden;
1750
+ position: relative;
1751
+ }
1752
+
1753
+ .mm-menu {
1754
+ padding: 0;
1755
+ position: absolute;
1756
+ }
1757
+
1758
+ .mm-panels, .mm-panels > .mm-panel {
1759
+ background: inherit;
1760
+ border-color: inherit;
1761
+ position: absolute;
1762
+ }
1763
+
1764
+ .mm-btn, .mm-panel.mm-highest {
1765
+ z-index: 1;
1766
+ }
1767
+
1768
+ .mm-panels {
1769
+ overflow: hidden;
1770
+ }
1771
+
1772
+ .mm-panel {
1773
+ -webkit-transition: -webkit-transform 0.4s ease;
1774
+ transition: -webkit-transform 0.4s ease;
1775
+ transition: transform 0.4s ease;
1776
+ transition: transform 0.4s ease, -webkit-transform 0.4s ease;
1777
+ -webkit-transform: translate3d(100%, 0, 0);
1778
+ transform: translate3d(100%, 0, 0);
1779
+ }
1780
+
1781
+ .mm-panel.mm-opened {
1782
+ -webkit-transform: translate3d(0, 0, 0);
1783
+ transform: translate3d(0, 0, 0);
1784
+ }
1785
+
1786
+ .mm-panel.mm-subopened {
1787
+ -webkit-transform: translate3d(-30%, 0, 0);
1788
+ transform: translate3d(-30%, 0, 0);
1789
+ }
1790
+
1791
+ .mm-panels > .mm-panel {
1792
+ -webkit-overflow-scrolling: touch;
1793
+ overflow: scroll;
1794
+ overflow-x: hidden;
1795
+ overflow-y: auto;
1796
+ padding: 0 20px;
1797
+ }
1798
+
1799
+ .mm-listview .mm-divider, .mm-listview > li > a, .mm-listview > li > span, .mm-navbar .mm-title {
1800
+ text-overflow: ellipsis;
1801
+ white-space: nowrap;
1802
+ overflow: hidden;
1803
+ }
1804
+
1805
+ .mm-panels > .mm-panel.mm-hasnavbar {
1806
+ padding-top: 40px;
1807
+ }
1808
+
1809
+ .mm-panels > .mm-panel:after, .mm-panels > .mm-panel:before {
1810
+ content: "";
1811
+ display: block;
1812
+ height: 20px;
1813
+ }
1814
+
1815
+ .mm-vertical .mm-panel {
1816
+ -webkit-transform: none !important;
1817
+ -ms-transform: none !important;
1818
+ transform: none !important;
1819
+ }
1820
+
1821
+ .mm-listview .mm-vertical .mm-panel, .mm-vertical .mm-listview .mm-panel {
1822
+ display: none;
1823
+ padding: 10px 0 10px 10px;
1824
+ }
1825
+
1826
+ .mm-listview .mm-vertical .mm-panel .mm-listview > li:last-child:after, .mm-vertical .mm-listview .mm-panel .mm-listview > li:last-child:after {
1827
+ border-color: transparent;
1828
+ }
1829
+
1830
+ .mm-vertical li.mm-opened > .mm-panel, li.mm-vertical.mm-opened > .mm-panel {
1831
+ display: block;
1832
+ }
1833
+
1834
+ .mm-listview > li.mm-vertical > .mm-next, .mm-vertical .mm-listview > li > .mm-next {
1835
+ height: 40px;
1836
+ bottom: auto;
1837
+ }
1838
+
1839
+ .mm-listview > li.mm-vertical > .mm-next:after, .mm-vertical .mm-listview > li > .mm-next:after {
1840
+ top: 16px;
1841
+ bottom: auto;
1842
+ }
1843
+
1844
+ .mm-listview > li.mm-vertical.mm-opened > .mm-next:after, .mm-vertical .mm-listview > li.mm-opened > .mm-next:after {
1845
+ -webkit-transform: rotate(45deg);
1846
+ -ms-transform: rotate(45deg);
1847
+ transform: rotate(45deg);
1848
+ right: 19px;
1849
+ }
1850
+
1851
+ .mm-btn {
1852
+ width: 40px;
1853
+ height: 40px;
1854
+ position: absolute;
1855
+ top: 0;
1856
+ }
1857
+
1858
+ .mm-clear:after, .mm-clear:before, .mm-close:after, .mm-close:before {
1859
+ content: "";
1860
+ border: 2px solid transparent;
1861
+ display: block;
1862
+ width: 5px;
1863
+ height: 5px;
1864
+ margin: auto;
1865
+ position: absolute;
1866
+ top: 0;
1867
+ bottom: 0;
1868
+ -webkit-transform: rotate(-45deg);
1869
+ -ms-transform: rotate(-45deg);
1870
+ transform: rotate(-45deg);
1871
+ }
1872
+
1873
+ .mm-clear:before, .mm-close:before {
1874
+ border-right: none;
1875
+ border-bottom: none;
1876
+ right: 18px;
1877
+ }
1878
+
1879
+ .mm-clear:after, .mm-close:after {
1880
+ border-left: none;
1881
+ border-top: none;
1882
+ right: 25px;
1883
+ }
1884
+
1885
+ .mm-arrow:after, .mm-next:after, .mm-prev:before {
1886
+ content: "";
1887
+ border: 2px solid transparent;
1888
+ display: block;
1889
+ width: 8px;
1890
+ height: 8px;
1891
+ margin: auto;
1892
+ position: absolute;
1893
+ top: 0;
1894
+ bottom: 0;
1895
+ -webkit-transform: rotate(-45deg);
1896
+ -ms-transform: rotate(-45deg);
1897
+ transform: rotate(-45deg);
1898
+ }
1899
+
1900
+ .mm-prev:before {
1901
+ border-right: none;
1902
+ border-bottom: none;
1903
+ left: 23px;
1904
+ }
1905
+
1906
+ .mm-arrow:after, .mm-next:after {
1907
+ border-top: none;
1908
+ border-left: none;
1909
+ right: 23px;
1910
+ }
1911
+
1912
+ .mm-navbar {
1913
+ border-bottom: 1px solid;
1914
+ border-color: inherit;
1915
+ text-align: center;
1916
+ line-height: 20px;
1917
+ height: 40px;
1918
+ padding: 0 40px;
1919
+ margin: 0;
1920
+ position: absolute;
1921
+ top: 0;
1922
+ left: 0;
1923
+ right: 0;
1924
+ }
1925
+
1926
+ .mm-navbar > * {
1927
+ display: block;
1928
+ padding: 10px 0;
1929
+ }
1930
+
1931
+ .mm-navbar .mm-btn:first-child {
1932
+ padding-left: 20px;
1933
+ left: 0;
1934
+ }
1935
+
1936
+ .mm-navbar .mm-btn:last-child {
1937
+ text-align: right;
1938
+ padding-right: 20px;
1939
+ right: 0;
1940
+ }
1941
+
1942
+ .mm-panel .mm-navbar {
1943
+ display: none;
1944
+ }
1945
+
1946
+ .mm-panel.mm-hasnavbar .mm-navbar {
1947
+ display: block;
1948
+ }
1949
+
1950
+ .mm-listview, .mm-listview > li {
1951
+ list-style: none;
1952
+ display: block;
1953
+ padding: 0;
1954
+ margin: 0;
1955
+ }
1956
+
1957
+ .mm-listview {
1958
+ font: inherit;
1959
+ font-size: 14px;
1960
+ line-height: 20px;
1961
+ }
1962
+
1963
+ .mm-listview > li {
1964
+ position: relative;
1965
+ }
1966
+
1967
+ .mm-listview > li, .mm-listview > li .mm-next, .mm-listview > li .mm-next:before, .mm-listview > li:after {
1968
+ border-color: inherit;
1969
+ }
1970
+
1971
+ .mm-listview > li > a, .mm-listview > li > span {
1972
+ color: inherit;
1973
+ display: block;
1974
+ padding: 10px 10px 10px 20px;
1975
+ margin: 0;
1976
+ }
1977
+
1978
+ .mm-listview > li > a.mm-arrow, .mm-listview > li > span.mm-arrow {
1979
+ padding-right: 50px;
1980
+ }
1981
+
1982
+ .mm-listview > li:not(.mm-divider):after {
1983
+ content: "";
1984
+ border-bottom-width: 1px;
1985
+ border-bottom-style: solid;
1986
+ display: block;
1987
+ position: absolute;
1988
+ right: 0;
1989
+ bottom: 0;
1990
+ left: 20px;
1991
+ }
1992
+
1993
+ .mm-listview .mm-next {
1994
+ background: rgba(3, 2, 1, 0);
1995
+ width: 50px;
1996
+ padding: 0;
1997
+ position: absolute;
1998
+ right: 0;
1999
+ top: 0;
2000
+ bottom: 0;
2001
+ z-index: 2;
2002
+ }
2003
+
2004
+ .mm-listview .mm-next:before {
2005
+ content: "";
2006
+ border-left-width: 1px;
2007
+ border-left-style: solid;
2008
+ display: block;
2009
+ position: absolute;
2010
+ top: 0;
2011
+ bottom: 0;
2012
+ left: 0;
2013
+ }
2014
+
2015
+ .mm-listview .mm-next + a, .mm-listview .mm-next + span {
2016
+ margin-right: 50px;
2017
+ }
2018
+
2019
+ .mm-listview .mm-next.mm-fullsubopen {
2020
+ width: 100%;
2021
+ }
2022
+
2023
+ .mm-listview .mm-next.mm-fullsubopen:before {
2024
+ border-left: none;
2025
+ }
2026
+
2027
+ .mm-listview .mm-next.mm-fullsubopen + a, .mm-listview .mm-next.mm-fullsubopen + span {
2028
+ padding-right: 50px;
2029
+ margin-right: 0;
2030
+ }
2031
+
2032
+ .mm-panels > .mm-panel > .mm-listview {
2033
+ margin: 20px -20px;
2034
+ }
2035
+
2036
+ .mm-panels > .mm-panel > .mm-listview:first-child, .mm-panels > .mm-panel > .mm-navbar + .mm-listview {
2037
+ margin-top: -20px;
2038
+ }
2039
+
2040
+ .mm-listview .mm-inset {
2041
+ list-style: disc inside;
2042
+ padding: 0 10px 15px 40px;
2043
+ margin: 0;
2044
+ }
2045
+
2046
+ .mm-listview .mm-inset > li {
2047
+ padding: 5px 0;
2048
+ }
2049
+
2050
+ .mm-listview .mm-divider {
2051
+ font-size: 10px;
2052
+ text-transform: uppercase;
2053
+ text-indent: 20px;
2054
+ line-height: 25px;
2055
+ }
2056
+
2057
+ .mm-listview .mm-spacer {
2058
+ padding-top: 40px;
2059
+ }
2060
+
2061
+ .mm-listview .mm-spacer > .mm-next {
2062
+ top: 40px;
2063
+ }
2064
+
2065
+ .mm-listview .mm-spacer.mm-divider {
2066
+ padding-top: 25px;
2067
+ }
2068
+
2069
+ .mm-menu {
2070
+ background: #f3f3f3;
2071
+ border-color: rgba(0, 0, 0, 0.1);
2072
+ color: rgba(0, 0, 0, 0.7);
2073
+ }
2074
+
2075
+ .mm-menu .mm-navbar a, .mm-menu .mm-navbar > * {
2076
+ color: rgba(0, 0, 0, 0.3);
2077
+ }
2078
+
2079
+ .mm-menu .mm-btn:after, .mm-menu .mm-btn:before {
2080
+ border-color: rgba(0, 0, 0, 0.3);
2081
+ }
2082
+
2083
+ .mm-menu .mm-listview {
2084
+ border-color: rgba(0, 0, 0, 0.1);
2085
+ }
2086
+
2087
+ .mm-menu .mm-listview > li .mm-arrow:after, .mm-menu .mm-listview > li .mm-next:after {
2088
+ border-color: rgba(0, 0, 0, 0.3);
2089
+ }
2090
+
2091
+ .mm-menu .mm-listview > li a:not(.mm-next) {
2092
+ -webkit-tap-highlight-color: rgba(255, 255, 255, 0.5);
2093
+ tap-highlight-color: rgba(255, 255, 255, 0.5);
2094
+ }
2095
+
2096
+ .mm-menu .mm-listview > li.mm-selected > a:not(.mm-next), .mm-menu .mm-listview > li.mm-selected > span {
2097
+ background: rgba(255, 255, 255, 0.5);
2098
+ }
2099
+
2100
+ .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 {
2101
+ background: rgba(0, 0, 0, 0.05);
2102
+ }
2103
+
2104
+ .mm-page {
2105
+ box-sizing: border-box;
2106
+ position: relative;
2107
+ }
2108
+
2109
+ .mm-slideout {
2110
+ -webkit-transition: -webkit-transform 0.4s ease;
2111
+ transition: -webkit-transform 0.4s ease;
2112
+ transition: transform 0.4s ease;
2113
+ transition: transform 0.4s ease, -webkit-transform 0.4s ease;
2114
+ z-index: 1;
2115
+ }
2116
+
2117
+ html.mm-opened {
2118
+ overflow-x: hidden;
2119
+ position: relative;
2120
+ }
2121
+
2122
+ html.mm-blocking, html.mm-blocking body {
2123
+ overflow: hidden;
2124
+ }
2125
+
2126
+ html.mm-background .mm-page {
2127
+ background: inherit;
2128
+ }
2129
+
2130
+ #mm-blocker {
2131
+ background: rgba(3, 2, 1, 0);
2132
+ display: none;
2133
+ width: 100%;
2134
+ height: 100%;
2135
+ position: fixed;
2136
+ top: 0;
2137
+ left: 0;
2138
+ z-index: 2;
2139
+ }
2140
+
2141
+ html.mm-blocking #mm-blocker {
2142
+ display: block;
2143
+ }
2144
+
2145
+ .mm-menu.mm-offcanvas {
2146
+ z-index: 0;
2147
+ display: none;
2148
+ position: fixed;
2149
+ width: 80%;
2150
+ min-width: 140px;
2151
+ max-width: 440px;
2152
+ }
2153
+
2154
+ .mm-menu.mm-offcanvas.mm-current {
2155
+ display: block;
2156
+ }
2157
+
2158
+ html.mm-opening .mm-slideout {
2159
+ -webkit-transform: translate3d(80%, 0, 0);
2160
+ transform: translate3d(80%, 0, 0);
2161
+ }
2162
+
2163
+ @media all and (max-width: 175px) {
2164
+ html.mm-opening .mm-slideout {
2165
+ -webkit-transform: translate3d(140px, 0, 0);
2166
+ transform: translate3d(140px, 0, 0);
2167
+ }
2168
+ }
2169
+ @media all and (min-width: 550px) {
2170
+ html.mm-opening .mm-slideout {
2171
+ -webkit-transform: translate3d(440px, 0, 0);
2172
+ transform: translate3d(440px, 0, 0);
2173
+ }
2174
+ }
2175
+ .mm-navbar-bottom, .mm-navbar-top ~ .mm-navbar-top {
2176
+ border-bottom: none;
2177
+ }
2178
+
2179
+ .mm-menu > .mm-navbar {
2180
+ background: inherit;
2181
+ padding: 0;
2182
+ z-index: 3;
2183
+ -webkit-transform: translate3d(0, 0, 0);
2184
+ transform: translate3d(0, 0, 0);
2185
+ }
2186
+
2187
+ .mm-navbar-bottom {
2188
+ border-top-width: 1px;
2189
+ border-top-style: solid;
2190
+ top: auto;
2191
+ bottom: 0;
2192
+ }
2193
+
2194
+ .mm-navbar-bottom ~ .mm-navbar-bottom {
2195
+ border-top: none;
2196
+ }
2197
+
2198
+ .mm-navbar.mm-hasbtns {
2199
+ padding: 0 40px;
2200
+ }
2201
+
2202
+ .mm-navbar[class*=mm-navbar-content-] > * {
2203
+ box-sizing: border-box;
2204
+ display: block;
2205
+ float: left;
2206
+ }
2207
+
2208
+ .mm-navbar .mm-breadcrumbs {
2209
+ text-overflow: ellipsis;
2210
+ white-space: nowrap;
2211
+ overflow: hidden;
2212
+ -webkit-overflow-scrolling: touch;
2213
+ overflow-x: auto;
2214
+ text-align: left;
2215
+ padding: 0 0 0 17px;
2216
+ }
2217
+
2218
+ .mm-navbar .mm-breadcrumbs > * {
2219
+ display: inline-block;
2220
+ padding: 10px 3px;
2221
+ }
2222
+
2223
+ .mm-navbar .mm-breadcrumbs > a {
2224
+ text-decoration: underline;
2225
+ }
2226
+
2227
+ .mm-navbar.mm-hasbtns .mm-breadcrumbs {
2228
+ margin-left: -40px;
2229
+ }
2230
+
2231
+ .mm-navbar.mm-hasbtns .mm-btn:not(.mm-hidden) + .mm-breadcrumbs {
2232
+ margin-left: 0;
2233
+ padding-left: 0;
2234
+ }
2235
+
2236
+ .mm-navbar-top-1 {
2237
+ top: 0;
2238
+ }
2239
+
2240
+ .mm-hasnavbar-top-1 .mm-panels, .mm-navbar-top-2 {
2241
+ top: 40px;
2242
+ }
2243
+
2244
+ .mm-hasnavbar-top-2 .mm-panels, .mm-navbar-top-3 {
2245
+ top: 80px;
2246
+ }
2247
+
2248
+ .mm-hasnavbar-top-3 .mm-panels, .mm-navbar-top-4 {
2249
+ top: 120px;
2250
+ }
2251
+
2252
+ .mm-hasnavbar-top-4 .mm-panels {
2253
+ top: 160px;
2254
+ }
2255
+
2256
+ .mm-navbar-bottom-1 {
2257
+ bottom: 0;
2258
+ }
2259
+
2260
+ .mm-hasnavbar-bottom-1 .mm-panels, .mm-navbar-bottom-2 {
2261
+ bottom: 40px;
2262
+ }
2263
+
2264
+ .mm-hasnavbar-bottom-2 .mm-panels, .mm-navbar-bottom-3 {
2265
+ bottom: 80px;
2266
+ }
2267
+
2268
+ .mm-hasnavbar-bottom-3 .mm-panels, .mm-navbar-bottom-4 {
2269
+ bottom: 120px;
2270
+ }
2271
+
2272
+ .mm-hasnavbar-bottom-4 .mm-panels {
2273
+ bottom: 160px;
2274
+ }
2275
+
2276
+ .mm-navbar-size-2 {
2277
+ height: 80px;
2278
+ }
2279
+
2280
+ .mm-navbar-size-3 {
2281
+ height: 120px;
2282
+ }
2283
+
2284
+ .mm-navbar-size-4 {
2285
+ height: 160px;
2286
+ }
2287
+
2288
+ .mm-navbar-content-2 > * {
2289
+ width: 50%;
2290
+ }
2291
+
2292
+ .mm-navbar-content-3 > * {
2293
+ width: 33.33%;
2294
+ }
2295
+
2296
+ .mm-navbar-content-4 > * {
2297
+ width: 25%;
2298
+ }
2299
+
2300
+ .mm-navbar-content-5 > * {
2301
+ width: 20%;
2302
+ }
2303
+
2304
+ .mm-navbar-content-6 > * {
2305
+ width: 16.67%;
2306
+ }
2307
+
2308
+ .mm-menu .mm-navbar a, .mm-menu .mm-navbar > * {
2309
+ color: #fff;
2310
+ font-size: 14px;
2311
+ }
2312
+
2313
+ .mm-menu {
2314
+ color: #fff;
2315
+ background: #151515;
2316
+ }
2317
+ .mm-menu > .mm-navbar {
2318
+ background: #333;
2319
+ }
2320
+
2321
+ .mm-panel {
2322
+ font-size: 12px;
2323
+ }
2324
+
2325
+ #mm-blocker {
2326
+ z-index: 2002;
2327
+ }
2328
+
2329
+ .mm-panel h1 {
2330
+ margin-top: 0;
2331
+ color: #245e83;
2332
+ font-size: 14px;
2333
+ }
2334
+
2335
+ .mm-menu .mm-listview > li .mm-next,
2336
+ .mm-menu .mm-listview > li .mm-next:before, .mm-menu .mm-listview > li:after,
2337
+ .mm-menu .mm-listview > li .mm-arrow:after,
2338
+ .mm-menu .mm-listview > li .mm-next:after {
2339
+ border-color: #fff;
2340
+ }
2341
+
2342
+ .mm-menu .mm-btn:after,
2343
+ .mm-menu .mm-btn:before {
2344
+ border-color: #fff;
2345
+ }
2346
+
2347
+ /* Needed to override mmenu style */
2348
+ html.mm-background .BookReader {
2349
+ background-color: black;
2350
+ }
2351
+
2352
+ .BRmobileMenu button {
2353
+ -webkit-appearance: initial;
2354
+ }
2355
+ .BRmobileMenu .BRaction {
2356
+ display: block;
2357
+ width: 100%;
2358
+ }
2359
+ .BRmobileMenu div.share-social button {
2360
+ padding: 0 5px;
2361
+ height: 40px;
2362
+ text-align: left;
2363
+ }
2364
+ .BRmobileMenu a {
2365
+ color: inherit;
2366
+ }
2367
+
2368
+ .BRtoolbarMobileTitle {
2369
+ overflow: hidden;
2370
+ width: 100%;
2371
+ white-space: nowrap;
2372
+ text-align: center;
2373
+ font-size: 14px;
2374
+ line-height: 40px;
2375
+ display: block;
2376
+ margin-right: 10px;
2377
+ }
2378
+
2379
+ .BRmobileHamburgerWrapper {
2380
+ display: block;
2381
+ padding: 0 30px 0 50px;
2382
+ }
2383
+
2384
+ .BRmobileHamburger {
2385
+ background: transparent url("icons/hamburger.svg") 50% 50% no-repeat;
2386
+ display: block;
2387
+ width: 40px;
2388
+ height: 40px;
2389
+ position: absolute;
2390
+ top: 0;
2391
+ left: 10px;
2392
+ border: none;
2393
+ outline: none;
2394
+ }
2395
+
2396
+ .DrawerIconWrapper {
2397
+ display: block;
2398
+ float: left;
2399
+ width: 20px;
2400
+ height: 20px;
2401
+ margin-right: 10px;
2402
+ text-align: center;
2403
+ position: relative;
2404
+ }
2405
+
2406
+ .DrawerIcon {
2407
+ height: 18px;
2408
+ width: auto;
2409
+ position: absolute;
2410
+ left: 0;
2411
+ top: 1px;
2412
+ }
2413
+
2414
+ .DrawerSettingsTitle {
2415
+ color: #fff;
2416
+ font-size: 14px;
2417
+ font-weight: bold;
2418
+ margin-bottom: 10px;
2419
+ }
2420
+
2421
+ .DrawerSettingsLayoutWrapper {
2422
+ text-align: center;
2423
+ padding: 0;
2424
+ margin-bottom: 20px;
2425
+ }
2426
+
2427
+ .DrawerLayoutButton {
2428
+ border: none;
2429
+ background: none;
2430
+ color: #fff;
2431
+ line-height: 18px;
2432
+ }
2433
+
2434
+ .DrawerLayoutButton:active {
2435
+ color: grey;
2436
+ }
2437
+
2438
+ .BRmobileShare div.share-title {
2439
+ font-weight: bold;
2440
+ font-size: 16px;
2441
+ line-height: 1.5;
2442
+ }
2443
+ .BRmobileShare div.share-social {
2444
+ margin: 10px 0 20px 0;
2445
+ }
2446
+ .BRmobileShare p {
2447
+ font-weight: bold;
2448
+ }
2449
+ .BRmobileShare fieldset {
2450
+ padding: 0;
2451
+ border: 0;
2452
+ margin-bottom: 30px;
2453
+ }
2454
+ .BRmobileShare fieldset label {
2455
+ display: block;
2456
+ }
2457
+ .BRmobileShare fieldset input[type=text] {
2458
+ width: 95%;
2459
+ }
2460
+ .BRmobileShare button.share-finished {
2461
+ display: none;
2462
+ }
2463
+ .BRmobileShare div.share-embed {
2464
+ border: 1px solid #ccc;
2465
+ padding: 0 10px;
2466
+ }
2467
+ .BRmobileShare .open-to-this-page {
2468
+ display: block;
2469
+ margin: 10px 0;
2470
+ }
2471
+
2472
+ .BRmobileHamburgerWrapper {
2473
+ display: none;
2474
+ }
2475
+
2476
+ .BRmobileMenu {
2477
+ display: none;
2478
+ }
2479
+
2480
+ .BRtoolbar.responsive {
2481
+ display: none;
2482
+ }
2483
+
2484
+ /* Mobile Only */
2485
+ @media (max-width: 800px) {
2486
+ .BRbodyMobileNavEnabled .BRtoolbar.responsive,
2487
+ .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive {
2488
+ display: block;
2489
+ height: 40px;
2490
+ box-sizing: border-box;
2491
+ width: 100%;
2492
+ color: #fff;
2493
+ background: #333;
2494
+ }
2495
+ .BRbodyMobileNavEnabled .BRtoolbar.responsive .BRtoolbarbuttons,
2496
+ .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive .BRtoolbarbuttons {
2497
+ display: none;
2498
+ }
2499
+ .BRbodyMobileNavEnabled .BRtoolbar.responsive .BRmobileHamburgerWrapper,
2500
+ .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive .BRmobileHamburgerWrapper {
2501
+ display: block;
2502
+ }
2503
+ .BRbodyMobileNavEnabled .BRtoolbar.responsive .BRmobileMenu,
2504
+ .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRtoolbar.responsive .BRmobileMenu {
2505
+ display: block;
2506
+ }
2507
+ }
2508
+ .BRcheckbox-label-filters {
2509
+ position: relative;
2510
+ bottom: 2px;
2511
+ }
2512
+
2513
+ /* Desktop Only */
2514
+ @media (min-width: 801px) {
2515
+ .BRtoolbar.responsive {
2516
+ display: block;
2517
+ }
2518
+ }
2519
+ li.BRtable-contents-el {
2520
+ line-height: 150%;
2521
+ padding: 10px 10px 10px 20px;
2522
+ overflow: hidden;
2523
+ color: #fff;
2524
+ }
2525
+ li.BRtable-contents-el.chapter-clickable {
2526
+ font-weight: normal;
2527
+ }
2528
+ li.BRtable-contents-el.current-chapter {
2529
+ background-color: lightblue;
2530
+ }
2531
+ li.BRtable-contents-el > span {
2532
+ display: inline;
2533
+ padding: 0;
2534
+ white-space: normal;
2535
+ }
2536
+ li.BRtable-contents-el .BRTOCElementPage {
2537
+ font-size: 0.85em;
2538
+ opacity: 0.8;
2539
+ }
2540
+
2541
+ /****************** Excerpt from jquery-ui *********************/
2542
+ .ui-helper-hidden {
2543
+ display: none;
2544
+ }
2545
+
2546
+ .ui-helper-hidden-accessible {
2547
+ position: absolute !important;
2548
+ clip: rect(1px 1px 1px 1px);
2549
+ clip: rect(1px, 1px, 1px, 1px);
2550
+ }
2551
+
2552
+ .ui-helper-reset {
2553
+ margin: 0;
2554
+ padding: 0;
2555
+ border: 0;
2556
+ outline: 0;
2557
+ line-height: 1.3;
2558
+ text-decoration: none;
2559
+ font-size: 100%;
2560
+ list-style: none;
2561
+ }
2562
+
2563
+ .ui-helper-clearfix:after {
2564
+ content: ".";
2565
+ display: block;
2566
+ height: 0;
2567
+ clear: both;
2568
+ visibility: hidden;
2569
+ }
2570
+
2571
+ .icon {
2572
+ display: inline-block;
2573
+ background: transparent 50% 50% no-repeat;
2574
+ }
2575
+
2576
+ .icon.hflip {
2577
+ transform: scaleX(-1);
2578
+ }
2579
+
2580
+ .active .icon {
2581
+ filter: brightness(0.2);
2582
+ }
2583
+
2584
+ .icon-read-aloud {
2585
+ width: 20px;
2586
+ height: 16px;
2587
+ background-image: url("icons/read-aloud.svg");
2588
+ }
2589
+
2590
+ .icon-onepg {
2591
+ width: 11px;
2592
+ height: 19px;
2593
+ background-image: url("icons/1up.svg");
2594
+ }
2595
+
2596
+ .icon-twopg {
2597
+ width: 20px;
2598
+ height: 19px;
2599
+ background-image: url("icons/2up.svg");
2600
+ }
2601
+
2602
+ .icon-fullscreen,
2603
+ .icon-fullscreen-exit {
2604
+ width: 18px;
2605
+ height: 18px;
2606
+ background-image: url("icons/fullscreen.svg");
2607
+ }
2608
+
2609
+ .icon-fullscreen-exit {
2610
+ background-image: url("icons/fullscreen-exit.svg");
2611
+ }
2612
+
2613
+ .icon-thumb {
2614
+ width: 17px;
2615
+ height: 19px;
2616
+ background-image: url("icons/thumbnails.svg");
2617
+ }
2618
+
2619
+ .icon-playback-speed {
2620
+ width: 24px;
2621
+ height: 32px;
2622
+ background-image: url("icons/playback-speed.svg");
2623
+ }
2624
+
2625
+ .icon-review,
2626
+ .icon-advance {
2627
+ width: 21px;
2628
+ height: 19px;
2629
+ background-image: url("icons/review.svg");
2630
+ }
2631
+
2632
+ .icon-advance {
2633
+ background-image: url("icons/advance.svg");
2634
+ }
2635
+
2636
+ .icon-volume-full {
2637
+ width: 23px;
2638
+ height: 22px;
2639
+ background-image: url("icons/volume-full.svg");
2640
+ }
2641
+
2642
+ .icon-play,
2643
+ .icon-pause {
2644
+ width: 40px;
2645
+ height: 40px;
2646
+ background-image: url("icons/play.svg");
2647
+ }
2648
+
2649
+ .icon-pause {
2650
+ background-image: url("icons/pause.svg");
2651
+ }
2652
+
2653
+ .icon-left-arrow {
2654
+ width: 12px;
2655
+ height: 14px;
2656
+ background-image: url("icons/left-arrow.svg");
2657
+ }
2658
+
2659
+ .icon-magnify {
2660
+ position: relative;
2661
+ width: 18px;
2662
+ height: 18px;
2663
+ background-image: url("icons/magnify-minus.svg");
2664
+ }
2665
+ .icon-magnify.plus {
2666
+ background-image: url("icons/magnify-plus.svg");
2667
+ }
2668
+
2669
+ .icon-search {
2670
+ width: 19px;
2671
+ height: 19px;
2672
+ background-image: url("images/icon_search_button.svg");
2673
+ }
2674
+
2675
+ .icon-chevron {
2676
+ width: 5px;
2677
+ height: 8px;
2678
+ background-image: url("icons/chevron-right.svg");
2679
+ }
2680
+
2681
+ .icon-close {
2682
+ width: 12px;
2683
+ height: 12px;
2684
+ background-image: url("icons/close-circle.svg");
2685
+ }
2686
+
2687
+ .icon-close-dark {
2688
+ width: 12px;
2689
+ height: 12px;
2690
+ background-image: url("icons/close-circle-dark.svg");
2691
+ }
2692
+
2693
+ .BRcontrols {
2694
+ width: 100%;
2695
+ /* BookReader defaults overrides */
2696
+ }
2697
+ .BRcontrols .tooltip {
2698
+ display: none;
2699
+ position: absolute;
2700
+ width: auto;
2701
+ left: 50%;
2702
+ bottom: calc(100% + 10px);
2703
+ transform: translateX(-50%);
2704
+ padding: 5px 10px;
2705
+ font-weight: bold;
2706
+ white-space: nowrap;
2707
+ color: #fff;
2708
+ border-radius: 3px;
2709
+ background: #333;
2710
+ }
2711
+ .BRcontrols .full .tooltip {
2712
+ left: auto;
2713
+ right: 0;
2714
+ transform: translateX(0);
2715
+ }
2716
+ .BRfullscreenActive .BRcontrols .icon-fullscreen {
2717
+ background-image: url("icons/fullscreen_exit.svg");
2718
+ }
2719
+ .BRcontrols select.playback-speed {
2720
+ width: 24px;
2721
+ padding-top: 18px;
2722
+ -moz-appearance: none;
2723
+ -webkit-appearance: none;
2724
+ appearance: none;
2725
+ font-size: 10px;
2726
+ text-align: center;
2727
+ text-align-last: center;
2728
+ color: #fff;
2729
+ border: none;
2730
+ cursor: pointer;
2731
+ background: transparent url("icons/playback-speed.svg") 50% 0 no-repeat;
2732
+ }
2733
+ .BRcontrols select.playback-speed option {
2734
+ background: #333;
2735
+ }
2736
+ .BRcontrols .active {
2737
+ background: #fff;
2738
+ }
2739
+ .BRcontrols li {
2740
+ position: relative;
2741
+ }
2742
+ .BRcontrols .controls {
2743
+ position: relative;
2744
+ z-index: 2;
2745
+ display: flex;
2746
+ padding: 2px 10px;
2747
+ margin: 0;
2748
+ list-style: none;
2749
+ background: #333;
2750
+ }
2751
+ @media (max-width: 800px) {
2752
+ .BRcontrols .controls {
2753
+ padding-left: 0;
2754
+ }
2755
+ }
2756
+ .BRcontrols .controls button {
2757
+ width: 30px;
2758
+ height: 30px;
2759
+ }
2760
+ @keyframes slideUp {
2761
+ from {
2762
+ opacity: 0;
2763
+ transform: translateY(10px);
2764
+ }
2765
+ to {
2766
+ opacity: 1;
2767
+ transform: translateY(0);
2768
+ }
2769
+ }
2770
+ .BRcontrols .read-aloud {
2771
+ display: none;
2772
+ position: absolute;
2773
+ bottom: 100%;
2774
+ right: 0;
2775
+ left: 0;
2776
+ z-index: 1;
2777
+ padding: 5px 0;
2778
+ margin: 0;
2779
+ align-items: center;
2780
+ justify-content: center;
2781
+ list-style: none;
2782
+ background: #333;
2783
+ }
2784
+ .BRcontrols .read-aloud.visible {
2785
+ display: flex;
2786
+ animation: slideUp 0.2s;
2787
+ }
2788
+ .BRcontrols .read-aloud li {
2789
+ padding: 0 10px;
2790
+ }
2791
+ .BRcontrols .read-aloud [name=play] .icon-pause {
2792
+ display: none;
2793
+ }
2794
+ .BRcontrols .read-aloud [name=play].playing .icon-play {
2795
+ display: none;
2796
+ }
2797
+ .BRcontrols .read-aloud [name=play].playing .icon-pause {
2798
+ display: inline-block;
2799
+ }
2800
+ .BRcontrols .scrubber {
2801
+ display: flex;
2802
+ width: 100%;
2803
+ height: 30px;
2804
+ }
2805
+ .BRcontrols .frame {
2806
+ position: relative;
2807
+ width: 100%;
2808
+ }
2809
+ .BRcontrols .color-fill {
2810
+ position: absolute;
2811
+ top: 50%;
2812
+ left: 0;
2813
+ transform: translateY(-50%);
2814
+ width: 100%;
2815
+ height: 8px;
2816
+ border-radius: 8px;
2817
+ }
2818
+ .BRcontrols .scrubber input[type=range] {
2819
+ position: absolute;
2820
+ top: 50%;
2821
+ left: 0;
2822
+ transform: translateY(-50%);
2823
+ width: 100%;
2824
+ background-color: transparent;
2825
+ -webkit-appearance: none;
2826
+ }
2827
+ .BRcontrols .scrubber input[type=range]:focus {
2828
+ outline: none;
2829
+ }
2830
+ .BRcontrols .scrubber input[type=range]::-webkit-slider-runnable-track {
2831
+ background: transparent;
2832
+ border: 0px solid rgba(204, 204, 204, 0);
2833
+ border: 0;
2834
+ border-radius: 8px;
2835
+ width: 100%;
2836
+ height: 8px;
2837
+ cursor: pointer;
2838
+ }
2839
+ .BRcontrols .scrubber input[type=range]::-webkit-slider-thumb {
2840
+ margin-top: -4px;
2841
+ width: 16px;
2842
+ height: 16px;
2843
+ background: #ffffff;
2844
+ border: 0px solid rgba(0, 0, 0, 0);
2845
+ border: 0;
2846
+ border-radius: 8px;
2847
+ cursor: pointer;
2848
+ -webkit-appearance: none;
2849
+ }
2850
+ .BRcontrols .scrubber input[type=range]::-moz-range-track {
2851
+ background: #666666;
2852
+ border: 0px solid rgba(204, 204, 204, 0);
2853
+ border: 0;
2854
+ border-radius: 8px;
2855
+ width: 100%;
2856
+ height: 8px;
2857
+ cursor: pointer;
2858
+ }
2859
+ .BRcontrols .scrubber input[type=range]::-moz-range-progress {
2860
+ height: 8px;
2861
+ background: #ccc;
2862
+ }
2863
+ .BRcontrols .scrubber input[type=range]::-ms-track {
2864
+ border: none;
2865
+ color: transparent;
2866
+ background: #666;
2867
+ }
2868
+ .BRcontrols .scrubber input[type=range]::-ms-fill-lower {
2869
+ background: #ccc;
2870
+ }
2871
+ .BRcontrols .scrubber input[type=range]::-ms-tooltip {
2872
+ display: none;
2873
+ }
2874
+ .BRcontrols .scrubber input[type=range]::-moz-range-thumb {
2875
+ width: 16px;
2876
+ height: 16px;
2877
+ background: #ffffff;
2878
+ border: 0px solid rgba(0, 0, 0, 0);
2879
+ border: 0;
2880
+ border-radius: 8px;
2881
+ cursor: pointer;
2882
+ }
2883
+ .BRcontrols .scrubber p {
2884
+ padding: 0 20px 0 13px;
2885
+ margin: 0;
2886
+ align-self: stretch;
2887
+ font-weight: 700;
2888
+ line-height: 26px;
2889
+ color: #fff;
2890
+ }
2891
+ @media (max-width: 800px) {
2892
+ .BRcontrols .scrubber p {
2893
+ padding: 0;
2894
+ }
2895
+ }
2896
+ .BRcontrols .BRnavline {
2897
+ top: -4px;
2898
+ }
2899
+ .BRcontrols .scrubber .BRpager.ui-slider {
2900
+ top: 10px;
2901
+ background-color: #666;
2902
+ }
2903
+ .BRcontrols .scrubber .BRpager.ui-slider .ui-slider-range {
2904
+ background-color: #ccc;
2905
+ }
2906
+
2907
+ .textSelectionSVG {
2908
+ pointer-events: none;
2909
+ }
2910
+ .textSelectionSVG .BRwordElement {
2911
+ pointer-events: all;
2912
+ }
2913
+ .textSelectionSVG.selectingSVG {
2914
+ pointer-events: auto;
2915
+ cursor: text;
2916
+ }
2917
+ .textSelectionSVG .BRwordElement::selection {
2918
+ background: rgba(86, 158, 230, 0.4);
2919
+ }
2920
+ .textSelectionSVG .BRwordElement::-moz-selection {
2921
+ background: rgba(86, 158, 230, 0.4);
2922
+ color: transparent;
2923
+ }
2924
+ .textSelectionSVG .BRparagElement {
2925
+ fill: transparent;
2926
+ cursor: text;
2927
+ white-space: pre;
2928
+ font-family: Georgia, serif;
2929
+ }
2930
+
2931
+ .BRpagecontainer img {
2932
+ -webkit-user-select: none;
2933
+ -moz-user-select: none;
2934
+ user-select: none;
2935
+ }
2936
+
2937
+ /**
2938
+ * Hide modal-manager that loads item-navigator-modal
2939
+ * loading bookmarks related alert messages
2940
+ */
2941
+ #item-navigator-modal {
2942
+ display: none;
2943
+ }
2944
+
2945
+ .BRpagecontainer {
2946
+ --iconWidth: 16px;
2947
+ --iconHeight: 24px;
2948
+ --iconFillColor: #000;
2949
+ }
2950
+
2951
+ /* BOOKMARKS - on page */
2952
+ .BRpagecontainer .bookmark-button {
2953
+ position: absolute;
2954
+ top: 0;
2955
+ right: 0;
2956
+ z-index: 2;
2957
+ opacity: 0;
2958
+ }
2959
+
2960
+ .BRtwopageview .BRpagecontainer[data-side=L] .bookmark-button {
2961
+ right: auto;
2962
+ left: 0;
2963
+ }
2964
+
2965
+ .BRpagecontainer .bookmark-button.filled {
2966
+ opacity: 1;
2967
+ }
2968
+
2969
+ .BRpagecontainer .bookmark-button.default {
2970
+ --iconFillColor: var(--defaultBookmarkColor, #eb3223);
2971
+ }
2972
+
2973
+ .BRpagecontainer .bookmark-button.blue {
2974
+ --iconFillColor: var(--blueBookmarkColor, #0023f5);
2975
+ }
2976
+
2977
+ .BRpagecontainer .bookmark-button.red {
2978
+ --iconFillColor: var(--redBookmarkColor, #eb3223);
2979
+ }
2980
+
2981
+ .BRpagecontainer .bookmark-button.green {
2982
+ --iconFillColor: var(--greenBookmarkColor, #75ef4c);
2983
+ }