/* 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.
 */

.textLayer {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  opacity: 0.2;
}

.textLayer > div {
  color: transparent;
  position: absolute;
  white-space: pre;
  cursor: text;
  -webkit-transform-origin: 0% 0%;
  -moz-transform-origin: 0% 0%;
  -o-transform-origin: 0% 0%;
  -ms-transform-origin: 0% 0%;
  transform-origin: 0% 0%;
}

.textLayer .highlight {
  margin: -1px;
  padding: 1px;

  background-color: rgb(180, 0, 170);
  border-radius: 4px;
}

.textLayer .highlight.begin {
  border-radius: 4px 0px 0px 4px;
}

.textLayer .highlight.end {
  border-radius: 0px 4px 4px 0px;
}

.textLayer .highlight.middle {
  border-radius: 0px;
}

.textLayer .highlight.selected {
  background-color: rgb(0, 100, 0);
}

.textLayer ::selection { background: rgb(0,0,255); }
.textLayer ::-moz-selection { background: rgb(0,0,255); }

.pdfViewer .canvasWrapper {
  overflow: hidden;
}

.pdfViewer .page {
  direction: ltr;
  width: 816px;
  height: 1056px;
  margin: 1px auto -8px auto;
  position: relative;
  overflow: visible;
  border: 9px solid transparent;
  background-clip: content-box;
  border-image: url(images/shadow.png) 9 9 repeat;
  background-color: white;
}

.pdfViewer .page canvas {
  margin: 0;
  display: block;
}

.pdfViewer .page .loadingIcon {
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: url('images/loading-icon.gif') center no-repeat;
}

.pdfViewer .page .annotLink > a:hover {
  opacity: 0.2;
  background: #ff0;
  box-shadow: 0px 2px 10px #ff0;
}

:-webkit-full-screen .pdfViewer .page {
  margin-bottom: 100%;
  border: 0;
}

:-moz-full-screen .pdfViewer .page {
  margin-bottom: 100%;
  border: 0;
}

:-ms-fullscreen .pdfViewer .page {
  margin-bottom: 100% !important;
  border: 0;
}

:fullscreen .pdfViewer .page {
  margin-bottom: 100%;
  border: 0;
}

.pdfViewer .page .annotText > img {
  position: absolute;
  cursor: pointer;
}

.pdfViewer .page .annotTextContentWrapper {
  position: absolute;
  width: 20em;
}

.pdfViewer .page .annotTextContent {
  z-index: 200;
  float: left;
  max-width: 20em;
  background-color: #FFFF99;
  box-shadow: 0px 2px 5px #333;
  border-radius: 2px;
  padding: 0.6em;
  cursor: pointer;
}

.pdfViewer .page .annotTextContent > h1 {
  font-size: 1em;
  border-bottom: 1px solid #000000;
  padding-bottom: 0.2em;
}

.pdfViewer .page .annotTextContent > p {
  padding-top: 0.2em;
}

.pdfViewer .page .annotLink > a {
  position: absolute;
  font-size: 1em;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pdfViewer .page .annotLink > a /* -ms-a */  {
  background: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAA\
                   LAAAAAABAAEAAAIBRAA7") 0 0 repeat;
}

* {
  padding: 0;
  margin: 0;
}

html {
  height: 100%;
  /* Font size is needed to make the activity bar the correct size. */
  font-size: 10px;
}

body {
  height: 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:-webkit-full-screen {
  top: 0px;
  border-top: 2px solid transparent;
  background-color: #000;
  width: 100%;
  height: 100%;
  overflow: hidden;
  cursor: none;
  -webkit-user-select: none;
}

#viewerContainer:-moz-full-screen {
  top: 0px;
  border-top: 2px solid transparent;
  background-color: #000;
  width: 100%;
  height: 100%;
  overflow: hidden;
  cursor: none;
  -moz-user-select: none;
}

#viewerContainer:-ms-fullscreen {
  top: 0px !important;
  border-top: 2px solid transparent;
  width: 100%;
  height: 100%;
  overflow: hidden !important;
  cursor: none;
  -ms-user-select: none;
}

#viewerContainer:-ms-fullscreen::-ms-backdrop {
  background-color: #000;
}

#viewerContainer:fullscreen {
  top: 0px;
  border-top: 2px solid transparent;
  background-color: #000;
  width: 100%;
  height: 100%;
  overflow: hidden;
  cursor: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

:-webkit-full-screen a:not(.internalLink) {
  display: none;
}

:-moz-full-screen a:not(.internalLink) {
  display: none;
}

:-ms-fullscreen a:not(.internalLink) {
  display: none !important;
}

:fullscreen a:not(.internalLink) {
  display: none;
}

:-webkit-full-screen .textLayer > div {
  cursor: none;
}

:-moz-full-screen .textLayer > div {
  cursor: none;
}

:fullscreen .textLayer > div {
  cursor: none;
}

#viewerContainer.presentationControls,
#viewerContainer.presentationControls .textLayer > div {
  cursor: default;
}

/* outer/inner center provides horizontal center */
.outerCenter {
  pointer-events: none;
  position: relative;
}
html[dir='ltr'] .outerCenter {
  float: right;
  right: 50%;
}
html[dir='rtl'] .outerCenter {
  float: left;
  left: 50%;
}
.innerCenter {
  pointer-events: auto;
  position: relative;
}
html[dir='ltr'] .innerCenter {
  float: right;
  right: -50%;
}
html[dir='rtl'] .innerCenter {
  float: left;
  left: -50%;
}

#outerContainer {
  width: 100%;
  height: 100%;
  position: relative;
}

#sidebarContainer {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 200px;
  visibility: hidden;
  -webkit-transition-duration: 200ms;
  -webkit-transition-timing-function: ease;
  transition-duration: 200ms;
  transition-timing-function: ease;

}
html[dir='ltr'] #sidebarContainer {
  -webkit-transition-property: left;
  transition-property: left;
  left: -200px;
}
html[dir='rtl'] #sidebarContainer {
  -webkit-transition-property: right;
  transition-property: right;
  right: -200px;
}

#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;
  -webkit-transition-duration: 200ms;
  -webkit-transition-timing-function: ease;
  transition-duration: 200ms;
  transition-timing-function: ease;
}
html[dir='ltr'] #outerContainer.sidebarOpen > #mainContainer {
  -webkit-transition-property: left;
  transition-property: left;
  left: 200px;
}
html[dir='rtl'] #outerContainer.sidebarOpen > #mainContainer {
  -webkit-transition-property: right;
  transition-property: right;
  right: 200px;
}

#sidebarContent {
  top: 32px;
  bottom: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  position: absolute;
  width: 200px;
  background-color: hsla(0,0%,0%,.1);
}
html[dir='ltr'] #sidebarContent {
  left: 0;
  box-shadow: inset -1px 0 0 hsla(0,0%,0%,.25);
}
html[dir='rtl'] #sidebarContent {
  right: 0;
  box-shadow: inset 1px 0 0 hsla(0,0%,0%,.25);
}

#viewerContainer {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  positio