@internetarchive/bookreader 5.0.0-5 → 5.0.0-50-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 (260) hide show
  1. package/.eslintrc.js +17 -15
  2. package/.github/workflows/node.js.yml +77 -6
  3. package/.github/workflows/npm-publish.yml +6 -20
  4. package/.testcaferc.js +10 -0
  5. package/BookReader/BookReader.css +131 -339
  6. package/BookReader/BookReader.js +1 -1
  7. package/BookReader/BookReader.js.LICENSE.txt +24 -0
  8. package/BookReader/BookReader.js.map +1 -1
  9. package/BookReader/ia-bookreader-bundle.js +1493 -0
  10. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +17 -0
  11. package/BookReader/ia-bookreader-bundle.js.map +1 -0
  12. package/BookReader/icons/close-circle-dark.svg +1 -0
  13. package/BookReader/icons/magnify-minus.svg +1 -1
  14. package/BookReader/icons/magnify-plus.svg +1 -1
  15. package/BookReader/icons/pause.svg +1 -1
  16. package/BookReader/icons/playback-speed.svg +1 -1
  17. package/BookReader/icons/read-aloud.svg +1 -1
  18. package/BookReader/icons/voice.svg +1 -0
  19. package/BookReader/images/BRicons.svg +2 -2
  20. package/BookReader/images/books_graphic.svg +1 -1
  21. package/BookReader/images/icon_book.svg +1 -1
  22. package/BookReader/images/icon_gear.svg +1 -1
  23. package/BookReader/images/icon_info.svg +1 -1
  24. package/BookReader/images/icon_playback-rate.svg +1 -1
  25. package/BookReader/images/icon_search_button.svg +1 -1
  26. package/BookReader/images/icon_share.svg +1 -1
  27. package/BookReader/images/icon_speaker.svg +1 -1
  28. package/BookReader/images/icon_speaker_open.svg +1 -1
  29. package/BookReader/images/marker_chap-off.svg +1 -1
  30. package/BookReader/images/marker_chap-on.svg +1 -1
  31. package/BookReader/images/marker_srch-on.svg +1 -1
  32. package/BookReader/jquery-3.js +2 -0
  33. package/BookReader/jquery-3.js.LICENSE.txt +24 -0
  34. package/BookReader/plugins/plugin.archive_analytics.js +1 -1
  35. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  36. package/BookReader/plugins/plugin.autoplay.js +1 -1
  37. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  38. package/BookReader/plugins/plugin.chapters.js +1 -1
  39. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  40. package/BookReader/plugins/plugin.iframe.js +1 -1
  41. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  42. package/BookReader/plugins/plugin.mobile_nav.js +1 -1
  43. package/BookReader/plugins/plugin.mobile_nav.js.map +1 -1
  44. package/BookReader/plugins/plugin.resume.js +1 -1
  45. package/BookReader/plugins/plugin.resume.js.map +1 -1
  46. package/BookReader/plugins/plugin.search.js +1 -1
  47. package/BookReader/plugins/plugin.search.js.map +1 -1
  48. package/BookReader/plugins/plugin.text_selection.js +1 -1
  49. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  50. package/BookReader/plugins/plugin.tts.js +1 -1
  51. package/BookReader/plugins/plugin.tts.js.map +1 -1
  52. package/BookReader/plugins/plugin.url.js +1 -1
  53. package/BookReader/plugins/plugin.url.js.map +1 -1
  54. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -1
  55. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  56. package/BookReader/webcomponents-bundle.js +3 -0
  57. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  58. package/BookReader/webcomponents-bundle.js.map +1 -0
  59. package/BookReaderDemo/BookReaderDemo.css +14 -1
  60. package/BookReaderDemo/IADemoBr.js +148 -0
  61. package/BookReaderDemo/demo-advanced.html +2 -2
  62. package/BookReaderDemo/demo-autoplay.html +2 -1
  63. package/BookReaderDemo/demo-embed-iframe-src.html +2 -1
  64. package/BookReaderDemo/demo-fullscreen-mobile.html +2 -1
  65. package/BookReaderDemo/demo-fullscreen.html +2 -1
  66. package/BookReaderDemo/demo-iiif.html +2 -1
  67. package/BookReaderDemo/demo-internetarchive.html +84 -17
  68. package/BookReaderDemo/demo-multiple.html +2 -1
  69. package/BookReaderDemo/demo-preview-pages.html +2 -1
  70. package/BookReaderDemo/demo-simple.html +2 -1
  71. package/BookReaderDemo/demo-vendor-fullscreen.html +2 -1
  72. package/BookReaderDemo/ia-multiple-volumes-manifest.js +170 -0
  73. package/BookReaderDemo/immersion-1up.html +2 -1
  74. package/BookReaderDemo/immersion-mode.html +2 -1
  75. package/BookReaderDemo/toggle_controls.html +2 -1
  76. package/BookReaderDemo/view_mode.html +2 -1
  77. package/BookReaderDemo/viewmode-cycle.html +2 -3
  78. package/CHANGELOG.md +202 -0
  79. package/README.md +14 -1
  80. package/babel.config.js +18 -0
  81. package/codecov.yml +6 -0
  82. package/index.html +3 -0
  83. package/jsconfig.json +19 -0
  84. package/package.json +66 -56
  85. package/renovate.json +52 -0
  86. package/scripts/preversion.js +4 -1
  87. package/src/BookNavigator/assets/bookmark-colors.js +1 -1
  88. package/src/BookNavigator/assets/button-base.js +9 -2
  89. package/src/BookNavigator/assets/ia-logo.js +17 -0
  90. package/src/BookNavigator/assets/icon_checkmark.js +1 -1
  91. package/src/BookNavigator/assets/icon_close.js +1 -1
  92. package/src/BookNavigator/assets/icon_sort_asc.js +5 -0
  93. package/src/BookNavigator/assets/icon_sort_desc.js +5 -0
  94. package/src/BookNavigator/assets/icon_sort_neutral.js +5 -0
  95. package/src/BookNavigator/assets/icon_volumes.js +11 -0
  96. package/src/BookNavigator/book-navigator.js +583 -0
  97. package/src/BookNavigator/bookmarks/bookmark-button.js +3 -2
  98. package/src/BookNavigator/bookmarks/bookmark-edit.js +3 -4
  99. package/src/BookNavigator/bookmarks/bookmarks-list.js +2 -3
  100. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +3 -8
  101. package/src/BookNavigator/bookmarks/bookmarks-provider.js +21 -8
  102. package/src/BookNavigator/bookmarks/ia-bookmarks.js +102 -66
  103. package/src/BookNavigator/delete-modal-actions.js +1 -1
  104. package/src/BookNavigator/downloads/downloads-provider.js +36 -21
  105. package/src/BookNavigator/downloads/downloads.js +41 -25
  106. package/src/BookNavigator/search/a-search-result.js +18 -13
  107. package/src/BookNavigator/search/search-provider.js +80 -28
  108. package/src/BookNavigator/search/search-results.js +10 -18
  109. package/src/BookNavigator/sharing.js +27 -0
  110. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +11 -10
  111. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +3 -3
  112. package/src/BookNavigator/volumes/volumes-provider.js +114 -0
  113. package/src/BookNavigator/volumes/volumes.js +188 -0
  114. package/src/BookReader/BookModel.js +0 -29
  115. package/src/BookReader/DebugConsole.js +3 -3
  116. package/src/BookReader/DragScrollable.js +233 -0
  117. package/src/BookReader/Mode1Up.js +51 -351
  118. package/src/BookReader/Mode1UpLit.js +441 -0
  119. package/src/BookReader/Mode2Up.js +120 -105
  120. package/src/BookReader/ModeSmoothZoom.js +179 -0
  121. package/src/BookReader/ModeThumb.js +17 -11
  122. package/src/BookReader/Navbar/Navbar.js +10 -36
  123. package/src/BookReader/PageContainer.js +69 -6
  124. package/src/BookReader/ReduceSet.js +1 -1
  125. package/src/BookReader/Toolbar/Toolbar.js +10 -37
  126. package/src/BookReader/options.js +10 -0
  127. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  128. package/src/BookReader/utils/ScrollClassAdder.js +31 -0
  129. package/src/BookReader/utils.js +92 -13
  130. package/src/BookReader.js +431 -620
  131. package/src/assets/icons/close-circle-dark.svg +1 -0
  132. package/src/assets/icons/magnify-minus.svg +3 -7
  133. package/src/assets/icons/magnify-plus.svg +3 -7
  134. package/src/assets/icons/voice.svg +1 -0
  135. package/src/css/BookReader.scss +0 -12
  136. package/src/css/_BRComponent.scss +1 -1
  137. package/src/css/_BRmain.scss +19 -24
  138. package/src/css/_BRnav.scss +4 -26
  139. package/src/css/_BRpages.scss +35 -0
  140. package/src/css/_BRsearch.scss +25 -216
  141. package/src/css/_TextSelection.scss +14 -17
  142. package/src/css/_colorbox.scss +2 -2
  143. package/src/css/_controls.scss +17 -5
  144. package/src/css/_icons.scss +6 -0
  145. package/src/ia-bookreader/ia-bookreader.js +224 -0
  146. package/src/plugins/plugin.autoplay.js +4 -4
  147. package/src/plugins/plugin.chapters.js +28 -35
  148. package/src/plugins/plugin.mobile_nav.js +11 -10
  149. package/src/plugins/plugin.resume.js +3 -3
  150. package/src/plugins/plugin.text_selection.js +26 -39
  151. package/src/plugins/plugin.vendor-fullscreen.js +4 -4
  152. package/src/plugins/search/plugin.search.js +174 -116
  153. package/src/plugins/search/view.js +63 -179
  154. package/src/plugins/tts/AbstractTTSEngine.js +46 -37
  155. package/src/plugins/tts/FestivalTTSEngine.js +13 -14
  156. package/src/plugins/tts/PageChunk.js +15 -21
  157. package/src/plugins/tts/PageChunkIterator.js +8 -12
  158. package/src/plugins/tts/WebTTSEngine.js +66 -69
  159. package/src/plugins/tts/plugin.tts.js +92 -109
  160. package/src/plugins/tts/utils.js +0 -9
  161. package/src/plugins/url/UrlPlugin.js +184 -0
  162. package/src/plugins/{plugin.url.js → url/plugin.url.js} +28 -6
  163. package/src/util/manifestGenerator.js +0 -0
  164. package/tests/e2e/README.md +37 -0
  165. package/tests/e2e/autoplay.test.js +2 -2
  166. package/tests/e2e/base.test.js +7 -7
  167. package/tests/e2e/helpers/base.js +9 -3
  168. package/tests/e2e/helpers/debug.js +1 -1
  169. package/tests/e2e/helpers/desktopSearch.js +14 -13
  170. package/tests/e2e/helpers/mobileSearch.js +3 -3
  171. package/tests/e2e/helpers/params.js +17 -0
  172. package/tests/e2e/models/Navigation.js +13 -4
  173. package/tests/e2e/rightToLeft.test.js +4 -5
  174. package/tests/e2e/viewmode.test.js +38 -33
  175. package/tests/jest/BookNavigator/book-navigator.test.js +634 -0
  176. package/tests/jest/BookNavigator/bookmarks/bookmark-button.test.js +43 -0
  177. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmark-edit.test.js +25 -26
  178. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmarks-list.test.js +41 -42
  179. package/tests/jest/BookNavigator/bookmarks/ia-bookmarks.test.js +45 -0
  180. package/tests/jest/BookNavigator/downloads/downloads-provider.test.js +67 -0
  181. package/tests/jest/BookNavigator/downloads/downloads.test.js +53 -0
  182. package/tests/jest/BookNavigator/search/search-provider.test.js +167 -0
  183. package/tests/{karma/BookNavigator → jest/BookNavigator/search}/search-results.test.js +102 -58
  184. package/tests/jest/BookNavigator/sharing/sharing-provider.test.js +49 -0
  185. package/tests/jest/BookNavigator/visual-adjustments.test.js +200 -0
  186. package/tests/jest/BookNavigator/volumes/volumes-provider.test.js +184 -0
  187. package/tests/jest/BookNavigator/volumes/volumes.test.js +97 -0
  188. package/tests/{BookReader → jest/BookReader}/BookModel.test.js +34 -14
  189. package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +176 -0
  190. package/tests/{BookReader → jest/BookReader}/DebugConsole.test.js +1 -1
  191. package/tests/{BookReader → jest/BookReader}/ImageCache.test.js +4 -4
  192. package/tests/jest/BookReader/Mode1UpLit.test.js +92 -0
  193. package/tests/{BookReader → jest/BookReader}/Mode2Up.test.js +36 -15
  194. package/tests/jest/BookReader/ModeSmoothZoom.test.js +149 -0
  195. package/tests/jest/BookReader/ModeThumb.test.js +71 -0
  196. package/tests/{BookReader → jest/BookReader}/Navbar/Navbar.test.js +7 -7
  197. package/tests/{BookReader → jest/BookReader}/PageContainer.test.js +88 -6
  198. package/tests/{BookReader → jest/BookReader}/ReduceSet.test.js +1 -1
  199. package/tests/{BookReader → jest/BookReader}/Toolbar/Toolbar.test.js +2 -2
  200. package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +59 -0
  201. package/tests/jest/BookReader/utils/ScrollClassAdder.test.js +49 -0
  202. package/tests/{BookReader → jest/BookReader}/utils/classes.test.js +1 -1
  203. package/tests/jest/BookReader/utils.test.js +186 -0
  204. package/tests/jest/BookReader.keyboard.test.js +190 -0
  205. package/tests/{BookReader.options.test.js → jest/BookReader.options.test.js} +9 -1
  206. package/tests/{BookReader.test.js → jest/BookReader.test.js} +18 -37
  207. package/tests/{plugins → jest/plugins}/plugin.archive_analytics.test.js +2 -2
  208. package/tests/{plugins → jest/plugins}/plugin.autoplay.test.js +4 -4
  209. package/tests/{plugins → jest/plugins}/plugin.chapters.test.js +10 -11
  210. package/tests/{plugins → jest/plugins}/plugin.iframe.test.js +2 -2
  211. package/tests/{plugins → jest/plugins}/plugin.mobile_nav.test.js +5 -5
  212. package/tests/{plugins → jest/plugins}/plugin.resume.test.js +3 -3
  213. package/tests/{plugins → jest/plugins}/plugin.text_selection.test.js +39 -47
  214. package/tests/{plugins → jest/plugins}/plugin.vendor-fullscreen.test.js +2 -2
  215. package/tests/{plugins → jest/plugins}/search/plugin.search.test.js +63 -47
  216. package/tests/{plugins → jest/plugins}/search/plugin.search.view.test.js +35 -6
  217. package/tests/{plugins → jest/plugins}/tts/AbstractTTSEngine.test.js +9 -9
  218. package/tests/{plugins → jest/plugins}/tts/FestivalTTSEngine.test.js +4 -4
  219. package/tests/{plugins → jest/plugins}/tts/PageChunk.test.js +1 -1
  220. package/tests/{plugins → jest/plugins}/tts/PageChunkIterator.test.js +3 -3
  221. package/tests/{plugins → jest/plugins}/tts/WebTTSEngine.test.js +1 -1
  222. package/tests/{plugins → jest/plugins}/tts/utils.test.js +3 -28
  223. package/tests/jest/plugins/url/UrlPlugin.test.js +190 -0
  224. package/tests/{plugins → jest/plugins/url}/plugin.url.test.js +33 -14
  225. package/tests/{util → jest/util}/browserSniffing.test.js +1 -1
  226. package/tests/{util → jest/util}/docCookies.test.js +1 -1
  227. package/tests/{util → jest/util}/strings.test.js +1 -1
  228. package/tests/{utils.js → jest/utils.js} +38 -0
  229. package/webpack.config.js +11 -5
  230. package/.babelrc +0 -12
  231. package/.dependabot/config.yml +0 -6
  232. package/.testcaferc.json +0 -5
  233. package/BookReader/bookreader-component-bundle.js +0 -1450
  234. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
  235. package/BookReader/bookreader-component-bundle.js.map +0 -1
  236. package/BookReader/jquery-1.10.1.js +0 -2
  237. package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
  238. package/BookReader/plugins/plugin.menu_toggle.js +0 -2
  239. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  240. package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
  241. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  242. package/karma.conf.js +0 -23
  243. package/src/BookNavigator/BookModel.js +0 -14
  244. package/src/BookNavigator/BookNavigator.js +0 -438
  245. package/src/BookNavigator/assets/book-loader.js +0 -27
  246. package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
  247. package/src/BookReaderComponent/BookReaderComponent.js +0 -112
  248. package/src/ItemNavigator/ItemNavigator.js +0 -372
  249. package/src/ItemNavigator/providers/sharing.js +0 -29
  250. package/src/Layers/sharing/sharing-provider.js +0 -22
  251. package/src/dragscrollable-br.js +0 -261
  252. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  253. package/src/plugins/plugin.bookmarks.js +0 -50
  254. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  255. package/tests/BookReader/Mode1Up.test.js +0 -164
  256. package/tests/BookReader/utils.test.js +0 -109
  257. package/tests/e2e/ia-production/ia-prod-base.js +0 -17
  258. package/tests/karma/BookNavigator/book-navigator.test.js +0 -132
  259. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
  260. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
