node-viewerjs
Version:
Document viewer component for PDF and ODF documents. Done with just HTML5, CSS3, and JavaScript. Powered by pdf.js and WebODF.
850 lines (738 loc) • 35.8 kB
CSS
/**
* Copyright (C) 2012-2015 KO GmbH <copyright@kogmbh.com>
*
* @licstart
* This file is part of ViewerJS.
*
* ViewerJS is free software: you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License (GNU AGPL)
* as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
*
* ViewerJS is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with ViewerJS. If not, see <http://www.gnu.org/licenses/>.
* @licend
*
* @source: http://viewerjs.org/
* @source: http://github.com/kogmbh/ViewerJS
*/
/*
* This file is a derivative from a part of Mozilla's PDF.js project. The
* original license header follows.
*/
/* Copyright 2012 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.
*/
* {
padding: 0;
margin: 0;
}
html > body {
font-family: sans-serif;
overflow: hidden;
}
.titlebar > span,
.toolbarLabel,
input,
button,
select {
font: message-box;
}
#titlebar {
position: absolute;
z-index: 2;
top: 0px;
left: 0px;
height: 32px;
width: 100%;
overflow: hidden;
-webkit-box-shadow: 0px 1px 3px rgba(50, 50, 50, 0.75);
-moz-box-shadow: 0px 1px 3px rgba(50, 50, 50, 0.75);
box-shadow: 0px 1px 3px rgba(50, 50, 50, 0.75);
background-image: url(images/texture.png), linear-gradient(rgba(69, 69, 69, .95), rgba(82, 82, 82, .99));
background-image: url(images/texture.png), -webkit-linear-gradient(rgba(69, 69, 69, .95), rgba(82, 82, 82, .99));
background-image: url(images/texture.png), -moz-linear-gradient(rgba(69, 69, 69, .95), rgba(82, 82, 82, .99));
background-image: url(images/texture.png), -ms-linear-gradient(rgba(69, 69, 69, .95), rgba(82, 82, 82, .99));
background-image: url(images/texture.png), -o-linear-gradient(rgba(69, 69, 69, .95), rgba(82, 82, 82, .99));
}
#titlebar a, #aboutDialog a, #titlebar a:visited, #aboutDialog a:visited {
color: #ccc;
}
#documentName {
margin-right: 10px;
margin-left: 10px;
margin-top: 8px;
color: #f2f2f2;
line-height: 14px;
font-family: sans-serif;
font-size: 14px;
white-space: nowrap;
margin-right: 100px; /* To be adjusted if more icons to show */
overflow: hidden;
text-overflow: ellipsis;
}
#toolbarContainer {
position: absolute;
z-index: 2;
bottom: 0px;
left: 0px;
height: 32px;
width: 100%;
overflow: hidden;
-webkit-box-shadow: 0px -1px 3px rgba(50, 50, 50, 0.75);
-moz-box-shadow: 0px -1px 3px rgba(50, 50, 50, 0.75);
box-shadow: 0px -1px 3px rgba(50, 50, 50, 0.75);
background-image: url(images/texture.png), linear-gradient(rgba(82, 82, 82, .99), rgba(69, 69, 69, .95));
background-image: url(images/texture.png), -webkit-linear-gradient(rgba(82, 82, 82, .99), rgba(69, 69, 69, .95));
background-image: url(images/texture.png), -moz-linear-gradient(rgba(82, 82, 82, .99), rgba(69, 69, 69, .95));
background-image: url(images/texture.png), -ms-linear-gradient(rgba(82, 82, 82, .99), rgba(69, 69, 69, .95));
background-image: url(images/texture.png), -o-linear-gradient(rgba(82, 82, 82, .99), rgba(69, 69, 69, .95));
}
#toolbar {
position: relative;
}
#toolbarMiddleContainer, #toolbarLeft {
visibility: hidden;
}
#toolbarMiddleContainer {
z-index: -1;
}
html[dir='ltr'] #toolbarLeft {
margin-left: -1px;
}
html[dir='rtl'] #toolbarRight,
html[dir='rtl'] #titlebarRight {
margin-left: -1px;
}
html[dir='ltr'] #toolbarLeft,
html[dir='rtl'] #toolbarRight,
html[dir='rtl'] #titlebarRight {
position: absolute;
top: 0;
left: 0;
}
html[dir='rtl'] #toolbarLeft,
html[dir='ltr'] #toolbarRight,
html[dir='ltr'] #titlebarRight {
position: absolute;
top: 0;
right: 0;
}
html[dir='ltr'] #toolbarLeft > *,
html[dir='ltr'] #toolbarMiddle > *,
html[dir='ltr'] #toolbarRight > *,
html[dir='ltr'] #titlebarRight > * {
float: left;
}
html[dir='rtl'] #toolbarLeft > *,
html[dir='rtl'] #toolbarMiddle > *,
html[dir='rtl'] #toolbarRight > *,
html[dir='rtl'] #titlebarRight > * {
float: right;
}
/* outer/inner center provides horizontal center */
html[dir='ltr'] .outerCenter {
float: right;
position: relative;
right: 50%;
}
html[dir='rtl'] .outerCenter {
float: left;
position: relative;
left: 50%;
}
html[dir='ltr'] .innerCenter {
float: right;
position: relative;
right: -50%;
}
html[dir='rtl'] .innerCenter {
float: left;
position: relative;
left: -50%;
}
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;
}
.splitToolbarButton.toggled .toolbarButton {
margin: 0;
}
.toolbarButton {
border: 0 none;
background-color: rgba(0, 0, 0, 0);
min-width: 32px;
height: 25px;
border-radius: 2px;
background-image: none;
}
html[dir='ltr'] .toolbarButton,
html[dir='ltr'] .dropdownToolbarButton {
margin: 3px 2px 4px 0;
}
html[dir='rtl'] .toolbarButton,
html[dir='rtl'] .dropdownToolbarButton {
margin: 3px 0 4px 2px;
}
.toolbarButton:hover,
.toolbarButton:focus,
.dropdownToolbarButton {
background-color: hsla(0, 0%, 0%, .12);
background-image: linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: -moz-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: -ms-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: -o-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-clip: padding-box;
border: 1px solid hsla(0, 0%, 0%, .35);
border-color: hsla(0, 0%, 0%, .32) hsla(0, 0%, 0%, .38) hsla(0, 0%, 0%, .42);
box-shadow: 0 1px 0 hsla(0, 0%, 100%, .05) inset,
0 0 1px hsla(0, 0%, 100%, .15) inset,
0 1px 0 hsla(0, 0%, 100%, .05);
}
.toolbarButton:hover:active,
.dropdownToolbarButton:hover:active {
background-color: hsla(0, 0%, 0%, .2);
background-image: linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: -moz-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: -ms-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: -o-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
border-color: hsla(0, 0%, 0%, .35) hsla(0, 0%, 0%, .4) hsla(0, 0%, 0%, .45);
box-shadow: 0 1px 1px hsla(0, 0%, 0%, .1) inset,
0 0 1px hsla(0, 0%, 0%, .2) inset,
0 1px 0 hsla(0, 0%, 100%, .05);
}
.splitToolbarButton:hover > .toolbarButton,
.splitToolbarButton:focus > .toolbarButton,
.splitToolbarButton.toggled > .toolbarButton,
.toolbarButton.textButton {
background-color: hsla(0, 0%, 0%, .12);
background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: -moz-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: -ms-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: -o-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-clip: padding-box;
border: 1px solid hsla(0, 0%, 0%, .35);
border-color: hsla(0, 0%, 0%, .32) hsla(0, 0%, 0%, .38) hsla(0, 0%, 0%, .42);
box-shadow: 0 1px 0 hsla(0, 0%, 100%, .05) inset,
0 0 1px hsla(0, 0%, 100%, .15) inset,
0 1px 0 hsla(0, 0%, 100%, .05);
-webkit-transition-property: background-color, border-color, box-shadow;
-webkit-transition-duration: 150ms;
-webkit-transition-timing-function: ease;
-moz-transition-property: background-color, border-color, box-shadow;
-moz-transition-duration: 150ms;
-moz-transition-timing-function: ease;
-ms-transition-property: background-color, border-color, box-shadow;
-ms-transition-duration: 150ms;
-ms-transition-timing-function: ease;
-o-transition-property: background-color, border-color, box-shadow;
-o-transition-duration: 150ms;
-o-transition-timing-function: ease;
transition-property: background-color, border-color, box-shadow;
transition-duration: 150ms;
transition-timing-function: ease;
}
.splitToolbarButton > .toolbarButton:hover,
.splitToolbarButton > .toolbarButton:focus,
.dropdownToolbarButton:hover,
.toolbarButton.textButton:hover,
.toolbarButton.textButton:focus {
background-color: hsla(0, 0%, 0%, .2);
box-shadow: 0 1px 0 hsla(0, 0%, 100%, .05) inset,
0 0 1px hsla(0, 0%, 100%, .15) inset,
0 0 1px hsla(0, 0%, 0%, .05);
z-index: 199;
}
.splitToolbarButton:hover > .toolbarButton,
.splitToolbarButton:focus > .toolbarButton,
.splitToolbarButton.toggled > .toolbarButton,
.toolbarButton.textButton {
background-color: hsla(0, 0%, 0%, .12);
background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: -moz-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: -ms-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: -o-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-image: linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-clip: padding-box;
border: 1px solid hsla(0, 0%, 0%, .35);
border-color: hsla(0, 0%, 0%, .32) hsla(0, 0%, 0%, .38) hsla(0, 0%, 0%, .42);
box-shadow: 0 1px 0 hsla(0, 0%, 100%, .05) inset,
0 0 1px hsla(0, 0%, 100%, .15) inset,
0 1px 0 hsla(0, 0%, 100%, .05);
-webkit-transition-property: background-color, border-color, box-shadow;
-webkit-transition-duration: 150ms;
-webkit-transition-timing-function: ease;
-moz-transition-property: background-color, border-color, box-shadow;
-moz-transition-duration: 150ms;
-moz-transition-timing-function: ease;
-ms-transition-property: background-color, border-color, box-shadow;
-ms-transition-duration: 150ms;
-ms-transition-timing-function: ease;
-o-transition-property: background-color, border-color, box-shadow;
-o-transition-duration: 150ms;
-o-transition-timing-function: ease;
transition-property: background-color, border-color, box-shadow;
transition-duration: 150ms;
transition-timing-function: ease;
}
.splitToolbarButton > .toolbarButton:hover,
.splitToolbarButton > .toolbarButton:focus,
.dropdownToolbarButton:hover,
.toolbarButton.textButton:hover,
.toolbarButton.textButton:focus {
background-color: hsla(0, 0%, 0%, .2);
box-shadow: 0 1px 0 hsla(0, 0%, 100%, .05) inset,
0 0 1px hsla(0, 0%, 100%, .15) inset,
0 0 1px hsla(0, 0%, 0%, .05);
z-index: 199;
}
.dropdownToolbarButton {
border: 1px solid #333 ;
}
.toolbarButton,
.dropdownToolbarButton {
min-width: 16px;
padding: 2px 6px 2px;
border: 1px solid transparent;
border-radius: 2px;
color: hsl(0, 0%, 95%);
font-size: 12px;
line-height: 14px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
/* Opera does not support user-select, use <... unselectable="on"> instead */
cursor: default;
-webkit-transition-property: background-color, border-color, box-shadow;
-webkit-transition-duration: 150ms;
-webkit-transition-timing-function: ease;
-moz-transition-property: background-color, border-color, box-shadow;
-moz-transition-duration: 150ms;
-moz-transition-timing-function: ease;
-ms-transition-property: background-color, border-color, box-shadow;
-ms-transition-duration: 150ms;
-ms-transition-timing-function: ease;
-o-transition-property: background-color, border-color, box-shadow;
-o-transition-duration: 150ms;
-o-transition-timing-function: ease;
transition-property: background-color, border-color, box-shadow;
transition-duration: 150ms;
transition-timing-function: ease;
}
html[dir='ltr'] .toolbarButton,
html[dir='ltr'] .dropdownToolbarButton {
margin: 3px 2px 4px 0;
}
html[dir='rtl'] .toolbarButton,
html[dir='rtl'] .dropdownToolbarButton {
margin: 3px 0 4px 2px;
}
.splitToolbarButton:hover > .splitToolbarButtonSeparator,
.splitToolbarButton.toggled > .splitToolbarButtonSeparator {
padding: 12px 0;
margin: 0;
box-shadow: 0 0 0 1px hsla(0, 0%, 100%, .03);
-webkit-transition-property: padding;
-webkit-transition-duration: 10ms;
-webkit-transition-timing-function: ease;
-moz-transition-property: padding;
-moz-transition-duration: 10ms;
-moz-transition-timing-function: ease;
-ms-transition-property: padding;
-ms-transition-duration: 10ms;
-ms-transition-timing-function: ease;
-o-transition-property: padding;
-o-transition-duration: 10ms;
-o-transition-timing-function: ease;
transition-property: padding;
transition-duration: 10ms;
transition-timing-function: ease;
}
.toolbarButton.toggled:hover:active,
.splitToolbarButton > .toolbarButton:hover:active {
background-color: hsla(0, 0%, 0%, .4);
border-color: hsla(0, 0%, 0%, .4) hsla(0, 0%, 0%, .5) hsla(0, 0%, 0%, .55);
box-shadow: 0 1px 1px hsla(0, 0%, 0%, .2) inset,
0 0 1px hsla(0, 0%, 0%, .3) inset,
0 1px 0 hsla(0, 0%, 100%, .05);
}
html[dir='ltr'] .splitToolbarButton > .toolbarButton:first-child,
html[dir='rtl'] .splitToolbarButton > .toolbarButton:last-child {
position: relative;
margin: 0;
margin-left: 4px;
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: hsla(0, 0%, 00%, .5);
z-index: 99;
box-shadow: 0 0 0 1px hsla(0, 0%, 100%, .08);
display: inline-block;
margin: 5px 0;
}
html[dir='ltr'] .splitToolbarButtonSeparator {
float: left;
}
html[dir='rtl'] .splitToolbarButtonSeparator {
float: right;
}
.dropdownToolbarButton {
min-width: 120px;
max-width: 120px;
padding: 4px 2px 4px;
overflow: hidden;
background: url(images/toolbarButton-menuArrows.png) no-repeat;
}
.dropdownToolbarButton > select {
-webkit-appearance: none;
-moz-appearance: none; /* in the future this might matter, see bugzilla bug #649849 */
min-width: 140px;
font-size: 12px;
color: hsl(0, 0%, 95%);
margin: 0;
padding: 0;
border: none;
background: rgba(0, 0, 0, 0); /* Opera does not support 'transparent' <select> background */
}
.dropdownToolbarButton > select > option {
background: hsl(0, 0%, 24%);
}
#pageWidthOption {
border-bottom: 1px rgba(255, 255, 255, .5) solid;
}
html[dir='ltr'] .dropdownToolbarButton {
background-position: 95%;
}
html[dir='rtl'] .dropdownToolbarButton {
background-position: 5%;
}
.toolbarButton.fullscreen::before {
display: inline-block;
content: url(images/toolbarButton-fullscreen.png);
}
.toolbarButton.presentation::before {
display: inline-block;
content: url(images/toolbarButton-presentation.png);
}
.toolbarButton.download::before {
display: inline-block;
content: url(images/toolbarButton-download.png);
}
.toolbarButton.print::before {
display: inline-block;
content: url(images/toolbarButton-print.png);
}
.toolbarButton.about {
color: #f2f2f2;
font-size: 14px;
font-weight: bold;
line-height: 14px;
font-family: sans-serif;
}
.toolbarButton.about::before {
display: inline-block;
}
.toolbarButton.zoomOut::before {
display: inline-block;
content: url(images/toolbarButton-zoomOut.png);
}
.toolbarButton.zoomIn::before {
display: inline-block;
content: url(images/toolbarButton-zoomIn.png);
}
.toolbarButton.pageUp::before {
display: inline-block;
content: url(images/toolbarButton-pageUp.png);
}
.toolbarButton.pageDown::before {
display: inline-block;
content: url(images/toolbarButton-pageDown.png);
}
.toolbarField.pageNumber {
min-width: 16px;
text-align: right;
width: 40px;
}
.toolbarField {
padding: 3px 6px;
margin: 4px 0 4px 0;
border: 1px solid transparent;
border-radius: 2px;
background-color: hsla(0, 0%, 100%, .09);
background-image: -moz-linear-gradient(hsla(0, 0%, 100%, .05), hsla(0, 0%, 100%, 0));
background-clip: padding-box;
border: 1px solid hsla(0, 0%, 0%, .35);
border-color: hsla(0, 0%, 0%, .32) hsla(0, 0%, 0%, .38) hsla(0, 0%, 0%, .42);
box-shadow: 0 1px 0 hsla(0, 0%, 0%, .05) inset,
0 1px 0 hsla(0, 0%, 100%, .05);
color: hsl(0, 0%, 95%);
font-size: 12px;
line-height: 14px;
outline-style: none;
-moz-transition-property: background-color, border-color, box-shadow;
-moz-transition-duration: 150ms;
-moz-transition-timing-function: ease;
}
.toolbarField.pageNumber::-webkit-inner-spin-button,
.toolbarField.pageNumber::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
.toolbarField:hover {
background-color: hsla(0, 0%, 100%, .11);
border-color: hsla(0, 0%, 0%, .4) hsla(0, 0%, 0%, .43) hsla(0, 0%, 0%, .45);
}
.toolbarField:focus {
background-color: hsla(0, 0%, 100%, .15);
border-color: hsla(204, 100%, 65%, .8) hsla(204, 100%, 65%, .85) hsla(204, 100%, 65%, .9);
}
.toolbarLabel {
min-width: 16px;
padding: 3px 6px 3px 2px;
margin: 4px 2px 4px 0;
border: 1px solid transparent;
border-radius: 2px;
color: hsl(0, 0%, 85%);
font-size: 12px;
line-height: 14px;
text-align: left;
-webkit-user-select: none;
-moz-user-select: none;
cursor: default;
}
#canvasContainer {
overflow: auto;
padding-top: 6px;
padding-bottom: 6px;
position: absolute;
top: 32px;
right: 0;
bottom: 32px;
left: 0;
text-align: center;
background-color: #888;
background-image: url(images/texture.png);
}
#canvasContainer.slideshow {
padding: 0;
overflow: hidden;
}
#canvasContainer.slideshow > * {
margin: auto;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.presentationMode {
top: 0 ;
bottom: 0 ;
background-color: black ;
cursor: default ;
}
#canvas {
box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.75);
-webkit-box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.75);
-moz-box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.75);
-ms-box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.75);
-o-box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.75);
/*
* Hide the canvas overflow because otherwise the CSS-scaled 'sizer' child
* of the canvas will still advertise the original size in Firefox, causing
* strange scrollbar behavior.
*/
overflow: hidden;
}
#sliderContainer {
visibility: hidden;
}
#overlayNavigator {
position: absolute;
width: 100%;
height: 0;
top: calc(50% - 50px);
background-color: rgba(0, 0, 0, 0);
z-index: 3;
opacity: 0;
-webkit-transition: opacity 1s ease-out;
-moz-transition: opacity 1s ease-out;
transition: opacity 1s ease-out;
}
#previousPage {
float: left;
margin-left: 10px;
/* CSS triangle */
border-top: 50px solid transparent;
border-bottom: 50px solid transparent;
border-right: 50px solid black;
opacity: 0.5;
}
#nextPage {
float: right;
margin-right: 10px;
/* CSS triangle */
border-top: 50px solid transparent;
border-bottom: 50px solid transparent;
border-left: 50px solid black;
opacity: 0.5;
}
#previousPage:active {
opacity: 0.8;
}
#nextPage:active {
opacity: 0.8;
}
#overlayCloseButton {
position: absolute;
top: 10px;
right: 10px;
z-index: 3;
font-size: 35px;
color: white;
background-color: black;
opacity: 0.5;
width: 40px;
height: 40px;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
text-align: center;
cursor: pointer;
display: none;
}
#overlayCloseButton:active {
background-color: red;
}
#aboutDialogCentererTable {
display: table;
width: 100%;
height: 100%;
}
#aboutDialogCentererCell {
vertical-align: middle;
text-align: center;
display: table-cell;
}
#aboutDialog {
width: 280px;
background-color: #666;
color: white;
text-align: center;
border-radius: 2px;
box-shadow: 0px 1px 6px black;
padding: 5px;
font-style: sans-serif;
display: inline-block;
}
#aboutDialog h1 {
font-size: 25pt;
}
#aboutDialog p {
font-size: 10pt;
}
#aboutDialog > * {
margin: 10px;
}
#dialogOverlay {
position: absolute;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
z-index: 3;
background-color: rgba(0, 0, 0, .5);
overflow: auto;
display: none;
}
#blanked {
display: none;
cursor: none;
position: absolute;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
z-index: 3;
}
.video-js {
width: 100% ;
height: 100% ;
}
@media print {
.no-print, .no-print * {
display: none ;
}
}
#loading-document:after {
/* with no content, nothing is rendered */
content: "";
position: fixed;
/* element stretched to cover during rotation an aspect ratio up to 1/10 */
top: -500%;
left: -500%;
right: -500%;
bottom: -500%;
z-index: 9999;
pointer-events: all; /* to allow content use: none */
/* background */
background-color: rgba(0, 0, 0, 0.5);
background-image: url(data:image/png;base64,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);
background-repeat: no-repeat;
background-position: center center;
background-size: 50px 50px;
animation: linearRotate 1s infinite linear, fadeInOpacity 0.5s 1 ease-in;
}
@keyframes linearRotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}