miru/app/css/misc.css

499 lines
No EOL
9.4 KiB
CSS

:root {
--accent-color: #e5204c;
--dm-link-text-color: var(--dm-muted-text-color) !important;
--dm-link-text-color-hover: var(--dm-text-color) !important;
--base-html-font-size: 50%;
--base-html-font-size-1600: 62.5%;
--base-html-font-size-1920: 70%;
--tooltip-width: 17rem;
--card-border-width: 0;
--sidebar-border-width: 0;
--input-border-width: 0;
}
body {
scroll-behavior: smooth;
overscroll-behavior: none;
user-select: none;
}
noscript {
width: 100%;
height: 100%;
position: absolute;
background: #000;
z-index: 1000;
}
#gsignin {
background: #000;
}
.badge-color {
background-color: var(--color) !important;
border-color: var(--color) !important;
}
.contain-img {
object-fit: contain;
}
.cover-img {
object-fit: cover;
background-color: var(--color) !important;
}
img {
pointer-events: none;
}
.w-30 {
width: 3rem
}
.mw-600 {
max-width: 60rem;
}
break {
flex-basis: 100%;
width: 0px;
height: 0px;
overflow: hidden;
}
.font-size-30 {
font-size: 3rem !important
}
.border-right-dark {
border-right: var(--base-border-width) solid var(--dm-border-color) !important;
border-color: rgba(255, 255, 255, 0.08) !important
}
input:invalid {
box-shadow: 0 0 0 0.2rem var(--danger-color) !important
}
::-webkit-inner-spin-button {
opacity: 1;
margin-left: .4rem;
margin-right: -.5rem;
filter: invert(.84);
padding-top: 2rem;
}
.bg-dark::-webkit-inner-spin-button {
filter: invert(.942);
}
#home.browsing .home,
#home:not(.browsing) .browse {
display: none;
}
.desc p {
margin-bottom: 0;
margin-top: 0;
}
.card-grid {
display: grid;
grid-template-rows: auto 1fr auto
}
.card-desc p {
margin: 0
}
.gallery .details span+span::before {
content: " • "
}
@keyframes load-in {
from {
bottom: -1.2rem;
transform: scale(.95);
}
to {
bottom: 0;
transform: scale(1);
}
}
.gallery .card {
will-change: transform, bottom;
animation: .3s ease 0s 1 load-in;
cursor: pointer;
overflow: hidden;
transition: transform .2s ease;
height: 27rem !important;
box-shadow: rgba(0, 4, 12, .3) 0px 7px 15px, rgba(0, 4, 12, .05) 0px 4px 4px;
}
.gallery .card:hover {
transform: scale(1.05)
}
.gallery .day-row {
grid-column: 1 / -1;
}
#home:not(.browsing) .gallery {
padding: .7rem 4rem;
grid-template-columns: repeat(5, 50rem);
justify-content: unset;
}
#home:not(.browsing) .gallery:after {
content: "";
position: absolute;
right: 0;
height: 100%;
width: 8rem;
background: linear-gradient(270deg, rgba(37, 40, 44, 1) 0%, rgba(37, 40, 44, 0) 100%);
/*this gradient looks like ass, need to find smth better*/
pointer-events: none;
}
#home.noauth #homeContinue,
#home.noauth #homePlanning {
display: none !important;
}
#home.noauth #homeContinueMore,
#home.noauth #homePlanningMore {
display: none !important;
}
.gallery {
display: grid;
grid-template-columns: repeat(auto-fill, 50rem);
grid-auto-rows: auto;
justify-content: center;
grid-gap: 2rem;
padding: 2rem 4rem;
position: relative;
}
#home.loading .gallery.browse {
height: 30rem !important;
overflow-y: hidden !important;
}
#home.loading .gallery.browse:after {
content: "";
position: absolute;
bottom: 0;
height: 10rem;
width: 100%;
background: linear-gradient(0deg, rgba(37, 40, 44, 1) 0%, rgba(37, 40, 44, 1) 15%, rgba(37, 40, 44, .45) 70%, rgba(37, 40, 44, 0) 100%);
}
.gallery-sm {
grid-template-columns: repeat(auto-fill, 30rem);
grid-auto-rows: 16.2rem;
grid-gap: .6rem;
padding: 1rem 0;
justify-content: start;
}
.gallery-sm .card {
height: 16.2rem !important
}
.pointer {
cursor: pointer
}
section {
display: none;
}
section:target,
[id*=settingsTab]:target~#settingsTab {
display: flex !important;
height: 100%;
}
section:target:not(#player),
[class*=settingsTab] {
animation: .3s ease 0s 1 load-in;
}
/* settings tab */
#settingsTabTorrent:target~#settingsTab .settingsTabTorrent,
#settingsTabPlayer:target~#settingsTab .settingsTabPlayer,
#settingsTabRSS:target~#settingsTab .settingsTabRSS {
display: flex !important;
}
.h-10 {
height: 1rem !important
}
.material-icons {
font-size: 18px;
align-self: center
}
.close {
font-family: Arial;
}
@keyframes load {
from {
left: -100%;
}
to {
left: 100%;
}
}
.skeloader {
position: relative;
overflow: hidden;
}
.skeloader::before {
will-change: left;
content: '';
position: absolute;
height: 100%;
width: 15rem;
background: linear-gradient(to right, transparent 0%, #25282c 50%, transparent 100%);
animation: load 1s infinite cubic-bezier(0.4, 0.0, 0.2, 1);
}
#trailer[src=""] {
display: none;
}
.trailer {
padding-bottom: 56.25%;
}
#episodes>div {
flex: none
}
.ep-title {
background: rgba(31, 38, 49, 0.7);
}
#pageWrapper {
transition: top .4s cubic-bezier(.25, .8, .25, 1);
}
.content-wrapper {
transition: top .4s cubic-bezier(.25, .8, .25, 1);
transition-property: top, height;
}
.modal-dialog {
top: 0 !important
}
#oauth::after {
white-space: pre !important
}
#searchWrapper>div> :nth-child(2),
#searchWrapper button {
transition: transform .2s ease;
will-change: transform;
}
#searchWrapper>div> :nth-child(2):hover {
transform: scale(1.05)
}
#searchWrapper button:hover {
transform: scale(1.15)
}
/* sidebar */
:root {
--sidebar-minimised: 7rem;
--sidebar-width: 22rem
}
.page-wrapper.with-sidebar[data-sidebar-hidden] {
--sidebar-width: var(--sidebar-minimised);
}
@media (max-width: 768px) {
.page-wrapper.with-sidebar[data-sidebar-type~="overlayed-sm-and-down"]>.content-wrapper {
left: var(--sidebar-minimised);
width: calc(100% - var(--sidebar-minimised));
}
}
.page-wrapper.with-sidebar[data-sidebar-hidden]>.content-wrapper {
left: var(--sidebar-width);
width: calc(100% - var(--sidebar-width));
}
.sidebar [data-toggle="tooltip"]::before,
.page-wrapper:not(.with-sidebar[data-sidebar-hidden]) .sidebar [data-toggle="tooltip"]::after {
display: none
}
.page-wrapper.with-sidebar[data-sidebar-hidden]>.sidebar {
left: 0;
}
.page-wrapper.with-sidebar .text {
opacity: 1;
transition: opacity .8s cubic-bezier(.25, .8, .25, 1);
margin-left: 1rem;
display: inline-flex;
justify-content: center;
align-items: center;
font-weight: bold;
}
.page-wrapper.with-sidebar[data-sidebar-hidden] .text {
opacity: 0;
}
.sidebar a>span {
transition: background 0.4s cubic-bezier(.25, .8, .25, 1), color 0.4s cubic-bezier(.25, .8, .25, 1);
color: #fff;
border-radius: 0.3rem;
width: 100%;
height: 100%;
overflow: hidden;
}
.sidebar a:not(.brand):hover>span {
background: #fff;
color: var(--dark-color)
}
.sidebar a {
width: 100%;
font-size: 1.4rem;
padding: 0.75rem 1.5rem;
height: 5.5rem;
}
.sidebar .material-icons {
font-size: 2.2rem;
min-width: 4rem;
width: 4rem;
height: 4rem;
display: inline-flex;
justify-content: center;
align-items: center;
}
.sidebar a:not(.brand) img {
font-size: 2.2rem;
width: 3rem;
height: 3rem;
margin: 0.5rem;
display: inline-flex;
justify-content: center;
align-items: center;
}
.sidebar .menu {
right: 1.5rem;
position: absolute;
}
.sidebar-link img {
height: 3rem;
margin-right: var(--sidebar-brand-image-margin-right);
}
.sidebar .brand {
height: 8rem;
}
.page-wrapper.with-transitions.with-sidebar>.sidebar {
transition: width .4s cubic-bezier(.25, .8, .25, 1), left .4s cubic-bezier(.25, .8, .25, 1);
overflow: visible;
}
.nav-hidden>.sidebar {
left: calc(-1* var(--sidebar-width)) !important;
}
.nav-hidden>.content-wrapper {
left: 0 !important;
width: 100% !important;
}
.sidebar [data-toggle="tooltip"]:not([data-target-breakpoint])::after,
.sidebar [data-toggle="tooltip"]:not([data-target-breakpoint])::after {
transition: opacity 0.3s cubic-bezier(.25, .8, .25, 1), top 0.3s cubic-bezier(.25, .8, .25, 1);
top: 0;
opacity: 0;
font-weight: bold;
box-shadow: var(--dm-shadow) !important;
}
.sidebar [data-toggle="tooltip"]:not([data-target-breakpoint]):hover::after,
.sidebar [data-toggle="tooltip"]:not([data-target-breakpoint]):focus::after {
opacity: 1;
top: 50%
}
/* view */
#viewAnime .banner {
background: no-repeat center center;
background-size: cover;
}
#viewAnime .top {
backdrop-filter: blur(10px);
}
#viewEpisodesWrapper.hidden {
opacity: 0;
height: 0
}
#viewEpisodesWrapper {
opacity: 1;
height: auto;
transition: opacity .2s cubic-bezier(.25, .8, .25, 1);
overflow: hidden;
}
#view .card {
background-color: var(--dm-button-bg-color) !important;
background-image: var(--dm-button-bg-image) !important;
box-shadow: var(--dm-button-box-shadow) !important;
}
#viewAnime .title {
font-size: 4rem
}
#viewAnime .badge {
background-color: var(--dm-button-bg-color) !important;
padding: .6rem 2rem;
font-size: 1.4rem;
border: none;
margin-right: 0.6rem;
}
#viewAnime .movie .duration {
display: flex !important;
}
#viewAnime .movie .episodes,
#viewAnime .movie .dropdown {
display: none !important;
}
#viewPlayback.hidden .btn-group {
display: none;
}