invidious/assets/css/default.css

802 lines
14 KiB
CSS
Raw Permalink Normal View History

2023-04-24 17:44:15 +00:00
/*
* Common attributes
*/
html,
body {
2019-08-17 01:06:21 +00:00
font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", Roboto, Oxygen,
Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica,
Arial, sans-serif;
}
#contents {
display: flex;
flex-direction: column;
2021-04-09 14:29:18 +00:00
min-height: 100vh;
margin: auto;
}
2023-04-24 17:44:15 +00:00
.h-box {
padding-left: 1em;
padding-right: 1em;
}
.v-box {
padding-top: 1em;
padding-bottom: 1em;
}
.deleted {
background-color: rgb(255, 0, 0, 0.5);
}
.underlined {
border-bottom: 1px solid;
margin-bottom: 20px;
}
2023-04-24 17:44:15 +00:00
.title {
margin: 0.5em 0 1em 0;
}
/* A flex container */
.flexible {
display: flex;
align-items: center;
}
.flex-left {
display: flex;
flex: 1 1 auto;
flex-flow: row wrap;
justify-content: flex-start;
}
.flex-right {
display: flex;
flex: 2 0 auto;
flex-flow: row nowrap;
justify-content: flex-end;
}
/*
* Channel page
*/
.channel-profile > * {
font-size: 1.17em;
font-weight: bold;
vertical-align: middle;
border-radius: 50%;
}
.channel-profile > img {
2019-07-01 17:08:29 +00:00
width: 48px;
height: auto;
}
2020-11-17 23:10:32 +00:00
body a.channel-owner {
2019-02-21 23:43:49 +00:00
background-color: #008bec;
2019-02-02 23:13:40 +00:00
color: #fff;
border-radius: 9px;
padding: 1px 6px;
}
.creator-heart-container {
2019-02-21 23:43:49 +00:00
display: inline-block;
padding: 0px 7px 6px 0px;
margin: 0px -7px -4px 0px;
}
.creator-heart {
display: inline-block;
2019-02-21 23:43:49 +00:00
position: relative;
width: 16px;
height: 16px;
border: 2px none;
}
.creator-heart-background-hearted {
2019-02-21 23:43:49 +00:00
width: 16px;
height: 16px;
padding: 0px;
position: relative;
}
.creator-heart-small-hearted {
2019-02-21 23:43:49 +00:00
position: absolute;
right: -7px;
bottom: -4px;
}
.creator-heart-small-container {
display: block;
2019-02-21 23:43:49 +00:00
position: relative;
width: 13px;
height: 13px;
color: rgb(255, 0, 0);
}
.feed-menu {
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.feed-menu-item {
text-align: center;
}
@media screen and (max-width: 640px) {
.feed-menu-item {
flex: 0 0 40%;
}
}
2018-04-17 20:53:12 +00:00
div {
overflow-wrap: break-word;
word-wrap: break-word;
}
.loading {
2019-03-20 14:20:31 +00:00
display: inline-block;
animation: spin 2s linear infinite;
}
2018-10-08 02:11:33 +00:00
.playlist-restricted {
height: 20em;
padding-right: 10px;
}
2023-04-20 16:55:35 +00:00
/*
* Buttons
*/
2020-11-17 23:10:32 +00:00
body a.pure-button {
color: rgba(0,0,0,.8);
}
button.pure-button-primary,
2020-11-17 23:10:32 +00:00
body a.pure-button-primary,
2023-03-23 22:10:53 +00:00
.channel-owner:hover,
.channel-owner:focus {
2018-10-20 18:47:20 +00:00
background-color: #a0a0a0;
color: rgba(35, 35, 35, 1);
}
2023-04-20 16:55:35 +00:00
.pure-button-primary,
.pure-button-secondary {
border: 1px solid #a0a0a0;
border-radius: 3px;
margin: 0 .4em;
}
.pure-button-secondary.low-profile {
padding: 5px 10px;
margin: 0;
2023-04-20 16:55:35 +00:00
}
2023-04-24 17:44:15 +00:00
/* Has to be combined with flex-left/right */
.button-container {
flex-flow: wrap;
gap: 0.5em 0.75em;
}
2023-04-20 16:55:35 +00:00
/*
2023-04-24 17:44:15 +00:00
* Video thumbnails
2023-04-20 16:55:35 +00:00
*/
div.thumbnail {
position: relative;
width: 100%;
2019-03-23 15:24:52 +00:00
box-sizing: border-box;
}
img.thumbnail {
display: block; /* See: https://stackoverflow.com/a/11635197 */
width: 100%;
2019-08-17 01:06:21 +00:00
object-fit: cover;
aspect-ratio: 16 / 9;
}
.thumbnail-placeholder {
min-height: 50px;
border: 2px dotted;
}
div.watched-overlay {
z-index: 50;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(255,255,255,.4);
2022-11-07 19:03:23 +00:00
}
div.watched-indicator {
position: absolute;
left: 0;
bottom: 0;
height: 4px;
width: 100%;
background-color: red;
}
div.thumbnail > .top-left-overlay,
div.thumbnail > .bottom-right-overlay {
z-index: 100;
position: absolute;
padding: 0;
margin: 0;
font-size: 16px;
}
.top-left-overlay { top: 0.6em; left: 0.6em; }
.bottom-right-overlay { bottom: 0.6em; right: 0.6em; }
.length {
padding: 1px;
margin: -2px 0;
color: #fff;
border-radius: 3px;
}
.length, .top-left-overlay button {
color: #eee;
background-color: rgba(35, 35, 35, 0.85) !important;
}
2023-04-20 16:55:35 +00:00
/*
* Navbar
*/
.navbar {
margin: 1em 0;
display: flex; /* this is also defined in framework, but in case of future changes */
align-items: center;
justify-content: space-between;
}
.navbar > div {
flex: 1;
}
.searchbar {
flex-grow: 2; /* take double the space of the other items */
}
.navbar a {
padding: 0; /* this way it will stay aligned with content under */
}
.navbar .index-link {
font-weight: bold;
display: inline;
}
.searchbar .pure-form fieldset { padding: 0; }
2019-08-01 07:35:57 +00:00
.searchbar input[type="search"] {
width: 100%;
margin: 1px;
border: 1px solid;
2022-06-05 22:00:20 +00:00
border-color: rgba(0,0,0,0);
border-bottom-color: #CCC;
border-radius: 0;
box-shadow: none;
2023-03-23 22:10:53 +00:00
appearance: none;
-webkit-appearance: none;
}
.searchbar input[type="search"]:focus {
margin: 0;
border: 2px solid;
2022-06-05 22:00:20 +00:00
border-color: rgba(0,0,0,0);
border-bottom-color: #FED;
}
2019-03-26 22:45:39 +00:00
/* https://stackoverflow.com/a/55170420 */
input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none;
height: 14px;
width: 14px;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAn0lEQVR42u3UMQrDMBBEUZ9WfQqDmm22EaTyjRMHAlM5K+Y7lb0wnUZPIKHlnutOa+25Z4D++MRBX98MD1V/trSppLKHqj9TTBWKcoUqffbUcbBBEhTjBOV4ja4l4OIAZThEOV6jHO8ARXD+gPPvKMABinGOrnu6gTNUawrcQKNCAQ7QeTxORzle3+sDfjJpPCqhJh7GixZq4rHcc9l5A9qZ+WeBhgEuAAAAAElFTkSuQmCC);
background-size: 14px;
}
.user-field {
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: center;
}
.user-field div {
2022-06-05 22:00:20 +00:00
width: auto;
}
.user-field div:not(:last-child) {
margin-right: 1em;
}
2023-04-24 17:44:15 +00:00
/*
* Responsive rules
*/
2019-03-12 15:12:47 +00:00
@media only screen and (max-aspect-ratio: 16/9) {
.player-dimensions.vjs-fluid {
padding-top: 46.86% !important;
}
#player-container {
padding-bottom: 46.86% !important;
}
}
@media screen and (max-width: 767px) {
.navbar {
flex-direction: column;
}
.navbar > div {
display: flex;
justify-content: center;
2023-04-24 17:44:15 +00:00
margin-bottom: 25px;
}
.navbar > .searchbar > form {
2023-04-24 17:44:15 +00:00
width: 75%;
}
2019-05-28 15:04:04 +00:00
h1 {
font-size: 1.25em;
margin: 0.42em 0;
}
2023-04-24 17:44:15 +00:00
/* Space out the subscribe & RSS buttons and align them to the left */
.title.flexible { display: block; }
.title.flexible > .flex-right { margin: 0.75em 0; justify-content: flex-start; }
/* Space out buttons to make them easier to tap */
.user-field { font-size: 125%; }
.user-field > :not(:last-child) { margin-right: 1.75em; }
.icon-buttons { font-size: 125%; }
.icon-buttons > :not(:last-child) { margin-right: 0.75em; }
}
@media screen and (max-width: 320px) {
.navbar > .searchbar > form {
width: 100%;
margin: 0 1em;
}
}
/*
* Video "cards" (results/playlist/channel videos)
*/
.video-card-row { margin: 15px 0; }
p.channel-name { margin: 0; }
p.video-data { margin: 0; font-weight: bold; font-size: 80%; }
/*
* Comments & community posts
*/
2023-07-19 19:35:22 +00:00
.comments {
max-width: 800px;
margin: auto;
}
/*
* We don't want the top and bottom margin on the post page.
*/
.comments.post-comments {
margin-bottom: 0;
margin-top: 0;
}
.video-iframe-wrapper {
position: relative;
height: 0;
padding-bottom: 56.25%;
}
.video-iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: none;
}
2023-04-20 16:55:35 +00:00
/*
* Page navigation
*/
.page-nav-container { margin: 15px 0 30px 0; }
.page-prev-container { text-align: start; }
.page-next-container { text-align: end; }
.page-prev-container,
.page-next-container {
display: inline-block;
}
2019-03-26 22:45:39 +00:00
/*
* Footer
*/
2021-04-06 10:45:54 +00:00
footer {
margin-top: auto;
padding: 1.5em 0;
text-align: center;
max-height: 30vh;
}
2023-09-24 07:08:16 +00:00
.light-theme footer {
color: #7c7c7c;
}
2023-09-19 06:15:44 +00:00
.dark-theme footer {
color: #adadad;
}
.light-theme footer a {
color: #7c7c7c !important;
}
.dark-theme footer a {
color: #adadad !important;
}
footer span {
margin: 4px 0;
display: block;
}
/* keyframes */
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
2018-08-03 23:26:12 +00:00
2019-05-11 16:09:45 +00:00
fieldset > select,
span > select {
color: rgba(49, 49, 51, 1);
}
2019-03-04 20:14:24 +00:00
.pure-control-group label {
word-wrap: normal;
}
2023-04-20 16:55:35 +00:00
/*
* Light theme
*/
.light-theme a:hover,
2021-03-13 18:57:27 +00:00
.light-theme a:active,
2023-03-23 22:10:53 +00:00
.light-theme summary:hover,
.light-theme a:focus,
.light-theme summary:focus {
color: #075A9E !important;
}
.light-theme .pure-button-primary:hover,
.light-theme .pure-button-primary:focus,
.light-theme .pure-button-secondary:hover,
.light-theme .pure-button-secondary:focus {
2020-12-14 13:15:03 +00:00
color: #fff !important;
border-color: rgba(0, 182, 240, 0.75) !important;
background-color: rgba(0, 182, 240, 0.75) !important;
}
.light-theme .pure-button-secondary:not(.low-profile) {
color: #335d7a;
background-color: #fff2;
2020-12-14 13:15:03 +00:00
}
.light-theme a {
color: #335d7a;
text-decoration: none;
}
/* All links that do not fit with the default color goes here */
.light-theme a:not([data-id]) > .icon,
.light-theme .pure-u-lg-1-5 > .h-box > a[href^="/watch?"],
.light-theme .playlist-restricted > ol > li > a {
color: #303030;
}
2020-11-17 23:10:32 +00:00
.light-theme .pure-menu-heading {
color: #565d64;
}
@media (prefers-color-scheme: light) {
.no-theme a:hover,
2021-03-13 18:57:27 +00:00
.no-theme a:active,
2023-03-23 22:10:53 +00:00
.no-theme summary:hover,
.no-theme a:focus,
.no-theme summary:focus {
color: #075A9E !important;
}
.no-theme .pure-button-primary:hover,
.no-theme .pure-button-primary:focus,
.no-theme .pure-button-secondary:hover,
.no-theme .pure-button-secondary:focus {
2020-12-14 13:15:03 +00:00
color: #fff !important;
border-color: rgba(0, 182, 240, 0.75) !important;
background-color: rgba(0, 182, 240, 0.75) !important;
}
.no-theme .pure-button-secondary:not(.low-profile) {
color: #335d7a;
background-color: #fff2;
2020-12-14 13:15:03 +00:00
}
.no-theme a {
color: #335d7a;
text-decoration: none;
}
/* All links that do not fit with the default color goes here */
.no-theme a:not([data-id]) > .icon,
.no-theme .pure-u-lg-1-5 > .h-box > a[href^="/watch?"],
.no-theme .playlist-restricted > ol > li > a {
color: #303030;
}
2020-11-17 23:10:32 +00:00
2023-09-19 06:15:44 +00:00
.no-theme footer {
color: #7c7c7c;
}
.no-theme footer a {
color: #7c7c7c !important;
}
2020-11-17 23:10:32 +00:00
.light-theme .pure-menu-heading {
color: #565d64;
}
}
2023-04-20 16:55:35 +00:00
/*
* Dark theme
*/
.dark-theme a:hover,
2021-03-13 18:57:27 +00:00
.dark-theme a:active,
2023-03-23 22:10:53 +00:00
.dark-theme summary:hover,
.dark-theme a:focus,
.dark-theme summary:focus {
color: rgb(0, 182, 240);
}
.dark-theme .pure-button-primary:hover,
.dark-theme .pure-button-primary:focus,
.dark-theme .pure-button-secondary:hover,
.dark-theme .pure-button-secondary:focus {
color: #fff !important;
border-color: rgb(0, 182, 240) !important;
background-color: rgba(0, 182, 240, 1) !important;
}
.dark-theme .pure-button-secondary {
background-color: #0002;
color: #ddd;
}
.dark-theme a {
2023-09-14 17:37:35 +00:00
color: #adadad;
text-decoration: none;
}
body.dark-theme {
background-color: rgba(35, 35, 35, 1);
color: #f0f0f0;
}
.dark-theme .pure-form legend {
color: #f0f0f0;
}
.dark-theme .pure-menu-heading {
color: #f0f0f0;
}
.dark-theme input,
.dark-theme select,
.dark-theme textarea {
color: rgba(35, 35, 35, 1);
}
.dark-theme .pure-form input[type="file"] {
color: #f0f0f0;
}
.dark-theme .searchbar input {
background-color: inherit;
color: inherit;
}
@media (prefers-color-scheme: dark) {
.no-theme a:hover,
2023-03-23 22:10:53 +00:00
.no-theme a:active,
.no-theme a:focus {
color: rgb(0, 182, 240);
}
.no-theme .pure-button-primary:hover,
.no-theme .pure-button-primary:focus,
.no-theme .pure-button-secondary:hover,
.no-theme .pure-button-secondary:focus {
color: #fff !important;
border-color: rgb(0, 182, 240) !important;
background-color: rgba(0, 182, 240, 1) !important;
}
.no-theme .pure-button-secondary {
background-color: #0002;
color: #ddd;
}
.no-theme a {
2023-09-18 05:14:34 +00:00
color: #adadad;
text-decoration: none;
}
body.no-theme {
background-color: rgba(35, 35, 35, 1);
color: #f0f0f0;
}
.no-theme .pure-form legend {
color: #f0f0f0;
}
.no-theme .pure-menu-heading {
color: #f0f0f0;
}
.no-theme input,
.no-theme select,
.no-theme textarea {
color: rgba(35, 35, 35, 1);
}
.no-theme .pure-form input[type="file"] {
color: #f0f0f0;
}
.no-theme .searchbar input {
background-color: inherit;
color: inherit;
}
2023-09-19 06:15:44 +00:00
.no-theme footer {
color: #adadad;
}
.no-theme footer a {
color: #adadad !important;
}
}
2023-04-20 16:55:35 +00:00
/*
* Miscellanous
*/
2021-04-07 07:09:38 +00:00
/*With commit d9528f5 all contents of the page is now within a flexbox. However,
the hr element is rendered improperly within one.
See https://stackoverflow.com/a/34372979 for more info */
hr {
margin: 10px 0 10px 0;
2021-04-07 07:09:38 +00:00
}
2021-04-02 08:03:26 +00:00
/* Description Expansion Styling*/
2023-01-16 12:58:05 +00:00
#descexpansionbutton,
2023-01-21 23:12:04 +00:00
#music-desc-expansion {
display: none;
2021-04-02 08:03:26 +00:00
}
2023-01-21 23:12:04 +00:00
#descexpansionbutton ~ div {
2021-04-02 08:03:26 +00:00
overflow: hidden;
2023-03-28 08:30:52 +00:00
}
#descexpansionbutton:not(:checked) ~ div {
max-height: 8.3em;
2021-04-02 08:03:26 +00:00
}
2023-01-21 23:12:04 +00:00
#descexpansionbutton:checked ~ div {
2021-04-02 08:03:26 +00:00
overflow: unset;
height: 100%;
}
2023-01-21 23:12:04 +00:00
#descexpansionbutton ~ label {
2021-04-02 08:03:26 +00:00
order: 1;
margin-top: 20px;
}
2023-01-16 12:58:05 +00:00
label[for="descexpansionbutton"]:hover,
2023-01-21 23:12:04 +00:00
label[for="music-desc-expansion"]:hover {
cursor: pointer;
}
/* Bidi (bidirectional text) support */
2023-04-24 17:44:15 +00:00
h1, h2, h3, h4, h5, p,
#descriptionWrapper,
2023-01-16 12:58:05 +00:00
#description-box,
2023-01-21 23:12:04 +00:00
#music-description-box {
2023-01-16 12:58:05 +00:00
unicode-bidi: plaintext;
text-align: start;
}
#descriptionWrapper {
2023-01-16 12:58:05 +00:00
max-width: 600px;
white-space: pre-wrap;
}
2023-01-21 23:12:04 +00:00
#music-description-box {
display: none;
}
#music-desc-expansion:checked ~ #music-description-box {
display: block;
}
#music-desc-expansion ~ label > h3 > .ion-ios-arrow-up,
#music-desc-expansion:checked ~ label > h3 > .ion-ios-arrow-down {
display: none;
}
#music-desc-expansion:checked ~ label > h3 > .ion-ios-arrow-up,
#music-desc-expansion ~ label > h3 > .ion-ios-arrow-down {
display: inline;
2023-01-16 12:58:05 +00:00
}
2023-01-21 23:12:04 +00:00
/* Select all the music items except the first one */
.music-item + .music-item {
border-top: 1px solid #ffffff;
}
/* Center the "invidious" logo on the search page */
#logo > h1 { text-align: center; }
/* IE11 fixes */
2022-06-05 22:00:20 +00:00
:-ms-input-placeholder { color: #888; }
/* Wider settings name to less word wrap */
.pure-form-aligned .pure-control-group label { width: 19em; }
2023-03-02 12:29:44 +00:00
.channel-emoji {
margin: 0 2px;
}
#download_widget {
width: 100%;
}