@internetarchive/bookreader 5.0.0-7 → 5.0.0-70-a1

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