@@ -76,7 +76,7 @@
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
  }
@@ -91,70 +91,15 @@
91
91
  /* Desktop-only */
92
92
  /* Element-level rules */
93
93
  }
94
- .BookReader .tl, .BRmobileMenu .tl, .BRfloat .tl {
95
- text-align: left;
96
- }
97
- .BookReader .tc, .BookReader .BRtc, .BRmobileMenu .tc, .BRmobileMenu .BRtc, .BRfloat .tc, .BRfloat .BRtc {
98
- text-align: center;
99
- }
100
- .BookReader .tr, .BRmobileMenu .tr, .BRfloat .tr {
101
- text-align: right;
102
- }
103
- .BookReader .ph10, .BRmobileMenu .ph10, .BRfloat .ph10 {
104
- padding-left: 10px;
105
- padding-right: 10px;
106
- }
107
- .BookReader .mv20, .BRmobileMenu .mv20, .BRfloat .mv20 {
108
- margin-top: 20px;
109
- margin-bottom: 20px;
110
- }
111
- .BookReader .mt20, .BRmobileMenu .mt20, .BRfloat .mt20 {
112
- margin-top: 20px;
113
- }
114
- .BookReader .b, .BRmobileMenu .b, .BRfloat .b {
115
- font-weight: bold;
116
- }
117
- .BookReader .i, .BRmobileMenu .i, .BRfloat .i {
118
- font-style: italic;
119
- }
120
- .BookReader .smaller, .BRmobileMenu .smaller, .BRfloat .smaller {
121
- font-size: 0.8em;
122
- }
123
94
  .BookReader .larger, .BRmobileMenu .larger, .BRfloat .larger {
124
95
  font-size: 1.2em;
125
96
  }
