origine.css 30 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358
  1. @charset "UTF-8";
  2. /*=== GENERAL */
  3. /*============*/
  4. :root {
  5. --frss-padding-top-bottom: 0.5rem;
  6. --background-color-light-gradient1: #fff;
  7. --background-color-light-gradient2: #eee;
  8. --background-color-light: #fff;
  9. --background-color-light-shadowed: #f6f6f6;
  10. --background-color-light-shadowed-transparent: #f0f0f0a8;
  11. --background-color-grey: #f0f0f0;
  12. --background-color-hover: #f6f6f6;
  13. --unread-article-background-color: #fff3ed;
  14. --unread-article-background-color-hover: #faeee8;
  15. --unread-article-border-color: #ff5300;
  16. --favorite-article-background-color: #fff6da;
  17. --favorite-article-background-color-hover: #fcf2d6;
  18. --favorite-article-border-color: #ffc300;
  19. --contrast-background-color: #0084cc;
  20. --contrast-background-color-gradient: #0045cc;
  21. --contrast-background-color-hover: #06c;
  22. --contrast-background-color-active: #0062be;
  23. --contrast-border-color: #0062b7;
  24. --contrast-background-font-color: #eee;
  25. --attention-background-color-gradient1: #ea4a46;
  26. --attention-background-color-gradient2: #911811;
  27. --attention-background-color-gradient1-hover: #d14641;
  28. --attention-background-color-gradient2-hover: #bd362f;
  29. --attention-background-color-active: #bd362f;
  30. --attention-border-color: #c44742;
  31. --empty-feed-color: #e67e22;
  32. --error-feed-color: #bd362f;
  33. --alert-warn-background-color: #ffffe0;
  34. --alert-warn-font-color: #4b3315;
  35. --alert-warn-border-color: #eeb;
  36. --alert-success-background-color: #e8ffe8;
  37. --alert-success-font-color: #244424;
  38. --alert-success-border-color: #cec;
  39. --alert-error-background-color: #fdd;
  40. --alert-error-font-color: #693a3a;
  41. --alert-error-boder-color: #ecc;
  42. --notification-good-background-color: #ffe;
  43. --notification-good-border-color: #eeb;
  44. --notification-good-font-color: #916a37;
  45. --notification-bad-background-color: #fdd;
  46. --notification-bad-font-color: #643838;
  47. --notification-bad-border-color: #ecc;
  48. --notification-close-background-color-hover: #aaa2;
  49. --font-color: #111;
  50. --font-color-grey: #666;
  51. --font-color-light-shadowed: #aaa;
  52. --font-color-light: #fff;
  53. --text-shadow-color: #aaa;
  54. --text-shadow-color-dark: #666;
  55. --box-shadow-color: #bbb6;
  56. --box-shadow-color-inset: #e0e0e0;
  57. --font-color-link: #0062be;
  58. --font-color-link-hover: #038;
  59. --border-color: #ddd;
  60. --border-color-shadow-side: #ccc;
  61. --frss-border-color: var(--border-color);
  62. --contrast-border-color-active: #0062be;
  63. --form-element-font-color-focus: #0062be;
  64. --form-element-border-color-focus: #3bf;
  65. --form-element-focus-box-shadow-color-inset: #ddf;
  66. --form-element-border-color-invalid: #f00;
  67. --form-element-invalid-box-shadow-color-inset: #fdd;
  68. }
  69. html, body {
  70. background-color: var(--background-color-light);
  71. color: var(--font-color);
  72. font-family: "OpenSans", "Cantarell", "Helvetica", "Arial", sans-serif;
  73. }
  74. /*=== Links */
  75. a, button.as-link {
  76. color: var(--font-color-link);
  77. outline: none;
  78. }
  79. a:hover,
  80. button.as-link:hover {
  81. color: var(--font-color-link-hover);
  82. }
  83. /*=== Forms */
  84. legend {
  85. margin: 20px 0 5px;
  86. padding: 5px 0;
  87. font-size: 1.4em;
  88. border-bottom: 1px solid var(--border-color);
  89. }
  90. label {
  91. min-height: 25px;
  92. padding: 5px 0;
  93. cursor: pointer;
  94. }
  95. input:hover,
  96. select:hover,
  97. textarea:hover {
  98. color: var(--font-color);
  99. }
  100. input, select, textarea {
  101. background-color: var(--background-color-light);
  102. color: var(--font-color-grey);
  103. border: 1px solid var(--border-color);
  104. border-radius: 3px;
  105. }
  106. option {
  107. padding: 0 .5em;
  108. }
  109. input:focus, select:focus, textarea:focus, input[type="password"]:focus + .toggle-password {
  110. color: var(--form-element-font-color-focus);
  111. border-color: var(--form-element-border-color-focus);
  112. box-shadow: 0 2px 2px var(--form-element-focus-box-shadow-color-inset) inset;
  113. outline: none;
  114. }
  115. input:invalid, select:invalid {
  116. border-color: var(--form-element-border-color-invalid);
  117. box-shadow: 0 0 2px 2px var(--form-element-invalid-box-shadow-color-inset) inset;
  118. }
  119. input:disabled, select:disabled {
  120. background-color: var(--background-color-light-shadowed);
  121. }
  122. /*=== Tables */
  123. table {
  124. border-collapse: collapse;
  125. }
  126. th, td {
  127. border: 1px solid var(--border-color);
  128. }
  129. th {
  130. background-color: var(--background-color-light-shadowed);
  131. }
  132. .config-articleicons td,
  133. .config-articleicons th {
  134. font-weight: normal;
  135. text-align: center;
  136. }
  137. /*=== COMPONENTS */
  138. /*===============*/
  139. /*=== Forms */
  140. .form-group.form-actions {
  141. margin-bottom: 40px;
  142. padding: 5px 0;
  143. background-color: var(--background-color-light-shadowed-transparent);
  144. border-top: 1px solid var(--border-color);
  145. }
  146. .form-group.form-actions .btn {
  147. margin: 0 20px 0 0;
  148. }
  149. .form-group .group-name {
  150. padding: 10px 0;
  151. }
  152. .form-group .group-controls {
  153. min-height: 25px;
  154. padding: 0.5rem 0;
  155. }
  156. .form-group.form-actions .group-controls .btn {
  157. margin-top: 0.25rem;
  158. margin-bottom: 0.25rem;
  159. }
  160. .form-group .group-controls label:not(.btn) {
  161. padding: 0;
  162. }
  163. .form-group .group-controls > input,
  164. .form-group .group-controls > select,
  165. .form-group .group-controls > textarea,
  166. .form-group .group-controls .stick {
  167. margin: -5px 0 5px 0;
  168. }
  169. .form-group .group-controls .stick .btn {
  170. padding-top: 2px;
  171. padding-bottom: 2px;
  172. }
  173. /*=== Buttons */
  174. .stick input,
  175. .stick .btn,
  176. .group .btn {
  177. border-radius: 0;
  178. }
  179. .stick .btn:first-child,
  180. .group .btn:first-child,
  181. .stick input:first-child,
  182. .stick select:first-child {
  183. border-radius: 3px 0 0 3px;
  184. }
  185. .stick .btn-important:first-child {
  186. border-right: 1px solid var(--contrast-border-color);
  187. }
  188. .stick .btn:last-child,
  189. .group .btn:last-child,
  190. .stick input:last-child {
  191. border-radius: 0 3px 3px 0;
  192. }
  193. .stick .btn + .btn,
  194. .group .btn + .btn,
  195. .stick .btn + input,
  196. .stick .btn + .dropdown > .btn,
  197. .group .btn + .dropdown > .btn,
  198. .stick input + .btn,
  199. .stick select + .btn,
  200. .stick input + input,
  201. .stick input + .dropdown > .btn,
  202. .stick .dropdown + .btn,
  203. .group .dropdown + .btn,
  204. .stick .dropdown + input,
  205. .stick .dropdown + .dropdown > .btn,
  206. .group .dropdown + .dropdown > .btn {
  207. border-left: none;
  208. }
  209. .stick input + .btn {
  210. border-top: 1px solid var(--border-color);
  211. }
  212. .stick .dropdown:last-child > .btn,
  213. .group .dropdown:last-child > .btn {
  214. border-left: none;
  215. border-radius: 0 3px 3px 0;
  216. }
  217. .btn {
  218. margin: 0;
  219. padding: 0.25rem 0.5rem;
  220. background-image: linear-gradient(to bottom, var(--background-color-light-gradient1) 0%, var(--background-color-light-gradient2) 100%);
  221. color: var(--font-color-grey);
  222. font-size: 0.9rem;
  223. border: 1px solid var(--border-color);
  224. border-right: 1px solid var(--border-color-shadow-side);
  225. border-bottom: 1px solid var(--border-color-shadow-side);
  226. border-radius: 3px;
  227. min-height: 25px;
  228. min-width: 15px;
  229. line-height: 1.7;
  230. vertical-align: middle;
  231. }
  232. .btn:hover {
  233. background-image: none;
  234. background-color: var(--background-color-hover);
  235. text-decoration: none;
  236. }
  237. a:hover .icon,
  238. button:hover .icon,
  239. .btn:hover .icon {
  240. filter: brightness(1.5);
  241. transition: 0.1s linear;
  242. }
  243. #toggle-starred:hover .icon,
  244. .bookmark:hover .icon {
  245. filter: brightness(1.1);
  246. }
  247. #toggle-search.active > .icon {
  248. filter: invert(8%) sepia(99%) saturate(7064%) hue-rotate(248deg) brightness(99%) contrast(142%);
  249. }
  250. .btn.active,
  251. .btn:active,
  252. .dropdown-target:target ~ .btn.dropdown-toggle {
  253. background-color: var(--background-color-grey);
  254. box-shadow: 0px 2px 4px var(--box-shadow-color-inset) inset, 0px 1px 2px var(--background-color-grey);
  255. }
  256. .dropdown-target:target ~ .btn.dropdown-toggle .icon {
  257. filter: brightness(1.1);
  258. }
  259. .btn.active, .btn:active {
  260. filter: brightness(0.95);
  261. }
  262. .btn.active .icon,
  263. .btn:active .icon {
  264. filter: brightness(1.1);
  265. }
  266. .btn-important {
  267. background-image: linear-gradient(to bottom, var(--contrast-background-color), var(--contrast-background-color-gradient));
  268. color: var(--font-color-light);
  269. border: 1px solid var(--contrast-border-color);
  270. font-weight: normal;
  271. }
  272. .btn-important:hover {
  273. background-image: linear-gradient(to bottom, var(--contrast-background-color-hover), var(--contrast-background-color-gradient));
  274. color: var(--font-color-light);
  275. }
  276. .btn-important:hover .icon {
  277. filter: brightness(3);
  278. }
  279. .btn-important:active {
  280. background-color: var(--contrast-background-color-active);
  281. box-shadow: none;
  282. }
  283. .btn-important .icon {
  284. filter: brightness(3);
  285. }
  286. .btn-attention {
  287. background-image: linear-gradient(to bottom, var(--attention-background-color-gradient1), var(--attention-background-color-gradient2));
  288. color: var(--font-color-light);
  289. border: 1px solid var(--attention-border-color);
  290. text-shadow: 0px -1px 0px var(--text-shadow-color-dark);
  291. }
  292. .btn-attention:hover {
  293. background-image: linear-gradient(to bottom, var(--attention-background-color-gradient1-hover), var(--attention-background-color-gradient2-hover));
  294. color: var(--font-color-light);
  295. }
  296. .btn-attention:active {
  297. background-color: var(--attention-background-color-active);
  298. box-shadow: none;
  299. }
  300. /*=== Navigation */
  301. .nav-list {
  302. font-size: 0.9rem;
  303. }
  304. .nav-list .item,
  305. .nav-list .item.nav-header {
  306. min-height: 2.5em;
  307. line-height: 2.5;
  308. }
  309. .nav-list .nav-section .item:hover a,
  310. .nav-list .nav-section .item:hover .as-link {
  311. background-color: var(--background-color-hover);
  312. color: var(--font-color-link-hover);
  313. }
  314. .nav-list .nav-section .item.active:hover a,
  315. .nav-list .nav-section .item.active:hover .as-link,
  316. .nav-list .item.active {
  317. background-color: var(--contrast-background-color-active);
  318. color: var(--font-color-light);
  319. }
  320. .nav-list .item.active a,
  321. .nav-list .item.active .as-link {
  322. color: var(--font-color-light);
  323. }
  324. .nav-list .item > a,
  325. .nav-list .item > .as-link,
  326. .nav-list .item > span,
  327. .nav-list .item > div {
  328. padding: 0 1rem;
  329. }
  330. .nav-list .item > span {
  331. font-style: italic;
  332. color: var(--font-color-grey);
  333. }
  334. .nav-list a:hover {
  335. text-decoration: none;
  336. }
  337. .nav-list .nav-header {
  338. background-color: var(--background-color-grey);
  339. color: var(--font-color-grey);
  340. font-weight: bold;
  341. }
  342. .nav-list .nav-form {
  343. padding: 3px;
  344. text-align: center;
  345. }
  346. /*=== Dropdown */
  347. .dropdown-menu {
  348. margin: 5px 0 0;
  349. padding: 5px 0;
  350. background-color: var(--background-color-light);
  351. font-size: 0.8rem;
  352. border: 1px solid var(--border-color);
  353. border-radius: 5px;
  354. box-shadow: 3px 3px 3px var(--box-shadow-color);
  355. text-align: left;
  356. }
  357. .dropdown-menu::after {
  358. border-color: var(--border-color);
  359. }
  360. .dropdown-header,
  361. .dropdown-section .dropdown-section-title {
  362. padding: 0.25rem 0.5rem 0.25rem 1rem;
  363. color: var(--font-color-grey);
  364. font-weight: bold;
  365. text-align: left;
  366. }
  367. .dropdown-menu .item > a,
  368. .dropdown-menu .item > span,
  369. .dropdown-menu .item > .as-link {
  370. padding: 0 22px;
  371. line-height: 2.5;
  372. font-size: inherit;
  373. }
  374. .dropdown-menu .dropdown-section .item > a,
  375. .dropdown-menu .dropdown-section .item > span,
  376. .dropdown-menu .dropdown-section .item > .as-link {
  377. padding-left: 2rem;
  378. }
  379. .dropdown-menu .dropdown-section .item:last-child {
  380. margin-bottom: 0.5rem;
  381. }
  382. .dropdown-menu .item > a:focus,
  383. .dropdown-menu .item > a:hover,
  384. .dropdown-menu .item > button:focus:not([disabled]),
  385. .dropdown-menu .item > button:hover:not([disabled]),
  386. .dropdown-menu .item > label:focus:not(.noHover),
  387. .dropdown-menu .item > label:hover:not(.noHover) {
  388. background-color: var(--contrast-background-color-active);
  389. color: var(--font-color-light);
  390. }
  391. .dropdown-menu .item > label {
  392. padding: 0;
  393. }
  394. .dropdown-menu > .item:hover > a > .icon,
  395. .dropdown-menu .item.dropdown-section .item:hover .icon {
  396. filter: grayscale(100%) brightness(2.5);
  397. }
  398. .dropdown-menu > .item[aria-checked="true"] > a::before {
  399. font-weight: bold;
  400. margin: 0 0 0 -14px;
  401. }
  402. .dropdown-menu .input select,
  403. .dropdown-menu .input input {
  404. margin: 0 auto 5px;
  405. padding: 2px 5px;
  406. border-radius: 3px;
  407. }
  408. .dropdown-menu input[type="checkbox"] {
  409. margin-left: 1rem;
  410. }
  411. .dropdown-menu .item .emptyLabels {
  412. padding-left: 1rem;
  413. padding-right: 1rem;
  414. }
  415. .item ~ .dropdown-header,
  416. .dropdown-section ~ .dropdown-section,
  417. .item.separator {
  418. border-top-color: var(--border-color);
  419. }
  420. /*=== Alerts */
  421. .alert {
  422. background-color: var(--background-color-grey);
  423. color: var(--font-color-grey);
  424. font-size: 0.9em;
  425. border: 1px solid var(--border-color);
  426. border-right: 1px solid var(--border-color-shadow-side);
  427. border-bottom: 1px solid var(--border-color-shadow-side);
  428. border-radius: 5px;
  429. }
  430. .alert-head {
  431. font-size: 1.15em;
  432. }
  433. .alert > a {
  434. color: inherit;
  435. text-decoration: underline;
  436. }
  437. .alert-warn {
  438. background-color: var(--alert-warn-background-color);
  439. color: var(--alert-warn-font-color);
  440. border: 1px solid var(--alert-warn-border-color);
  441. }
  442. .alert-success {
  443. background-color: var(--alert-success-background-color);
  444. color: var(--alert-success-font-color);
  445. border: 1px solid var(--alert-success-border-color);
  446. }
  447. .alert-error {
  448. background-color: var(--alert-error-background-color);
  449. color: var(--alert-error-font-color);
  450. border: 1px solid var(--alert-error-boder-color);
  451. }
  452. .alert-error a {
  453. color: var(--alert-error-font-color);
  454. font-weight: bold;
  455. }
  456. /*=== Pagination */
  457. .pagination {
  458. background-color: var(--background-color-light);
  459. color: var(--font-color-grey);
  460. }
  461. .pagination .item a:hover {
  462. background-color: var(--background-color-hover);
  463. }
  464. .pagination:first-child .item {
  465. border-bottom: 1px solid var(--border-color);
  466. }
  467. .pagination:last-child .item {
  468. border-top: 1px solid var(--border-color);
  469. }
  470. /*=== Boxes */
  471. .box {
  472. background-color: var(--background-color-light);
  473. border-radius: 5px;
  474. box-shadow: 0 0 3px var(--box-shadow-color);
  475. }
  476. .box .box-title {
  477. background-color: var(--background-color-grey);
  478. border-bottom: 1px solid var(--border-color);
  479. border-radius: 5px 5px 0 0;
  480. }
  481. .box .box-title .configure {
  482. margin-right: 4px;
  483. }
  484. .box .box-content .item {
  485. padding-bottom: 0.25rem;
  486. }
  487. /*=== Tree */
  488. .tree {
  489. margin: 10px 0;
  490. }
  491. .tree-folder-title {
  492. position: relative;
  493. padding-left: 0.75rem;
  494. padding-right: 0.75rem;
  495. background-color: var(--background-color-light);
  496. font-size: 1rem;
  497. }
  498. .aside_feed .tree-folder.all .tree-folder-title .title,
  499. .aside_feed .tree-folder.important .tree-folder-title .title,
  500. .aside_feed .tree-folder.favorites .tree-folder-title .title {
  501. margin-left: 0.25rem;
  502. }
  503. .aside_feed .tree-folder-title button.dropdown-toggle {
  504. margin: -0.75rem 0.25rem -0.75rem -0.75rem;
  505. padding: 0.75rem 0 0.75rem 0.75rem;
  506. }
  507. .aside_feed .tree-folder-title:hover button.dropdown-toggle .icon {
  508. filter: none;
  509. }
  510. .aside_feed .tree-folder-title button.dropdown-toggle:hover .icon {
  511. filter: brightness(1.5);
  512. transition: 0.1s linear;
  513. }
  514. .tree-folder-title .title {
  515. background: inherit;
  516. color: var(--font-color);
  517. }
  518. .tree-folder-title:hover {
  519. background-color: var(--background-color-hover);
  520. }
  521. .tree-folder-title .title:hover {
  522. text-decoration: none;
  523. }
  524. .tree-folder.active .tree-folder-title {
  525. background-color: var(--background-color-grey);
  526. font-weight: bold;
  527. }
  528. .tree-folder.active .tree-folder-title .title {
  529. color: var(--font-color-link);
  530. }
  531. .tree-folder-items {
  532. background-color: var(--background-color-light-shadowed);
  533. border-top: 1px solid var(--border-color);
  534. border-bottom: 1px solid var(--border-color);
  535. }
  536. .tree-folder-items > .item {
  537. line-height: 1.7;
  538. font-size: 0.8rem;
  539. }
  540. .tree-folder-items .item:hover {
  541. background-color: var(--background-color-light);
  542. }
  543. .tree-folder-items > .item.active {
  544. background-color: var(--contrast-background-color-active);
  545. }
  546. .tree-folder-items > .item.active .icon {
  547. filter: brightness(3);
  548. }
  549. .tree-folder-items > .item > a {
  550. text-decoration: none;
  551. }
  552. .tree-folder-items > .item.active > a {
  553. color: var(--font-color-light);
  554. }
  555. /*=== STRUCTURE */
  556. /*===============*/
  557. /*=== Header */
  558. .header {
  559. background-color: var(--background-color-grey);
  560. }
  561. .header > .item {
  562. border-bottom: 1px solid var(--border-color);
  563. vertical-align: middle;
  564. text-align: center;
  565. }
  566. .header > .item.title {
  567. width: 300px;
  568. }
  569. .header > .item.title a:hover .logo {
  570. filter: brightness(1.4);
  571. }
  572. .header > .item.search input {
  573. width: 350px;
  574. }
  575. /*=== Body */
  576. .aside {
  577. background-color: var(--background-color-light);
  578. border-right: 1px solid var(--border-color);
  579. }
  580. .aside.aside_feed {
  581. padding: 0.5rem 0;
  582. text-align: center;
  583. background-color: var(--background-color-light);
  584. }
  585. .aside.aside_feed .tree {
  586. margin: 10px 0 50px;
  587. }
  588. /*=== Aside main page (categories) */
  589. .aside.aside_feed .category .title:not([data-unread="0"])::after,
  590. .global .box.category .title:not([data-unread="0"])::after,
  591. .global .feed .item-title:not([data-unread="0"])::after {
  592. background-color: var(--background-color-light-shadowed);
  593. color: var(--font-color-grey);
  594. }
  595. .aside.aside_feed .category .tree-folder-title:hover .title:not([data-unread="0"])::after {
  596. background-color: var(--background-color-light);
  597. }
  598. .aside.aside_feed .feed .item-title:not([data-unread="0"])::after {
  599. background-color: var(--background-color-light);
  600. color: var(--font-color-grey);
  601. }
  602. .aside.aside_feed .feed:hover .item-title:not([data-unread="0"])::after {
  603. background-color: var(--background-color-light-shadowed);
  604. }
  605. /*=== Aside main page (feeds) */
  606. .feed.item.empty.active {
  607. background-color: var(--empty-feed-color);
  608. }
  609. .feed.item.error.active {
  610. background-color: var(--error-feed-color);
  611. }
  612. .feed.item.empty,
  613. .feed.item.empty > a {
  614. color: var(--empty-feed-color);
  615. }
  616. .feed.item.error,
  617. .feed.item.error > a {
  618. color: var(--error-feed-color);
  619. }
  620. .feed.item.empty.active,
  621. .feed.item.error.active,
  622. .feed.item.empty.active > a,
  623. .feed.item.error.active > a {
  624. color: var(--font-color-light);
  625. }
  626. .aside_feed .tree-folder-items .dropdown-menu::after {
  627. left: 2px;
  628. }
  629. /*=== Prompt (centered) */
  630. .prompt .form-group {
  631. margin-bottom: 1rem;
  632. }
  633. .prompt .form-group::after {
  634. display: none;
  635. }
  636. .prompt .form-group.form-group-actions {
  637. display: flex;
  638. margin-top: 2rem;
  639. align-items: center;
  640. justify-content: space-between;
  641. }
  642. .prompt .btn.btn-important {
  643. padding-left: 1.5rem;
  644. padding-right: 1.5rem;
  645. font-size: 1.1rem;
  646. }
  647. /*=== New article notification */
  648. #new-article {
  649. background-color: var(--contrast-background-color);
  650. text-align: center;
  651. font-size: 0.9em;
  652. }
  653. #new-article > a {
  654. color: var(--font-color-light);
  655. font-weight: bold;
  656. }
  657. #new-article > a:hover {
  658. text-decoration: none;
  659. background-color: var(--contrast-background-color-hover);
  660. }
  661. /*=== Transition indication, e.g. day */
  662. .transition {
  663. padding: 0 10px;
  664. font-weight: bold;
  665. line-height: 3;
  666. background-color: var(--background-color-light);
  667. border-top: 1px solid var(--border-color);
  668. }
  669. .transition span {
  670. line-height: 1.5;
  671. }
  672. #new-article + .transition {
  673. border-top: none;
  674. }
  675. .transition .name {
  676. padding: 0 10px 0 0;
  677. color: var(--font-color-light-shadowed);
  678. font-size: 1.8em;
  679. opacity: 0.3;
  680. text-shadow: 0px -1px 0px var(--text-shadow-color-dark);
  681. font-style: italic;
  682. text-align: right;
  683. }
  684. /*=== Index menu */
  685. .nav_menu {
  686. background-color: var(--background-color-light-shadowed);
  687. border-bottom: 1px solid var(--border-color);
  688. }
  689. /*=== Feed articles */
  690. .flux {
  691. background-color: var(--background-color-light);
  692. border-left: 2px solid transparent;
  693. }
  694. .flux.current {
  695. background-color: var(--background-color-light);
  696. border-left: 2px solid var(--contrast-border-color-active);
  697. }
  698. .flux .flux_header:hover {
  699. background-color: var(--background-color-hover);
  700. }
  701. .flux .flux_header:not(.current):hover .flux_header,
  702. .flux:not(.current):hover .flux_header .title,
  703. .flux.current .flux_header {
  704. background-color: var(--background-color-hover);
  705. }
  706. .flux.not_read {
  707. border-left: 2px solid var(--unread-article-border-color);
  708. }
  709. .flux.not_read .flux_header {
  710. background-color: var(--unread-article-background-color);
  711. }
  712. .flux.not_read:not(.current):hover .flux_header .title,
  713. .flux.not_read:not(.current):hover .flux_header,
  714. .flux.not_read.current .flux_header {
  715. background-color: var(--unread-article-background-color-hover);
  716. }
  717. .flux.favorite {
  718. border-left: 2px solid var(--favorite-article-border-color);
  719. }
  720. .flux.favorite:not(.current) .flux_header {
  721. background-color: var(--favorite-article-background-color);
  722. }
  723. .flux.favorite:not(.current):hover .flux_header .title,
  724. .flux.favorite:not(.current):hover .flux_header,
  725. .flux.favorite.current .flux_header {
  726. background-color: var(--favorite-article-background-color-hover);
  727. }
  728. /* stylelint-disable-next-line no-duplicate-selectors */
  729. .flux.current {
  730. border-left-width: 5px;
  731. border-left-style: double;
  732. }
  733. .flux.current > .flux_header {
  734. background: linear-gradient(to right, transparent 0, transparent 3px, var(--background-color-hover) 3px);
  735. margin-left: -3px; /* Compensate increased border-left-width */
  736. }
  737. .flux.not_read.current > .flux_header, .flux.not_read.current > .flux_header:hover {
  738. background: linear-gradient(to right, transparent 0, transparent 3px, var(--unread-article-background-color-hover) 3px);
  739. }
  740. .flux.favorite.current > .flux_header, .flux.favorite.current > .flux_header:hover {
  741. background: linear-gradient(to right, transparent 0, transparent 3px, var(--favorite-article-background-color-hover) 3px);
  742. }
  743. .flux_header {
  744. font-size: 0.9rem;
  745. border-top: 1px solid var(--border-color);
  746. cursor: pointer;
  747. }
  748. .flux .item .date {
  749. color: var(--font-color-grey);
  750. font-size: 0.7rem;
  751. }
  752. .flux .bottom {
  753. font-size: 0.8rem;
  754. text-align: center;
  755. }
  756. /*=== Content of feed articles */
  757. .content h1.title > a {
  758. color: var(--font-color);
  759. }
  760. .content hr {
  761. margin: 30px 10px;
  762. background-color: var(--background-color-grey);
  763. height: 1px;
  764. border: 0;
  765. box-shadow: 0 2px 5px var(--box-shadow-color);
  766. }
  767. .content pre {
  768. border: 1px solid var(--border-color);
  769. border-radius: 3px;
  770. }
  771. .content pre code {
  772. background: transparent;
  773. color: var(--font-color);
  774. border: none;
  775. }
  776. .content code {
  777. background-color: var(--background-color-light-shadowed);
  778. color: var(--error-feed-color);
  779. border-color: var(--border-color);
  780. border-radius: 3px;
  781. }
  782. .content blockquote {
  783. margin: 0;
  784. padding: 5px 20px;
  785. background-color: var(--background-color-light-shadowed);
  786. display: block;
  787. color: var(--font-color-grey);
  788. border-top: 1px solid var(--border-color);
  789. border-bottom: 1px solid var(--border-color);
  790. }
  791. .content blockquote p {
  792. margin: 0;
  793. }
  794. #stream-footer {
  795. border-top-color: var(--border-color);
  796. }
  797. /*=== Notification and actualize notification */
  798. .notification {
  799. font-size: 0.9em;
  800. border: 1px solid var(--notification-good-border-color);
  801. border-radius: 3px;
  802. box-shadow: 0 0 5px var(--box-shadow-color);
  803. text-align: center;
  804. font-weight: bold;
  805. vertical-align: middle;
  806. }
  807. .notification.good {
  808. background-color: var(--notification-good-background-color);
  809. color: var(--notification-good-font-color);
  810. border: 1px solid var(--notification-good-border-color);
  811. }
  812. .notification.bad {
  813. background-color: var(--notification-bad-background-color);
  814. color: var(--notification-bad-font-color);
  815. border: 1px solid var(--notification-bad-border-color);
  816. }
  817. .notification .close:hover {
  818. background-color: var(--notification-close-background-color-hover);
  819. }
  820. .notification .close .icon {
  821. filter: brightness(1.5);
  822. }
  823. .notification .close:hover .icon {
  824. filter: brightness(0.5);
  825. }
  826. .notification#actualizeProgress {
  827. line-height: 2em;
  828. }
  829. /*=== "Load more" part */
  830. #bigMarkAsRead.big {
  831. color: var(--font-color-grey);
  832. text-align: center;
  833. text-decoration: none;
  834. text-shadow: 0 -1px 0 var(--text-shadow-color);
  835. }
  836. #bigMarkAsRead:hover {
  837. background-color: var(--background-color-hover);
  838. color: var(--contrast-border-color-active);
  839. box-shadow: 0 -5px 10px var(--box-shadow-color-inset) inset;
  840. }
  841. #bigMarkAsRead:hover .bigTick {
  842. text-shadow: 0 0 5px var(--text-shadow-color);
  843. }
  844. /*=== Navigation menu (for articles) */
  845. #nav_entries {
  846. background-color: var(--background-color-light);
  847. border-top: 1px solid var(--border-color);
  848. }
  849. /*=== READER VIEW */
  850. /*================*/
  851. #stream.reader .flux {
  852. background-color: var(--background-color-grey);
  853. border: none;
  854. }
  855. #stream.reader .flux .flux_content {
  856. background-color: var(--background-color-light);
  857. border-color: var(--border-color);
  858. }
  859. #stream.reader .flux .author {
  860. color: var(--font-color-grey);
  861. }
  862. /*=== GLOBAL VIEW */
  863. /*================*/
  864. .box.category:not([data-unread="0"]) .box-title {
  865. background-color: var(--contrast-background-color);
  866. }
  867. .box.category .box-title .title {
  868. display: block;
  869. font-weight: normal;
  870. }
  871. .box.category:not([data-unread="0"]) .box-title .title {
  872. color: var(--font-color-light);
  873. font-weight: bold;
  874. }
  875. .box.category .title:not([data-unread="0"])::after {
  876. background: none;
  877. color: var(--font-color-light);
  878. border: 0;
  879. box-shadow: none;
  880. position: absolute;
  881. top: 5px; right: 10px;
  882. font-weight: bold;
  883. text-shadow: none;
  884. }
  885. /*=== DIVERS */
  886. /*===========*/
  887. .aside.aside_feed .nav-form input,
  888. .aside.aside_feed .nav-form select {
  889. width: 140px;
  890. }
  891. .aside.aside_feed .nav-form .dropdown .dropdown-menu {
  892. right: -20px;
  893. }
  894. .aside.aside_feed .nav-form .dropdown .dropdown-menu::after {
  895. right: 33px;
  896. }
  897. /*=== STATISTICS */
  898. /*===============*/
  899. .stat {
  900. margin: 10px 0 20px;
  901. }
  902. .stat th,
  903. .stat td,
  904. .stat tr {
  905. border: none;
  906. }
  907. .stat > table td,
  908. .stat > table th {
  909. border-bottom: 1px solid var(--border-color);
  910. }
  911. /*=== LOGS */
  912. /*=========*/
  913. .pagination .item.active {
  914. background-color: var(--contrast-background-color-active);
  915. color: white;
  916. }
  917. #loglist td {
  918. font-family: monospace;
  919. }
  920. /*=== MOBILE */
  921. /*===========*/
  922. @media (max-width: 840px) {
  923. .header > .item {
  924. padding: 0.5rem 1rem;
  925. }
  926. .header > .item.title {
  927. width: 75%;
  928. text-align: left;
  929. }
  930. .header > .item.configure {
  931. width: 25%;
  932. text-align: right;
  933. }
  934. .form-group .group-name {
  935. padding-bottom: 0;
  936. }
  937. .aside {
  938. transition: width 200ms linear;
  939. }
  940. .aside:target {
  941. box-shadow: 3px 0 3px var(--text-shadow-color);
  942. }
  943. .aside .toggle_aside,
  944. #overlay .close,
  945. .dropdown-menu .toggle_aside,
  946. #slider .toggle_aside {
  947. background-color: var(--background-color-light-shadowed);
  948. border-bottom: 1px solid var(--border-color);
  949. }
  950. .aside.aside_feed {
  951. padding: 0;
  952. }
  953. .post {
  954. padding-left: 1rem;
  955. padding-right: 1rem;
  956. }
  957. .nav_menu .btn {
  958. margin: 5px 10px;
  959. padding: 3px 5px;
  960. min-height: 0;
  961. }
  962. .nav_menu .stick,
  963. .nav_menu .group {
  964. margin: 0 10px;
  965. }
  966. .nav_menu .stick .btn,
  967. .nav_menu .group .btn {
  968. margin: 5px 0;
  969. }
  970. .dropdown-target:target ~ .dropdown-toggle::after {
  971. background-color: var(--background-color-light);
  972. border-top: 1px solid var(--border-color);
  973. border-left: 1px solid var(--border-color);
  974. }
  975. .dropdown-menu .dropdown-section:last-child {
  976. margin-bottom: 3rem;
  977. }
  978. .item.configure .dropdown .dropdown-menu {
  979. border-radius: 0;
  980. }
  981. #nav_menu_read_all .btn {
  982. border-left: 1px solid var(--border-color-shadow-side);
  983. border-radius: 3px;
  984. }
  985. #overlay {
  986. background-color: var(--background-color-light);
  987. }
  988. .form-group.form-actions {
  989. margin-left: -15px;
  990. margin-right: -15px;
  991. padding-left: 15px;
  992. padding-right: 15px;
  993. }
  994. .transition .name {
  995. font-size: 1.1rem;
  996. text-shadow: none;
  997. }
  998. .notification .close {
  999. background-color: transparent;
  1000. display: block;
  1001. left: 0;
  1002. }
  1003. .notification .close:hover {
  1004. opacity: 0.5;
  1005. }
  1006. .notification .close .icon {
  1007. display: none;
  1008. }
  1009. }
  1010. @media screen and (prefers-color-scheme: dark) {
  1011. :root.darkMode_auto {
  1012. --frss-background-color: #000;
  1013. --frss-background-color-middle: #222;
  1014. --frss-border-color: #444;
  1015. --frss-font-color-grey-dark: #999;
  1016. --frss-font-color-dark: #ddd;
  1017. --frss-modal-background-color-transparent: #000000a3;
  1018. --frss-background-color-transparent: #000000a3;
  1019. --frss-scrollbar-handle: #fff1;
  1020. --frss-scrollbar-handle-hover: #fff4;
  1021. --frss-font-color-grey-light: #555;
  1022. --background-color-light-gradient1: #1c1c1c;
  1023. --background-color-light-gradient2: #111;
  1024. --background-color-light: #111;
  1025. --background-color-light-shadowed: #191919;
  1026. --background-color-light-shadowed-transparent: #191919cf;
  1027. --background-color-grey: #1f1f1f;
  1028. --background-color-hover: #212227;
  1029. --unread-article-background-color: #1b1817;
  1030. --unread-article-background-color-hover: #292422;
  1031. --unread-article-border-color: #ff5300;
  1032. --favorite-article-background-color: #24221d;
  1033. --favorite-article-background-color-hover: #302d26;
  1034. --favorite-article-border-color: #ffc300;
  1035. --contrast-background-color: #0084cc;
  1036. --contrast-background-color-gradient: #0045cc;
  1037. --contrast-background-color-hover: #06c;
  1038. --contrast-background-color-active: #038;
  1039. --contrast-border-color: #0062b7;
  1040. --contrast-background-font-color: #eee;
  1041. --attention-background-color-gradient1: #ea4a46;
  1042. --attention-background-color-gradient2: #911811;
  1043. --attention-background-color-gradient1-hover: #d14641;
  1044. --attention-background-color-gradient2-hover: #bd362f;
  1045. --attention-background-color-active: #bd362f;
  1046. --attention-border-color: #c44742;
  1047. --empty-feed-color: #e67e22;
  1048. --error-feed-color: #bd362f;
  1049. --alert-warn-background-color: #ffffe022;
  1050. --alert-warn-font-color: #ccc;
  1051. --alert-warn-border-color: #eeb;
  1052. --alert-success-background-color: #e8ffe814;
  1053. --alert-success-font-color: #96c196;
  1054. --alert-success-border-color: #cec;
  1055. --alert-error-background-color: #fdda;
  1056. --alert-error-font-color: #512b2b;
  1057. --alert-error-boder-color: #ecc;
  1058. --notification-good-background-color: #ffe;
  1059. --notification-good-border-color: #eeb;
  1060. --notification-good-font-color: #916a37;
  1061. --notification-bad-background-color: #fdd;
  1062. --notification-bad-font-color: #643838;
  1063. --notification-bad-border-color: #ecc;
  1064. --notification-close-background-color-hover: #aaa2;
  1065. --font-color: #ccc;
  1066. --font-color-grey: #aaa;
  1067. --font-color-light-shadowed: #555;
  1068. --font-color-light: #ccc;
  1069. --text-shadow-color: #1c1c1c;
  1070. --text-shadow-color-dark: #666;
  1071. --box-shadow-color: #0009;
  1072. --box-shadow-color-inset: #1f1f1f;
  1073. --font-color-link: #467eb3;
  1074. --font-color-link-hover: #0062be;
  1075. --border-color: #222;
  1076. --border-color-shadow-side: #333;
  1077. --contrast-border-color-active: #0062be;
  1078. --form-element-font-color-focus: #b8d0e7;
  1079. --form-element-border-color-focus: #0062be;
  1080. --form-element-focus-box-shadow-color-inset: #110;
  1081. --form-element-border-color-invalid: #f00;
  1082. --form-element-invalid-box-shadow-color-inset: none;
  1083. }
  1084. :root.darkMode_auto .nav_menu .btn {
  1085. color: #777;
  1086. }
  1087. :root.darkMode_auto .nav_menu .btn:hover {
  1088. color: var(--font-color-grey);
  1089. }
  1090. :root.darkMode_auto .nav_menu .btn.active,
  1091. :root.darkMode_auto .nav_menu .btn:active,
  1092. :root.darkMode_auto .nav_menu .dropdown-target:target ~ .btn.dropdown-toggle {
  1093. background: #292929;
  1094. }
  1095. :root.darkMode_auto .dropdown-menu {
  1096. background-color: #0a0a0a;
  1097. }
  1098. :root.darkMode_auto .nav_menu {
  1099. background-color: #141414;
  1100. }
  1101. :root.darkMode_auto .header {
  1102. background-color: var(--background-color-light-shadowed);
  1103. }
  1104. :root.darkMode_auto .btn.active .icon,
  1105. :root.darkMode_auto .btn:active .icon {
  1106. filter: brightness(1.4);
  1107. }
  1108. :root.darkMode_auto .spinner {
  1109. filter: invert(1) brightness(2);
  1110. }
  1111. }