1
0
Fork 0
mirror of https://codeberg.org/ashley/poke.git synced 2024-11-17 04:14:39 -05:00
poke/css/poketube.css

981 lines
22 KiB
CSS

/*
This Source Code Form is subject to the terms of the GNU General Public License:
Copyright (C) 2021-202x POKETUBE (https://codeberg.org/Ashley/poketube)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see https://www.gnu.org/licenses/.
*/
/* latin */
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-stretch: 100%;
src: url(https://p.poketube.fun/https://fonts.bunny.net/montserrat/files/montserrat-latin-500-normal.woff2) format('woff2'), url(https://p.poketube.fun/https://fonts.bunny.net/montserrat/files/montserrat-latin-500-normal.woff) format('woff');
unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* cyrillic */
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-stretch: 100%;
src: url(https://p.poketube.fun/https://fonts.bunny.net/montserrat/files/montserrat-cyrillic-500-normal.woff2) format('woff2'), url(https://p.poketube.fun/https://fonts.bunny.net/montserrat/files/montserrat-cyrillic-500-normal.woff) format('woff');
unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
/* latin-ext */
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-stretch: 100%;
src: url(https://p.poketube.fun/https://fonts.bunny.net/montserrat/files/montserrat-latin-ext-500-normal.woff2) format('woff2'), url(https://p.poketube.fun/https://fonts.bunny.net/montserrat/files/montserrat-latin-ext-500-normal.woff) format('woff');
unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* vietnamese */
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-stretch: 100%;
src: url(https://p.poketube.fun/https://fonts.bunny.net/montserrat/files/montserrat-vietnamese-500-normal.woff2) format('woff2'), url(https://p.poketube.fun/https://fonts.bunny.net/montserrat/files/montserrat-vietnamese-500-normal.woff) format('woff');
unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}
/* cyrillic-ext */
@font-face {
font-family: 'Montserrat';
font-style: normal;
font-weight: 500;
font-stretch: 100%;
src: url(https://p.poketube.fun/https://fonts.bunny.net/montserrat/files/montserrat-cyrillic-ext-500-normal.woff2) format('woff2'), url(https://p.poketube.fun/https://fonts.bunny.net/montserrat/files/montserrat-cyrillic-ext-500-normal.woff) format('woff');
unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
:root {
/* text */
--text-link: #0ab7f0;
--text-link-visited: #00c0ff;
--text-color: #ffffff;
--text-font-primary: "PokeTube Flex";
--text-header-weight: 1000;
/* Divs */
--div-gradient: linear-gradient(
135deg,
#f97794 10%,
#623aa2 100%,
#8e6f7e 100%
);
--div-border-color: #7c44a0;
--div-prim-bg: #1c1c1c;
--div-second-bg: #1a1a1a;
--div-transparent-bg: #0009;
--gutter: 1.67em; /* gutter variable - see line 330 */
/* PTD start */
--video-player-height-max: 720px;
--video-player-width-max: 1280px;
/* poketube color palette */
--ptc-very-red: #ff0000;
--ptc-very-blue: #0000ff;
--ptc-very-green: #00ff00;
--ptc-very-pink: #ff00ff;
--ptc-very-yellow: #ffff00;
--ptc-cyan: #00ffff;
--ptc-href-color: #0ab7f0;
--ptc-transparent: #0009;
--ptc-purple-borders: #7c44a0;
--ptc-gradient: linear-gradient(
135deg,
#f97794 10%,
#623aa2 100%,
#8e6f7e 100%
);
--chip-background-hover: #3f3f3f;
--primary-header-rgb: 38,35,58;
--min-opacity:0;
--ptd-watch-min-player-height: 360px;
--ptd-watch-width-ratio: 16;
--ptd-watch-height-ratio: 9;
--ptd-watch-sidebar-min-width: 300px;
--ptd-grid-base: 103px;
--ptd-margin-base: 4px;
--ptd-avatar-size: 32px;
--ptd-toolbar-height: 56px;
--ptd-button-spacing: 4px;
/* margins */
--ptd-margin-2x: 8px;
--ptd-margin-3x: 12px;
--ptd-margin-4x: 16px;
--ptd-margin-5x: 20px;
--ptd-margin-6x: 24px; /* default */
--ptd-margin-7x: 28px;
--ptd-margin-8x: 32px;
--ptd-margin-9x: 36px;
--ptd-margin-10x: 40px;
--ptd-margin-11x: 44px;
--ptd-margin-12x: 48px;
--ptd-margin-14x: 56px;
--ptd-margin-16x: 64px;
--ptd-margin-17x: 68px;
--ptd-margin-24x: 96px;
--ptd-margin-25x: 100px;
--ptd-margin-35x: 140px;
--ptd-neg-margin-base: -4px;
--ptd-neg-margin-2x: -8px;
--ptd-neg-margin-3x: -12px;
--ptd-neg-margin-4x: -16px;
--ptd-neg-margin-5x: -20px;
--ptd-neg-margin-6x: -24px;
--ptd-neg-margin-7x: -28px;
--ptd-neg-margin-8x: -32px;
--ptd-neg-margin-10x: -40px;
--ptd-neg-margin-11x: -44px;
--ptd-neg-margin-12x: -48px;
--ptd-neg-margin-14x: -56px;
--ptd-neg-margin-16x: -64px;
--ptd-neg-margin-24x: -96px;
--ptd-neg-margin-25x: -100px;
}
a.class:hover {
text-decoration: underline;
font-weight: bold;
}
summary {
color: gray;
}
summary:hover {
color: white;
}
:visited {
color: var(--text-link-visited);
}
a {
color: var(--text-link);
}
a.avatar {
height: 36px;
margin-left: 6px;
font-size: 0;
}
.video-chnl-info-pill > a:first-child {
margin-right: -8px;
}
.video-info-buttons.pill > .engagement {
margin-right: 2px;
}
.video-info-buttons.pill > div:nth-child(2) > .new-button,
.button-encryption {
margin-right: 2px;
}
.video > .info > .title {
font-family: var(--text-font-primary);
width: 10em;
}
.dropdown__menu > a {
text-decoration: none;
}
.video-info-panel > .video-title > a {
white-space: nowrap;
color: chartreuse;
}
.video-info-panel > .video-title {
text-overflow: ellipsis;
overflow: hidden;
max-width: max-content;
display: -webkit-box;
word-break: break-all;
font-family: var(--text-font-primary) !important;
font-stretch: expanded;
font-weight: 850 !important;
}
.video-sub-info.description {
box-sizing: border-box;
min-width: 100%;
font-weight: 600;
margin-top: 1em !important;
border-radius: 21px;
margin-bottom: 0.1em;
font-stretch: expanded;
justify-self: center;
font-family: var(--text-font-primary);
border-style: solid;
}
.video-sub-info.description > .video-title {
font-family: var(--text-font-primary);
font-weight: 1000;
font-stretch: extra-expanded;
font-size: larger;
}
.recommended-list {
background-color: var(--div-prim-bg);
border-radius: 1.5em;
/* padding-right: 24px; */
margin: 10px;
margin-top: 0;
margin-left: 0;
height: -moz-fit-content;
height: fit-content;
/* justify-self: center; */
margin-right: -.9em;
border: var(--div-border-color);
border-style: solid;
max-width: 371px;
width: 20.9em;
}
.video-views {
white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: pre-wrap; /* css-3 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
white-space: -webkit-pre-wrap; /* Newer versions of Chrome/Safari*/
word-break: break-all;
white-space: normal;
}
.video-info-panel.gradient {
padding: 12px;
border-radius: 11px;
background-image: var(--div-gradient) !important;
display: block;
box-sizing: border-box;
min-width: 100%;
}
.video-info-pill-channelname {
color: #fff;
word-wrap: break-word;
font-family: var(--text-font-primary);
font-weight: 1000;
font-stretch: ultra-expanded;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 3;
line-clamp: 3;
-webkit-box-orient: vertical;
display: block ruby;
text-overflow: ellipsis;
max-width: 7em;
white-space: nowrap;
}
.comment-list.left-padding {
transition-duration: 150ms;
}
.comment-list.left-padding:hover {
filter: drop-shadow(0 0 0.75rem var(--text-link));
transition-duration: 150ms;
}
.comments-author.owner {
margin: 5px;
font-family: var(--text-font-primary);
font-weight: 1000;
font-stretch: ultra-expanded;
white-space: -moz-pre-wrap !important;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
white-space: pre-wrap;
word-wrap: anywhere;
white-space: -webkit-pre-wrap;
word-break: break-all;
white-space: normal;
background: #4a4a4a;
padding: 4px;
border-radius: 6px;
width: auto;
height: 1.2em;
justify-self: center;
}
.video-chnl-info-pill {
border: 1px solid var(--border-color);
border-radius: 4px;
display: grid;
grid-template-columns: 48px max-content 1fr min-content;
grid-template-rows: 16px 16px;
grid-auto-columns: 1fr;
column-gap: 8px;
row-gap: 4px;
grid-auto-flow: row;
grid-template-areas: "avatar name . subscribe-button" "avatar subs . subscribe-button";
padding: 8px;
border-radius: 35px;
font-family: Inter;
clear: both;
margin-top: 1.1em;
padding: 5px 0;
background: #0009;
margin-right: -13px;
width: fit-content;
height: fit-content;
width: -moz-fit-content;
height: -moz-fit-content;
border-radius: 43px;
font-size: 15px;
margin-right: auto;
display: flex;
border: none;
}
.video-info-buttons.pill {
border-radius: 16px;
padding: 4px;
border-style: none;
min-height: 34px;
grid-area: buttons;
display: flex;
flex-direction: row;
column-gap: var(--ptd-button-spacing);
height: min-content;
width: -moz-fit-content;
width: fit-content;
text-align: right;
margin-left: auto;
margin-right: inherit;
justify-content: center;
justify-items: center;
justify-self: center;
margin-top: -2.9em;
font-family: var(--text-font-primary);
font-stretch: expanded;
}
.comments-author {
margin: 7px;
font-family: var(--text-font-primary);
font-weight: 1000;
font-stretch: ultra-expanded;
white-space: -moz-pre-wrap !important;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
white-space: pre-wrap;
word-wrap: anywhere;
white-space: -webkit-pre-wrap;
word-break: break-all;
white-space: normal;
}
.comments-class-or-something-i-cant-find-a-name-lol {
background: var(--div-prim-bg);
border-radius: 1.5em;
padding: 10px;
padding-top: 0;
margin: auto;
border: var(--div-border-color);
border-style: solid;
}
.subscribe-button {
color: red;
margin: auto;
background: white;
border-radius: 2em;
margin-right: 6px;
text-transform: initial;
}
.subscribe-button > a {
color: black !important;
font-family: var(--text-font-primary);
font-stretch: ultra-expanded;
font-weight: 900;
text-decoration: none;
}
.video > .thumbnail > .video-length {
font-size: smaller;
background-color: #0008;
color: #fff;
padding: 2px;
border-radius: 3px;
font-family: var(--text-font-primary);
font-stretch: 100%;
font-weight: 600;
}
.comment {
font-family: var(--text-font-primary);
font-stretch: expanded;
font-weight: 600 !important;
}
.tags {
display: flex;
flex-direction: row;
overflow-x: auto;
column-gap: 3px;
}
.tag {
background: #333;
padding: 5px;
border-radius: 4px;
word-break: break-all;
white-space: nowrap;
font-family: "Montserrat", sans-serif;
}
.new-button {
background: #0009;
border-radius: 2em;
padding-right: 1em;
display: flex;
justify-content: center;
align-items: center;
align-content: center;
align-self: center;
}
.pill-button {
margin-left: 1em;
}
.vertical {
border-left: 1px solid gray;
height: 15px;
}
.date-publish {
margin: 0;
margin-top: 0px;
margin-top: 12px;
font-size: small;
color: gray !important;
white-space: nowrap;
}
.video > .thumbnail {
border: 1px white solid;
}
.video:hover > .thumbnail {
border: 1px var(--text-link) solid;
transition-duration: 150ms;
}
.video-player-container {
margin: inherit;
max-width: 100%;
min-width: 100%;
width: 100%;
max-height: 100%;
aspect-ratio: var(--ptd-watch-width-ratio) / var(--ptd-watch-height-ratio);
}
.watch-page {
display: flex;
gap: var(--gutter);
margin-inline: var(--gutter);
}
@media screen and (min-width: 1400px) {
.watch-page {
max-width: calc(1280px + 3 * var(--ptd-margin-6x));
min-width: calc(
var(--ptd-watch-min-player-height) * var(--ptd-watch-width-ratio) /
var(--ptd-watch-height-ratio) + 3 * var(--ptd-margin-6x) +
var(--ptd-watch-sidebar-min-width)
);
justify-content: center;
margin-left: auto;
margin-right: auto;
gap: var(--gutter);
}
}
.description-new {
grid-area: description;
font-size: 1rem;
color: var(--text-primary);
background: var(--div-prim-bg);
padding: 16px;
border-radius: 1.5em;
border: var(--div-border-color);
border-style: solid;
}
.dropdown {
position: relative;
display: flex;
}
.dropdown > input[type="checkbox"] {
display: none;
}
.dropdown > label {
width: 100%;
height: 100%;
margin: -8px;
padding: 8px;
display: flex;
align-items: center;
justify-content: center;
}
.dropdown__menu {
position: absolute;
z-index: 999;
display: none;
margin-right: 4em;
top: 40px;
padding: 6px 0;
margin: 0;
width: 300px;
border-radius: 8px;
font-family: "Montserrat", sans-serif;
box-shadow: var(--border-color) 0 0 5px;
background-color: var(--context-menu-background);
}
.dropdown__item {
display: flex;
flex-direction: row;
align-items: center;
padding: 0 16px;
padding-left: 16px;
height: 40px;
column-gap: 16px;
color: var(--text-primary);
text-decoration: none;
font-weight: 500;
}
.dropdown__item:hover {
background-color: var(--chip-background-hover);
}
.dropdown__item:active {
background-color: var(--chip-background-active);
}
.dropdown > input[type="checkbox"]:checked ~ div,
.dropdown__menu:target {
display: block;
}
.dropdown-button {
position: relative;
display: flex;
}
.dropdown-button > input[type="checkbox"] {
display: none;
}
.dropdown-button > label {
width: 100%;
height: 100%;
padding: 8px;
display: flex;
align-items: center;
justify-content: center;
}
.dropdown-button__menu {
position: absolute;
z-index: 999;
display: none;
margin-right: 4em;
top: 40px;
padding: 6px 0;
margin: 0;
width: 300px;
border-radius: 8px;
box-shadow: var(--border-color) 0 0 5px;
background-color: var(--context-menu-background);
}
.dropdown-button__item {
display: flex;
flex-direction: row;
align-items: center;
padding: 0 16px;
height: 40px;
column-gap: 16px;
color: var(--text-primary);
text-decoration: none;
}
.dropdown-button__item:hover {
background-color: var(--chip-background-hover);
}
.dropdown-button__item:active {
background-color: var(--chip-background-active);
}
.dropdown-button-button > input[type="checkbox"]:checked ~ div,
.dropdown-button-button__menu:target {
display: block;
}
label[for="loggedout-dropdown"] {
cursor: pointer;
}
.new-button.engagement:hover {
background-color: #0009;
}
div.new-button:hover {
background-color: #0008;
}
a.new-button:hover {
background-color: #0008;
}
.subscribe-button:hover {
animation: animateBg 2s infinite linear;
background-color: #fff;
background-image: linear-gradient(90deg, #da3287, #ffde5e, #da3287, #ffde5e);
background-size: 300% 100%;
box-shadow: 0 3px 14px #000;
cursor: pointer;
}
@keyframes animateBg {
0% {
background-position: 0 0;
}
100% {
background-position: 100% 0;
}
}
@media screen and (max-width: 1340px) {
.new-button.button-encryption {
display: none;
}
.new-button.button-lite {
display: none;
}
.new-button.button-dropdown {
display: none;
}
}
@media screen and (min-width: 1340px) {
.new-button.button-encryption {
display: flex;
}
.new-button.button-lite {
display: flex;
}
.new-button.button-dropdown {
display: none;
}
}
.stats-for-nerds {
color: var(--text-color);
font-family: var(--text-font-primary);
font-weight: var(--text-header-weight);
font-stretch: extra-expanded;
margin-top: 10px;
margin-bottom: 10px;
font-size: 19.2px;
}
.div_box {
display: none;
}
.v:checked~.div_box {
display:flex;
margin-top:-51em;
text-align:left;
background:#0009;
border-radius:10px;
height:fit-content;
padding:10px;
font-family:ubuntu,sans-serif;
width:43em;
position:absolute;
white-space:-moz-pre-wrap!important;
white-space:-pre-wrap;
white-space:-o-pre-wrap;
white-space:pre-wrap;
word-wrap:break-word;
white-space:-webkit-pre-wrap;
word-break:break-all;
white-space:normal;
height:-moz-fit-content;
height:-webkit-fit-content;
max-width:708px;
max-height:185.6px;
margin-right: 13em;
}
@media screen and (min-width: 1400px) {
.v:checked ~ .div_box {
display: flex;
margin-top: -54em;
margin-left: -14em;
}
}
.checkbox:checked + .fnt {
font-weight: 900;
}
@media screen and (max-width: 1340px) {
.h {
display: none;
}
.div_box {
display: none !important;
}
}
.flying_cmnt {
display: none;
}
.pwp {
display: flex;
align-items: center;
justify-content: end;
gap: 6px;
padding: 16px 0px;
}
.pwp a, .fnt {
background: #452f37;
border-radius: 6px;
display: flex;
align-items: center;
gap: 12px;
padding: 6px 12px;
color: white;
}
.hj:checked ~ .flying_cmnt {
display: grid;
position: absolute;
max-height: 72em;
margin-top: -31em;
margin-left: auto;
width: 68em;
margin-right: auto;
white-space: -moz-pre-wrap !important;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
white-space: pre-wrap;
word-wrap: break-word;
white-space: -webkit-pre-wrap;
word-break: break-all;
white-space: normal;
max-width: 913px;
}
marquee {
margin-top: 19px;
font-family: var(--text-font-primary);
font-stretch: extra-expanded;
font-weight: 900;
}
.mini {
display:none;
}
@media screen and (max-height: 840px) {
.video-player-container {
max-height: 10% !important;
}
}
#video:target {
object-fit:contain;
}
#secret-theme:target{
background: linear-gradient(180deg, #5BCEFA 20%, #F5A9B8 20%, 40%, #FFFFFF 40%, 60%, #F5A9B8 60%, 80%, #5BCEFA 80%);
}
.hj:hover {
cursor: pointer;
}
.h:hover {
cursor: pointer;
}
.hj {
display: none;
}
.tags.rec {
margin-bottom: -1.3em;
font-weight: 600;
font-stretch: expanded;
overflow:hidden;
font-family: var(--text-font-primary);
margin-right: auto;
width: auto;
max-width: 21em;
}
.tags.rec:hover{
overflow-x:auto;
}
.tags.rec > .tag {
border-radius: 8px;
}
.video > .info {
font-family: "Montserrat", sans-serif;
font-weight: 500;
}
/* Width */
.w-100 {
width: 100%;
}
/* Position */
.p-relative { position: relative; }
.p-absolute { position: absolute; }
/* Background */
.bg-none { background: none !important; }
/* Overflow + Text */
.o-hidden { overflow: hidden; }
.o-visible { overflow: visible; }
.o-auto { overflow: auto; }
.t-overflow { width: 97%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; float: left; }
/* Line height */
.l-100 { line-height: 100%; }
/* Display */
.d-block { display: block; }
/* Shadow */
.t-s-0 { text-shadow: none; }
.b-s-0 { box-shadow: none; }
/* Border */
.b-0 { border: 0; }
/* Font */
.f-bold { font-weight: bold; }
/* Paddings */
.p-0 { padding: 0 !important; }
.p-5 { padding: 5px !important; }
.p-10 { padding: 10px !important; }
.p-15 { padding: 15px !important; }
.p-20 { padding: 20px !important; }
.p-t-0 { padding-top: 0 !important; }
.p-t-5 { padding-top: 5px !important; }
.p-t-10 { padding-top: 10px !important; }
.p-t-15 { padding-top: 15px !important; }
.p-t-20 { padding-top: 20px !important; }
.p-b-0 { padding-bottom: 0 !important; }
.p-b-5 { padding-bottom: 5px !important; }
.p-b-10 { padding-bottom: 10px !important; }
.p-b-15 { padding-bottom: 15px !important; }
.p-b-20 { padding-bottom: 20px !important; }
.p-l-0 { padding-left: 0 !important; }
.p-l-5 { padding-left: 5px !important; }
.p-l-10 { padding-left: 10px !important; }
.p-l-15 { padding-left: 15px !important; }
.p-l-20 { padding-left: 20px !important; }
.p-r-0 { padding-right: 0 !important; }
.p-r-5 { padding-right: 5px !important; }
.p-r-10 { padding-right: 10px !important; }
.p-r-15 { padding-right: 15px !important; }
.p-r-20 { padding-right: 20px !important; }
/* Margin */
.m-0 { margin: 0 !important; }
.m-5 { margin: 5px !important; }
.m-10 { margin: 10px !important; }
.m-15 { margin: 15px !important; }
.m-20 { margin: 20px !important; }
.m-t-0 { margin-top: 0 !important; }
.m-t-5 { margin-top: 5px !important; }
.m-t-10 { margin-top: 10px !important; }
.m-t-15 { margin-top: 15px !important; }
.m-t-20 { margin-top: 20px !important; }
.m-b-0 { margin-bottom: 0 !important; }
.m-b-5 { margin-bottom: 5px !important; }
.m-b-10 { margin-bottom: 10px !important; }
.m-b-15 { margin-bottom: 15px !important; }
.m-b-20 { margin-bottom: 20px !important; }
.m-b-25 { margin-bottom: 25px !important; }
.m-l-0 { margin-left: 0 !important; }
.m-l-5 { margin-left: 5px !important; }
.m-l-10 { margin-left: 10px !important; }
.m-l-15 { margin-left: 15px !important; }
.m-l-20 { margin-left: 20px !important; }
.m-r-0 { margin-right: 0 !important; }
.m-r-5 { margin-right: 5px !important; }
.m-r-10 { margin-right: 10px !important; }
.m-r-15 { margin-right: 15px !important; }
.m-r-20 { margin-right: 20px !important; }