/* Copyright 2014 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ @import url(pdf_viewer.css); :root { --sidebar-width: 200px; } * { padding: 0; margin: 0; } html { height: 100%; width: 100%; /* Font size is needed to make the activity bar the correct size. */ font-size: 10px; } body { height: 100%; width: 100%; background-color: #404040; background-image: url(images/texture.png); } body, input, button, select { font: message-box; outline: none; } .hidden { display: none !important; } [hidden] { display: none !important; } #viewerContainer.pdfPresentationMode:-ms-fullscreen { top: 0px !important; overflow: hidden !important; } #viewerContainer.pdfPresentationMode:-ms-fullscreen::-ms-backdrop { background-color: #000; } #viewerContainer.pdfPresentationMode:fullscreen { top: 0px; border-top: 2px solid transparent; background-color: #000; width: 100%; height: 100%; overflow: hidden; cursor: none; user-select: none; } .pdfPresentationMode:fullscreen a:not(.internalLink) { display: none; } .pdfPresentationMode:fullscreen .textLayer > span { cursor: none; } .pdfPresentationMode.pdfPresentationModeControls > *, .pdfPresentationMode.pdfPresentationModeControls .textLayer > span { cursor: default; } #outerContainer { width: 100%; height: 100%; position: relative; } #sidebarContainer { position: absolute; top: 32px; bottom: 0; width: 200px; /* Here, and elsewhere below, keep the constant value for compatibility with older browsers that lack support for CSS variables. */ width: var(--sidebar-width); visibility: hidden; z-index: 100; border-top: 1px solid #333; transition-duration: 200ms; transition-timing-function: ease; } html[dir='ltr'] #sidebarContainer { transition-property: left; left: -200px; left: calc(-1 * var(--sidebar-width)); } html[dir='rtl'] #sidebarContainer { transition-property: right; right: -200px; right: calc(-1 * var(--sidebar-width)); } .loadingInProgress #sidebarContainer { top: 36px; } #outerContainer.sidebarResizing #sidebarContainer { /* Improve responsiveness and avoid visual glitches when the sidebar is resized. */ transition-duration: 0s; /* Prevent e.g. the thumbnails being selected when the sidebar is resized. */ user-select: none; } #outerContainer.sidebarMoving #sidebarContainer, #outerContainer.sidebarOpen #sidebarContainer { visibility: visible; } html[dir='ltr'] #outerContainer.sidebarOpen #sidebarContainer { left: 0px; } html[dir='rtl'] #outerContainer.sidebarOpen #sidebarContainer { right: 0px; } #mainContainer { position: absolute; top: 0; right: 0; bottom: 0; left: 0; min-width: 320px; } #sidebarContent { top: 32px; bottom: 0; overflow: auto; -webkit-overflow-scrolling: touch; position: absolute; width: 100%; background-color: rgba(0, 0, 0, 0.1); } html[dir='ltr'] #sidebarContent { left: 0; box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.25); } html[dir='rtl'] #sidebarContent { right: 0; box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.25); } #viewerContainer { overflow: auto; -webkit-overflow-scrolling: touch; position: absolute; top: 32px; right: 0; bottom: 0; left: 0; outline: none; } #viewerContainer:not(.pdfPresentationMode) { transition-duration: 200ms; transition-timing-function: ease; } html[dir='ltr'] #viewerContainer { box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.05); } html[dir='rtl'] #viewerContainer { box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.05); } #outerContainer.sidebarResizing #viewerContainer { /* Improve responsiveness and avoid visual glitches when the sidebar is resized. */ transition-duration: 0s; } html[dir='ltr'] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) { transition-property: left; left: 200px; left: var(--sidebar-width); } html[dir='rtl'] #outerContainer.sidebarOpen #viewerContainer:not(.pdfPresentationMode) { transition-property: right; right: 200px; right: var(--sidebar-width); } .toolbar { position: relative; left: 0; right: 0; z-index: 9999; cursor: default; } #toolbarContainer { width: 100%; } #toolbarSidebar { width: 100%; height: 32px; background-color: #424242; /* fallback */ background-image: url(images/texture.png), linear-gradient(rgba(77, 77, 77, 0.99), rgba(64, 64, 64, 0.95)); } html[dir='ltr'] #toolbarSidebar { box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 1px 0 rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.1); } html[dir='rtl'] #toolbarSidebar { box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 1px 0 rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.1); } #sidebarResizer { position: absolute; top: 0; bottom: 0; width: 6px; z-index: 200; cursor: ew-resize; } html[dir='ltr'] #sidebarResizer { right: -6px; } html[dir='rtl'] #sidebarResizer { left: -6px; } #toolbarContainer, .findbar, .secondaryToolbar { position: relative; height: 32px; background-color: #474747; /* fallback */ background-image: url(images/texture.png), linear-gradient(rgba(82, 82, 82, 0.99), rgba(69, 69, 69, 0.95)); } html[dir='ltr'] #toolbarContainer, .findbar, .secondaryToolbar { box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 1px 0 rgba(0, 0, 0, 0.15), 0 1px 1px rgba(0, 0, 0, 0.1); } html[dir='rtl'] #toolbarContainer, .findbar, .secondaryToolbar { box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(255, 255, 255, 0.05), 0 1px 0 rgba(0, 0, 0, 0.15), 0 1px 1px rgba(0, 0, 0, 0.1); } #toolbarViewer { height: 32px; } #loadingBar { position: relative; width: 100%; height: 4px; background-color: #333; border-bottom: 1px solid #333; } #loadingBar .progress { position: absolute; top: 0; left: 0; width: 0%; height: 100%; background-color: #ddd; overflow: hidden; transition: width 200ms; } @keyframes progressIndeterminate { 0% { left: -142px; } 100% { left: 0; } } #loadingBar .progress.indeterminate { background-color: #999; transition: none; } #loadingBar .progress.indeterminate .glimmer { position: absolute; top: 0; left: 0; height: 100%; width: calc(100% + 150px); background: repeating-linear-gradient(135deg, #bbb 0, #999 5px, #999 45px, #ddd 55px, #ddd 95px, #bbb 100px); animation: progressIndeterminate 950ms linear infinite; } .findbar, .secondaryToolbar { top: 32px; position: absolute; z-index: 10000; height: auto; min-width: 16px; padding: 0px 6px 0px 6px; margin: 4px 2px 4px 2px; color: rgba(217, 217, 217, 1); font-size: 12px; line-height: 14px; text-align: left; cursor: default; } .findbar { min-width: 300px; } .findbar > div { height: 32px; } .findbar.wrapContainers > div { clear: both; } .findbar.wrapContainers > div#findbarMessageContainer { height: auto; } html[dir='ltr'] .findbar { left: 68px; } html[dir='rtl'] .findbar { right: 68px; } .findbar label { user-select: none; } #findInput { width: 200px; } #findInput::-webkit-input-placeholder { color: rgba(191, 191, 191, 1); } #findInput::placeholder { font-style: italic; } #findInput[data-status="pending"] { background-image: url(images/loading-small.png); background-repeat: no-repeat; background-position: right; } html[dir='rtl'] #findInput[data-status="pending"] { background-position: left; } .secondaryToolbar { padding: 6px; height: auto; z-index: 30000; } html[dir='ltr'] .secondaryToolbar { right: 4px; } html[dir='rtl'] .secondaryToolbar { left: 4px; } #secondaryToolbarButtonContainer { max-width: 200px; max-height: 400px; overflow-y: auto; -webkit-overflow-scrolling: touch; margin-bottom: -4px; } #secondaryToolbarButtonContainer.hiddenScrollModeButtons > .scrollModeButtons, #secondaryToolbarButtonContainer.hiddenSpreadModeButtons > .spreadModeButtons { display: none !important; } .doorHanger, .doorHangerRight { border: 1px solid rgba(0, 0, 0, 0.5); border-radius: 2px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); } .doorHanger:after, .doorHanger:before, .doorHangerRight:after, .doorHangerRight:before { bottom: 100%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; } .doorHanger:after, .doorHangerRight:after { border-bottom-color: rgba(82, 82, 82, 0.99); border-width: 8px; } .doorHanger:before, .doorHangerRight:before { border-bottom-color: rgba(0, 0, 0, 0.5); border-width: 9px; } html[dir='ltr'] .doorHanger:after, html[dir='rtl'] .doorHangerRight:after { left: 13px; margin-left: -8px; } html[dir='ltr'] .doorHanger:before, html[dir='rtl'] .doorHangerRight:before { left: 13px; margin-left: -9px; } html[dir='rtl'] .doorHanger:after, html[dir='ltr'] .doorHangerRight:after { right: 13px; margin-right: -8px; } html[dir='rtl'] .doorHanger:before, html[dir='ltr'] .doorHangerRight:before { right: 13px; margin-right: -9px; } #findResultsCount { background-color: rgba(217, 217, 217, 1); color: rgba(82, 82, 82, 1); text-align: center; padding: 3px 4px; } #findMsg { font-style: italic; color: #A6B7D0; } #findMsg:empty { display: none; } #findInput.notFound { background-color: rgba(255, 102, 102, 1); } #toolbarViewerMiddle { position: absolute; left: 50%; transform: translateX(-50%); } html[dir='ltr'] #toolbarViewerLeft, html[dir='rtl'] #toolbarViewerRight { float: left; } html[dir='ltr'] #toolbarViewerRight, html[dir='rtl'] #toolbarViewerLeft { float: right; } html[dir='ltr'] #toolbarViewerLeft > *, html[dir='ltr'] #toolbarViewerMiddle > *, html[dir='ltr'] #toolbarViewerRight > *, html[dir='ltr'] .findbar * { position: relative; float: left; } html[dir='rtl'] #toolbarViewerLeft > *, html[dir='rtl'] #toolbarViewerMiddle > *, html[dir='rtl'] #toolbarViewerRight > *, html[dir='rtl'] .findbar * { position: relative; float: right; } html[dir='ltr'] .splitToolbarButton { margin: 3px 2px 4px 0; display: inline-block; } html[dir='rtl'] .splitToolbarButton { margin: 3px 0 4px 2px; display: inline-block; } html[dir='ltr'] .splitToolbarButton > .toolbarButton { border-radius: 0; float: left; } html[dir='rtl'] .splitToolbarButton > .toolbarButton { border-radius: 0; float: right; } .toolbarButton, .secondaryToolbarButton, .overlayButton { border: 0 none; background: none; width: 32px; height: 25px; } .toolbarButton > span { display: inline-block; width: 0; height: 0; overflow: hidden; } .toolbarButton[disabled], .secondaryToolbarButton[disabled], .overlayButton[disabled] { opacity: .5; } .splitToolbarButton.toggled .toolbarButton { margin: 0; } .splitToolbarButton:hover > .toolbarButton, .splitToolbarButton:focus > .toolbarButton, .splitToolbarButton.toggled > .toolbarButton, .toolbarButton.textButton { background-color: rgba(0, 0, 0, 0.12); background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.35); border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 0 1px rgba(255, 255, 255, 0.15) inset, 0 1px 0 rgba(255, 255, 255, 0.05); transition-property: background-color, border-color, box-shadow; transition-duration: 150ms; transition-timing-function: ease; } .splitToolbarButton > .toolbarButton:hover, .splitToolbarButton > .toolbarButton:focus, .dropdownToolbarButton:hover, .overlayButton:hover, .overlayButton:focus, .toolbarButton.textButton:hover, .toolbarButton.textButton:focus { background-color: rgba(0,0,0,0.2); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 0 1px rgba(255, 255, 255, 0.15) inset, 0 0 1px rgba(0, 0, 0, 0.05); z-index: 199; } .splitToolbarButton > .toolbarButton { position: relative; } html[dir='ltr'] .splitToolbarButton > .toolbarButton:first-child, html[dir='rtl'] .splitToolbarButton > .toolbarButton:last-child { position: relative; margin: 0; margin-right: -1px; border-top-left-radius: 2px; border-bottom-left-radius: 2px; border-right-color: transparent; } html[dir='ltr'] .splitToolbarButton > .toolbarButton:last-child, html[dir='rtl'] .splitToolbarButton > .toolbarButton:first-child { position: relative; margin: 0; margin-left: -1px; border-top-right-radius: 2px; border-bottom-right-radius: 2px; border-left-color: transparent; } .splitToolbarButtonSeparator { padding: 8px 0; width: 1px; background-color: rgba(0, 0, 0, 0.5); z-index: 99; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08); display: inline-block; margin: 5px 0; } html[dir='ltr'] .splitToolbarButtonSeparator { float: left; } html[dir='rtl'] .splitToolbarButtonSeparator { float: right; } .splitToolbarButton:hover > .splitToolbarButtonSeparator, .splitToolbarButton.toggled > .splitToolbarButtonSeparator { padding: 12px 0; margin: 1px 0; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.03); transition-property: padding; transition-duration: 10ms; transition-timing-function: ease; } .toolbarButton, .dropdownToolbarButton, .secondaryToolbarButton, .overlayButton { min-width: 16px; padding: 2px 6px 0; border: 1px solid transparent; border-radius: 2px; color: rgba(255, 255, 255, 0.8); font-size: 12px; line-height: 14px; user-select: none; /* Opera does not support user-select, use <... unselectable="on"> instead */ cursor: default; transition-property: background-color, border-color, box-shadow; transition-duration: 150ms; transition-timing-function: ease; } html[dir='ltr'] .toolbarButton, html[dir='ltr'] .overlayButton, html[dir='ltr'] .dropdownToolbarButton { margin: 3px 2px 4px 0; } html[dir='rtl'] .toolbarButton, html[dir='rtl'] .overlayButton, html[dir='rtl'] .dropdownToolbarButton { margin: 3px 0 4px 2px; } .toolbarButton:hover, .toolbarButton:focus, .dropdownToolbarButton, .overlayButton, .secondaryToolbarButton:hover, .secondaryToolbarButton:focus { background-color: rgba(0, 0, 0, 0.12); background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.35); border-color: rgba(0, 0, 0, 0.32) rgba(0, 0, 0, 0.38) rgba(0, 0, 0, 0.42); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset, 0 0 1px rgba(255, 255, 255, 0.15) inset, 0 1px 0 rgba(255, 255, 255, 0.05); } .toolbarButton:hover:active, .overlayButton:hover:active, .dropdownToolbarButton:hover:active, .secondaryToolbarButton:hover:active { background-color: rgba(0, 0, 0, 0.2); background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); border-color: rgba(0, 0, 0, 0.35) rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.45); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1) inset, 0 0 1px rgba(0, 0, 0, 0.2) inset, 0 1px 0 rgba(255, 255, 255, 0.05); transition-property: background-color, border-color, box-shadow; transition-duration: 10ms; transition-timing-function: linear; } .toolbarButton.toggled, .splitToolbarButton.toggled > .toolbarButton.toggled, .secondaryToolbarButton.toggled { background-color: rgba(0, 0, 0, 0.3); background-image: linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)); border-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.45) rgba(0, 0, 0, 0.5); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1) inset, 0 0 1px rgba(0, 0, 0, 0.2) inset, 0 1px 0 rgba(255, 255, 255, 0.05); transition-property: background-color, border-color, box-shadow; transition-duration: 10ms; transition-timing-function: linear; } .toolbarButton.toggled:hover:active, .splitToolbarButton.toggled > .toolbarButton.toggled:hover:active, .secondaryToolbarButton.toggled:hover:active { background-color: rgba(0, 0, 0, 0.4); border-color: rgba(0, 0, 0, 0.4) rgba(0, 0, 0, 0.5) rgba(0, 0, 0, 0.55); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2) inset, 0 0 1px rgba(0, 0, 0, 0.3) inset, 0 1px 0 rgba(255, 255, 255, 0.05); } .dropdownToolbarButton { width: 120px; max-width: 120px; padding: 0; overflow: hidden; background: url(images/toolbarButton-menuArrows.png) no-repeat; } html[dir='ltr'] .dropdownToolbarButton { background-position: 95%; } html[dir='rtl'] .dropdownToolbarButton { background-position: 5%; } .dropdownToolbarButton > select { min-width: 140px; font-size: 12px; color: rgba(242, 242, 242, 1); margin: 0; padding: 3px 2px 2px; border: none; background: rgba(0,0,0,0); /* Opera does not support 'transparent'