126
- .BookReader .loader, .BRmobileMenu .loader, .BRfloat .loader {
127
- background: url(images/loading.gif) no-repeat 50%;
128
- height: 16px;
129
- min-width: 16px;
130
- }
131
97
  @media (min-width: 801px) {
132
- .BookReader .mobile-only, .BRmobileMenu .mobile-only, .BRfloat .mobile-only {
133
- display: none;
134
- }
135
- .BookReader .pv20-lg, .BRmobileMenu .pv20-lg, .BRfloat .pv20-lg {
136
- padding-top: 20px;
137
- padding-bottom: 20px;
138
- }
139
- .BookReader .pv50-lg, .BRmobileMenu .pv50-lg, .BRfloat .pv50-lg {
140
- padding-top: 50px;
141
- padding-bottom: 50px;
142
- }
143
98
  .BookReader .mv20-lg, .BRmobileMenu .mv20-lg, .BRfloat .mv20-lg {
144
99
  margin-top: 20px;
145
100
  margin-bottom: 20px;
146
101
  }
147
102
  }
148
- @media (max-width: 800px) {
149
- .BookReader .desktop-only, .BRmobileMenu .desktop-only, .BRfloat .desktop-only {
150
- display: none;
151
- }
152
- }
153
- @media (min-width: 800px) and (max-width: 1050px) {
154
- .BookReader .hide-md, .BRmobileMenu .hide-md, .BRfloat .hide-md {
155
- display: none;
156
- }
157
- }
158
103
  .BookReader h3, .BRmobileMenu h3, .BRfloat h3 {
159
104
  font-size: 20px;
160
105
  font-weight: 700;
@@ -181,6 +126,7 @@
181
126
  position: relative;
182
127
  overflow: hidden;
183
128
  background-color: black;
129
+ contain: strict;
184
130
  }
