mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-18 03:18:19 -07:00
634 lines
13 KiB
CSS
634 lines
13 KiB
CSS
.backgroundContainer {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
contain: layout style;
|
|
}
|
|
|
|
/* Links */
|
|
.ui-body-b a {
|
|
color: #52B54B /*{b-link-color}*/;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.ui-body-b a:visited {
|
|
color: #52B54B /*{b-link-visited}*/;
|
|
}
|
|
|
|
.ui-body-b a:hover {
|
|
color: #2E7D32 /*{b-link-hover}*/;
|
|
}
|
|
|
|
.ui-body-b a:active {
|
|
color: #2E7D32 /*{b-link-active}*/;
|
|
}
|
|
|
|
/* Remove IE mobile 300ms tap delay */
|
|
html {
|
|
-ms-touch-action: manipulation;
|
|
touch-action: manipulation;
|
|
/* Prevent white flickering */
|
|
background-color: #242424;
|
|
/* Normalize for different browsers */
|
|
margin: 0;
|
|
padding: 0;
|
|
height: 100%;
|
|
font-family: 'San Francisco', 'Helvetica Neue', Roboto, 'Open Sans', 'Segoe UI', sans-serif;
|
|
font-size: 14px;
|
|
}
|
|
|
|
body {
|
|
overflow-y: scroll !important;
|
|
/* This is needed to prevent a horizontal scrollbar while neon-animated-pages are animating. */
|
|
overflow-x: hidden;
|
|
/*Can't use this with safari or it causes some content to disappear*/
|
|
/*-webkit-overflow-scrolling: touch;*/
|
|
/* Remove the white default from jqm */
|
|
background-color: transparent !important;
|
|
/* Normalize for different browsers */
|
|
margin: 0;
|
|
padding: 0;
|
|
height: 100%;
|
|
-webkit-font-smoothing: antialiased;
|
|
}
|
|
|
|
body.autoScrollY {
|
|
overflow-y: auto !important;
|
|
}
|
|
|
|
.mainAnimatedPage {
|
|
/* Have to override because it breaks scrolling when dependant on window scroll */
|
|
contain: style !important;
|
|
}
|
|
|
|
/* Without this, no content will be displayed in mobile safari */
|
|
.pageContainer {
|
|
overflow-x: visible !important;
|
|
/* jqm often wants to assign a background color to this */
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
/* Undo this from jqm which may cause the page to have it's own scrollbar */
|
|
.ui-mobile .ui-page-active {
|
|
overflow-x: visible;
|
|
}
|
|
|
|
.bodyWithPopupOpen {
|
|
overflow-y: hidden !important;
|
|
}
|
|
|
|
.textlink {
|
|
text-decoration: none;
|
|
}
|
|
|
|
h1, h2, h3 {
|
|
margin-top: 1em;
|
|
}
|
|
|
|
h1, h1 a {
|
|
font-weight: 300 !important;
|
|
font-size: 24px;
|
|
}
|
|
|
|
h2 {
|
|
font-weight: 400;
|
|
}
|
|
|
|
h3 {
|
|
font-weight: 400;
|
|
}
|
|
|
|
a, a:active, a:hover {
|
|
text-decoration: none;
|
|
}
|
|
|
|
.libraryPage h1 a {
|
|
color: #fff !important;
|
|
}
|
|
|
|
h1 a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.ui-body-b a.accent {
|
|
color: #52B54B !important;
|
|
}
|
|
|
|
input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='range']):not([is='emby-input']) {
|
|
-webkit-appearance: none;
|
|
-webkit-font-smoothing: antialiased;
|
|
-webkit-rtl-ordering: logical;
|
|
-webkit-user-select: text;
|
|
box-sizing: border-box;
|
|
font-family: inherit;
|
|
font-size: inherit;
|
|
height: 28.5938px;
|
|
letter-spacing: normal;
|
|
line-height: 18.2px;
|
|
list-style-image: none;
|
|
list-style-position: outside;
|
|
list-style-type: none;
|
|
min-height: 28.6px;
|
|
padding-bottom: 5.2px;
|
|
padding-left: 5.2px;
|
|
padding-right: 5.2px;
|
|
padding-top: 5.2px;
|
|
text-align: left;
|
|
text-indent: 0px;
|
|
text-rendering: auto;
|
|
text-shadow: none;
|
|
text-transform: none;
|
|
white-space: nowrap;
|
|
word-spacing: 0px;
|
|
writing-mode: lr-tb;
|
|
-webkit-writing-mode: horizontal-tb;
|
|
background: white;
|
|
width: 100%;
|
|
border: 1px solid #ccc;
|
|
color: #000;
|
|
margin: 0 0 3px 0;
|
|
border-radius: 4px;
|
|
display: block;
|
|
}
|
|
|
|
select {
|
|
width: 100%;
|
|
margin: 0 0 .5em 0;
|
|
background: none;
|
|
border: 1px solid rgb(221, 221, 221);
|
|
border-width: 0 0 1px 0;
|
|
/* Prefixed box-sizing rules necessary for older browsers */
|
|
-webkit-box-sizing: border-box;
|
|
-moz-box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
/* Remove select styling */
|
|
/* Font size must the 16px or larger to prevent iOS page zoom on focus */
|
|
font-size: inherit;
|
|
/* General select styles: change as needed */
|
|
font-family: inherit;
|
|
font-weight: bold;
|
|
color: inherit;
|
|
padding: .6em .8em .3em 0;
|
|
cursor: pointer;
|
|
}
|
|
|
|
select:not([data-inline='true']) {
|
|
display: block;
|
|
}
|
|
|
|
.ui-body-b select, .ui-body-b [is="emby-input"] {
|
|
background: none;
|
|
border-color: #454545;
|
|
}
|
|
|
|
.ui-body-b select option {
|
|
background: #333;
|
|
color: #fff;
|
|
}
|
|
|
|
div[data-role='page'] {
|
|
outline: none;
|
|
}
|
|
|
|
/**
|
|
* Note: I have omitted any vendor-prefixes for clarity.
|
|
* Adding them is left as an exercise for the reader.
|
|
*/
|
|
.headroom {
|
|
transition: transform 180ms linear;
|
|
}
|
|
|
|
.headroom--pinned {
|
|
transform: none;
|
|
}
|
|
|
|
.headroom--unpinned:not(.headroomDisabled) {
|
|
transform: translateY(-100%);
|
|
}
|
|
|
|
.libraryViewNav.headroom--unpinned:not(.headroomDisabled) {
|
|
transform: translateY(-210%);
|
|
}
|
|
|
|
.checkboxContainer {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.checkboxContainer input:not([is=emby-checkbox]) {
|
|
width: 20px;
|
|
height: 20px;
|
|
vertical-align: middle;
|
|
display: inline-block;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.checkboxContainer label:not(.mdl-checkbox) {
|
|
vertical-align: middle;
|
|
display: inline-block;
|
|
padding: .7em .5em;
|
|
}
|
|
|
|
textarea {
|
|
width: 100%;
|
|
}
|
|
|
|
pre, textarea.pre {
|
|
display: block;
|
|
padding: 8.5px;
|
|
font-size: 12.025px;
|
|
line-height: 18px;
|
|
word-break: break-all;
|
|
word-wrap: break-word;
|
|
white-space: pre;
|
|
white-space: pre-wrap;
|
|
background-color: #f5f5f5;
|
|
border: 1px solid #ccc;
|
|
border: 1px solid rgba(0, 0, 0, 0.15);
|
|
-webkit-border-radius: 4px;
|
|
-moz-border-radius: 4px;
|
|
border-radius: 4px;
|
|
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
|
color: #000;
|
|
}
|
|
|
|
.hide {
|
|
display: none !important;
|
|
}
|
|
|
|
/*
|
|
Header
|
|
*/
|
|
.header {
|
|
padding: 20px 0 0 20px;
|
|
}
|
|
|
|
.imgLogoIcon {
|
|
height: 40px;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.imgLogoIcon + span {
|
|
margin-left: 10px;
|
|
}
|
|
|
|
.ui-popup-container {
|
|
z-index: 99999;
|
|
}
|
|
|
|
@media all and (max-height: 800px) {
|
|
|
|
.header {
|
|
display: none !important;
|
|
}
|
|
}
|
|
|
|
.pageTitle {
|
|
margin-top: 0;
|
|
font-family: inherit;
|
|
}
|
|
|
|
.fieldDescription {
|
|
padding-left: 2px;
|
|
font-weight: normal;
|
|
white-space: normal !important;
|
|
}
|
|
|
|
.warningFieldDescription {
|
|
padding: 5px;
|
|
border: 1px solid #f4c63f;
|
|
background: #fff3a5;
|
|
border-radius: 5px;
|
|
}
|
|
|
|
.fieldDescription + .fieldDescription {
|
|
margin-top: 5px;
|
|
}
|
|
|
|
.background-theme-a .backgroundContainer {
|
|
background-color: #f5f5f5;
|
|
}
|
|
|
|
.dialog.background-theme-a {
|
|
background-color: #f0f0f0;
|
|
}
|
|
|
|
.dialog:not(.background-theme-a):not(.background-theme-b) {
|
|
background-color: #fff;
|
|
}
|
|
|
|
.sidebarLinks {
|
|
margin-top: 1.5em;
|
|
padding-bottom: 50px;
|
|
}
|
|
|
|
.sidebarLink {
|
|
display: block;
|
|
padding: .8em 20px .8em 0;
|
|
text-decoration: none;
|
|
color: #111 !important;
|
|
font-weight: 500 !important;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.sidebarLink:hover {
|
|
background: #f2f2f2;
|
|
}
|
|
|
|
.sidebarLink.selectedSidebarLink {
|
|
background: #f2f2f2 !important;
|
|
}
|
|
|
|
.sidebarLinkIcon {
|
|
text-align: center;
|
|
vertical-align: middle;
|
|
margin-right: 1.2em;
|
|
}
|
|
|
|
.sidebarLinkIcon + span {
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.sidebarHeader {
|
|
padding-left: 20px;
|
|
margin: 15px 0 10px;
|
|
color: #666;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.ui-content {
|
|
border-width: 0;
|
|
overflow: visible;
|
|
overflow-x: hidden;
|
|
padding: 1em;
|
|
}
|
|
|
|
.page > .ui-content, .pageWithAbsoluteTabs .pageTabContent, .absolutePageTabContent .itemsContainer {
|
|
/* Need this so that the audio player doesn't cover content, but also for unveil lazy loading. */
|
|
padding-bottom: 160px;
|
|
}
|
|
|
|
@media all and (min-width: 800px) {
|
|
|
|
/*
|
|
Forms
|
|
*/
|
|
form, .readOnlyContent {
|
|
max-width: 700px;
|
|
}
|
|
|
|
.header {
|
|
padding-bottom: 15px;
|
|
}
|
|
}
|
|
|
|
@media all and (min-width: 900px) {
|
|
|
|
.page:not(.standalonePage) .header {
|
|
padding-top: 0;
|
|
}
|
|
}
|
|
|
|
/*
|
|
* Gradient Shadow
|
|
*/
|
|
|
|
/* All HTML5 progress enabled browsers */
|
|
progress {
|
|
/* Turns off styling - not usually needed, but good to know. */
|
|
appearance: none;
|
|
-moz-appearance: none;
|
|
-webkit-appearance: none;
|
|
/* gets rid of default border in Firefox and Opera. */
|
|
border: solid #cccccc 2px;
|
|
border-radius: 4px;
|
|
margin: 0;
|
|
}
|
|
|
|
/* Polyfill */
|
|
progress[role]:after {
|
|
background-image: none; /* removes default background from polyfill */
|
|
}
|
|
|
|
/*
|
|
* Background of the progress bar background
|
|
*/
|
|
|
|
/* Firefox and Polyfill */
|
|
progress {
|
|
background: #cccccc !important; /* !important only needed in polyfill */
|
|
}
|
|
|
|
/* Chrome */
|
|
progress::-webkit-progress-bar {
|
|
background: #cccccc;
|
|
}
|
|
|
|
/*
|
|
* Background of the progress bar value
|
|
*/
|
|
|
|
/* Firefox */
|
|
progress::-moz-progress-bar {
|
|
border-radius: 5px;
|
|
background-image: -moz-linear-gradient( center bottom, rgb(43,194,83) 37%, rgb(84,240,84) 69% );
|
|
}
|
|
|
|
/* Chrome */
|
|
progress::-webkit-progress-value {
|
|
border-radius: 5px;
|
|
background-image: -webkit-gradient( linear, left bottom, left top, color-stop(0, rgb(43,194,83)), color-stop(1, rgb(84,240,84)) );
|
|
background-image: -webkit-linear-gradient( center bottom, rgb(43,194,83) 37%, rgb(84,240,84) 69% );
|
|
}
|
|
|
|
/* Polyfill */
|
|
progress[aria-valuenow]:before {
|
|
border-radius: 5px;
|
|
background-image: -moz-linear-gradient( center bottom, rgb(43,194,83) 37%, rgb(84,240,84) 69% );
|
|
background-image: -ms-linear-gradient( center bottom, rgb(43,194,83) 37%, rgb(84,240,84) 69% );
|
|
background-image: -o-linear-gradient( center bottom, rgb(43,194,83) 37%, rgb(84,240,84) 69% );
|
|
}
|
|
|
|
/* Detail Page*/
|
|
|
|
.btnUserItemRating {
|
|
vertical-align: middle;
|
|
color: #aaa !important;
|
|
display: inline-block !important;
|
|
}
|
|
|
|
.btnUserItemRatingOn {
|
|
color: #cc3333 !important;
|
|
}
|
|
|
|
.imgUserItemRating {
|
|
height: 16px;
|
|
width: 16px;
|
|
margin-right: .75em;
|
|
cursor: pointer;
|
|
vertical-align: top;
|
|
}
|
|
|
|
.imgUserItemRating:last-child {
|
|
margin-right: 0;
|
|
}
|
|
|
|
.imgUserItemRating:hover {
|
|
opacity: .5;
|
|
}
|
|
|
|
.dashboardFooter {
|
|
margin-top: 50px;
|
|
text-align: center;
|
|
}
|
|
|
|
.dashboardFooter a {
|
|
text-decoration: none;
|
|
font-weight: normal;
|
|
margin: 0 .7em;
|
|
}
|
|
|
|
.dashboardFooter .appLinks a {
|
|
margin: .25em;
|
|
}
|
|
|
|
.dashboardFooter .appLinks img {
|
|
height: 16px;
|
|
}
|
|
|
|
.supporterPromotionContainer {
|
|
margin: 0 0 2em;
|
|
}
|
|
|
|
@media all and (min-width: 1280px) {
|
|
|
|
.supporterPromotionContainer {
|
|
position: fixed;
|
|
top: 120px;
|
|
right: 0;
|
|
}
|
|
}
|
|
|
|
.fullWidthContent .supporterPromotionContainer {
|
|
position: static !important;
|
|
}
|
|
|
|
@media all and (min-width: 800px) {
|
|
|
|
.supporterPromotionContainer {
|
|
display: flex;
|
|
flex-direction: row-reverse;
|
|
}
|
|
|
|
.supporterPromotion {
|
|
text-align: center;
|
|
padding: 0 2em;
|
|
}
|
|
|
|
.supporterPromotion button {
|
|
padding-left: 2em;
|
|
padding-right: 2em;
|
|
}
|
|
}
|
|
|
|
.syncActivityForTarget {
|
|
margin: 0 0 3em 0;
|
|
}
|
|
|
|
@media all and (min-width: 800px) {
|
|
|
|
.syncActivityForTarget {
|
|
max-width: 600px;
|
|
margin: 0 3em 3em 0;
|
|
display: inline-block;
|
|
vertical-align: top;
|
|
min-width: 400px;
|
|
}
|
|
}
|
|
|
|
.imageDropZone {
|
|
border: 2px dashed #bbb;
|
|
-moz-border-radius: 5px;
|
|
-webkit-border-radius: 5px;
|
|
border-radius: 5px;
|
|
padding: 25px;
|
|
text-align: center;
|
|
color: #bbb;
|
|
}
|
|
|
|
.actionSheetMenuItem:hover {
|
|
background-color: #e8e8e8;
|
|
}
|
|
|
|
.ui-body-b .emby-collapsible-button {
|
|
border: 0;
|
|
background-color: #333;
|
|
text-transform: none;
|
|
}
|
|
|
|
.ui-body-b .emby-collapsible-title {
|
|
margin: 0;
|
|
color: #fff;
|
|
padding: 0 0 0 .5em;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.ui-body-b .emby-collapsible-content, .ui-body-b .collapseContent {
|
|
border-width: 0;
|
|
background-color: #222;
|
|
}
|
|
|
|
.ui-body-a select {
|
|
background: none;
|
|
border-color: #757575;
|
|
}
|
|
|
|
.ui-body-a select option {
|
|
color: #000;
|
|
}
|
|
|
|
.ui-body-a .emby-collapsible-button {
|
|
border: 0;
|
|
background-color: #e8e8e8;
|
|
text-transform: none;
|
|
}
|
|
|
|
.ui-body-a .emby-collapsible-title {
|
|
margin: .15em 0;
|
|
color: #333;
|
|
padding: 0 0 0 .5em;
|
|
font-weight: 500;
|
|
}
|
|
|
|
.ui-body-a .emby-collapsible-content, .ui-body-a .collapseContent {
|
|
border-width: 0;
|
|
background-color: #fff;
|
|
}
|
|
|
|
.ui-body-a .inputLabelUnfocused, .ui-body-a .textareaLabel {
|
|
color: #555;
|
|
}
|
|
|
|
.ui-body-a .inputLabelFocused, .ui-body-a .textareaLabelFocused, .ui-body-a .selectLabelFocused {
|
|
color: green;
|
|
}
|
|
|
|
.ui-body-a .selectLabelUnfocused, .ui-body-a .paperListLabel, .ui-body-a .fieldDescription {
|
|
color: #555;
|
|
}
|
|
|
|
|
|
.ui-body-a .visualCardBox-cardScalable, .ui-body-a .visualCardBox-cardFooter {
|
|
background-color: #fff;
|
|
}
|
|
|
|
.ui-body-a .cardFooter .cardText + .cardText {
|
|
opacity: .8;
|
|
}
|
|
|
|
.ui-body-a .listItem .secondary {
|
|
color: #737373;
|
|
}
|