viewer.css 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917
  1. /* Copyright 2014 Mozilla Foundation
  2. *
  3. * Licensed under the Apache License, Version 2.0 (the "License");
  4. * you may not use this file except in compliance with the License.
  5. * You may obtain a copy of the License at
  6. *
  7. * http://www.apache.org/licenses/LICENSE-2.0
  8. *
  9. * Unless required by applicable law or agreed to in writing, software
  10. * distributed under the License is distributed on an "AS IS" BASIS,
  11. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. * See the License for the specific language governing permissions and
  13. * limitations under the License.
  14. */
  15. @import url(pdf_viewer.css);
  16. :root {
  17. --sidebar-width: 200px;
  18. }
  19. * {
  20. padding: 0;
  21. margin: 0;
  22. }
  23. html {
  24. height: 100%;
  25. width: 100%;
  26. /* Font size is needed to make the activity bar the correct size. */
  27. font-size: 10px;
  28. }
  29. body {
  30. height: 100%;
  31. width: 100%;
  32. background-color: #404040;
  33. background-image: url(images/texture.png);
  34. }
  35. body,
  36. input,
  37. button,
  38. select {
  39. font: message-box;
  40. outline: none;
  41. }
  42. .hidden {
  43. display: none !important;
  44. }
  45. [hidden] {
  46. display: none !important;
  47. }
  48. #viewerContainer.pdfPresentationMode:-ms-fullscreen {
  49. top: 0px !important;
  50. overflow: hidden !important;
  51. }
  52. #viewerContainer.pdfPresentationMode:-ms-fullscreen::-ms-backdrop {
  53. background-color: #000;
  54. }
  55. #viewerContainer.pdfPresentationMode:fullscreen {
  56. top: 0px;
  57. border-top: 2px solid transparent;
  58. background-color: #000;
  59. width: 100%;
  60. height: 100%;
  61. overflow: hidden;
  62. cursor: none;
  63. user-select: none;
  64. }
  65. .pdfPresentationMode:fullscreen a:not(.internalLink) {
  66. display: none;
  67. }
  68. .pdfPresentationMode:fullscreen .textLayer > span {
  69. cursor: none;
  70. }
  71. .pdfPresentationMode.pdfPresentationModeControls > *,
  72. .pdfPresentationMode.pdfPresentationModeControls .textLayer > span {
  73. cursor: default;
  74. }
  75. #outerContainer {
  76. width: 100%;
  77. height: 100%;
  78. position: relative;
  79. }
  80. #sidebarContainer {
  81. position: absolute;
  82. top: 32px;
  83. bottom: 0;
  84. width: 200px; /* Here, and elsewhere below, keep the constant value for compatibility
  85. with older browsers that lack support for CSS variables. */
  86. width: var(--sidebar-width);
  87. visibility: hidden;
  88. z-index: 100;
  89. border-top: 1px solid #333;
  90. transition-duration: 200ms;
  91. transition-timing-function: ease;
  92. }
  93. html[dir='ltr'] #sidebarContainer {
  94. transition-property: left;
  95. left: -200px;
  96. left: calc(-1 * var(--sidebar-width));
  97. }
  98. html[dir='rtl'] #sidebarContainer {
  99. transition-property: right;
  100. right: -200px;
  101. right: calc(-1 * var(--sidebar-width));
  102. }
  103. .loadingInProgress #sidebarContainer {
  104. top: 36px;
  105. }
  106. #outerContainer.sidebarResizing #sidebarContainer {
  107. /* Improve responsiveness and avoid visual glitches when the sidebar is resized. */
  108. transition-duration: 0s;
  109. /* Prevent e.g. the thumbnails being selected when the sidebar is resized. */
  110. user-select: none;
  111. }
  112. #outerContainer.sidebarMoving #sidebarContainer,
  113. #outerContainer.sidebarOpen #sidebarContainer {
  114. visibility: visible;
  115. }
  116. html[dir='ltr'] #outerContainer.sidebarOpen #sidebarContainer {
  117. left: 0px;
  118. }
  119. html[dir='rtl'] #outerContainer.sidebarOpen #sidebarContainer {
  120. right: 0px;
  121. }
  122. #mainContainer {
  123. position: absolute;
  124. top: 0;
  125. right: 0;
  126. bottom: 0;
  127. left: 0;
  128. min-width: 320px;
  129. }
  130. #sidebarContent {
  131. top: 32px;
  132. bottom: 0;
  133. overflow: auto;
  134. -webkit-overflow-scrolling: touch;
  135. position: absolute;
  136. width: 100%;
  137. background-color: hsla(0,0%,0%,.1);
  138. }
  139. html[dir='ltr'] #sidebarContent {
  140. left: 0;
  141. box-shadow: inset -1px 0 0 hsla(0,0%,0%,.25);
  142. }
  143. html[dir='rtl'] #sidebarContent {
  144. right: 0;
  145. box-shadow: inset 1px 0 0 hsla(0,0%,0%,.25);
  146. }
  147. #viewerContainer {
  148. overflow: auto;
  149. -webkit-overflow-scrolling: touch;
  150. position: absolute;
  151. top: 32px;
  152. right: 0;
  153. bottom: 0;
  154. left: 0;
  155. outline: none;
  156. }
  157. #viewerContainer:not(.pdfPresentationMode) {
  158. transition-duration: 200ms;
  159. transition-timing-function: ease;
  160. }
  161. html[dir='ltr'] #viewerContainer {
  162. box-shadow: inset 1px 0 0 hsla(0,0%,100%,.05);
  163. }
  164. html[dir='rtl'] #viewerContainer {
  165. box-shadow: inset -1px 0 0 hsla(0,0%,100%,.05);
  166. }
  167. #outerContainer.sidebarResizing #viewerContainer {
  168. /* Improve responsiveness and avoid visual glitches when the sidebar is resized. */
  169. transition-duration: 0s;
  170. }
  171. html[dir='ltr'] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) {
  172. transition-property: left;
  173. left: 200px;
  174. left: var(--sidebar-width);
  175. }
  176. html[dir='rtl'] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) {
  177. transition-property: right;
  178. right: 200px;
  179. right: var(--sidebar-width);
  180. }
  181. .toolbar {
  182. position: relative;
  183. left: 0;
  184. right: 0;
  185. z-index: 9999;
  186. cursor: default;
  187. }
  188. #toolbarContainer {
  189. width: 100%;
  190. }
  191. #toolbarSidebar {
  192. width: 100%;
  193. height: 32px;
  194. background-color: #424242; /* fallback */
  195. background-image: url(images/texture.png),
  196. linear-gradient(hsla(0,0%,30%,.99), hsla(0,0%,25%,.95));
  197. }
  198. html[dir='ltr'] #toolbarSidebar {
  199. box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.25),
  200. inset 0 -1px 0 hsla(0,0%,100%,.05),
  201. 0 1px 0 hsla(0,0%,0%,.15),
  202. 0 0 1px hsla(0,0%,0%,.1);
  203. }
  204. html[dir='rtl'] #toolbarSidebar {
  205. box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.25),
  206. inset 0 1px 0 hsla(0,0%,100%,.05),
  207. 0 1px 0 hsla(0,0%,0%,.15),
  208. 0 0 1px hsla(0,0%,0%,.1);
  209. }
  210. #sidebarResizer {
  211. position: absolute;
  212. top: 0;
  213. bottom: 0;
  214. width: 6px;
  215. z-index: 200;
  216. cursor: ew-resize;
  217. }
  218. html[dir='ltr'] #sidebarResizer {
  219. right: -6px;
  220. }
  221. html[dir='rtl'] #sidebarResizer {
  222. left: -6px;
  223. }
  224. #toolbarContainer, .findbar, .secondaryToolbar {
  225. position: relative;
  226. height: 32px;
  227. background-color: #474747; /* fallback */
  228. background-image: url(images/texture.png),
  229. linear-gradient(hsla(0,0%,32%,.99), hsla(0,0%,27%,.95));
  230. }
  231. html[dir='ltr'] #toolbarContainer, .findbar, .secondaryToolbar {
  232. box-shadow: inset 0 1px 1px hsla(0,0%,0%,.15),
  233. inset 0 -1px 0 hsla(0,0%,100%,.05),
  234. 0 1px 0 hsla(0,0%,0%,.15),
  235. 0 1px 1px hsla(0,0%,0%,.1);
  236. }
  237. html[dir='rtl'] #toolbarContainer, .findbar, .secondaryToolbar {
  238. box-shadow: inset 0 1px 1px hsla(0,0%,0%,.15),
  239. inset 0 -1px 0 hsla(0,0%,100%,.05),
  240. 0 1px 0 hsla(0,0%,0%,.15),
  241. 0 1px 1px hsla(0,0%,0%,.1);
  242. }
  243. #toolbarViewer {
  244. height: 32px;
  245. }
  246. #loadingBar {
  247. position: relative;
  248. width: 100%;
  249. height: 4px;
  250. background-color: #333;
  251. border-bottom: 1px solid #333;
  252. }
  253. #loadingBar .progress {
  254. position: absolute;
  255. top: 0;
  256. left: 0;
  257. width: 0%;
  258. height: 100%;
  259. background-color: #ddd;
  260. overflow: hidden;
  261. transition: width 200ms;
  262. }
  263. @keyframes progressIndeterminate {
  264. 0% { left: -142px; }
  265. 100% { left: 0; }
  266. }
  267. #loadingBar .progress.indeterminate {
  268. background-color: #999;
  269. transition: none;
  270. }
  271. #loadingBar .progress.indeterminate .glimmer {
  272. position: absolute;
  273. top: 0;
  274. left: 0;
  275. height: 100%;
  276. width: calc(100% + 150px);
  277. background: repeating-linear-gradient(135deg,
  278. #bbb 0, #999 5px,
  279. #999 45px, #ddd 55px,
  280. #ddd 95px, #bbb 100px);
  281. animation: progressIndeterminate 950ms linear infinite;
  282. }
  283. .findbar, .secondaryToolbar {
  284. top: 32px;
  285. position: absolute;
  286. z-index: 10000;
  287. height: auto;
  288. min-width: 16px;
  289. padding: 0px 6px 0px 6px;
  290. margin: 4px 2px 4px 2px;
  291. color: hsl(0,0%,85%);
  292. font-size: 12px;
  293. line-height: 14px;
  294. text-align: left;
  295. cursor: default;
  296. }
  297. .findbar {
  298. min-width: 300px;
  299. }
  300. .findbar > div {
  301. height: 32px;
  302. }
  303. .findbar.wrapContainers > div {
  304. clear: both;
  305. }
  306. .findbar.wrapContainers > div#findbarMessageContainer {
  307. height: auto;
  308. }
  309. html[dir='ltr'] .findbar {
  310. left: 68px;
  311. }
  312. html[dir='rtl'] .findbar {
  313. right: 68px;
  314. }
  315. .findbar label {
  316. user-select: none;
  317. }
  318. #findInput {
  319. width: 200px;
  320. }
  321. #findInput::-webkit-input-placeholder {
  322. color: hsl(0, 0%, 75%);
  323. }
  324. #findInput::placeholder {
  325. font-style: italic;
  326. }
  327. #findInput[data-status="pending"] {
  328. background-image: url(images/loading-small.png);
  329. background-repeat: no-repeat;
  330. background-position: right;
  331. }
  332. html[dir='rtl'] #findInput[data-status="pending"] {
  333. background-position: left;
  334. }
  335. .secondaryToolbar {
  336. padding: 6px;
  337. height: auto;
  338. z-index: 30000;
  339. }
  340. html[dir='ltr'] .secondaryToolbar {
  341. right: 4px;
  342. }
  343. html[dir='rtl'] .secondaryToolbar {
  344. left: 4px;
  345. }
  346. #secondaryToolbarButtonContainer {
  347. max-width: 200px;
  348. max-height: 400px;
  349. overflow-y: auto;
  350. -webkit-overflow-scrolling: touch;
  351. margin-bottom: -4px;
  352. }
  353. #secondaryToolbarButtonContainer.hiddenScrollModeButtons > .scrollModeButtons,
  354. #secondaryToolbarButtonContainer.hiddenSpreadModeButtons > .spreadModeButtons {
  355. display: none !important;
  356. }
  357. .doorHanger,
  358. .doorHangerRight {
  359. border: 1px solid hsla(0,0%,0%,.5);
  360. border-radius: 2px;
  361. box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  362. }
  363. .doorHanger:after, .doorHanger:before,
  364. .doorHangerRight:after, .doorHangerRight:before {
  365. bottom: 100%;
  366. border: solid transparent;
  367. content: " ";
  368. height: 0;
  369. width: 0;
  370. position: absolute;
  371. pointer-events: none;
  372. }
  373. .doorHanger:after,
  374. .doorHangerRight:after {
  375. border-bottom-color: hsla(0,0%,32%,.99);
  376. border-width: 8px;
  377. }
  378. .doorHanger:before,
  379. .doorHangerRight:before {
  380. border-bottom-color: hsla(0,0%,0%,.5);
  381. border-width: 9px;
  382. }
  383. html[dir='ltr'] .doorHanger:after,
  384. html[dir='rtl'] .doorHangerRight:after {
  385. left: 13px;
  386. margin-left: -8px;
  387. }
  388. html[dir='ltr'] .doorHanger:before,
  389. html[dir='rtl'] .doorHangerRight:before {
  390. left: 13px;
  391. margin-left: -9px;
  392. }
  393. html[dir='rtl'] .doorHanger:after,
  394. html[dir='ltr'] .doorHangerRight:after {
  395. right: 13px;
  396. margin-right: -8px;
  397. }
  398. html[dir='rtl'] .doorHanger:before,
  399. html[dir='ltr'] .doorHangerRight:before {
  400. right: 13px;
  401. margin-right: -9px;
  402. }
  403. #findResultsCount {
  404. background-color: hsl(0, 0%, 85%);
  405. color: hsl(0, 0%, 32%);
  406. text-align: center;
  407. padding: 3px 4px;
  408. }
  409. #findMsg {
  410. font-style: italic;
  411. color: #A6B7D0;
  412. }
  413. #findMsg:empty {
  414. display: none;
  415. }
  416. #findInput.notFound {
  417. background-color: rgb(255, 102, 102);
  418. }
  419. #toolbarViewerMiddle {
  420. position: absolute;
  421. left: 50%;
  422. transform: translateX(-50%);
  423. }
  424. html[dir='ltr'] #toolbarViewerLeft,
  425. html[dir='rtl'] #toolbarViewerRight {
  426. float: left;
  427. }
  428. html[dir='ltr'] #toolbarViewerRight,
  429. html[dir='rtl'] #toolbarViewerLeft {
  430. float: right;
  431. }
  432. html[dir='ltr'] #toolbarViewerLeft > *,
  433. html[dir='ltr'] #toolbarViewerMiddle > *,
  434. html[dir='ltr'] #toolbarViewerRight > *,
  435. html[dir='ltr'] .findbar * {
  436. position: relative;
  437. float: left;
  438. }
  439. html[dir='rtl'] #toolbarViewerLeft > *,
  440. html[dir='rtl'] #toolbarViewerMiddle > *,
  441. html[dir='rtl'] #toolbarViewerRight > *,
  442. html[dir='rtl'] .findbar * {
  443. position: relative;
  444. float: right;
  445. }
  446. html[dir='ltr'] .splitToolbarButton {
  447. margin: 3px 2px 4px 0;
  448. display: inline-block;
  449. }
  450. html[dir='rtl'] .splitToolbarButton {
  451. margin: 3px 0 4px 2px;
  452. display: inline-block;
  453. }
  454. html[dir='ltr'] .splitToolbarButton > .toolbarButton {
  455. border-radius: 0;
  456. float: left;
  457. }
  458. html[dir='rtl'] .splitToolbarButton > .toolbarButton {
  459. border-radius: 0;
  460. float: right;
  461. }
  462. .toolbarButton,
  463. .secondaryToolbarButton,
  464. .overlayButton {
  465. border: 0 none;
  466. background: none;
  467. width: 32px;
  468. height: 25px;
  469. }
  470. .toolbarButton > span {
  471. display: inline-block;
  472. width: 0;
  473. height: 0;
  474. overflow: hidden;
  475. }
  476. .toolbarButton[disabled],
  477. .secondaryToolbarButton[disabled],
  478. .overlayButton[disabled] {
  479. opacity: .5;
  480. }
  481. .splitToolbarButton.toggled .toolbarButton {
  482. margin: 0;
  483. }
  484. .splitToolbarButton:hover > .toolbarButton,
  485. .splitToolbarButton:focus > .toolbarButton,
  486. .splitToolbarButton.toggled > .toolbarButton,
  487. .toolbarButton.textButton {
  488. background-color: hsla(0,0%,0%,.12);
  489. background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
  490. background-clip: padding-box;
  491. border: 1px solid hsla(0,0%,0%,.35);
  492. border-color: hsla(0,0%,0%,.32) hsla(0,0%,0%,.38) hsla(0,0%,0%,.42);
  493. box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
  494. 0 0 1px hsla(0,0%,100%,.15) inset,
  495. 0 1px 0 hsla(0,0%,100%,.05);
  496. transition-property: background-color, border-color, box-shadow;
  497. transition-duration: 150ms;
  498. transition-timing-function: ease;
  499. }
  500. .splitToolbarButton > .toolbarButton:hover,
  501. .splitToolbarButton > .toolbarButton:focus,
  502. .dropdownToolbarButton:hover,
  503. .overlayButton:hover,
  504. .overlayButton:focus,
  505. .toolbarButton.textButton:hover,
  506. .toolbarButton.textButton:focus {
  507. background-color: hsla(0,0%,0%,.2);
  508. box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
  509. 0 0 1px hsla(0,0%,100%,.15) inset,
  510. 0 0 1px hsla(0,0%,0%,.05);
  511. z-index: 199;
  512. }
  513. .splitToolbarButton > .toolbarButton {
  514. position: relative;
  515. }
  516. html[dir='ltr'] .splitToolbarButton > .toolbarButton:first-child,
  517. html[dir='rtl'] .splitToolbarButton > .toolbarButton:last-child {
  518. position: relative;
  519. margin: 0;
  520. margin-right: -1px;
  521. border-top-left-radius: 2px;
  522. border-bottom-left-radius: 2px;
  523. border-right-color: transparent;
  524. }
  525. html[dir='ltr'] .splitToolbarButton > .toolbarButton:last-child,
  526. html[dir='rtl'] .splitToolbarButton > .toolbarButton:first-child {
  527. position: relative;
  528. margin: 0;
  529. margin-left: -1px;
  530. border-top-right-radius: 2px;
  531. border-bottom-right-radius: 2px;
  532. border-left-color: transparent;
  533. }
  534. .splitToolbarButtonSeparator {
  535. padding: 8px 0;
  536. width: 1px;
  537. background-color: hsla(0,0%,0%,.5);
  538. z-index: 99;
  539. box-shadow: 0 0 0 1px hsla(0,0%,100%,.08);
  540. display: inline-block;
  541. margin: 5px 0;
  542. }
  543. html[dir='ltr'] .splitToolbarButtonSeparator {
  544. float: left;
  545. }
  546. html[dir='rtl'] .splitToolbarButtonSeparator {
  547. float: right;
  548. }
  549. .splitToolbarButton:hover > .splitToolbarButtonSeparator,
  550. .splitToolbarButton.toggled > .splitToolbarButtonSeparator {
  551. padding: 12px 0;
  552. margin: 1px 0;
  553. box-shadow: 0 0 0 1px hsla(0,0%,100%,.03);
  554. transition-property: padding;
  555. transition-duration: 10ms;
  556. transition-timing-function: ease;
  557. }
  558. .toolbarButton,
  559. .dropdownToolbarButton,
  560. .secondaryToolbarButton,
  561. .overlayButton {
  562. min-width: 16px;
  563. padding: 2px 6px 0;
  564. border: 1px solid transparent;
  565. border-radius: 2px;
  566. color: hsla(0,0%,100%,.8);
  567. font-size: 12px;
  568. line-height: 14px;
  569. user-select: none;
  570. /* Opera does not support user-select, use <... unselectable="on"> instead */
  571. cursor: default;
  572. transition-property: background-color, border-color, box-shadow;
  573. transition-duration: 150ms;
  574. transition-timing-function: ease;
  575. }
  576. html[dir='ltr'] .toolbarButton,
  577. html[dir='ltr'] .overlayButton,
  578. html[dir='ltr'] .dropdownToolbarButton {
  579. margin: 3px 2px 4px 0;
  580. }
  581. html[dir='rtl'] .toolbarButton,
  582. html[dir='rtl'] .overlayButton,
  583. html[dir='rtl'] .dropdownToolbarButton {
  584. margin: 3px 0 4px 2px;
  585. }
  586. .toolbarButton:hover,
  587. .toolbarButton:focus,
  588. .dropdownToolbarButton,
  589. .overlayButton,
  590. .secondaryToolbarButton:hover,
  591. .secondaryToolbarButton:focus {
  592. background-color: hsla(0,0%,0%,.12);
  593. background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
  594. background-clip: padding-box;
  595. border: 1px solid hsla(0,0%,0%,.35);
  596. border-color: hsla(0,0%,0%,.32) hsla(0,0%,0%,.38) hsla(0,0%,0%,.42);
  597. box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
  598. 0 0 1px hsla(0,0%,100%,.15) inset,
  599. 0 1px 0 hsla(0,0%,100%,.05);
  600. }
  601. .toolbarButton:hover:active,
  602. .overlayButton:hover:active,
  603. .dropdownToolbarButton:hover:active,
  604. .secondaryToolbarButton:hover:active {
  605. background-color: hsla(0,0%,0%,.2);
  606. background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
  607. border-color: hsla(0,0%,0%,.35) hsla(0,0%,0%,.4) hsla(0,0%,0%,.45);
  608. box-shadow: 0 1px 1px hsla(0,0%,0%,.1) inset,
  609. 0 0 1px hsla(0,0%,0%,.2) inset,
  610. 0 1px 0 hsla(0,0%,100%,.05);
  611. transition-property: background-color, border-color, box-shadow;
  612. transition-duration: 10ms;
  613. transition-timing-function: linear;
  614. }
  615. .toolbarButton.toggled,
  616. .splitToolbarButton.toggled > .toolbarButton.toggled,
  617. .secondaryToolbarButton.toggled {
  618. background-color: hsla(0,0%,0%,.3);
  619. background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
  620. border-color: hsla(0,0%,0%,.4) hsla(0,0%,0%,.45) hsla(0,0%,0%,.5);
  621. box-shadow: 0 1px 1px hsla(0,0%,0%,.1) inset,
  622. 0 0 1px hsla(0,0%,0%,.2) inset,
  623. 0 1px 0 hsla(0,0%,100%,.05);
  624. transition-property: background-color, border-color, box-shadow;
  625. transition-duration: 10ms;
  626. transition-timing-function: linear;
  627. }
  628. .toolbarButton.toggled:hover:active,
  629. .splitToolbarButton.toggled > .toolbarButton.toggled:hover:active,
  630. .secondaryToolbarButton.toggled:hover:active {
  631. background-color: hsla(0,0%,0%,.4);
  632. border-color: hsla(0,0%,0%,.4) hsla(0,0%,0%,.5) hsla(0,0%,0%,.55);
  633. box-shadow: 0 1px 1px hsla(0,0%,0%,.2) inset,
  634. 0 0 1px hsla(0,0%,0%,.3) inset,
  635. 0 1px 0 hsla(0,0%,100%,.05);
  636. }
  637. .dropdownToolbarButton {
  638. width: 120px;
  639. max-width: 120px;
  640. padding: 0;
  641. overflow: hidden;
  642. background: url(images/toolbarButton-menuArrows.png) no-repeat;
  643. }
  644. html[dir='ltr'] .dropdownToolbarButton {
  645. background-position: 95%;
  646. }
  647. html[dir='rtl'] .dropdownToolbarButton {
  648. background-position: 5%;
  649. }
  650. .dropdownToolbarButton > select {
  651. min-width: 140px;
  652. font-size: 12px;
  653. color: hsl(0,0%,95%);
  654. margin: 0;
  655. padding: 3px 2px 2px;
  656. border: none;
  657. background: rgba(0,0,0,0); /* Opera does not support 'transparent' <select> background */
  658. }
  659. .dropdownToolbarButton > select > option {
  660. background: hsl(0,0%,24%);
  661. }
  662. #customScaleOption {
  663. display: none;
  664. }
  665. #pageWidthOption {
  666. border-bottom: 1px rgba(255, 255, 255, .5) solid;
  667. }
  668. html[dir='ltr'] .splitToolbarButton:first-child,
  669. html[dir='ltr'] .toolbarButton:first-child,
  670. html[dir='rtl'] .splitToolbarButton:last-child,
  671. html[dir='rtl'] .toolbarButton:last-child {
  672. margin-left: 4px;
  673. }
  674. html[dir='ltr'] .splitToolbarButton:last-child,
  675. html[dir='ltr'] .toolbarButton:last-child,
  676. html[dir='rtl'] .splitToolbarButton:first-child,
  677. html[dir='rtl'] .toolbarButton:first-child {
  678. margin-right: 4px;
  679. }
  680. .toolbarButtonSpacer {
  681. width: 30px;
  682. display: inline-block;
  683. height: 1px;
  684. }
  685. html[dir='ltr'] #findPrevious {
  686. margin-left: 3px;
  687. }
  688. html[dir='ltr'] #findNext {
  689. margin-right: 3px;
  690. }
  691. html[dir='rtl'] #findPrevious {
  692. margin-right: 3px;
  693. }
  694. html[dir='rtl'] #findNext {
  695. margin-left: 3px;
  696. }
  697. .toolbarButton::before,
  698. .secondaryToolbarButton::before {
  699. /* All matching images have a size of 16x16
  700. * All relevant containers have a size of 32x25 */
  701. position: absolute;
  702. display: inline-block;
  703. top: 4px;
  704. left: 7px;
  705. }
  706. html[dir="ltr"] .secondaryToolbarButton::before {
  707. left: 4px;
  708. }
  709. html[dir="rtl"] .secondaryToolbarButton::before {
  710. right: 4px;
  711. }
  712. html[dir='ltr'] .toolbarButton#sidebarToggle::before {
  713. content: url(images/toolbarButton-sidebarToggle.png);
  714. }
  715. html[dir='rtl'] .toolbarButton#sidebarToggle::before {
  716. content: url(images/toolbarButton-sidebarToggle-rtl.png);
  717. }
  718. html[dir='ltr'] .toolbarButton#secondaryToolbarToggle::before {
  719. content: url(images/toolbarButton-secondaryToolbarToggle.png);
  720. }
  721. html[dir='rtl'] .toolbarButton#secondaryToolbarToggle::before {
  722. content: url(images/toolbarButton-secondaryToolbarToggle-rtl.png);
  723. }
  724. html[dir='ltr'] .toolbarButton.findPrevious::before {
  725. content: url(images/findbarButton-previous.png);
  726. }
  727. html[dir='rtl'] .toolbarButton.findPrevious::before {
  728. content: url(images/findbarButton-previous-rtl.png);
  729. }
  730. html[dir='ltr'] .toolbarButton.findNext::before {
  731. content: url(images/findbarButton-next.png);
  732. }
  733. html[dir='rtl'] .toolbarButton.findNext::before {
  734. content: url(images/findbarButton-next-rtl.png);
  735. }
  736. html[dir='ltr'] .toolbarButton.pageUp::before {
  737. content: url(images/toolbarButton-pageUp.png);
  738. }
  739. html[dir='rtl'] .toolbarButton.pageUp::before {
  740. content: url(images/toolbarButton-pageUp-rtl.png);
  741. }
  742. html[dir='ltr'] .toolbarButton.pageDown::before {
  743. content: url(images/toolbarButton-pageDown.png);
  744. }
  745. html[dir='rtl'] .toolbarButton.pageDown::before {
  746. content: url(images/toolbarButton-pageDown-rtl.png);
  747. }
  748. .toolbarButton.zoomOut::before {
  749. content: url(images/toolbarButton-zoomOut.png);
  750. }
  751. .toolbarButton.zoomIn::before {
  752. content: url(images/toolbarButton-zoomIn.png);
  753. }
  754. .toolbarButton.presentationMode::before,
  755. .secondaryToolbarButton.presentationMode::before {
  756. content: url(images/toolbarButton-presentationMode.png);
  757. }
  758. .toolbarButton.print::before,
  759. .secondaryToolbarButton.print::before {
  760. content: url(images/toolbarButton-print.png);
  761. }
  762. .toolbarButton.openFile::before,
  763. .secondaryToolbarButton.openFile::before {
  764. content: url(images/toolbarButton-openFile.png);
  765. }
  766. .toolbarButton.download::before,
  767. .secondaryToolbarButton.download::before {
  768. content: url(images/toolbarButton-download.png);
  769. }
  770. .toolbarButton.bookmark,
  771. .secondaryToolbarButton.bookmark {
  772. box-sizing: border-box;
  773. outline: none;
  774. padding-top: 4px;
  775. text-decoration: none;
  776. }
  777. .secondaryToolbarButton.bookmark {
  778. padding-top: 5px;
  779. }
  780. .bookmark[href='#'] {
  781. opacity: .5;
  782. pointer-events: none;
  783. }
  784. .toolbarButton.bookmark::before,
  785. .secondaryToolbarButton.bookmark::before {
  786. content: url(images/toolbarButton-bookmark.png);
  787. }
  788. #viewThumbnail.toolbarButton::before {
  789. content: url(images/toolbarButton-viewThumbnail.png);
  790. }
  791. html[dir="ltr"] #viewOutline.toolbarButton::before {
  792. content: url(images/toolbarButton-viewOutline.png);
  793. }
  794. html[dir="rtl"] #viewOutline.toolbarButton::before {
  795. content: url(images/toolbarButton-viewOutline-rtl.png);
  796. }
  797. #viewAttachments.toolbarButton::before {
  798. content: url(images/toolbarButton-viewAttachments.png);
  799. }
  800. #viewFind.toolbarButton::before {
  801. content: url(images/toolbarButton-search.png);
  802. }
  803. .toolbarButton.pdfSidebarNotification::after {
  804. position: absolute;
  805. display: inline-block;
  806. top: 1px;
  807. /* Create a filled circle, with a diameter of 9 pixels, using only CSS: */
  808. content: '';
  809. background-color: #70DB55;
  810. height: 9px;
  811. width: 9px;
  812. border-radius: 50%;
  813. }
  814. html[dir='ltr'] .toolbarButton.pdfSidebarNotification::after {
  815. left: 17px;
  816. }
  817. html[dir='rtl'] .toolbarButton.pdfSidebarNotification::after {
  818. right: 17px;
  819. }
  820. .secondaryToolbarButton {
  821. position: relative;
  822. margin: 0 0 4px 0;
  823. padding: 3px 0 1px 0;
  824. height: auto;
  825. min-height: 25px;
  826. width: auto;
  827. min-width: 100%;
  828. white-space: normal;
  829. }
  830. html[dir="ltr"] .secondaryToolbarButton {
  831. padding-left: 24px;
  832. text-align: left;
  833. }
  834. html[dir="rtl"] .secondaryToolbarButton {
  835. padding-right: 24px;
  836. text-align: right;
  837. }
  838. html[dir="ltr"] .secondaryToolbarButton.bookmark {
  839. padding-left: 27px;
  840. }
  841. html[dir="rtl"] .secondaryToolbarButton.bookmark {
  842. padding-right: 27px;
  843. }
  844. html[dir="ltr"] .secondaryToolbarButton > span {
  845. padding-right: 4px;
  846. }
  847. html[dir="rtl"] .secondaryToolbarButton > span {
  848. padding-left: 4px;
  849. }
  850. .secondaryToolbarButton.firstPage::before {
  851. content: url(images/secondaryToolbarButton-firstPage.png);
  852. }
  853. .secondaryToolbarButton.lastPage::before {
  854. content: url(images/secondaryToolbarButton-lastPage.png);
  855. }
  856. .secondaryToolbarButton.rotateCcw::before {
  857. content: url(images/secondaryToolbarButton-rotateCcw.png);
  858. }
  859. .secondaryToolbarButton.rotateCw::before {
  860. content: url(images/secondaryToolbarButton-rotateCw.png);
  861. }
  862. .secondaryToolbarButton.selectTool::before {
  863. content: url(images/secondaryToolbarButton-selectTool.png);
  864. }
  865. .secondaryToolbarButton.handTool::before {
  866. content: url(images/secondaryToolbarButton-handTool.png);
  867. }
  868. .secondaryToolbarButton.scrollVertical::before {
  869. content: url(images/secondaryToolbarButton-scrollVertical.png);
  870. }
  871. .secondaryToolbarButton.scrollHorizontal::before {
  872. content: url(images/secondaryToolbarButton-scrollHorizontal.png);
  873. }
  874. .secondaryToolbarButton.scrollWrapped::before {
  875. content: url(images/secondaryToolbarButton-scrollWrapped.png);
  876. }
  877. .secondaryToolbarButton.spreadNone::before {
  878. content: url(images/secondaryToolbarButton-spreadNone.png);
  879. }
  880. .secondaryToolbarButton.spreadOdd::before {
  881. content: url(images/secondaryToolbarButton-spreadOdd.png);
  882. }
  883. .secondaryToolbarButton.spreadEven::before {
  884. content: url(images/secondaryToolbarButton-spreadEven.png);
  885. }
  886. .secondaryToolbarButton.documentProperties::before {
  887. content: url(images/secondaryToolbarButton-documentProperties.png);
  888. }
  889. .verticalToolbarSeparator {
  890. display: block;
  891. padding: 8px 0;
  892. margin: 8px 4px;
  893. width: 1px;
  894. background-color: hsla(0,0%,0%,.5);
  895. box-shadow: 0 0 0 1px hsla(0,0%,100%,.08);
  896. }
  897. html[dir='ltr'] .verticalToolbarSeparator {
  898. margin-left: 2px;
  899. }
  900. html[dir='rtl'] .verticalToolbarSeparator {
  901. margin-right: 2px;
  902. }
  903. .horizontalToolbarSeparator {
  904. display: block;
  905. margin: 0 0 4px 0;
  906. height: 1px;
  907. width: 100%;
  908. background-color: hsla(0,0%,0%,.5);
  909. box-shadow: 0 0 0 1px hsla(0,0%,100%,.08);
  910. }
  911. .toolbarField {
  912. padding: 3px 6px;
  913. margin: 4px 0 4px 0;
  914. border: 1px solid transparent;
  915. border-radius: 2px;
  916. background-color: hsla(0,0%,100%,.09);
  917. background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
  918. background-clip: padding-box;
  919. border: 1px solid hsla(0,0%,0%,.35);
  920. border-color: hsla(0,0%,0%,.32) hsla(0,0%,0%,.38) hsla(0,0%,0%,.42);
  921. box-shadow: 0 1px 0 hsla(0,0%,0%,.05) inset,
  922. 0 1px 0 hsla(0,0%,100%,.05);
  923. color: hsl(0,0%,95%);
  924. font-size: 12px;
  925. line-height: 14px;
  926. outline-style: none;
  927. transition-property: background-color, border-color, box-shadow;
  928. transition-duration: 150ms;
  929. transition-timing-function: ease;
  930. }
  931. .toolbarField[type=checkbox] {
  932. display: inline-block;
  933. margin: 8px 0px;
  934. }
  935. .toolbarField.pageNumber {
  936. -moz-appearance: textfield; /* hides the spinner in moz */
  937. min-width: 16px;
  938. text-align: right;
  939. width: 40px;
  940. }
  941. .toolbarField.pageNumber.visiblePageIsLoading {
  942. background-image: url(images/loading-small.png);
  943. background-repeat: no-repeat;
  944. background-position: 1px;
  945. }
  946. .toolbarField.pageNumber::-webkit-inner-spin-button,
  947. .toolbarField.pageNumber::-webkit-outer-spin-button {
  948. -webkit-appearance: none;
  949. margin: 0;
  950. }
  951. .toolbarField:hover {
  952. background-color: hsla(0,0%,100%,.11);
  953. border-color: hsla(0,0%,0%,.4) hsla(0,0%,0%,.43) hsla(0,0%,0%,.45);
  954. }
  955. .toolbarField:focus {
  956. background-color: hsla(0,0%,100%,.15);
  957. border-color: hsla(204,100%,65%,.8) hsla(204,100%,65%,.85) hsla(204,100%,65%,.9);
  958. }
  959. .toolbarLabel {
  960. min-width: 16px;
  961. padding: 3px 6px 3px 2px;
  962. margin: 4px 2px 4px 0;
  963. border: 1px solid transparent;
  964. border-radius: 2px;
  965. color: hsl(0,0%,85%);
  966. font-size: 12px;
  967. line-height: 14px;
  968. text-align: left;
  969. user-select: none;
  970. cursor: default;
  971. }
  972. #thumbnailView {
  973. position: absolute;
  974. width: calc(100% - 60px);
  975. top: 0;
  976. bottom: 0;
  977. padding: 10px 30px 0;
  978. overflow: auto;
  979. -webkit-overflow-scrolling: touch;
  980. }
  981. #thumbnailView > a:active,
  982. #thumbnailView > a:focus {
  983. outline: 0;
  984. }
  985. .thumbnail {
  986. margin: 0 10px 5px 10px;
  987. }
  988. html[dir='ltr'] .thumbnail {
  989. float: left;
  990. }
  991. html[dir='rtl'] .thumbnail {
  992. float: right;
  993. }
  994. #thumbnailView > a:last-of-type > .thumbnail {
  995. margin-bottom: 10px;
  996. }
  997. #thumbnailView > a:last-of-type > .thumbnail:not([data-loaded]) {
  998. margin-bottom: 9px;
  999. }
  1000. .thumbnail:not([data-loaded]) {
  1001. border: 1px dashed rgba(255, 255, 255, 0.5);
  1002. margin: -1px 9px 4px 9px;
  1003. }
  1004. .thumbnailImage {
  1005. border: 1px solid transparent;
  1006. box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5), 0 2px 8px rgba(0, 0, 0, 0.3);
  1007. opacity: 0.8;
  1008. z-index: 99;
  1009. background-color: white;
  1010. background-clip: content-box;
  1011. }
  1012. .thumbnailSelectionRing {
  1013. border-radius: 2px;
  1014. padding: 7px;
  1015. }
  1016. a:focus > .thumbnail > .thumbnailSelectionRing > .thumbnailImage,
  1017. .thumbnail:hover > .thumbnailSelectionRing > .thumbnailImage {
  1018. opacity: .9;
  1019. }
  1020. a:focus > .thumbnail > .thumbnailSelectionRing,
  1021. .thumbnail:hover > .thumbnailSelectionRing {
  1022. background-color: hsla(0,0%,100%,.15);
  1023. background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
  1024. background-clip: padding-box;
  1025. box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
  1026. 0 0 1px hsla(0,0%,100%,.2) inset,
  1027. 0 0 1px hsla(0,0%,0%,.2);
  1028. color: hsla(0,0%,100%,.9);
  1029. }
  1030. .thumbnail.selected > .thumbnailSelectionRing > .thumbnailImage {
  1031. box-shadow: 0 0 0 1px hsla(0,0%,0%,.5);
  1032. opacity: 1;
  1033. }
  1034. .thumbnail.selected > .thumbnailSelectionRing {
  1035. background-color: hsla(0,0%,100%,.3);
  1036. background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
  1037. background-clip: padding-box;
  1038. box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
  1039. 0 0 1px hsla(0,0%,100%,.1) inset,
  1040. 0 0 1px hsla(0,0%,0%,.2);
  1041. color: hsla(0,0%,100%,1);
  1042. }
  1043. #outlineView,
  1044. #attachmentsView {
  1045. position: absolute;
  1046. width: calc(100% - 8px);
  1047. top: 0;
  1048. bottom: 0;
  1049. overflow: auto;
  1050. -webkit-overflow-scrolling: touch;
  1051. user-select: none;
  1052. }
  1053. #outlineView {
  1054. padding: 4px 4px 0;
  1055. }
  1056. #attachmentsView {
  1057. padding: 3px 4px 0;
  1058. }
  1059. html[dir='ltr'] .outlineWithDeepNesting > .outlineItem,
  1060. html[dir='ltr'] .outlineItem > .outlineItems {
  1061. margin-left: 20px;
  1062. }
  1063. html[dir='rtl'] .outlineWithDeepNesting > .outlineItem,
  1064. html[dir='rtl'] .outlineItem > .outlineItems {
  1065. margin-right: 20px;
  1066. }
  1067. .outlineItem > a,
  1068. .attachmentsItem > button {
  1069. text-decoration: none;
  1070. display: inline-block;
  1071. min-width: 95%;
  1072. min-width: calc(100% - 4px); /* Subtract the right padding (left, in RTL mode)
  1073. of the container. */
  1074. height: auto;
  1075. margin-bottom: 1px;
  1076. border-radius: 2px;
  1077. color: hsla(0,0%,100%,.8);
  1078. font-size: 13px;
  1079. line-height: 15px;
  1080. user-select: none;
  1081. white-space: normal;
  1082. }
  1083. .attachmentsItem > button {
  1084. border: 0 none;
  1085. background: none;
  1086. cursor: pointer;
  1087. width: 100%;
  1088. }
  1089. html[dir='ltr'] .outlineItem > a {
  1090. padding: 2px 0 5px 4px;
  1091. }
  1092. html[dir='ltr'] .attachmentsItem > button {
  1093. padding: 2px 0 3px 7px;
  1094. text-align: left;
  1095. }
  1096. html[dir='rtl'] .outlineItem > a {
  1097. padding: 2px 4px 5px 0;
  1098. }
  1099. html[dir='rtl'] .attachmentsItem > button {
  1100. padding: 2px 7px 3px 0;
  1101. text-align: right;
  1102. }
  1103. .outlineItemToggler {
  1104. position: relative;
  1105. height: 0;
  1106. width: 0;
  1107. color: hsla(0,0%,100%,.5);
  1108. }
  1109. .outlineItemToggler::before {
  1110. content: url(images/treeitem-expanded.png);
  1111. display: inline-block;
  1112. position: absolute;
  1113. }
  1114. html[dir='ltr'] .outlineItemToggler.outlineItemsHidden::before {
  1115. content: url(images/treeitem-collapsed.png);
  1116. }
  1117. html[dir='rtl'] .outlineItemToggler.outlineItemsHidden::before {
  1118. content: url(images/treeitem-collapsed-rtl.png);
  1119. }
  1120. .outlineItemToggler.outlineItemsHidden ~ .outlineItems {
  1121. display: none;
  1122. }
  1123. html[dir='ltr'] .outlineItemToggler {
  1124. float: left;
  1125. }
  1126. html[dir='rtl'] .outlineItemToggler {
  1127. float: right;
  1128. }
  1129. html[dir='ltr'] .outlineItemToggler::before {
  1130. right: 4px;
  1131. }
  1132. html[dir='rtl'] .outlineItemToggler::before {
  1133. left: 4px;
  1134. }
  1135. .outlineItemToggler:hover,
  1136. .outlineItemToggler:hover + a,
  1137. .outlineItemToggler:hover ~ .outlineItems,
  1138. .outlineItem > a:hover,
  1139. .attachmentsItem > button:hover {
  1140. background-color: hsla(0,0%,100%,.02);
  1141. background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
  1142. background-clip: padding-box;
  1143. box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
  1144. 0 0 1px hsla(0,0%,100%,.2) inset,
  1145. 0 0 1px hsla(0,0%,0%,.2);
  1146. border-radius: 2px;
  1147. color: hsla(0,0%,100%,.9);
  1148. }
  1149. .outlineItem.selected {
  1150. background-color: hsla(0,0%,100%,.08);
  1151. background-image: linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0));
  1152. background-clip: padding-box;
  1153. box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset,
  1154. 0 0 1px hsla(0,0%,100%,.1) inset,
  1155. 0 0 1px hsla(0,0%,0%,.2);
  1156. color: hsla(0,0%,100%,1);
  1157. }
  1158. .noResults {
  1159. font-size: 12px;
  1160. color: hsla(0,0%,100%,.8);
  1161. font-style: italic;
  1162. cursor: default;
  1163. }
  1164. /* TODO: file FF bug to support ::-moz-selection:window-inactive
  1165. so we can override the opaque grey background when the window is inactive;
  1166. see https://bugzilla.mozilla.org/show_bug.cgi?id=706209 */
  1167. ::selection { background: rgba(0,0,255,0.3); }
  1168. #errorWrapper {
  1169. background: none repeat scroll 0 0 #FF5555;
  1170. color: white;
  1171. left: 0;
  1172. position: absolute;
  1173. right: 0;
  1174. z-index: 1000;
  1175. padding: 3px;
  1176. font-size: 0.8em;
  1177. }
  1178. .loadingInProgress #errorWrapper {
  1179. top: 37px;
  1180. }
  1181. #errorMessageLeft {
  1182. float: left;
  1183. }
  1184. #errorMessageRight {
  1185. float: right;
  1186. }
  1187. #errorMoreInfo {
  1188. background-color: #FFFFFF;
  1189. color: black;
  1190. padding: 3px;
  1191. margin: 3px;
  1192. width: 98%;
  1193. }
  1194. .overlayButton {
  1195. width: auto;
  1196. margin: 3px 4px 2px 4px !important;
  1197. padding: 2px 6px 3px 6px;
  1198. }
  1199. #overlayContainer {
  1200. display: table;
  1201. position: absolute;
  1202. width: 100%;
  1203. height: 100%;
  1204. background-color: hsla(0,0%,0%,.2);
  1205. z-index: 40000;
  1206. }
  1207. #overlayContainer > * {
  1208. overflow: auto;
  1209. -webkit-overflow-scrolling: touch;
  1210. }
  1211. #overlayContainer > .container {
  1212. display: table-cell;
  1213. vertical-align: middle;
  1214. text-align: center;
  1215. }
  1216. #overlayContainer > .container > .dialog {
  1217. display: inline-block;
  1218. padding: 15px;
  1219. border-spacing: 4px;
  1220. color: hsl(0,0%,85%);
  1221. font-size: 12px;
  1222. line-height: 14px;
  1223. background-color: #474747; /* fallback */
  1224. background-image: url(images/texture.png),
  1225. linear-gradient(hsla(0,0%,32%,.99), hsla(0,0%,27%,.95));
  1226. box-shadow: inset 1px 0 0 hsla(0,0%,100%,.08),
  1227. inset 0 1px 1px hsla(0,0%,0%,.15),
  1228. inset 0 -1px 0 hsla(0,0%,100%,.05),
  1229. 0 1px 0 hsla(0,0%,0%,.15),
  1230. 0 1px 1px hsla(0,0%,0%,.1);
  1231. border: 1px solid hsla(0,0%,0%,.5);
  1232. border-radius: 4px;
  1233. box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  1234. }
  1235. .dialog > .row {
  1236. display: table-row;
  1237. }
  1238. .dialog > .row > * {
  1239. display: table-cell;
  1240. }
  1241. .dialog .toolbarField {
  1242. margin: 5px 0;
  1243. }
  1244. .dialog .separator {
  1245. display: block;
  1246. margin: 4px 0 4px 0;
  1247. height: 1px;
  1248. width: 100%;
  1249. background-color: hsla(0,0%,0%,.5);
  1250. box-shadow: 0 0 0 1px hsla(0,0%,100%,.08);
  1251. }
  1252. .dialog .buttonRow {
  1253. text-align: center;
  1254. vertical-align: middle;
  1255. }
  1256. .dialog :link {
  1257. color: white;
  1258. }
  1259. #passwordOverlay > .dialog {
  1260. text-align: center;
  1261. }
  1262. #passwordOverlay .toolbarField {
  1263. width: 200px;
  1264. }
  1265. #documentPropertiesOverlay > .dialog {
  1266. text-align: left;
  1267. }
  1268. #documentPropertiesOverlay .row > * {
  1269. min-width: 100px;
  1270. }
  1271. html[dir='ltr'] #documentPropertiesOverlay .row > * {
  1272. text-align: left;
  1273. }
  1274. html[dir='rtl'] #documentPropertiesOverlay .row > * {
  1275. text-align: right;
  1276. }
  1277. #documentPropertiesOverlay .row > span {
  1278. width: 125px;
  1279. word-wrap: break-word;
  1280. }
  1281. #documentPropertiesOverlay .row > p {
  1282. max-width: 225px;
  1283. word-wrap: break-word;
  1284. }
  1285. #documentPropertiesOverlay .buttonRow {
  1286. margin-top: 10px;
  1287. }
  1288. .clearBoth {
  1289. clear: both;
  1290. }
  1291. .fileInput {
  1292. background: white;
  1293. color: black;
  1294. margin-top: 5px;
  1295. visibility: hidden;
  1296. position: fixed;
  1297. right: 0;
  1298. top: 0;
  1299. }
  1300. #PDFBug {
  1301. background: none repeat scroll 0 0 white;
  1302. border: 1px solid #666666;
  1303. position: fixed;
  1304. top: 32px;
  1305. right: 0;
  1306. bottom: 0;
  1307. font-size: 10px;
  1308. padding: 0;
  1309. width: 300px;
  1310. }
  1311. #PDFBug .controls {
  1312. background:#EEEEEE;
  1313. border-bottom: 1px solid #666666;
  1314. padding: 3px;
  1315. }
  1316. #PDFBug .panels {
  1317. bottom: 0;
  1318. left: 0;
  1319. overflow: auto;
  1320. -webkit-overflow-scrolling: touch;
  1321. position: absolute;
  1322. right: 0;
  1323. top: 27px;
  1324. }
  1325. #PDFBug button.active {
  1326. font-weight: bold;
  1327. }
  1328. .debuggerShowText {
  1329. background: none repeat scroll 0 0 yellow;
  1330. color: blue;
  1331. }
  1332. .debuggerHideText:hover {
  1333. background: none repeat scroll 0 0 yellow;
  1334. }
  1335. #PDFBug .stats {
  1336. font-family: courier;
  1337. font-size: 10px;
  1338. white-space: pre;
  1339. }
  1340. #PDFBug .stats .title {
  1341. font-weight: bold;
  1342. }
  1343. #PDFBug table {
  1344. font-size: 10px;
  1345. }
  1346. #viewer.textLayer-visible .textLayer {
  1347. opacity: 1.0;
  1348. }
  1349. #viewer.textLayer-visible .canvasWrapper {
  1350. background-color: rgb(128,255,128);
  1351. }
  1352. #viewer.textLayer-visible .canvasWrapper canvas {
  1353. mix-blend-mode: screen;
  1354. }
  1355. #viewer.textLayer-visible .textLayer > span {
  1356. background-color: rgba(255, 255, 0, 0.1);
  1357. color: black;
  1358. border: solid 1px rgba(255, 0, 0, 0.5);
  1359. box-sizing: border-box;
  1360. }
  1361. #viewer.textLayer-hover .textLayer > span:hover {
  1362. background-color: white;
  1363. color: black;
  1364. }
  1365. #viewer.textLayer-shadow .textLayer > span {
  1366. background-color: rgba(255,255,255, .6);
  1367. color: black;
  1368. }
  1369. .grab-to-pan-grab {
  1370. cursor: url("images/grab.cur"), move !important;
  1371. cursor: grab !important;
  1372. }
  1373. .grab-to-pan-grab *:not(input):not(textarea):not(button):not(select):not(:link) {
  1374. cursor: inherit !important;
  1375. }
  1376. .grab-to-pan-grab:active,
  1377. .grab-to-pan-grabbing {
  1378. cursor: url("images/grabbing.cur"), move !important;
  1379. cursor: grabbing !important;
  1380. position: fixed;
  1381. background: transparent;
  1382. display: block;
  1383. top: 0;
  1384. left: 0;
  1385. right: 0;
  1386. bottom: 0;
  1387. overflow: hidden;
  1388. z-index: 50000; /* should be higher than anything else in PDF.js! */
  1389. }
  1390. @page {
  1391. margin: 0;
  1392. }
  1393. #printContainer {
  1394. display: none;
  1395. }
  1396. @media screen and (min-resolution: 1.1dppx) {
  1397. /* Rules for Retina screens */
  1398. .toolbarButton::before {
  1399. transform: scale(0.5);
  1400. top: -5px;
  1401. }
  1402. .secondaryToolbarButton::before {
  1403. transform: scale(0.5);
  1404. top: -4px;
  1405. }
  1406. html[dir='ltr'] .toolbarButton::before,
  1407. html[dir='rtl'] .toolbarButton::before {
  1408. left: -1px;
  1409. }
  1410. html[dir='ltr'] .secondaryToolbarButton::before {
  1411. left: -2px;
  1412. }
  1413. html[dir='rtl'] .secondaryToolbarButton::before {
  1414. left: 186px;
  1415. }
  1416. .toolbarField.pageNumber.visiblePageIsLoading,
  1417. #findInput[data-status="pending"] {
  1418. background-image: url(images/loading-small@2x.png);
  1419. background-size: 16px 17px;
  1420. }
  1421. .dropdownToolbarButton {
  1422. background: url(images/toolbarButton-menuArrows@2x.png) no-repeat;
  1423. background-size: 7px 16px;
  1424. }
  1425. html[dir='ltr'] .toolbarButton#sidebarToggle::before {
  1426. content: url(images/toolbarButton-sidebarToggle@2x.png);
  1427. }
  1428. html[dir='rtl'] .toolbarButton#sidebarToggle::before {
  1429. content: url(images/toolbarButton-sidebarToggle-rtl@2x.png);
  1430. }
  1431. html[dir='ltr'] .toolbarButton#secondaryToolbarToggle::before {
  1432. content: url(images/toolbarButton-secondaryToolbarToggle@2x.png);
  1433. }
  1434. html[dir='rtl'] .toolbarButton#secondaryToolbarToggle::before {
  1435. content: url(images/toolbarButton-secondaryToolbarToggle-rtl@2x.png);
  1436. }
  1437. html[dir='ltr'] .toolbarButton.findPrevious::before {
  1438. content: url(images/findbarButton-previous@2x.png);
  1439. }
  1440. html[dir='rtl'] .toolbarButton.findPrevious::before {
  1441. content: url(images/findbarButton-previous-rtl@2x.png);
  1442. }
  1443. html[dir='ltr'] .toolbarButton.findNext::before {
  1444. content: url(images/findbarButton-next@2x.png);
  1445. }
  1446. html[dir='rtl'] .toolbarButton.findNext::before {
  1447. content: url(images/findbarButton-next-rtl@2x.png);
  1448. }
  1449. html[dir='ltr'] .toolbarButton.pageUp::before {
  1450. content: url(images/toolbarButton-pageUp@2x.png);
  1451. }
  1452. html[dir='rtl'] .toolbarButton.pageUp::before {
  1453. content: url(images/toolbarButton-pageUp-rtl@2x.png);
  1454. }
  1455. html[dir='ltr'] .toolbarButton.pageDown::before {
  1456. content: url(images/toolbarButton-pageDown@2x.png);
  1457. }
  1458. html[dir='rtl'] .toolbarButton.pageDown::before {
  1459. content: url(images/toolbarButton-pageDown-rtl@2x.png);
  1460. }
  1461. .toolbarButton.zoomIn::before {
  1462. content: url(images/toolbarButton-zoomIn@2x.png);
  1463. }
  1464. .toolbarButton.zoomOut::before {
  1465. content: url(images/toolbarButton-zoomOut@2x.png);
  1466. }
  1467. .toolbarButton.presentationMode::before,
  1468. .secondaryToolbarButton.presentationMode::before {
  1469. content: url(images/toolbarButton-presentationMode@2x.png);
  1470. }
  1471. .toolbarButton.print::before,
  1472. .secondaryToolbarButton.print::before {
  1473. content: url(images/toolbarButton-print@2x.png);
  1474. }
  1475. .toolbarButton.openFile::before,
  1476. .secondaryToolbarButton.openFile::before {
  1477. content: url(images/toolbarButton-openFile@2x.png);
  1478. }
  1479. .toolbarButton.download::before,
  1480. .secondaryToolbarButton.download::before {
  1481. content: url(images/toolbarButton-download@2x.png);
  1482. }
  1483. .toolbarButton.bookmark::before,
  1484. .secondaryToolbarButton.bookmark::before {
  1485. content: url(images/toolbarButton-bookmark@2x.png);
  1486. }
  1487. #viewThumbnail.toolbarButton::before {
  1488. content: url(images/toolbarButton-viewThumbnail@2x.png);
  1489. }
  1490. html[dir="ltr"] #viewOutline.toolbarButton::before {
  1491. content: url(images/toolbarButton-viewOutline@2x.png);
  1492. }
  1493. html[dir="rtl"] #viewOutline.toolbarButton::before {
  1494. content: url(images/toolbarButton-viewOutline-rtl@2x.png);
  1495. }
  1496. #viewAttachments.toolbarButton::before {
  1497. content: url(images/toolbarButton-viewAttachments@2x.png);
  1498. }
  1499. #viewFind.toolbarButton::before {
  1500. content: url(images/toolbarButton-search@2x.png);
  1501. }
  1502. .secondaryToolbarButton.firstPage::before {
  1503. content: url(images/secondaryToolbarButton-firstPage@2x.png);
  1504. }
  1505. .secondaryToolbarButton.lastPage::before {
  1506. content: url(images/secondaryToolbarButton-lastPage@2x.png);
  1507. }
  1508. .secondaryToolbarButton.rotateCcw::before {
  1509. content: url(images/secondaryToolbarButton-rotateCcw@2x.png);
  1510. }
  1511. .secondaryToolbarButton.rotateCw::before {
  1512. content: url(images/secondaryToolbarButton-rotateCw@2x.png);
  1513. }
  1514. .secondaryToolbarButton.selectTool::before {
  1515. content: url(images/secondaryToolbarButton-selectTool@2x.png);
  1516. }
  1517. .secondaryToolbarButton.handTool::before {
  1518. content: url(images/secondaryToolbarButton-handTool@2x.png);
  1519. }
  1520. .secondaryToolbarButton.scrollVertical::before {
  1521. content: url(images/secondaryToolbarButton-scrollVertical@2x.png);
  1522. }
  1523. .secondaryToolbarButton.scrollHorizontal::before {
  1524. content: url(images/secondaryToolbarButton-scrollHorizontal@2x.png);
  1525. }
  1526. .secondaryToolbarButton.scrollWrapped::before {
  1527. content: url(images/secondaryToolbarButton-scrollWrapped@2x.png);
  1528. }
  1529. .secondaryToolbarButton.spreadNone::before {
  1530. content: url(images/secondaryToolbarButton-spreadNone@2x.png);
  1531. }
  1532. .secondaryToolbarButton.spreadOdd::before {
  1533. content: url(images/secondaryToolbarButton-spreadOdd@2x.png);
  1534. }
  1535. .secondaryToolbarButton.spreadEven::before {
  1536. content: url(images/secondaryToolbarButton-spreadEven@2x.png);
  1537. }
  1538. .secondaryToolbarButton.documentProperties::before {
  1539. content: url(images/secondaryToolbarButton-documentProperties@2x.png);
  1540. }
  1541. .outlineItemToggler::before {
  1542. transform: scale(0.5);
  1543. top: -1px;
  1544. content: url(images/treeitem-expanded@2x.png);
  1545. }
  1546. html[dir='ltr'] .outlineItemToggler.outlineItemsHidden::before {
  1547. content: url(images/treeitem-collapsed@2x.png);
  1548. }
  1549. html[dir='rtl'] .outlineItemToggler.outlineItemsHidden::before {
  1550. content: url(images/treeitem-collapsed-rtl@2x.png);
  1551. }
  1552. html[dir='ltr'] .outlineItemToggler::before {
  1553. right: 0;
  1554. }
  1555. html[dir='rtl'] .outlineItemToggler::before {
  1556. left: 0;
  1557. }
  1558. }
  1559. @media print {
  1560. /* General rules for printing. */
  1561. body {
  1562. background: transparent none;
  1563. }
  1564. /* Rules for browsers that don't support mozPrintCallback. */
  1565. #sidebarContainer, #secondaryToolbar, .toolbar, #loadingBox, #errorWrapper, .textLayer {
  1566. display: none;
  1567. }
  1568. #viewerContainer {
  1569. overflow: visible;
  1570. }
  1571. #mainContainer, #viewerContainer, .page, .page canvas {
  1572. position: static;
  1573. padding: 0;
  1574. margin: 0;
  1575. }
  1576. .page {
  1577. float: left;
  1578. display: none;
  1579. border: none;
  1580. box-shadow: none;
  1581. background-clip: content-box;
  1582. background-color: white;
  1583. }
  1584. .page[data-loaded] {
  1585. display: block;
  1586. }
  1587. .fileInput {
  1588. display: none;
  1589. }
  1590. /* Rules for browsers that support PDF.js printing */
  1591. body[data-pdfjsprinting] #outerContainer {
  1592. display: none;
  1593. }
  1594. body[data-pdfjsprinting] #printContainer {
  1595. display: block;
  1596. }
  1597. #printContainer {
  1598. height: 100%;
  1599. }
  1600. /* wrapper around (scaled) print canvas elements */
  1601. #printContainer > div {
  1602. position: relative;
  1603. top: 0;
  1604. left: 0;
  1605. width: 1px;
  1606. height: 1px;
  1607. overflow: visible;
  1608. page-break-after: always;
  1609. page-break-inside: avoid;
  1610. }
  1611. #printContainer canvas,
  1612. #printContainer img {
  1613. display: block;
  1614. }
  1615. }
  1616. .visibleLargeView,
  1617. .visibleMediumView,
  1618. .visibleSmallView {
  1619. display: none;
  1620. }
  1621. @media all and (max-width: 900px) {
  1622. #toolbarViewerMiddle {
  1623. display: table;
  1624. margin: auto;
  1625. left: auto;
  1626. position: inherit;
  1627. transform: none;
  1628. }
  1629. }
  1630. @media all and (max-width: 840px) {
  1631. #sidebarContent {
  1632. background-color: hsla(0,0%,0%,.7);
  1633. }
  1634. html[dir='ltr'] #outerContainer.sidebarOpen #viewerContainer {
  1635. left: 0px !important;
  1636. }
  1637. html[dir='rtl'] #outerContainer.sidebarOpen #viewerContainer {
  1638. right: 0px !important;
  1639. }
  1640. #outerContainer .hiddenLargeView,
  1641. #outerContainer .hiddenMediumView {
  1642. display: inherit;
  1643. }
  1644. #outerContainer .visibleLargeView,
  1645. #outerContainer .visibleMediumView {
  1646. display: none;
  1647. }
  1648. }
  1649. @media all and (max-width: 770px) {
  1650. #outerContainer .hiddenLargeView {
  1651. display: none;
  1652. }
  1653. #outerContainer .visibleLargeView {
  1654. display: inherit;
  1655. }
  1656. }
  1657. @media all and (max-width: 700px) {
  1658. #outerContainer .hiddenMediumView {
  1659. display: none;
  1660. }
  1661. #outerContainer .visibleMediumView {
  1662. display: inherit;
  1663. }
  1664. }
  1665. @media all and (max-width: 640px) {
  1666. .hiddenSmallView, .hiddenSmallView * {
  1667. display: none;
  1668. }
  1669. .visibleSmallView {
  1670. display: inherit;
  1671. }
  1672. .toolbarButtonSpacer {
  1673. width: 0;
  1674. }
  1675. html[dir='ltr'] .findbar {
  1676. left: 38px;
  1677. }
  1678. html[dir='rtl'] .findbar {
  1679. right: 38px;
  1680. }
  1681. }
  1682. @media all and (max-width: 535px) {
  1683. #scaleSelectContainer {
  1684. display: none;
  1685. }
  1686. }