456 lines
11 KiB
CSS
456 lines
11 KiB
CSS
/* Set size of logo, depending on orientation */
|
|
@media (orientation: landscape) {
|
|
:root {
|
|
--logo-width: clamp(34.08em, 40vw, 56.89em);
|
|
--logo-height: clamp(15.15em, 15vw, 25.28em);
|
|
}
|
|
}
|
|
|
|
@media (orientation: portrait) {
|
|
:root {
|
|
--logo-width: clamp(0px, 90.78vw, 56.89em);
|
|
--logo-height: clamp(0px, 34vw, 56.89em);
|
|
}
|
|
}
|
|
|
|
/* Set size of background, depending on screen width */
|
|
@media (max-width: 100em) {
|
|
/* Set static graphic width on smaller screens */
|
|
:root {
|
|
--background-width: 100rem;
|
|
}
|
|
}
|
|
@media (min-width: 100em) {
|
|
/* Set graphic to width of screen */
|
|
:root {
|
|
--background-width: 100%;
|
|
}
|
|
}
|
|
|
|
/* ============================== */
|
|
/* Global
|
|
/* ============================== */
|
|
/* Enable rem to match media queries */
|
|
html {
|
|
font-size: unset !important;
|
|
}
|
|
body {
|
|
font-size: 93% !important;
|
|
}
|
|
|
|
/* Add Milky Way graphic to header */
|
|
.skinHeader {
|
|
/* Position graphic behind header */
|
|
margin-top: calc(-1 * (0.2202 * var(--background-width)));
|
|
height: 100%;
|
|
padding-top: calc(0.2202 * var(--background-width));
|
|
/* Add graphic */
|
|
backdrop-filter: none !important;
|
|
background-color: rgba(0, 0, 0, 0) !important;
|
|
background-image: url("https://static.zomerkoningin.nl/andromeda/images/milkyway_header.webp");
|
|
background-repeat: no-repeat;
|
|
background-size: var(--background-width) auto;
|
|
background-position-x: center;
|
|
background-position-y: top;
|
|
/* Pass-through clicks */
|
|
pointer-events: none;
|
|
/* Keep header visible when scrolling on phone */
|
|
transform: unset !important;
|
|
}
|
|
.skinHeader > .headerTop {
|
|
flex-grow: 0 !important;
|
|
}
|
|
.skinHeader > * {
|
|
/* Limit pass-through to graphic only */
|
|
pointer-events: auto;
|
|
}
|
|
@media (min-width: 100em) {
|
|
/* Push content down from under graphic on wider screens */
|
|
div.skinBody > div.page {
|
|
padding-top: 15rem !important;
|
|
}
|
|
}
|
|
|
|
/* Add starry background */
|
|
.backdropContainer {
|
|
background-image: url("https://static.zomerkoningin.nl/andromeda/images/nightsky.webp");
|
|
background-size: var(--background-width) auto;
|
|
background-position: center center;
|
|
}
|
|
.backgroundContainer {
|
|
display: none;
|
|
}
|
|
|
|
/* Add fade-out to scrollable lists */
|
|
div:has(> div > .emby-scroller-container) {
|
|
mask: linear-gradient(90deg, transparent 0, black 12.5%), linear-gradient(270deg, transparent 0, black 12.5%);
|
|
mask-composite: intersect;
|
|
}
|
|
|
|
/* ============================== */
|
|
/* Homepage
|
|
/* ============================== */
|
|
.layout-desktop .sections > div {
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
width: 75%;
|
|
padding-left: unset !important;
|
|
padding-right: unset !important;
|
|
}
|
|
|
|
/* ============================== */
|
|
/* Media detail page
|
|
/* ============================== */
|
|
/* Remove backdrop used as padding on desktop */
|
|
.layout-desktop .itemBackdrop {
|
|
display: none;
|
|
}
|
|
/* Position backdrop on mobile */
|
|
.layout-mobile .itemBackdrop {
|
|
margin-top: unset;
|
|
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
z-index: -1;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
/* Remove shadow in favour of starry background */
|
|
.detailPagePrimaryContainer {
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
/* Show stars in background */
|
|
.layout-desktop .backdropContainer > .backdropImage {
|
|
opacity: 0.14 !important;
|
|
}
|
|
.layout-mobile .itemBackdrop {
|
|
opacity: 0.14 !important;
|
|
}
|
|
|
|
/* Instead of an element as padding, use a pseudo-element */
|
|
.layout-desktop .libraryPage.itemDetailPage::before {
|
|
/* Increase padding along screen width */
|
|
height: calc(30vw - var(--logo-height));
|
|
max-height: 13.35em;
|
|
}
|
|
.layout-mobile .libraryPage.itemDetailPage::before {
|
|
/* Use static padding on mobile */
|
|
height: 10.3em;
|
|
}
|
|
.libraryPage.itemDetailPage::before {
|
|
display: block;
|
|
content: "";
|
|
}
|
|
|
|
/* Position logo after padding */
|
|
.layout-mobile .detailLogo {
|
|
display: block;
|
|
}
|
|
.detailLogo {
|
|
top: unset;
|
|
right: unset;
|
|
|
|
/* Center horizontally */
|
|
position: relative;
|
|
left: 50%;
|
|
transform: translate(-50%, 0);
|
|
|
|
width: var(--logo-width);
|
|
height: var(--logo-height);
|
|
|
|
background-position: bottom;
|
|
}
|
|
|
|
/* Hide poster */
|
|
.detailImageContainer {
|
|
display: none;
|
|
}
|
|
|
|
/* Detail ribbon */
|
|
.layout-mobile .infoWrapper {
|
|
padding-left: unset !important;
|
|
}
|
|
.detailRibbon {
|
|
height: unset !important;
|
|
padding: unset !important;
|
|
|
|
margin-top: 0.5em !important;
|
|
|
|
/* Stack items */
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
background: rgba(0,0,0,0) !important;
|
|
}
|
|
|
|
/* Add padding to titles on mobile */
|
|
.layout-mobile .nameContainer > * {
|
|
padding-left: max(env(safe-area-inset-left),3.3%) !important;
|
|
padding-right: max(env(safe-area-inset-left),3.3%) !important;
|
|
}
|
|
|
|
/* Media title */
|
|
.nameContainer h1 {
|
|
/* Position on top of logo to keep link */
|
|
position: absolute;
|
|
top: calc(-1 * (0.50 * 14.4px) - var(--logo-height));
|
|
left: 0;
|
|
right: 0;
|
|
margin-left: auto !important;
|
|
margin-right: auto !important;
|
|
|
|
/* Give it the same size as the logo */
|
|
font-size: unset !important;
|
|
width: var(--logo-width);
|
|
height: var(--logo-height);
|
|
overflow: hidden !important;
|
|
|
|
/* Make it invisible while keeping it clickable */
|
|
opacity: 0;
|
|
|
|
/* Disable select */
|
|
user-select: none;
|
|
}
|
|
.nameContainer h1 > * {
|
|
font-size: var(--logo-height);
|
|
}
|
|
|
|
/* Episode title */
|
|
.nameContainer h3.itemName.infoText.subtitle bdi {
|
|
display: flex;
|
|
flex-direction: column;
|
|
place-items: center;
|
|
gap: 1em;
|
|
font-size: larger;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* Hide characters left by moving around season title */
|
|
.layout-desktop .nameContainer h3.itemName.infoText.subtitle bdi {
|
|
text-indent: -1ch;
|
|
}
|
|
.layout-mobile .nameContainer h3.itemName.infoText.subtitle bdi {
|
|
text-indent: -1.5ch;
|
|
}
|
|
|
|
/* Season title */
|
|
.nameContainer h3.itemName.infoText.subtitle bdi [data-type="Season"] {
|
|
text-indent: 0;
|
|
font-size: .72em;
|
|
font-weight: normal;
|
|
}
|
|
|
|
/* Original title */
|
|
.nameContainer h4 {
|
|
text-align: center;
|
|
opacity: 0.5;
|
|
}
|
|
|
|
/* Buttons */
|
|
.layout-mobile .mainDetailButtons {
|
|
padding-left: unset !important;
|
|
}
|
|
.mainDetailButtons {
|
|
margin-top: 1em;
|
|
}
|
|
|
|
/* Primary info (e.g. year, rating, etc.) */
|
|
.itemMiscInfo.itemMiscInfo-primary {
|
|
margin-top: 0.5em;
|
|
justify-content: center;
|
|
}
|
|
|
|
/* Media content */
|
|
.layout-desktop .detailPageSecondaryContainer {
|
|
padding-top: 0;
|
|
background: rgba(0,0,0,0);
|
|
}
|
|
.layout-desktop .detailPageContent {
|
|
padding: unset !important;
|
|
|
|
width: 75%;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
|
|
/* Disable right padding */
|
|
.layout-desktop .detailPageContent .padded-right {
|
|
padding-right: unset !important;
|
|
}
|
|
|
|
/* Description and info */
|
|
.layout-desktop .detailPagePrimaryContent {
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
width: var(--logo-width);
|
|
text-align: center;
|
|
}
|
|
.layout-desktop .detailSectionContent {
|
|
padding-top: 1em;
|
|
}
|
|
|
|
/* Tables (e.g. audio, subtitles, genres, writers, etc.) */
|
|
.layout-desktop .detailPagePrimaryContent .itemDetailsGroup,
|
|
.layout-desktop .detailPagePrimaryContent .trackSelections {
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
width: fit-content;
|
|
text-align: left;
|
|
}
|
|
.layout-desktop .detailPagePrimaryContent .itemDetailsGroup .detailsGroupItem,
|
|
.layout-desktop .detailPagePrimaryContent .trackSelections .selectContainer {
|
|
width: fit-content;
|
|
}
|
|
.layout-desktop .detailPagePrimaryContent .itemDetailsGroup .detailsGroupItem .label,
|
|
.layout-desktop .detailPagePrimaryContent .trackSelections .selectContainer label {
|
|
min-width: 6.25em;
|
|
width: fit-content;
|
|
}
|
|
.layout-desktop .detailPagePrimaryContent .itemDetailsGroup .detailsGroupItem .content,
|
|
.layout-desktop .detailPagePrimaryContent .trackSelections .selectContainer select {
|
|
width: fit-content;
|
|
}
|
|
.layout-desktop .detailPagePrimaryContent .trackSelections .selectContainer select {
|
|
padding-left: 0.5em;
|
|
}
|
|
.layout-desktop .detailPagePrimaryContent .trackSelections .selectContainer select:enabled {
|
|
padding-left: 1em !important;
|
|
padding-right: 2em;
|
|
}
|
|
|
|
/* Next Up */
|
|
.layout-mobile .nextUpSection .nextUpItems .overflowBackdropCard {
|
|
width: 72vw !important;
|
|
max-width: 27.95em !important;
|
|
}
|
|
.nextUpSection {
|
|
margin-top: 1.8em;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
width: unset !important;
|
|
}
|
|
|
|
/* List of seasons */
|
|
/* Replace margin with gap */
|
|
.layout-desktop .itemsContainer {
|
|
gap: 1.2em;
|
|
}
|
|
.layout-desktop .itemsContainer > .card > .cardBox {
|
|
margin-right: unset !important;
|
|
}
|
|
|
|
.layout-desktop .itemsContainer.padded-right:not(.padded-left) {
|
|
padding: unset !important; /* Remove right padding if left padding is not present */
|
|
}
|
|
.layout-desktop .itemsContainer.vertical-wrap {
|
|
justify-content: center; /* Only center if wrapping is enabled */
|
|
}
|
|
|
|
@media (min-width: 87.5em) {
|
|
.overflowPortraitCard, .overflowSquareCard {
|
|
width: 12.5vw !important;
|
|
}
|
|
}
|
|
|
|
/* Scrollable lists */
|
|
.layout-desktop .detailVerticalSection {
|
|
width: 100%;
|
|
}
|
|
|
|
/* Resize episode view */
|
|
.listItem-content {
|
|
position: relative;
|
|
height: 7.73em; /* Set height of container */
|
|
--poster-margin: .75em;
|
|
--poster-width: 19.5vw;
|
|
}
|
|
|
|
/* Resize episode poster */
|
|
.listItem-content .listItemImage.listItemImage-large {
|
|
margin-right: var(--poster-margin);
|
|
width: var(--poster-width);
|
|
height: 100%;
|
|
background-position: 50%;
|
|
}
|
|
|
|
/* Resize episode body */
|
|
.listItem-content .listItemBody {
|
|
position: absolute;
|
|
left: calc(var(--poster-width) + var(--poster-margin));
|
|
height: 100%;
|
|
padding: 0 .75em;
|
|
display: flex;
|
|
flex-flow: column;
|
|
}
|
|
.listItem-content .listItemBody .listItemBodyText:not(.listItem-overview) {
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
flex-basis: auto;
|
|
}
|
|
.listItem-content .listItemBody .listItem-overview {
|
|
flex-grow: 1;
|
|
flex-shrink: 1;
|
|
flex-basis: auto;
|
|
padding-top: .5em;
|
|
}
|
|
|
|
/* Add fade-out on episode body overflow */
|
|
.listItem-content .listItemBody .listItem-overview p {
|
|
margin: 0;
|
|
height: 100%;
|
|
|
|
overflow: hidden;
|
|
mask: linear-gradient(to bottom,
|
|
rgba(0,0,0, 1) 0, rgba(0,0,0, 1) 40%,
|
|
rgba(0,0,0, 0) 95%, rgba(0,0,0, 0) 0
|
|
) 100% 50% / 100% 100% repeat-x;
|
|
}
|
|
|
|
/* Position episode buttons */
|
|
.listItem-content .listViewUserDataButtons {
|
|
position: absolute;
|
|
bottom: 0;
|
|
right: 0;
|
|
}
|
|
|
|
/* Only show user data buttons on hover */
|
|
.layout-desktop .listItem-content .listViewUserDataButtons {
|
|
opacity: 0;
|
|
}
|
|
.layout-desktop .listItem:hover .listItem-content .listViewUserDataButtons {
|
|
opacity: 1;
|
|
transition: .2s ease-out;
|
|
}
|
|
|
|
/* Only show play button on hover */
|
|
.layout-desktop .listItemImageButton.itemAction[data-action="resume"] {
|
|
opacity: 0;
|
|
}
|
|
.layout-desktop .listItem:hover .listItemImageButton.itemAction[data-action="resume"] {
|
|
opacity: 1;
|
|
}
|
|
|
|
/* Floating indicator */
|
|
.innerCardFooter {
|
|
margin: .5em;
|
|
}
|
|
|
|
.countIndicator {
|
|
background: rgba(0, 164, 220, 0.8);
|
|
box-shadow: none;
|
|
}
|
|
.indicator, .innerCardFooter {
|
|
background: rgba(0,0,0,0.4);
|
|
box-shadow: none;
|
|
}
|
|
|
|
.mediaSourceIndicator {
|
|
background: rgba(0,0,0,0.4);
|
|
box-shadow: none;
|
|
border-radius: calc(infinity * 1px);
|
|
} |