poke/css/poketube.css
2023-01-14 08:01:40 +00:00

682 lines
14 KiB
CSS

/*
This Source Code Form is subject to the terms of the GNU General Public License:
Copyright (C) 2021-202x POKETUBE (https://github.com/iamashley0/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/.
*/
: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;
--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;
}
.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;
margin: 10px;
margin-top: 0px;
margin-left: 0px;
height: -moz-fit-content;
height: fit-content;
justify-self: center;
margin-right: -0.9em;
/* width: min-content;*/
border: var(--div-border-color);
border-style: solid;
max-width: 371px;
width: max-content;
}
.video-views {
white-space: nowrap;
}
.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;
text-overflow: ellipsis;
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;
}
.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: 2em;
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;
}
.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;
}
.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-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.2em;
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;
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;
height: 40px;
column-gap: 16px;
color: var(--text-primary);
text-decoration: none;
}
.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;
}
@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;
}
.pwp > input[type="checkbox"]:checked ~ div,
.div_box:target {
display: flex;
margin-top: -51em;
text-align: left;
background: #0009;
border-radius: 10px;
height: fit-content;
padding: 10px;
margin-left: -11em;
width: 43em;
position: absolute;
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;
height: -moz-fit-content;
height: -webkit-fit-content;
max-width: 708px;
max-height: 185.6px;
}
@media screen and (min-width: 1400px) {
.pwp > input[type="checkbox"]:checked ~ div,
.div_box:target {
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;
}
}