@internetarchive/bookreader 5.0.0-8 → 5.0.0-80

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