mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-05-20 09:30:36 +00:00
1c92d55917
I was tired of having to handle the SCSS themes differently. fix https://github.com/FreshRSS/FreshRSS/issues/7611 Follow-up of https://github.com/FreshRSS/FreshRSS/pull/8200 Convert Ansum and Mapco themes from SCSS to native CSS. The changes are actually quite limited (mostly changing the syntax of the variables and a few other things) Require support for: * https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Nesting * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/Nesting_selector * https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/color-mix SCSS and SAAS tools and references are also removed. Tests welcome. The styles are left as individual CSS files as designed originally in SCSS. I expect proper HTTP caching and HTTP/2 to be sufficient instead of aggregating back to a single CSS, but might be done in another PR if needed. At the same time, fixed the fact that we had various whitespace styles in our JSON files, in particular in those themes, sometimes with 2 spaces, or 4 spaces, or tabs. Use tabs everywhere as defined in editorconfig. I would like to merge this one first to complete https://github.com/FreshRSS/FreshRSS/pull/8230 * RTLCSS stringMap https://github.com/FreshRSS/FreshRSS/pull/8241#discussion_r2553175514 https://github.com/MohammadYounes/rtlcss/issues/108#issuecomment-347033134
1659 lines
26 KiB
CSS
1659 lines
26 KiB
CSS
@charset "UTF-8";
|
||
|
||
/* colors */
|
||
:root {
|
||
--color-base-text: #181621;
|
||
--color-base-light: #f5f3f3;
|
||
--color-base-nav: #0062be;
|
||
--color-base-aside: #22303d;
|
||
--color-base-alert: #fa8052;
|
||
--color-base-good: #5eaabf;
|
||
--color-base-bad: #b0425b;
|
||
--color-base-grey: #e3e3e3;
|
||
--color-base-grey-transparent: #d9d9d9bb;
|
||
--color-base-stared: #fff6da;
|
||
--color-base-unread: #fff3ed;
|
||
--color-base-hover: #fff;
|
||
|
||
--color-text-light: var(--color-base-light);
|
||
--color-text-light-darker: color(from var(--color-base-light) hsl h s calc(l - 40%));
|
||
--color-text-dark: var(--color-base-text);
|
||
--color-text-nav: color(from var(--color-base-nav) hsl h s calc(l - 10%));
|
||
--color-text-aside: var(--color-base-aside);
|
||
--color-text-alert: var(--color-base-alert);
|
||
--color-text-good: var(--color-base-good);
|
||
--color-text-bad: var(--color-base-bad);
|
||
--color-text-bad-lighter: color(from var(--color-base-bad) hsl h s calc(l + 10%));
|
||
|
||
--color-text-shadow-light: var(--color-base-light);
|
||
--color-box-shadow-light: color(from var(--color-base-light) hsl h s calc(l - 10%));
|
||
|
||
--color-border-light: var(--color-base-light);
|
||
--color-border-light-darker: color(from var(--color-base-light) hsl h s calc(l - 10%));
|
||
--color-border-grey: var(--color-base-grey);
|
||
--color-border-nav: color(from var(--color-base-nav) hsl h s calc(l - 10%));
|
||
--color-border-bad: var(--color-base-bad);
|
||
|
||
--color-background-light: var(--color-base-light);
|
||
--color-background-light-darker: color(from var(--color-base-light) hsl h s calc(l - 10%));
|
||
--color-background-light-darker-transparent: var(--color-base-grey-transparent);
|
||
--color-background-dark: var(--color-base-text);
|
||
--color-background-nav: var(--color-base-nav);
|
||
--color-background-nav-darker: color(from var(--color-base-nav) hsl h s calc(l - 10%));
|
||
--color-background-aside: var(--color-base-aside);
|
||
--color-background-alert: var(--color-base-alert);
|
||
--color-background-alert-darker: color(from var(--color-base-alert) hsl h s calc(l - 10%));
|
||
--color-background-good: var(--color-base-good);
|
||
--color-background-bad: color(from var(--color-base-bad) hsl h s calc(l + 10%));
|
||
--color-background-stared: var(--color-base-stared);
|
||
--color-background-unread: var(--color-base-unread);
|
||
--color-background-hover: var(--color-base-hover);
|
||
|
||
--frss-scrollbar-handle: rgba(0, 0, 0, 0.1);
|
||
--frss-scrollbar-handle-hover: rgba(0, 0, 0, 0.4);
|
||
--frss-scrollbar-track: rgba(0, 0, 0, 0.05);
|
||
--frss-scrollbar-track-hover: rgba(0, 0, 0, 0.1);
|
||
|
||
--min-height-input: 25px;
|
||
--margin-top-input: 4px;
|
||
--border-input-default: 2px solid var(--color-border-grey);
|
||
--min-height-nav-list: 2.5em;
|
||
--line-height-nav-list: 2.5;
|
||
--padding-dropdown: 0 22px;
|
||
--font-size-dropdown: 0.8rem;
|
||
--line-height-dropdown: 2.5;
|
||
--width-aside: 231px;
|
||
}
|
||
|
||
/* Compatibility: CSS Color Module Level 4, Relative Color */
|
||
|
||
@supports not (color: color(from white hsl h s calc(l - 10%))) {
|
||
:root {
|
||
--color-text-light-darker: #988484;
|
||
--color-text-nav: #00488b;
|
||
--color-text-bad-lighter: #c46178;
|
||
--color-box-shadow-light: #ded7d7;
|
||
--color-border-light-darker: #ded7d7;
|
||
--color-border-nav: #00488b;
|
||
--color-background-light-darker: #ded7d7;
|
||
--color-background-nav-darker: #00488b;
|
||
--color-background-alert-darker: #f95c20;
|
||
--color-background-bad: #c46178;
|
||
}
|
||
}
|
||
|
||
html,
|
||
body {
|
||
color: var(--color-text-dark);
|
||
font-family: Helvetica, Arial, sans-serif;
|
||
}
|
||
|
||
body:not(.normal):not(.reader) nav.configure a.dropdown-toggle,
|
||
li.tree-folder span.title {
|
||
margin-left: 0.25rem;
|
||
}
|
||
|
||
:root.file_query {
|
||
.nav-pagination {
|
||
margin-top: 6rem;
|
||
}
|
||
|
||
ul.pagination {
|
||
a {
|
||
padding: 0 0.2rem 0 0.2rem;
|
||
}
|
||
}
|
||
|
||
.view-rss > .icon {
|
||
filter: brightness(0);
|
||
}
|
||
|
||
main > h1:first-child {
|
||
margin-top: 2rem;
|
||
}
|
||
}
|
||
|
||
#slider-content #feed_update fieldset .form-group:last-child {
|
||
margin-bottom: 0.4rem;
|
||
}
|
||
|
||
.configure.open-slider > .icon {
|
||
filter: brightness(0.4);
|
||
}
|
||
|
||
a {
|
||
color: var(--color-text-nav);
|
||
outline: none;
|
||
|
||
&#btn-subscription {
|
||
width: 76%;
|
||
}
|
||
|
||
&#btn-add {
|
||
width: 5%;
|
||
}
|
||
}
|
||
|
||
img {
|
||
&.icon:hover {
|
||
background: none;
|
||
}
|
||
}
|
||
|
||
sup {
|
||
top: -0.3em;
|
||
}
|
||
|
||
legend {
|
||
margin: 20px 0 5px;
|
||
padding: 5px 20px;
|
||
background-color: var(--color-background-aside);
|
||
display: inline-block;
|
||
width: auto;
|
||
color: var(--color-text-light);
|
||
font-size: 1.4em;
|
||
clear: both;
|
||
}
|
||
|
||
label {
|
||
min-height: var(--min-height-input);
|
||
}
|
||
|
||
:is(textarea, input, select) {
|
||
min-height: var(--min-height-input);
|
||
margin-top: var(--margin-top-input);
|
||
background-color: var(--color-background-light);
|
||
border: var(--border-input-default);
|
||
|
||
&:focus {
|
||
border: 2px solid var(--color-background-dark);
|
||
outline: none;
|
||
}
|
||
}
|
||
|
||
:is(input, select) {
|
||
&:invalid {
|
||
padding-left: 5px;
|
||
color: var(--color-text-bad);
|
||
border-left-color: var(--color-border-bad);
|
||
border-left-width: 5px;
|
||
box-shadow: none;
|
||
}
|
||
|
||
&:disabled {
|
||
background-color: var(--color-background-light);
|
||
}
|
||
}
|
||
|
||
option {
|
||
padding: 0 .5em;
|
||
}
|
||
|
||
table {
|
||
border-collapse: collapse;
|
||
}
|
||
|
||
td,
|
||
th {
|
||
border: 1px solid var(--color-border-light-darker);
|
||
}
|
||
|
||
th {
|
||
background-color: var(--color-background-light);
|
||
}
|
||
|
||
form {
|
||
td,
|
||
th {
|
||
font-weight: normal;
|
||
text-align: center;
|
||
}
|
||
}
|
||
|
||
.category {
|
||
.title.error::before {
|
||
display: inline-block;
|
||
padding-right: 7px;
|
||
width: 16px;
|
||
content: url(../Swage/icons/error.svg);
|
||
}
|
||
}
|
||
|
||
.form-group {
|
||
padding: 5px;
|
||
border: 1px solid transparent;
|
||
|
||
&:hover {
|
||
background-color: var(--color-background-light);
|
||
border: 1px solid var(--color-border-light);
|
||
}
|
||
|
||
&.form-actions {
|
||
margin: 15px 0 25px;
|
||
padding: 5px 0;
|
||
background-color: var(--color-background-light-darker-transparent);
|
||
border-top: 3px solid var(--color-border-light-darker);
|
||
|
||
.btn, a {
|
||
margin-left: 1rem;
|
||
}
|
||
}
|
||
|
||
.group-name {
|
||
padding: 10px 0;
|
||
text-align: right;
|
||
}
|
||
|
||
.group-controls {
|
||
min-height: 25px;
|
||
padding: 5px 0;
|
||
|
||
.control {
|
||
line-height: 2.0;
|
||
}
|
||
}
|
||
}
|
||
|
||
.form-group::after {
|
||
display: block;
|
||
clear: both;
|
||
}
|
||
|
||
.stick {
|
||
select {
|
||
margin-top: 0;
|
||
}
|
||
|
||
&.configure-feeds {
|
||
margin: 0.5rem 0 1rem 0.3rem;
|
||
width: var(--width-aside);
|
||
}
|
||
}
|
||
|
||
.btn {
|
||
margin: 0;
|
||
padding: 0.25rem 0.5rem;
|
||
background-color: var(--color-background-nav);
|
||
color: var(--color-text-light);
|
||
font-size: 0.9rem;
|
||
border: none;
|
||
min-height: 25px;
|
||
min-width: 15px;
|
||
vertical-align: middle;
|
||
line-height: 1.5;
|
||
text-decoration: none;
|
||
|
||
&.active,
|
||
&:active,
|
||
&:hover {
|
||
background-color: var(--color-background-nav-darker);
|
||
text-decoration: none;
|
||
}
|
||
|
||
.icon {
|
||
filter: brightness(3);
|
||
}
|
||
}
|
||
|
||
.btn-important, .btn-attention {
|
||
font-weight: normal;
|
||
background-color: var(--color-background-alert);
|
||
color: var(--color-text-light);
|
||
|
||
&:hover,
|
||
:active {
|
||
background-color: var(--color-background-alert-darker) !important;
|
||
}
|
||
}
|
||
|
||
.manage-list {
|
||
.configure {
|
||
.icon {
|
||
filter: brightness(0.4);
|
||
vertical-align: sub;
|
||
}
|
||
|
||
&:hover {
|
||
filter: invert(56%) sepia(87%) saturate(1185%) hue-rotate(327deg) brightness(104%) contrast(96%);
|
||
}
|
||
}
|
||
}
|
||
|
||
.switch.active {
|
||
background-color: var(--color-background-nav);
|
||
|
||
&:hover {
|
||
background-image: url('./icons/disabled-light.svg');
|
||
}
|
||
}
|
||
|
||
.nav-list {
|
||
font-size: 0.9rem;
|
||
|
||
.item {
|
||
min-height: var(--min-height-nav-list);
|
||
line-height: var(--line-height-nav-list);
|
||
|
||
.nav-header {
|
||
min-height: var(--min-height-nav-list);
|
||
line-height: var(--line-height-nav-list);
|
||
padding: 0 1rem;
|
||
font-weight: bold;
|
||
background-color: var(--color-background-aside);
|
||
color: var(--color-text-light);
|
||
cursor: default;
|
||
}
|
||
|
||
a:hover,
|
||
.as-link:hover {
|
||
background-color: var(--color-background-nav-darker);
|
||
color: var(--color-text-light);
|
||
}
|
||
|
||
&.active {
|
||
background: var(--color-background-nav-darker);
|
||
color: var(--color-text-light);
|
||
|
||
a,
|
||
.as-link {
|
||
color: var(--color-text-light);
|
||
}
|
||
}
|
||
|
||
> a,
|
||
> .as-link {
|
||
padding: 0 1.5rem;
|
||
}
|
||
|
||
.icon {
|
||
filter: brightness(3);
|
||
}
|
||
}
|
||
|
||
.nav-form {
|
||
padding: 3px;
|
||
text-align: center;
|
||
}
|
||
|
||
a:hover,
|
||
.as-link:hover {
|
||
text-decoration: none;
|
||
}
|
||
}
|
||
|
||
.dropdown-menu {
|
||
padding: 0.5rem 0 1rem 0;
|
||
font-size: var(--font-size-dropdown);
|
||
text-align: left;
|
||
border: none;
|
||
background-color: var(--color-background-nav-darker);
|
||
|
||
.item > a,
|
||
.item > .as-link,
|
||
.item > span {
|
||
width: 96% !important;
|
||
}
|
||
|
||
.dropdown-header {
|
||
cursor: default;
|
||
padding: 0.5rem 10px 0.5rem 10px;
|
||
font-weight: bold;
|
||
color: var(--color-text-light);
|
||
|
||
a,
|
||
.as-link {
|
||
padding: 0.1rem 0.3rem 0.3rem 0.3rem;
|
||
position: absolute;
|
||
right: 5px;
|
||
margin-top: -3px;
|
||
|
||
&:hover {
|
||
background-color: var(--color-background-nav);
|
||
}
|
||
}
|
||
}
|
||
|
||
.dropdown-section {
|
||
.dropdown-section-title {
|
||
cursor: default;
|
||
padding: 0.25rem 0.5rem 0.125rem 0.25rem;
|
||
font-weight: bold;
|
||
color: var(--color-text-light);
|
||
}
|
||
|
||
.item {
|
||
a,
|
||
.as-link {
|
||
padding: var(--padding-dropdown);
|
||
|
||
&:hover {
|
||
background-color: var(--color-background-nav);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
& > .item {
|
||
padding: 0 0 0 0.5rem;
|
||
}
|
||
|
||
.item {
|
||
color: var(--color-text-light);
|
||
font-size: var(--font-size-dropdown);
|
||
line-height: var(--line-height-dropdown);
|
||
|
||
> :is(a, .as-link, span, button) {
|
||
padding: var(--padding-dropdown);
|
||
color: var(--color-text-light);
|
||
font-size: var(--font-size-dropdown);
|
||
line-height: var(--line-height-dropdown);
|
||
}
|
||
|
||
> a {
|
||
min-width: initial;
|
||
white-space: nowrap;
|
||
}
|
||
|
||
> :is(a, button):hover {
|
||
background-color: var(--color-background-nav);
|
||
color: var(--color-text-light);
|
||
}
|
||
}
|
||
|
||
& > .item[aria-checked="true"] > a::before {
|
||
font-weight: bold;
|
||
margin: 0 0 0 -14px;
|
||
}
|
||
|
||
.help a {
|
||
color: var(--color-text-light);
|
||
text-decoration: underline;
|
||
text-decoration-style: dotted;
|
||
|
||
&:hover {
|
||
text-decoration-style: solid;
|
||
}
|
||
}
|
||
|
||
.input {
|
||
select,
|
||
input {
|
||
margin: 0 auto 5px;
|
||
padding: 2px 5px;
|
||
}
|
||
}
|
||
}
|
||
|
||
#dropdown-search-wrapper .dropdown-menu {
|
||
padding-top: 1rem;
|
||
padding-bottom: 0.25rem;
|
||
|
||
a {
|
||
padding: 0;
|
||
}
|
||
|
||
.stick.search {
|
||
width: 100%;
|
||
|
||
input[type="search"] {
|
||
width: 100%;
|
||
border: 0;
|
||
}
|
||
|
||
.btn:hover {
|
||
filter: brightness(0.9);
|
||
}
|
||
}
|
||
}
|
||
|
||
.item ~ .dropdown-header,
|
||
.item.separator {
|
||
border-top-color: var(--color-border-light-darker);
|
||
cursor: default;
|
||
}
|
||
|
||
li.item.separator {
|
||
padding-top: 0.4rem;
|
||
}
|
||
|
||
.alert {
|
||
margin: 0.25rem auto;
|
||
background-color: var(--color-background-light);
|
||
color: var(--color-text-light-darker);
|
||
font-size: 0.9em;
|
||
border: none;
|
||
text-shadow: 0 0 1px var(--color-text-shadow-light);
|
||
|
||
> a {
|
||
color: inherit;
|
||
text-decoration: underline;
|
||
}
|
||
}
|
||
|
||
.alert-head {
|
||
font-size: 1.15em;
|
||
}
|
||
|
||
.alert-warn,
|
||
.alert-success,
|
||
.alert-error {
|
||
border: none;
|
||
}
|
||
|
||
.alert-warn {
|
||
background-color: var(--color-background-light);
|
||
color: var(--color-text-alert);
|
||
}
|
||
|
||
.alert-success {
|
||
background-color: var(--color-background-light);
|
||
color: var(--color-text-good);
|
||
}
|
||
|
||
.alert-error {
|
||
background-color: var(--color-background-light);
|
||
color: var(--color-text-bad);
|
||
}
|
||
|
||
.pagination {
|
||
background: var(--color-background-light-darker);
|
||
color: var(--color_text);
|
||
|
||
.item a {
|
||
color: var(--color_text);
|
||
}
|
||
}
|
||
|
||
#load_more.loading,
|
||
#load_more.loading:hover {
|
||
background: url(loader.gif) center center no-repeat var(--color-background-aside);
|
||
}
|
||
|
||
|
||
.content {
|
||
padding: 20px 10px;
|
||
|
||
hr {
|
||
margin: 30px 10px;
|
||
background: var(--color-background-light-darker);
|
||
height: 1px;
|
||
border: 0;
|
||
box-shadow: 0 2px 5px var(--color-box-shadow-light);
|
||
}
|
||
|
||
pre {
|
||
background-color: var(--color-background-dark);
|
||
color: var(--color-text-light);
|
||
|
||
code {
|
||
background: transparent;
|
||
color: var(--color-text-light);
|
||
border: none;
|
||
}
|
||
}
|
||
|
||
code {
|
||
background-color: var(--color-background-light);
|
||
color: var(--color-text-bad);
|
||
border-color: var(--color-border-light);
|
||
}
|
||
|
||
blockquote {
|
||
margin: 0;
|
||
padding: 5px 20px;
|
||
background-color: var(--color-background-light);
|
||
display: block;
|
||
color: var(--color-text-light-darker);
|
||
border-top: 1px solid var(--color-border-light-darker);
|
||
border-bottom: 1px solid var(--color-border-light-darker);
|
||
|
||
p {
|
||
margin: 0;
|
||
}
|
||
}
|
||
|
||
> h1.title > a {
|
||
color: var(--color_text);
|
||
}
|
||
}
|
||
|
||
main.post .drop-section li.item.feed a .icon {
|
||
filter: brightness(0.4);
|
||
}
|
||
|
||
main.post .drop-section li.item.feed a:hover .icon {
|
||
filter: invert(56%) sepia(87%) saturate(1185%) hue-rotate(327deg) brightness(104%) contrast(96%);
|
||
}
|
||
|
||
.box {
|
||
border: 1px solid var(--color-border-light-darker);
|
||
|
||
.box-title {
|
||
margin: 0;
|
||
background-color: var(--color-background-aside);
|
||
color: var(--color-text-light);
|
||
border-bottom: 1px solid var(--color-border-light-darker);
|
||
|
||
a {
|
||
color: var(--color-text-light);
|
||
}
|
||
|
||
.configure {
|
||
margin-right: 4px;
|
||
|
||
.icon {
|
||
&:hover {
|
||
filter: invert(56%) sepia(87%) saturate(1185%) hue-rotate(327deg) brightness(104%) contrast(96%);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.box-content {
|
||
max-height: 260px;
|
||
|
||
.item {
|
||
padding: 0 10px;
|
||
font-size: 0.9rem;
|
||
|
||
.configure {
|
||
.icon {
|
||
vertical-align: middle;
|
||
filter: brightness(0.4);
|
||
|
||
&:hover {
|
||
filter: invert(56%) sepia(87%) saturate(1185%) hue-rotate(327deg) brightness(104%) contrast(96%);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
&.category {
|
||
.box-title .title {
|
||
font-weight: normal;
|
||
text-decoration: none;
|
||
text-align: left;
|
||
}
|
||
|
||
&:not([data-unread="0"]) .box-title {
|
||
background-color: var(--color-background-nav);
|
||
|
||
&:active {
|
||
background: var(--color-background-nav-darker);
|
||
}
|
||
|
||
.title {
|
||
font-weight: bold;
|
||
color: var(--color-text-light);
|
||
}
|
||
}
|
||
|
||
.title:not([data-unread="0"])::after {
|
||
background: none;
|
||
border: 0;
|
||
box-shadow: none;
|
||
position: absolute;
|
||
top: 5px;
|
||
right: 10px;
|
||
font-weight: bold;
|
||
text-shadow: none;
|
||
}
|
||
}
|
||
|
||
&.visible-semi {
|
||
border-style: solid;
|
||
}
|
||
}
|
||
|
||
.tree {
|
||
margin: 10px 0;
|
||
}
|
||
|
||
.aside_feed .tree-folder-title {
|
||
padding: 0.3rem 0.75rem;
|
||
background-color: var(--color-background-aside);
|
||
font-size: 1rem;
|
||
position: relative;
|
||
|
||
.title {
|
||
background: inherit;
|
||
color: var(--color-text-light);
|
||
|
||
&:hover {
|
||
text-decoration: none;
|
||
}
|
||
}
|
||
}
|
||
|
||
.tree-folder-items {
|
||
background-color: var(--color-background-aside);
|
||
|
||
> .item {
|
||
font-size: 0.8rem;
|
||
|
||
&.active {
|
||
background-color: var(--color-background-nav-darker);
|
||
}
|
||
|
||
> a {
|
||
text-decoration: none;
|
||
color: var(--color-text-light);
|
||
}
|
||
}
|
||
}
|
||
|
||
.item.search {
|
||
display: none;
|
||
}
|
||
|
||
.header {
|
||
height: auto;
|
||
|
||
> .item {
|
||
padding: 0;
|
||
vertical-align: middle;
|
||
|
||
&.title {
|
||
width: var(--width-aside);
|
||
position: absolute;
|
||
text-align: center;
|
||
|
||
a {
|
||
padding: 0 1rem;
|
||
|
||
&:hover {
|
||
.logo {
|
||
filter: grayscale(100%) brightness(100) opacity(90%);
|
||
}
|
||
}
|
||
}
|
||
|
||
.logo {
|
||
display: inline-block;
|
||
height: 26px;
|
||
vertical-align: top;
|
||
position: relative;
|
||
top: 5px;
|
||
filter: grayscale(100%) brightness(100);
|
||
}
|
||
}
|
||
}
|
||
|
||
.item.configure {
|
||
position: fixed;
|
||
right: 0;
|
||
z-index: 95;
|
||
width: 35px;
|
||
text-align: center;
|
||
line-height: 0.8;
|
||
|
||
> .icon {
|
||
filter: brightness(3);
|
||
margin-right: 5px;
|
||
margin-top: 3px;
|
||
}
|
||
|
||
.dropdown .dropdown-menu {
|
||
max-height: calc(100vh - 45px);
|
||
overflow: auto;
|
||
|
||
.icon {
|
||
filter: brightness(3);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.aside {
|
||
background-color: var(--color-background-aside);
|
||
padding-top: 2.5rem;
|
||
width: var(--width-aside);
|
||
|
||
&.aside_feed {
|
||
.tree {
|
||
margin: 0 0 50px;
|
||
}
|
||
|
||
.tree-folder {
|
||
.tree-folder-title,
|
||
.item.feed {
|
||
&:hover {
|
||
background-color: var(--color-background-nav-darker);
|
||
}
|
||
}
|
||
}
|
||
|
||
.nav-form {
|
||
input,
|
||
select {
|
||
width: 140px;
|
||
}
|
||
|
||
.dropdown {
|
||
.dropdown-menu {
|
||
right: -20px;
|
||
}
|
||
|
||
.dropdown-menu::after {
|
||
right: 33px;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
#aside_feed > ul > li:first-child {
|
||
margin-top: 0.4rem;
|
||
}
|
||
|
||
.aside_feed {
|
||
.category .title:not([data-unread="0"])::after {
|
||
margin: 0.5rem 0 0 0;
|
||
background-color: var(--color-background-nav-darker);
|
||
color: var(--color-text-light);
|
||
}
|
||
|
||
.feed .item-title:not([data-unread="0"])::after {
|
||
background-color: var(--color-background-nav);
|
||
color: var(--color-text-light);
|
||
}
|
||
|
||
.tree-folder-items .dropdown-menu::after {
|
||
left: 2px;
|
||
}
|
||
|
||
.about {
|
||
margin: 0.2rem 0 1rem 0;
|
||
display: block;
|
||
font-size: 0.8em;
|
||
text-align: center;
|
||
font-style: italic;
|
||
}
|
||
}
|
||
|
||
.toggle_aside {
|
||
margin-bottom: 1rem;
|
||
}
|
||
|
||
.aside:target .toggle_aside {
|
||
border-bottom: 1px solid var(--frss-border-color);
|
||
}
|
||
|
||
.reader {
|
||
.aside {
|
||
.toggle_aside {
|
||
background-color: var(--color-background-aside);
|
||
|
||
.icon {
|
||
filter: brightness(3);
|
||
}
|
||
|
||
&:hover {
|
||
background-color: var(--color-background-nav);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.post {
|
||
font-size: 0.9em;
|
||
|
||
input {
|
||
&.long {
|
||
height: 33px;
|
||
margin-top: 0px;
|
||
}
|
||
}
|
||
}
|
||
|
||
#global {
|
||
height: 100vh;
|
||
}
|
||
|
||
#new-article {
|
||
width: var(--width-aside);
|
||
font-size: 1em;
|
||
background-color: var(--color-background-nav);
|
||
text-align: center;
|
||
position: fixed;
|
||
bottom: 48px;
|
||
z-index: 900;
|
||
left: 0;
|
||
line-height: 1.5;
|
||
|
||
> a {
|
||
padding: 1rem;
|
||
line-height: 1.5;
|
||
font-weight: bold;
|
||
color: var(--color-text-light);
|
||
|
||
&:hover {
|
||
text-decoration: none;
|
||
background-color: var(--color-background-nav-darker);
|
||
}
|
||
}
|
||
}
|
||
|
||
.transition {
|
||
padding: 0 10px;
|
||
font-weight: bold;
|
||
line-height: 3;
|
||
text-align: center;
|
||
|
||
.name {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
.nav {
|
||
a,
|
||
.as-link {
|
||
color: var(--color-text-light);
|
||
}
|
||
}
|
||
|
||
|
||
.nav_menu {
|
||
padding: 0;
|
||
width: 100%;
|
||
font-size: 0;
|
||
background-color: var(--color-background-nav);
|
||
text-align: left;
|
||
position: sticky;
|
||
top: 0;
|
||
z-index: 90;
|
||
|
||
.item.search {
|
||
display: inline-block;
|
||
position: absolute;
|
||
right: 40px;
|
||
|
||
input {
|
||
border-width: 0;
|
||
line-height: 1.95;
|
||
}
|
||
}
|
||
|
||
#toggle-unread,
|
||
#toggle-starred {
|
||
.icon {
|
||
filter: brightness(1);
|
||
}
|
||
}
|
||
}
|
||
|
||
.flux {
|
||
padding-right: 10px;
|
||
background-color: var(--color-background-light);
|
||
|
||
&::after {
|
||
margin: 0 auto;
|
||
display: block;
|
||
width: 90%;
|
||
border-top: 1px solid var(--color-border-light-darker);
|
||
clear: both;
|
||
}
|
||
|
||
.flux_header:hover,
|
||
.current {
|
||
background-color: var(--color-background-hover);
|
||
|
||
&:not(.current):hover .item .title {
|
||
background-color: var(--color-background-hover);
|
||
}
|
||
}
|
||
|
||
&.favorite:not(.current) {
|
||
background-color: var(--color-background-stared);
|
||
|
||
&:hover .item .title {
|
||
background-color: var(--color-background-stared);
|
||
}
|
||
}
|
||
|
||
&.not_read:not(.current) {
|
||
background-color: var(--color-background-unread);
|
||
|
||
&:hover .item .title {
|
||
background-color: var(--color-background-unread);
|
||
}
|
||
}
|
||
|
||
.flux_header .date,
|
||
.flux_content .bottom .date {
|
||
color: var(--color-text-light-darker);
|
||
}
|
||
|
||
.bottom {
|
||
font-size: 0.8rem;
|
||
text-align: center;
|
||
}
|
||
|
||
label {
|
||
color: var(--color-text-light);
|
||
cursor: pointer;
|
||
}
|
||
}
|
||
|
||
.flux_header {
|
||
font-size: 0.8rem;
|
||
cursor: pointer;
|
||
|
||
.title {
|
||
font-size: 0.9rem;
|
||
}
|
||
}
|
||
|
||
.notification {
|
||
padding: 10px 0;
|
||
width: var(--width-aside);
|
||
height: auto;
|
||
color: var(--color-text-light-darker);
|
||
font-size: 1em;
|
||
border: none;
|
||
background-color: var(--color-background-light-darker);
|
||
text-align: center;
|
||
font-weight: bold;
|
||
vertical-align: middle;
|
||
position: fixed;
|
||
bottom: 48px;
|
||
left: 0;
|
||
top: auto;
|
||
|
||
&.good,
|
||
&.bad {
|
||
color: var(--color-text-light);
|
||
}
|
||
|
||
&.good {
|
||
background-color: var(--color-background-good);
|
||
|
||
a.close:hover {
|
||
background-color: var(--color-background-good);
|
||
}
|
||
}
|
||
|
||
&.bad {
|
||
background-color: var(--color-background-bad);
|
||
|
||
a.close:hover {
|
||
background-color: var(--color-background-bad);
|
||
}
|
||
}
|
||
|
||
a.close {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
#bigMarkAsRead.big {
|
||
text-align: center;
|
||
text-decoration: none;
|
||
background: var(--color-background-light-darker);
|
||
|
||
&:hover {
|
||
background-color: var(--color-background-aside);
|
||
color: var(--color-text-light);
|
||
}
|
||
}
|
||
|
||
#nav_entries {
|
||
width: var(--width-aside);
|
||
background-color: var(--color-background-aside);
|
||
}
|
||
|
||
.stat {
|
||
margin: 10px 0 20px;
|
||
|
||
th,
|
||
td,
|
||
tr {
|
||
border: none;
|
||
}
|
||
|
||
> table {
|
||
td,
|
||
th {
|
||
border-bottom: 1px solid var(--color-border-light-darker);
|
||
}
|
||
}
|
||
}
|
||
|
||
#overlay {
|
||
z-index: 100;
|
||
|
||
.close .icon {
|
||
filter: brightness(3);
|
||
}
|
||
}
|
||
|
||
#panel {
|
||
z-index: 100;
|
||
|
||
.nav_menu {
|
||
position: relative;
|
||
}
|
||
}
|
||
|
||
body:not(:has(nav#aside_feed)) {
|
||
#global {
|
||
height: 0;
|
||
}
|
||
|
||
.logo {
|
||
right: 30px;
|
||
}
|
||
|
||
.header {
|
||
background-color: var(--color-background-nav);
|
||
height: 2.4rem;
|
||
position: relative;
|
||
|
||
> .item {
|
||
&.configure {
|
||
width: auto;
|
||
position: absolute;
|
||
white-space: nowrap;
|
||
|
||
.icon {
|
||
filter: brightness(3);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.controller_error div.alert-error {
|
||
margin-top: 3rem;
|
||
}
|
||
|
||
body.register {
|
||
form div:last-child > a {
|
||
float: right;
|
||
position: relative;
|
||
right: 0.2rem;
|
||
}
|
||
}
|
||
|
||
a.signin {
|
||
color: var(--color-text-light);
|
||
font-size: 70%;
|
||
|
||
position: absolute;
|
||
top: 0.5rem;
|
||
right: 1.8rem;
|
||
text-wrap: nowrap;
|
||
transform: scale(1.5);
|
||
|
||
.icon {
|
||
filter: brightness(3);
|
||
}
|
||
}
|
||
|
||
.log-item {
|
||
&.log-error {
|
||
background-color: var(--color-background-bad);
|
||
color: var(--color-text-light);
|
||
}
|
||
|
||
&.log-warning {
|
||
background-color: var(--color-background-alert);
|
||
color: var(--color-text-light);
|
||
}
|
||
|
||
&.log-debug {
|
||
background: var(--color-background-dark);
|
||
color: var(--color-text-light);
|
||
}
|
||
}
|
||
|
||
body.reader {
|
||
#nav_menu_toggle_aside {
|
||
margin-top: -2px;
|
||
height: 32px;
|
||
}
|
||
|
||
nav.aside_feed > a.toggle_aside {
|
||
text-align: center;
|
||
}
|
||
|
||
.aside:target {
|
||
width: var(--width-aside);
|
||
padding-top: 0;
|
||
}
|
||
}
|
||
|
||
main.global {
|
||
margin: 1rem;
|
||
}
|
||
|
||
.dropdown .dropdown-section:last-child > ul:first-child {
|
||
margin-top: 0.4rem;
|
||
}
|
||
|
||
.labels {
|
||
span.emptyLabels {
|
||
color: white;
|
||
margin-left: 1rem;
|
||
}
|
||
|
||
ul.dropdown-menu-scrollable > li:nth-child(3) {
|
||
margin-top: 0.5rem;
|
||
}
|
||
}
|
||
|
||
@media (max-width: 840px) {
|
||
body:not(.formLogin, .register) {
|
||
.header {
|
||
.item .title {
|
||
display: none;
|
||
}
|
||
}
|
||
}
|
||
|
||
body.normal, body.reader, body.global {
|
||
.item.configure {
|
||
right: 76px;
|
||
}
|
||
|
||
a.signin {
|
||
right: 0;
|
||
}
|
||
}
|
||
|
||
.horizontal-list {
|
||
.dropdown {
|
||
position: inherit !important;
|
||
}
|
||
}
|
||
|
||
#nav_menu_sort,
|
||
#nav_menu_sort .dropdown-menu,
|
||
#nav_menu_sort .dropdown,
|
||
#toggle-order {
|
||
position: fixed;
|
||
right: 0;
|
||
}
|
||
|
||
#nav_menu_sort .dropdown-menu,
|
||
#nav_menu_read_all .dropdown-menu,
|
||
#dropdown-search-wrapper .dropdown-menu,
|
||
#nav_menu_queries .dropdown-menu {
|
||
top: 4.4rem;
|
||
}
|
||
|
||
#nav_menu_sort .dropdown-menu,
|
||
#nav_menu_read_all .dropdown-menu,
|
||
#nav_menu_actions .dropdown-menu {
|
||
position: fixed;
|
||
}
|
||
|
||
body:not(.normal):not(.reader):not(.add) {
|
||
nav.configure a.dropdown-toggle {
|
||
position: fixed;
|
||
top: 0;
|
||
}
|
||
|
||
&:not(.global) {
|
||
.nav_menu {
|
||
height: 2.2rem;
|
||
}
|
||
|
||
nav.configure a.dropdown-toggle {
|
||
right: 0;
|
||
}
|
||
}
|
||
|
||
&.global {
|
||
nav.configure a.dropdown-toggle {
|
||
right: 2.4rem;
|
||
}
|
||
}
|
||
}
|
||
|
||
body.repartition {
|
||
.nav_menu {
|
||
position: fixed;
|
||
height: 3rem !important;
|
||
}
|
||
|
||
main.post {
|
||
margin-top: 4rem;
|
||
}
|
||
|
||
.nav_menu .btn {
|
||
display: block;
|
||
}
|
||
|
||
.nav_menu #feed_select {
|
||
padding: 0;
|
||
display: block;
|
||
margin-left: 5rem;
|
||
margin-bottom: 0.5rem;
|
||
}
|
||
}
|
||
|
||
.form-group .group-name {
|
||
padding-bottom: 0;
|
||
text-align: left;
|
||
}
|
||
|
||
.dropdown {
|
||
position: relative;
|
||
|
||
.dropdown-menu {
|
||
width: auto;
|
||
}
|
||
}
|
||
|
||
#new-article {
|
||
margin-top: 2rem;
|
||
width: 100%;
|
||
}
|
||
|
||
.header {
|
||
display: table;
|
||
|
||
.item {
|
||
padding: 0;
|
||
}
|
||
|
||
.item.configure {
|
||
padding: 0;
|
||
position: fixed;
|
||
|
||
> .icon {
|
||
margin-top: 5px;
|
||
}
|
||
}
|
||
}
|
||
|
||
button.read_all.btn {
|
||
display: none;
|
||
}
|
||
|
||
.flux .item.manage,
|
||
.flux_header .item.website {
|
||
width: 35px;
|
||
text-align: center;
|
||
}
|
||
|
||
.flux:not(.current):hover .item .title {
|
||
top: auto !important;
|
||
}
|
||
|
||
.aside {
|
||
padding: 0;
|
||
width: 0;
|
||
transition: width 200ms linear;
|
||
|
||
.toggle_aside {
|
||
background-color: var(--color-background-aside);
|
||
|
||
&:hover {
|
||
background-color: var(--color-background-nav);
|
||
}
|
||
|
||
.icon {
|
||
filter: brightness(3);
|
||
}
|
||
}
|
||
|
||
&.aside_feed .configure-feeds {
|
||
display: flex;
|
||
margin-top: 0;
|
||
margin-left: auto;
|
||
margin-right: auto;
|
||
}
|
||
|
||
&:target {
|
||
width: 78% !important;
|
||
z-index: 1000;
|
||
}
|
||
}
|
||
|
||
#slider {
|
||
.toggle_aside {
|
||
background-color: var(--color-background-aside);
|
||
|
||
&:hover {
|
||
background-color: var(--color-background-nav);
|
||
}
|
||
|
||
.icon {
|
||
filter: brightness(3);
|
||
}
|
||
}
|
||
}
|
||
|
||
.nav_menu {
|
||
height: 71px;
|
||
|
||
.btn {
|
||
margin: 0;
|
||
}
|
||
|
||
.stick,
|
||
.group {
|
||
margin: 0;
|
||
|
||
.btn {
|
||
margin: 0;
|
||
}
|
||
}
|
||
|
||
.item.search {
|
||
top: 3px;
|
||
margin-left: 77px;
|
||
width: calc(100% - 4 * 38px);
|
||
position: relative;
|
||
|
||
form {
|
||
display: block;
|
||
}
|
||
|
||
input {
|
||
width: 100%;
|
||
}
|
||
}
|
||
}
|
||
|
||
#overlay .close,
|
||
.dropdown-menu .toggle_aside {
|
||
background-color: var(--color-background-aside);
|
||
display: block;
|
||
height: 50px;
|
||
line-height: 3.5;
|
||
text-align: center;
|
||
padding-right: 10px;
|
||
|
||
&:hover {
|
||
background-color: var(--color-background-nav);
|
||
}
|
||
}
|
||
|
||
.dropdown-target:target ~ .dropdown-toggle::after,
|
||
.dropdown-target:target ~ .dropdown-toggle.btn::after {
|
||
display: none;
|
||
}
|
||
|
||
.share .dropdown-menu {
|
||
right: 3%;
|
||
left: auto;
|
||
}
|
||
|
||
.transition .name {
|
||
font-size: 1.1rem;
|
||
}
|
||
|
||
.notification {
|
||
width: 100%;
|
||
|
||
a.close {
|
||
background: transparent;
|
||
display: block;
|
||
left: 0;
|
||
|
||
&:hover {
|
||
opacity: 0.5;
|
||
}
|
||
|
||
.icon {
|
||
display: none;
|
||
}
|
||
}
|
||
}
|
||
|
||
#nav_entries {
|
||
width: 100% !important;
|
||
}
|
||
|
||
.post {
|
||
padding-left: 15px;
|
||
padding-right: 15px;
|
||
}
|
||
|
||
div#stream {
|
||
margin-top: 0px;
|
||
}
|
||
|
||
a.btn.toggle_aside {
|
||
position: absolute;
|
||
top: 0;
|
||
}
|
||
|
||
form#mark-read-menu,
|
||
a#actualize,
|
||
div#nav_menu_actions,
|
||
div#nav_menu_views {
|
||
position: absolute;
|
||
}
|
||
|
||
form#mark-read-menu {
|
||
right: 38px;
|
||
top: 0;
|
||
}
|
||
|
||
a#actualize {
|
||
right: 0;
|
||
top: 0;
|
||
}
|
||
|
||
a#toggle-order,
|
||
div#nav_menu_actions,
|
||
div#nav_menu_views {
|
||
top: 36px;
|
||
}
|
||
|
||
div#nav_menu_actions {
|
||
left: 0px;
|
||
}
|
||
|
||
div#nav_menu_views {
|
||
right: 32px;
|
||
}
|
||
}
|
||
|
||
@media (max-width: 410px) {
|
||
.nav_menu .stick {
|
||
margin: 0;
|
||
}
|
||
}
|
||
|
||
button.as-link {
|
||
outline: none;
|
||
}
|
||
|
||
.dropdown-target:target ~ .btn.dropdown-toggle {
|
||
background-color: var(--color-background-nav-darker);
|
||
}
|
||
|
||
.tree-folder.active .tree-folder-title {
|
||
background-color: var(--color-background-nav-darker);
|
||
font-weight: bold;
|
||
}
|
||
|
||
.feed.item {
|
||
&.empty {
|
||
color: var(--color-text-alert);
|
||
|
||
&.active {
|
||
background-color: var(--color-background-alert);
|
||
color: var(--color-text-light);
|
||
|
||
> a {
|
||
color: var(--color-text-light);
|
||
}
|
||
}
|
||
|
||
> a {
|
||
color: var(--color-text-alert);
|
||
}
|
||
}
|
||
|
||
&.error {
|
||
color: var(--color-text-bad-lighter);
|
||
|
||
&.active {
|
||
background-color: var(--color-background-bad);
|
||
color: var(--color-text-light);
|
||
|
||
> a {
|
||
color: var(--color-text-light);
|
||
}
|
||
}
|
||
|
||
> a {
|
||
color: var(--color-text-bad-lighter);
|
||
}
|
||
}
|
||
}
|
||
|
||
#stream.reader .flux {
|
||
background-color: var(--color-background-light);
|
||
color: var(--color-text-aside);
|
||
border: none;
|
||
|
||
&::after {
|
||
border: none;
|
||
}
|
||
|
||
.flux_content {
|
||
border-color: var(--color-border-grey);
|
||
}
|
||
|
||
.author {
|
||
color: var(--color-text-light-darker);
|
||
}
|
||
}
|
||
|
||
#nav_menu_actions {
|
||
ul.dropdown-menu {
|
||
left: 0;
|
||
right: auto;
|
||
|
||
&::after {
|
||
display: none;
|
||
}
|
||
}
|
||
|
||
.dropdown.only-mobile {
|
||
display: initial !important;
|
||
}
|
||
}
|
||
|
||
#nav_menu_read_all {
|
||
ul.dropdown-menu {
|
||
&::after {
|
||
display: none;
|
||
}
|
||
}
|
||
}
|
||
|
||
#slider {
|
||
label {
|
||
min-height: initial;
|
||
}
|
||
}
|