185
131
 
186
132
  .BRcontainer {
@@ -205,6 +151,21 @@
205
151
  z-index: 3000;
206
152
  color: #222;
207
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
+ }
208
169
 
209
170
  .BRprogressbar {
210
171
  background-image: url("images/progressbar.gif");
@@ -244,7 +205,7 @@
244
205
  display: block;
245
206
  }
246
207
  .BRshare button[type=button].share-finished {
247
- background-color: #4a90e2;
208
+ background-color: rgb(74, 144, 226);
248
209
  border: 0;
249
210
  color: white;
250
211
  border-radius: 3px;
@@ -267,13 +228,13 @@
267
228
  }
268
229
 
269
230
  .BRinfoMoreInfoWrapper {
270
- background-color: #4a90e2;
231
+ background-color: rgb(74, 144, 226);
271
232
  border-radius: 2px;
272
233
  padding: 8px;
273
234
  text-align: center;
274
235
  }
275
236
  .BRinfoMoreInfoWrapper:active {
276
- background-color: #509bf2;
237
+ background-color: rgb(80, 155, 242);
277
238
  }
278
239
 
279
240
  .BRinfoOtherFormats {
@@ -324,10 +285,10 @@ body.BRfullscreenActive .mm-menu {
324
285
  line-height: 1;
325
286
  }
326
287
  .BRaction:active {
327
- background-color: #ababab;
288
+ background-color: rgb(171, 171, 171);
328
289
  }
329
290
  .BRaction.default {
330
- background-color: #c1c1c1;
291
+ background-color: rgb(193, 193, 193);
331
292
  color: white;
332
293
  }
333
294
  .BRaction.primary {
@@ -342,7 +303,7 @@ body.BRfullscreenActive .mm-menu {
342
303
  color: orange;
343
304
  }
344
305
  .BRaction.orangeButton:active {
345
- border-color: #f9c613;
306
+ border-color: rgb(249, 198, 19);
346
307
  }
347
308
  .BRaction.skinny {
348
309
  min-width: 50px;
@@ -501,6 +462,23 @@ body.BRfullscreenActive .mm-menu {
501
462
  cursor: unset;
502
463
  }
503
464
 
465
+ .br-mode-1up__root {
466
+ display: block;
467
+ overflow: auto;
468
+ position: relative;
469
+ width: 100%;
470
+ height: 100%;
471
+ contain: strict;
472
+ }
473
+ .br-mode-1up__root .br-mode-1up__world {
474
+ position: absolute;
475
+ transform-origin: 0 0;
476
+ }
477
+ .br-mode-1up__root .br-mode-1up__visible-world {
478
+ position: absolute;
479
+ transform-origin: 0 0;
480
+ }
481
+
504
482
  .BRpagecontainer {
505
483
  position: relative;
506
484
  overflow: hidden;
@@ -531,6 +509,18 @@ body.BRfullscreenActive .mm-menu {
531
509
  background-image: none;
532
510
  }
533
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
+
534
524
  .BRbookcover {
535
525
  position: absolute;
536
526
  background-image: none;
@@ -545,7 +535,7 @@ body.BRfullscreenActive .mm-menu {
545
535
 
546
536
  .BRleafEdgeR {
547
537
  border-style: solid solid solid none;
548
- border-color: #333322;
538
+ border-color: rgb(51, 51, 34);
549
539
  border-width: 1px 1px 1px 0px;
550
540
  background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
551
541
  position: absolute;
@@ -765,7 +755,7 @@ i.BRicon {
765
755
  * BRfloat is the modal popup used in bookreader
766
756
  */
767
757
  .BRfloat {
768
- color: #343434;
758
+ color: rgb(52, 52, 52);
769
759
  }
770
760
 
771
761
  .BRfloat a.title {
@@ -936,7 +926,7 @@ i.BRicon {
936
926
  font-size: 16px;
937
927
  font-weight: 700;
938
928
  text-align: center;
939
- border-bottom: 1px solid #d8d8d8;
929
+ border-bottom: 1px solid rgb(216, 216, 216);
940
930
  }
941
931
 
942
932
  .BRfloatFoot {
@@ -955,7 +945,7 @@ i.BRicon {
955
945
  .BRfloatHead {
956
946
  box-sizing: border-box;
957
947
  line-height: normal;
958
- border-bottom: 1px solid #d8d8d8;
948
+ border-bottom: 1px solid rgb(216, 216, 216);
959
949
  padding: 10px;
960
950
  min-height: initial;
961
951
  font-size: 14px;
@@ -1087,44 +1077,6 @@ i.BRicon {
1087
1077
  .BRReadAloudToolbar .BRnavCntlBtm:hover {
1088
1078
  background-color: #0074D1;
1089
1079
  }
1090
- .BRReadAloudToolbar.BRnavEmbed {
1091
- background-color: white;
1092
- color: black;
1093
- }
1094
- .BRReadAloudToolbar.BRnavEmbed a {
1095
- color: black;
1096
- }
1097
- .BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider {
1098
- background: #B7B7B7;
1099
- }
1100
- .BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider .ui-slider-handle {
1101
- background: #0074D1;
1102
- }
1103
- .BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider .ui-slider-range {
1104
- background: rgba(0, 116, 209, 0.25);
1105
- }
1106
- .BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon {
1107
- border-left: 1px solid #979797;
1108
- }
1109
- .BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon.activated {
1110
- background-color: rgba(0, 116, 209, 0.4);
1111
- }
1112
- .BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon.activated:before {
1113
- content: "";
1114
- top: 0;
1115
- left: 0;
1116
- width: 100%;
1117
- height: 100%;
1118
- box-sizing: border-box;
1119
- display: block;
1120
- border: 3px solid rgba(0, 116, 209, 0.3);
1121
- }
1122
- .BRReadAloudToolbar.BRnavEmbed .BRnavCntl {
1123
- background-color: #979797;
1124
- }
1125
- .BRReadAloudToolbar.BRnavEmbed .BRnavCntlBtm:hover {
1126
- background-color: #0074D1;
1127
- }
1128
1080
  @media (max-width: 800px) {
1129
1081
  .BRbodyMobileNavEnabled .BRReadAloudToolbar, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar {
1130
1082
  background-color: white;
@@ -1245,23 +1197,6 @@ i.BRicon {
1245
1197
  color: white;
1246
1198
  /* Full mobile styles */
1247
1199
  }
1248
- .BRnav.BRnavEmbed {
1249
- padding-top: 0;
1250
- height: auto;
1251
- align-items: center;
1252
- }
1253
- .BRnav.BRnavEmbed .BRembedreturn {
1254
- flex: 1 auto;
1255
- overflow-x: hidden;
1256
- }
1257
- .BRnav.BRnavEmbed .logo {
1258
- display: inline-block;
1259
- width: 25px;
1260
- height: 25px;
1261
- margin: 0 10px;
1262
- background: transparent url(images/icon_home.svg) no-repeat center center;
1263
- background-size: contain;
1264
- }
1265
1200
  .BRnav a {
1266
1201
  color: white;
1267
1202
  }
@@ -1555,14 +1490,46 @@ i.BRicon {
1555
1490
  border-top-color: #333;
1556
1491
  }
1557
1492
 
1558
- .BookReader .BookReaderSearchHilite, .BRmobileMenu .BookReaderSearchHilite, .BRfloat .BookReaderSearchHilite {
1559
- opacity: 0.2;
1560
- filter: alpha(opacity=20);
1561
- background-color: #0000ff;
1562
- position: absolute;
1563
- /* z-index is important */
1564
- z-index: 4;
1565
- animation: hiliteFadeIn 0.2s;
1493
+ .BookReader .searchHiliteLayer, .BookReader .ttsHiliteLayer, .BRmobileMenu .searchHiliteLayer, .BRmobileMenu .ttsHiliteLayer, .BRfloat .searchHiliteLayer, .BRfloat .ttsHiliteLayer {
1494
+ pointer-events: none;
1495
+ }
1496
+ .BookReader .searchHiliteLayer rect, .BookReader .ttsHiliteLayer rect, .BRmobileMenu .searchHiliteLayer rect, .BRmobileMenu .ttsHiliteLayer rect, .BRfloat .searchHiliteLayer rect, .BRfloat .ttsHiliteLayer rect {
1497
+ fill: rgba(0, 0, 255, 0.2);
1498
+ }
1499
+ .BookReader .searchHiliteLayer rect, .BRmobileMenu .searchHiliteLayer rect, .BRfloat .searchHiliteLayer rect {
1500
+ animation: highlightFocus 600ms 1 reverse;
1501
+ stroke: blue;
1502
+ stroke-width: 4px;
1503
+ }
1504
+ .BookReader .searchHiliteLayer rect:nth-child(1), .BRmobileMenu .searchHiliteLayer rect:nth-child(1), .BRfloat .searchHiliteLayer rect:nth-child(1) {
1505
+ animation-delay: 0ms;
1506
+ }
1507
+ .BookReader .searchHiliteLayer rect:nth-child(2), .BRmobileMenu .searchHiliteLayer rect:nth-child(2), .BRfloat .searchHiliteLayer rect:nth-child(2) {
1508
+ animation-delay: 50ms;
1509
+ }
1510
+ .BookReader .searchHiliteLayer rect:nth-child(3), .BRmobileMenu .searchHiliteLayer rect:nth-child(3), .BRfloat .searchHiliteLayer rect:nth-child(3) {
1511
+ animation-delay: 100ms;
1512
+ }
1513
+ .BookReader .searchHiliteLayer rect:nth-child(4), .BRmobileMenu .searchHiliteLayer rect:nth-child(4), .BRfloat .searchHiliteLayer rect:nth-child(4) {
1514
+ animation-delay: 150ms;
1515
+ }
1516
+ .BookReader .searchHiliteLayer rect:nth-child(5), .BRmobileMenu .searchHiliteLayer rect:nth-child(5), .BRfloat .searchHiliteLayer rect:nth-child(5) {
1517
+ animation-delay: 200ms;
1518
+ }
1519
+ .BookReader .searchHiliteLayer rect:nth-child(6), .BRmobileMenu .searchHiliteLayer rect:nth-child(6), .BRfloat .searchHiliteLayer rect:nth-child(6) {
1520
+ animation-delay: 250ms;
1521
+ }
1522
+ .BookReader .searchHiliteLayer rect:nth-child(7), .BRmobileMenu .searchHiliteLayer rect:nth-child(7), .BRfloat .searchHiliteLayer rect:nth-child(7) {
1523
+ animation-delay: 300ms;
1524
+ }
1525
+ .BookReader .searchHiliteLayer rect:nth-child(8), .BRmobileMenu .searchHiliteLayer rect:nth-child(8), .BRfloat .searchHiliteLayer rect:nth-child(8) {
1526
+ animation-delay: 350ms;
1527
+ }
1528
+ .BookReader .searchHiliteLayer rect:nth-child(9), .BRmobileMenu .searchHiliteLayer rect:nth-child(9), .BRfloat .searchHiliteLayer rect:nth-child(9) {
1529
+ animation-delay: 400ms;
1530
+ }
1531
+ .BookReader .searchHiliteLayer rect:nth-child(10), .BRmobileMenu .searchHiliteLayer rect:nth-child(10), .BRfloat .searchHiliteLayer rect:nth-child(10) {
1532
+ animation-delay: 450ms;
1566
1533
  }
1567
1534
  .BookReader .BRchapter, .BookReader .BRsearch, .BRmobileMenu .BRchapter, .BRmobileMenu .BRsearch, .BRfloat .BRchapter, .BRfloat .BRsearch {
1568
1535
  position: absolute;
@@ -1661,188 +1628,6 @@ i.BRicon {
1661
1628
  float: left;
1662
1629
  cursor: pointer;
1663
1630
  }
1664
- .BookReader .BRbooksearch.mobile, .BRmobileMenu .BRbooksearch.mobile, .BRfloat .BRbooksearch.mobile {
1665
- position: relative;
1666
- top: 0;
1667
- display: flex;
1668
- flex-direction: row;
1669
- }
1670
- .BookReader .BRbooksearch.mobile .BRsearchInput, .BRmobileMenu .BRbooksearch.mobile .BRsearchInput, .BRfloat .BRbooksearch.mobile .BRsearchInput {
1671
- -webkit-appearance: none;
1672
- position: relative;
1673
- min-width: 100px;
1674
- float: left;
1675
- font-size: 14px;
1676
- width: 150px;
1677
- height: 30px;
1678
- border: 1px solid #979797;
1679
- flex: 1;
1680
- border-radius: 0;
1681
- }
1682
- .BookReader .BRbooksearch.mobile .BRsearchSubmit, .BRmobileMenu .BRbooksearch.mobile .BRsearchSubmit, .BRfloat .BRbooksearch.mobile .BRsearchSubmit {
1683
- width: 30px;
1684
- height: 30px;
1685
- border: none;
1686
- background-color: #0074D1;
1687
- background-image: url("images/icon_search_button.svg");
1688
- background-repeat: no-repeat;
1689
- background-position: center center;
1690
- text-align: center;
1691
- color: white;
1692
- overflow: hidden;
1693
- box-sizing: border-box;
1694
- display: inline-block;
1695
- }
1696
- .BookReader #BRsearch_tray, .BRmobileMenu #BRsearch_tray, .BRfloat #BRsearch_tray {
1697
- --menuSliderBg: #151515;
1698
- --primaryTextColor: #fff;
1699
- --activeButtonBg: #282828;
1700
- --searchResultText: #adaedc;
1701
- --searchResultBg: #272958;
1702
- --searchResultBorder: #fff;
1703
- position: absolute;
1704
- top: 0;
1705
- right: 0;
1706
- bottom: 0;
1707
- left: 0;
1708
- padding: 15px 10px;
1709
- overflow-y: auto;
1710
- font-size: 14px;
1711
- color: var(--primaryTextColor);
1712
- background: var(--menuSliderBg);
1713
- }
1714
- .BookReader #BRsearch_tray header, .BRmobileMenu #BRsearch_tray header, .BRfloat #BRsearch_tray header {
1715
- display: flex;
1716
- justify-content: space-between;
1717
- align-items: center;
1718
- }
1719
- .BookReader #BRsearch_tray h3, .BRmobileMenu #BRsearch_tray h3, .BRfloat #BRsearch_tray h3 {
1720
- padding: 0;
1721
- margin: 0 10px 0 0;
1722
- font-size: 20px;
1723
- }
1724
- .BookReader #BRsearch_tray header p, .BRmobileMenu #BRsearch_tray header p, .BRfloat #BRsearch_tray header p {
1725
- display: none;
1726
- padding: 0;
1727
- margin: 0;
1728
- font-size: 12px;
1729
- font-weight: bold;
1730
- font-style: italic;
1731
- }
1732
- .BookReader #BRsearch_tray header p.visible, .BRmobileMenu #BRsearch_tray header p.visible, .BRfloat #BRsearch_tray header p.visible {
1733
- display: block;
1734
- }
1735
- .BookReader #BRsearch_tray header div, .BRmobileMenu #BRsearch_tray header div, .BRfloat #BRsearch_tray header div {
1736
- display: flex;
1737
- align-items: baseline;
1738
- }
1739
- .BookReader #BRsearch_tray a.close, .BRmobileMenu #BRsearch_tray a.close, .BRfloat #BRsearch_tray a.close {
1740
- justify-self: end;
1741
- }
1742
- .BookReader #BRsearch_tray fieldset, .BRmobileMenu #BRsearch_tray fieldset, .BRfloat #BRsearch_tray fieldset {
1743
- padding: 20px 0 10px 0;
1744
- border: none;
1745
- }
1746
- .BookReader #BRsearch_tray [type=checkbox], .BRmobileMenu #BRsearch_tray [type=checkbox], .BRfloat #BRsearch_tray [type=checkbox] {
1747
- display: none;
1748
- }
1749
- .BookReader #BRsearch_tray #all_files, .BRmobileMenu #BRsearch_tray #all_files, .BRfloat #BRsearch_tray #all_files {
1750
- display: none;
1751
- }
1752
- .BookReader #BRsearch_tray #all_files + label, .BRmobileMenu #BRsearch_tray #all_files + label, .BRfloat #BRsearch_tray #all_files + label {
1753
- display: none;
1754
- }
1755
- .BookReader #BRsearch_tray label, .BRmobileMenu #BRsearch_tray label, .BRfloat #BRsearch_tray label {
1756
- display: block;
1757
- text-align: center;
1758
- }
1759
- .BookReader #BRsearch_tray label.checkbox, .BRmobileMenu #BRsearch_tray label.checkbox, .BRfloat #BRsearch_tray label.checkbox {
1760
- padding-bottom: 5px;
1761
- font-size: 16px;
1762
- line-height: 150%;
1763
- vertical-align: middle;
1764
- }
1765
- .BookReader #BRsearch_tray label.checkbox:after, .BRmobileMenu #BRsearch_tray label.checkbox:after, .BRfloat #BRsearch_tray label.checkbox:after {
1766
- display: inline-block;
1767
- width: 14px;
1768
- height: 14px;
1769
- margin-left: 7px;
1770
- content: "";
1771
- color: var(--primaryTextColor);
1772
- border: 1px solid var(--primaryTextColor);
1773
- border-radius: 2px;
1774
- background: var(--activeButtonBg) 50% 50% no-repeat;
1775
- }
1776
- .BookReader #BRsearch_tray :checked + label.checkbox:after, .BRmobileMenu #BRsearch_tray :checked + label.checkbox:after, .BRfloat #BRsearch_tray :checked + label.checkbox:after {
1777
- background-image: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwIiB2aWV3Qm94PSIwIDAgMTMgMTAiIHdpZHRoPSIxMyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtNC4zMzMzMzMzMyAxMC00LjMzMzMzMzMzLTQuMTY2NjY2NjcgMS43MzMzMzMzMy0xLjY2NjY2NjY2IDIuNiAyLjUgNi45MzMzMzMzNy02LjY2NjY2NjY3IDEuNzMzMzMzMyAxLjY2NjY2NjY3eiIgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");
1778
- }
1779
- .BookReader #BRsearch_tray [type=search], .BRmobileMenu #BRsearch_tray [type=search], .BRfloat #BRsearch_tray [type=search] {
1780
- -webkit-appearance: textfield;
1781
- width: 100%;
1782
- height: 22px;
1783
- padding: 0 15px;
1784
- box-sizing: border-box;
1785
- font: normal 16px "Helvetica Neue", Helvetica, Arial, sans-serif;
1786
- color: var(--primaryTextColor);
1787
- border: 1px solid var(--primaryTextColor);
1788
- border-radius: 15px;
1789
- background: transparent;
1790
- }
1791
- .BookReader #BRsearch_tray [type=search]:focus, .BRmobileMenu #BRsearch_tray [type=search]:focus, .BRfloat #BRsearch_tray [type=search]:focus {
1792
- outline: none;
1793
- }
1794
- .BookReader #BRsearch_tray [type=search]::-webkit-search-cancel-button, .BRmobileMenu #BRsearch_tray [type=search]::-webkit-search-cancel-button, .BRfloat #BRsearch_tray [type=search]::-webkit-search-cancel-button {
1795
- width: 18px;
1796
- height: 18px;
1797
- -webkit-appearance: none;
1798
- appearance: none;
1799
- /* Uses an X SVG shape as a mask */
1800
- -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgYXJpYS1sYWJlbGxlZGJ5PSJjbG9zZVRpdGxlSUQgY2xvc2VEZXNjSUQiPjxwYXRoIGQ9Ik0yOS4xOTIgMTAuODA4YTEuNSAxLjUgMCAwMTAgMi4xMkwyMi4xMjIgMjBsNy4wNyA3LjA3MmExLjUgMS41IDAgMDEtMi4xMiAyLjEyMWwtNy4wNzMtNy4wNy03LjA3IDcuMDdhMS41IDEuNSAwIDAxLTIuMTIxLTIuMTJsNy4wNy03LjA3My03LjA3LTcuMDdhMS41IDEuNSAwIDAxMi4xMi0yLjEyMUwyMCAxNy44NzhsNy4wNzItNy4wN2ExLjUgMS41IDAgMDEyLjEyMSAweiIgY2xhc3M9ImZpbGwtY29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==") 0 0 no-repeat;
1801
- mask: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgYXJpYS1sYWJlbGxlZGJ5PSJjbG9zZVRpdGxlSUQgY2xvc2VEZXNjSUQiPjxwYXRoIGQ9Ik0yOS4xOTIgMTAuODA4YTEuNSAxLjUgMCAwMTAgMi4xMkwyMi4xMjIgMjBsNy4wNyA3LjA3MmExLjUgMS41IDAgMDEtMi4xMiAyLjEyMWwtNy4wNzMtNy4wNy03LjA3IDcuMDdhMS41IDEuNSAwIDAxLTIuMTIxLTIuMTJsNy4wNy03LjA3My03LjA3LTcuMDdhMS41IDEuNSAwIDAxMi4xMi0yLjEyMUwyMCAxNy44NzhsNy4wNzItNy4wN2ExLjUgMS41IDAgMDEyLjEyMSAweiIgY2xhc3M9ImZpbGwtY29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==") 0 0 no-repeat;
1802
- -webkit-mask-size: 100%;
1803
- mask-size: 100%;
1804
- background: #fff;
1805
- }
1806
- .BookReader #BRsearch_tray ul, .BRmobileMenu #BRsearch_tray ul, .BRfloat #BRsearch_tray ul {
1807
- padding: 0;
1808
- margin: 0;
1809
- list-style: none;
1810
- }
1811
- .BookReader #BRsearch_tray li, .BRmobileMenu #BRsearch_tray li, .BRfloat #BRsearch_tray li {
1812
- margin-bottom: 20px;
1813
- border-bottom: 1px solid #fff;
1814
- }
1815
- .BookReader #BRsearch_tray li:after, .BRmobileMenu #BRsearch_tray li:after, .BRfloat #BRsearch_tray li:after {
1816
- display: none;
1817
- }
1818
- .BookReader #BRsearch_tray li img, .BRmobileMenu #BRsearch_tray li img, .BRfloat #BRsearch_tray li img {
1819
- display: block;
1820
- width: 100%;
1821
- }
1822
- .BookReader #BRsearch_tray li h4, .BRmobileMenu #BRsearch_tray li h4, .BRfloat #BRsearch_tray li h4 {
1823
- padding: 0 0 20px 0;
1824
- margin: 0;
1825
- font-size: 14px;
1826
- font-weight: normal;
1827
- }
1828
- .BookReader #BRsearch_tray li p, .BRmobileMenu #BRsearch_tray li p, .BRfloat #BRsearch_tray li p {
1829
- padding: 0 0 15px 0;
1830
- margin: 0;
1831
- font-size: 12px;
1832
- }
1833
- .BookReader #BRsearch_tray mark, .BRmobileMenu #BRsearch_tray mark, .BRfloat #BRsearch_tray mark {
1834
- padding: 0 2px;
1835
- color: var(--searchResultText);
1836
- background: var(--searchResultBg);
1837
- border: 1px solid var(--searchResultBorder);
1838
- border-radius: 2px;
1839
- }
1840
- .BookReader #BRsearch_tray #search_pending, .BRmobileMenu #BRsearch_tray #search_pending, .BRfloat #BRsearch_tray #search_pending {
1841
- display: none;
1842
- }
1843
- .BookReader #BRsearch_tray #search_pending.visible, .BRmobileMenu #BRsearch_tray #search_pending.visible, .BRfloat #BRsearch_tray #search_pending.visible {
1844
- display: block;
1845
- }
1846
1631
  .BookReader .BRsearch-navigation, .BRmobileMenu .BRsearch-navigation, .BRfloat .BRsearch-navigation {
1847
1632
  position: relative;
1848
1633
  z-index: 1;
@@ -1896,12 +1681,9 @@ i.BRicon {
1896
1681
  display: none;
1897
1682
  }
1898
1683
 
1899
- @keyframes hiliteFadeIn {
1900
- from {
1901
- opacity: 0;
1902
- }
1684
+ @keyframes highlightFocus {
1903
1685
  to {
1904
- opacity: 0.2;
1686
+ stroke-width: 20px;
1905
1687
  }
1906
1688
  }
1907
1689
  /* Mid size breakpoint */
@@ -2524,7 +2306,7 @@ html.mm-opening .mm-slideout {
2524
2306
 
2525
2307
  .mm-panel h1 {
2526
2308
  margin-top: 0;
2527
- color: #245e83;
2309
+ color: rgb(36, 94, 131);
2528
2310
  font-size: 14px;
2529
2311
  }
2530
2312
 
@@ -2880,6 +2662,12 @@ li.BRtable-contents-el .BRTOCElementPage {
2880
2662
  background-image: url("icons/close-circle.svg");
2881
2663
  }
2882
2664
 
2665
+ .icon-close-dark {
2666
+ width: 12px;
2667
+ height: 12px;
2668
+ background-image: url("icons/close-circle-dark.svg");
2669
+ }
2670
+
2883
2671
  .BRcontrols {
2884
2672
  width: 100%;
2885
2673
  /* BookReader defaults overrides */
@@ -2906,23 +2694,29 @@ li.BRtable-contents-el .BRTOCElementPage {
2906
2694
  .BRfullscreenActive .BRcontrols .icon-fullscreen {
2907
2695
  background-image: url("icons/fullscreen_exit.svg");
2908
2696
  }
2909
- .BRcontrols select.playback-speed {
2910
- width: 24px;
2697
+ .BRcontrols select.playback-speed, .BRcontrols select.playback-voices {
2911
2698
  padding-top: 18px;
2912
2699
  -moz-appearance: none;
2913
2700
  -webkit-appearance: none;
2914
2701
  appearance: none;
2915
2702
  font-size: 10px;
2916
- text-align: center;
2917
2703
  text-align-last: center;
2918
2704
  color: #fff;
2919
2705
  border: none;
2920
2706
  cursor: pointer;
2921
- background: transparent url("icons/playback-speed.svg") 50% 0 no-repeat;
2922
2707
  }
2923
- .BRcontrols select.playback-speed option {
2708
+ .BRcontrols select.playback-speed option, .BRcontrols select.playback-speed optgroup, .BRcontrols select.playback-voices option, .BRcontrols select.playback-voices optgroup {
2924
2709
  background: #333;
2925
2710
  }
2711
+ .BRcontrols select.playback-speed {
2712
+ width: 30px;
2713
+ background: transparent url("icons/playback-speed.svg") 50% 0 no-repeat;
2714
+ }
2715
+ .BRcontrols select.playback-voices {
2716
+ width: 30px;
2717
+ background: transparent url("icons/voice.svg") 50% 0 no-repeat;
2718
+ background-size: 18px;
2719
+ }
2926
2720
  .BRcontrols .active {
2927
2721
  background: #fff;
2928
2722
  }
@@ -2975,6 +2769,10 @@ li.BRtable-contents-el .BRTOCElementPage {
2975
2769
  display: flex;
2976
2770
  animation: slideUp 0.2s;
2977
2771
  }
2772
+ .BRcontrols .read-aloud.visible button {
2773
+ width: unset;
2774
+ height: unset;
2775
+ }
2978
2776
  .BRcontrols .read-aloud li {
2979
2777
  padding: 0 10px;
2980
2778
  }
@@ -3095,11 +2893,6 @@ li.BRtable-contents-el .BRTOCElementPage {
3095
2893
  }
3096
2894
 
3097
2895
  .textSelectionSVG {
3098
- width: 100%;
3099
- position: absolute;
3100
- height: 100%;
3101
- top: 0;
3102
- left: 0;
3103
2896
  pointer-events: none;
3104
2897
  }
3105
2898
  .textSelectionSVG .BRwordElement {
@@ -3110,39 +2903,38 @@ li.BRtable-contents-el .BRTOCElementPage {
3110
2903
  cursor: text;
3111
2904
  }
3112
2905
  .textSelectionSVG .BRwordElement::selection {
3113
- background: rgba(86, 158, 230, 0.4);
2906
+ background: hsla(210deg, 74%, 62%, 0.4);
3114
2907
  }
3115
2908
  .textSelectionSVG .BRwordElement::-moz-selection {
3116
- background: rgba(86, 158, 230, 0.4);
2909
+ background: hsla(210deg, 74%, 62%, 0.4);
3117
2910
  color: transparent;
3118
2911
  }
3119
2912
  .textSelectionSVG .BRparagElement {
3120
- fill: red;
2913
+ fill: transparent;
3121
2914
  cursor: text;
3122
2915
  white-space: pre;
3123
- fill-opacity: 0;
3124
2916
  font-family: Georgia, serif;
3125
2917
  }
3126
2918
 
3127
- .BRpagecontainer img {
3128
- -webkit-user-select: none;
3129
- -moz-user-select: none;
3130
- user-select: none;
2919
+ .BRsmooth-zooming .textSelectionSVG, .BRscrolling-active .textSelectionSVG {
2920
+ display: none;
3131
2921
  }
3132
2922
 
3133
- .BRpageFlipping .textSelectionSVG {
2923
+ .BRmode1up .BRpagecontainer:not(.BRpage-visible) .textSelectionSVG {
3134
2924
  display: none;
3135
2925
  }
3136
2926
 
3137
- .BRpagecontainer.BRemptypage .textSelectionSVG {
3138
- display: none;
2927
+ .BRpagecontainer img {
2928
+ -webkit-user-select: none;
2929
+ -moz-user-select: none;
2930
+ user-select: none;
3139
2931
  }
3140
2932
 
3141
2933
  /**
3142
2934
  * Hide modal-manager that loads item-navigator-modal
3143
2935
  * loading bookmarks related alert messages
3144
2936
  */
3145
- #item-navigator-modal {
2937
+ modal-manager[mode=closed] {
3146
2938
  display: none;
3147
2939
  }
3148
2940