pafat.css 24 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157
  1. @charset "UTF-8";
  2. /*=== GENERAL */
  3. /*============*/
  4. :root {
  5. --font-color-white: #fff;
  6. --font-color-grey-light: #c5c6ca;
  7. --font-color-grey: #666;
  8. --font-color-hover: #000;
  9. --font-color-link-title: #333;
  10. --font-color-link-general: #2980b9;
  11. --font-color-link-general-hover: #038;
  12. --font-color-unread-articles: #428bca;
  13. --font-color-article: #41444f;
  14. --font-color-blockquote: #41444f;
  15. --font-color-code: #d14;
  16. --background-color-white: #fff;
  17. --background-color-grey-light: #fafafa;
  18. --background-color-grey: #f4f4f4;
  19. --background-color-grey-transparent: #f3f3f3bb;
  20. --background-color-grey-hover: #f0f0f0;
  21. --background-color-grey-button-active: #eee;
  22. --background-color-dark: #41444f;
  23. --background-color-navlist-active: #3498db;
  24. --background-color-favorite: #fff6da;
  25. --background-color-favorite-hover: #fff9e8;
  26. --background-color-button-important: #5cb85c;
  27. --background-color-button-important-hover: #47a447;
  28. --background-color-button-attention: #d9534f;
  29. --background-color-button-attention-hover: #d2322d;
  30. --background-color-active-feed: #5cb85c;
  31. --background-color-mainstream: #428bca;
  32. --background-color-mainstream-active: #3276b1;
  33. --background-color-favorites: #f0ad4e;
  34. --background-color-favorites-active: #ed9c28;
  35. --background-color-category: #5bc0de;
  36. --background-color-category-active: #39b3d7;
  37. --background-color-new-article: #428bca;
  38. --background-color-new-article-hover: #3276b1;
  39. --color-empty-feed: #f39c12;
  40. --color-error-feed: #bd362f;
  41. --color-warning-icon-folder: #f0ad4e;
  42. --notification-good-background-color: #ffe;
  43. --notification-good-border-color: #eeb;
  44. --notification-good-font-color: #c95;
  45. --notification-bad-background-color: #fdd;
  46. --notification-bad-font-color: #844;
  47. --notification-bad-border-color: #ecc;
  48. --notification-box-shadow-color: #ddd;
  49. --alert-warn-background-color: #ffe;
  50. --alert-warn-border-color: #eeb;
  51. --alert-warn-font-color: #c95;
  52. --alert-info-background-color: #e6f3ff;
  53. --alert-info-border-color: #b3d9ff;
  54. --alert-info-font-color: #1a3d5c;
  55. --alert-success-background-color: #dfd;
  56. --alert-success-border-color: #cec;
  57. --alert-success-font-color: #484;
  58. --alert-error-background-color: #fdd;
  59. --alert-error-font-color: #844;
  60. --alert-error-border-color: #ecc;
  61. --invalid-box-border-color: #f00;
  62. --invalid-box-shadow-color: #fdd;
  63. --border-color-white: #fff;
  64. --border-color-grey-dark: #aaa;
  65. --border-color-grey-light: #ddd;
  66. --border-left-article: #5cb85c;
  67. --border-left-article-current: #39b3d7;
  68. --border-left-article-unread: #d9534f;
  69. --border-left-article-favorite: #428bca;
  70. }
  71. html, body {
  72. background-color: var(--background-color-grey-light);
  73. color: var(--font-color-grey);
  74. font-family: "OpenSans", "Cantarell", "Helvetica", "Arial", sans-serif;
  75. }
  76. /*=== Links */
  77. a, .as-link, button.as-link {
  78. color: var(--font-color-link-general);
  79. outline: none;
  80. }
  81. /*=== Forms */
  82. legend {
  83. margin: 20px 0 5px;
  84. padding: 5px 0;
  85. font-size: 1.4em;
  86. border-bottom: 1px solid var(--border-color-grey-light);
  87. }
  88. label {
  89. min-height: 25px;
  90. padding: 5px 0;
  91. cursor: pointer;
  92. }
  93. input, select, textarea {
  94. background-color: var(--background-color-white);
  95. color: var(--font-color-grey);
  96. border: 1px solid var(--border-color-grey-dark);
  97. border-radius: 3px;
  98. }
  99. option {
  100. padding: 0 .5em;
  101. }
  102. input:focus, select:focus, textarea:focus {
  103. border-color: var(--border-color-grey-dark);
  104. }
  105. input:user-invalid, select:user-invalid {
  106. border-color: var(--invalid-box-border-color);
  107. box-shadow: 0 0 2px 2px var(--invalid-box-shadow-color) inset;
  108. }
  109. /*=== Tables */
  110. table {
  111. border-collapse: collapse;
  112. }
  113. th, td {
  114. border: 1px solid var(--border-color-grey-light);
  115. }
  116. th {
  117. background-color: var(--background-color-grey);
  118. }
  119. .config-articleicons td,
  120. .config-articleicons th {
  121. font-weight: normal;
  122. text-align: center;
  123. }
  124. /*=== COMPONENTS */
  125. /*===============*/
  126. /*=== Forms */
  127. .form-group.form-actions {
  128. padding: 5px 0;
  129. background-color: var(--background-color-grey-transparent);
  130. border-top: 1px solid var(--border-color-grey-light);
  131. }
  132. .form-group.form-actions .btn {
  133. margin: 0 10px;
  134. }
  135. .form-group .group-name {
  136. padding: 10px 0;
  137. }
  138. .form-group .group-controls {
  139. margin-bottom: 10px;
  140. padding: 5px 0;
  141. min-height: 25px;
  142. }
  143. /*=== Buttons */
  144. .stick input,
  145. .stick .btn,
  146. .group .btn {
  147. border-radius: 0;
  148. }
  149. .stick .btn:first-child,
  150. .group .btn:first-child,
  151. .stick input:first-child {
  152. border-radius: 3px 0 0 3px;
  153. }
  154. .stick .btn-important:first-child {
  155. width: 176px;
  156. }
  157. .stick .btn:last-child,
  158. .group .btn:last-child,
  159. .stick input:last-child {
  160. border-radius: 0 3px 3px 0;
  161. }
  162. .group > .btn:only-child,
  163. .group > .dropdown:only-child > .btn {
  164. border-radius: 3px;
  165. }
  166. .stick .btn + .btn,
  167. .group .btn + .btn,
  168. .stick .btn + input,
  169. .stick .btn + .dropdown > .btn,
  170. .group .btn + .dropdown > .btn,
  171. .stick input + .btn,
  172. .stick input + input,
  173. .stick input + .dropdown > .btn,
  174. .stick .dropdown + .btn,
  175. .group .dropdown + .btn,
  176. .stick .dropdown + input,
  177. .stick .dropdown + .dropdown > .btn,
  178. .group .dropdown + .dropdown > .btn {
  179. border-left: none;
  180. }
  181. .stick .btn + .dropdown > .btn,
  182. .group .btn + .dropdown:last-child > .btn,
  183. .group .dropdown + .dropdown:last-child > .btn {
  184. border-left: none;
  185. border-radius: 0 3px 3px 0;
  186. }
  187. .btn {
  188. margin: 0;
  189. padding: 1px 5px;
  190. background-color: var(--background-color-white);
  191. color: var(--font-color-grey);
  192. font-size: 0.9rem;
  193. border: 1px solid var(--border-color-grey-dark);
  194. border-radius: 3px;
  195. min-height: 25px;
  196. min-width: 15px;
  197. line-height: 1.7;
  198. vertical-align: middle;
  199. }
  200. .read_all.btn {
  201. height: 29px;
  202. }
  203. .btn:hover {
  204. background-color: var(--background-color-grey-hover);
  205. text-decoration: none;
  206. }
  207. .btn.active,
  208. .btn:active,
  209. .dropdown-target:target ~ .btn.dropdown-toggle {
  210. background-color: var(--background-color-grey-button-active);
  211. }
  212. .btn-important {
  213. background-color: var(--background-color-button-important);
  214. color: var(--font-color-white);
  215. border: none;
  216. font-weight: normal;
  217. }
  218. .btn-important:hover, .btn-important:active {
  219. background-color: var(--background-color-button-important-hover);
  220. border: none;
  221. }
  222. .btn-important .icon {
  223. filter: brightness(3);
  224. }
  225. .btn-attention {
  226. background-color: var(--background-color-button-attention);
  227. color: var(--font-color-white);
  228. border: none;
  229. }
  230. .btn-attention:hover {
  231. background-color: var(--background-color-button-attention-hover);
  232. border: none;
  233. }
  234. .btn-attention:active {
  235. background-color: var(--background-color-button-attention-hover);
  236. }
  237. /*=== Navigation */
  238. .nav-list {
  239. font-size: 0.9rem;
  240. }
  241. .nav-list .item,
  242. .nav-list .item.nav-header {
  243. min-height: 2.5em;
  244. line-height: 2.5;
  245. }
  246. .nav-list .item a:hover,
  247. .nav-list .item .as-link:hover {
  248. color: var(--font-color-link-general-hover);
  249. background-color: var(--background-color-grey-hover);
  250. }
  251. .nav-list .item.active,
  252. .nav-list .item.active a:hover,
  253. .nav-list .item.active .as-link:hover {
  254. background-color: var(--background-color-navlist-active);
  255. color: var(--font-color-white);
  256. }
  257. .nav-list .item.active a,
  258. .nav-list .item.active .as-link {
  259. color: var(--font-color-white);
  260. }
  261. .nav-list .item > a,
  262. .nav-list .item > .as-link {
  263. padding: 0 1rem;
  264. }
  265. .nav-list a:hover,
  266. .nav-list .as-link:hover {
  267. text-decoration: none;
  268. }
  269. .nav-list .nav-header {
  270. padding: 0 1rem;
  271. background-color: var(--background-color-grey);
  272. color: var(--font-color-grey);
  273. font-weight: bold;
  274. }
  275. .nav-list .nav-form {
  276. padding: 3px;
  277. text-align: center;
  278. }
  279. /*=== Dropdown */
  280. .dropdown-menu {
  281. margin: 5px 0 0;
  282. padding: 0.5rem 0 0.25rem 0;
  283. font-size: 0.8rem;
  284. border: 1px solid var(--border-color-grey-dark);
  285. border-radius: 5px;
  286. text-align: left;
  287. }
  288. .dropdown-menu::after {
  289. border-color: var(--border-color-grey-dark);
  290. right: 8px;
  291. }
  292. .dropdown-header,
  293. .dropdown-section .dropdown-section-title {
  294. padding: 0 5px 5px;
  295. color: var(--font-color-grey);
  296. font-weight: bold;
  297. text-align: left;
  298. }
  299. .dropdown-menu .item > a,
  300. .dropdown-menu .item > span,
  301. .dropdown-menu .item > .as-link {
  302. padding: 0 22px;
  303. line-height: 2.5;
  304. color: var(--font-color-grey);
  305. font-size: inherit;
  306. }
  307. .dropdown-menu .dropdown-section .item > a,
  308. .dropdown-menu .dropdown-section .item > span,
  309. .dropdown-menu .dropdown-section .item > .as-link {
  310. padding-left: 2rem;
  311. }
  312. .dropdown-menu .dropdown-section .item:last-child {
  313. margin-bottom: 0.5rem;
  314. }
  315. .dropdown-menu .item > a:focus,
  316. .dropdown-menu .item > a:hover,
  317. .dropdown-menu .item > button:focus:not([disabled]),
  318. .dropdown-menu .item > button:hover:not([disabled]),
  319. .dropdown-menu .item > label:focus:not(.noHover),
  320. .dropdown-menu .item > label:hover:not(.noHover) {
  321. background-color: var(--background-color-grey-hover);
  322. color: var(--font-color-grey);
  323. }
  324. .dropdown-menu > .item[aria-checked="true"] > a::before {
  325. font-weight: bold;
  326. margin: 0 0 0 -14px;
  327. }
  328. .dropdown-menu .input select,
  329. .dropdown-menu .input input {
  330. margin: 0 auto 5px;
  331. padding: 2px 5px;
  332. border-radius: 3px;
  333. }
  334. .item ~ .dropdown-header,
  335. .dropdown-section ~ .dropdown-section,
  336. .item.separator {
  337. border-top-color: var(--border-color-grey-light);
  338. }
  339. /*=== Alerts */
  340. .alert {
  341. background-color: var(--background-color-grey);
  342. color: var(--font-color-grey);
  343. font-size: 0.9em;
  344. border: 1px solid var(--border-color-grey-light);
  345. border-right: 1px solid var(--border-color-grey-dark);
  346. border-bottom: 1px solid var(--border-color-grey-dark);
  347. border-radius: 5px;
  348. }
  349. .alert-head {
  350. font-size: 1.15em;
  351. }
  352. .alert > a {
  353. color: inherit;
  354. text-decoration: underline;
  355. }
  356. .alert-warn {
  357. background: var(--alert-warn-background-color);
  358. color: var(--alert-warn-font-color);
  359. border: 1px solid var(--alert-warn-border-color);
  360. }
  361. .alert-info {
  362. background: var(--alert-info-background-color);
  363. color: var(--alert-info-font-color);
  364. border: 1px solid var(--alert-info-border-color);
  365. }
  366. .alert-success {
  367. background-color: var(--alert-success-background-color);
  368. color: var(--alert-success-font-color);
  369. border: 1px solid var(--alert-success-border-color);
  370. }
  371. .alert-error {
  372. background: var(--alert-error-background-color);
  373. color: var(--alert-error-font-color);
  374. border: 1px solid var(--alert-error-border-color);
  375. }
  376. /*=== Pagination */
  377. .pagination:first-child .item {
  378. border-bottom: 1px solid var(--border-color-grey-dark);
  379. }
  380. .pagination:last-child .item {
  381. border-top: 1px solid var(--border-color-grey-dark);
  382. }
  383. /*=== Boxes */
  384. .box {
  385. border: 1px solid var(--border-color-grey-dark);
  386. border-radius: 5px;
  387. }
  388. .box .box-title {
  389. background-color: var(--background-color-grey);
  390. border-bottom: 1px solid var(--border-color-grey-dark);
  391. border-radius: 5px 5px 0 0;
  392. }
  393. .box .box-title .configure {
  394. margin-right: 4px;
  395. }
  396. .box .box-content {
  397. padding-left: 30px;
  398. max-height: 260px;
  399. }
  400. .box .box-content .item {
  401. font-size: 0.9rem;
  402. }
  403. /*=== Tree */
  404. .tree {
  405. margin: 10px 0;
  406. }
  407. .tree-folder {
  408. padding: 0.25rem 0.5rem;
  409. }
  410. .tree-folder-title {
  411. padding: 0.125rem 0.5rem;
  412. background-color: var(--background-color-category);
  413. color: var(--font-color-white);
  414. font-size: 0.9rem;
  415. border-top: 1px solid transparent;
  416. border-bottom: 1px solid transparent;
  417. border-radius: 0.25rem;
  418. position: relative;
  419. line-height: 2.15;
  420. }
  421. .tree-folder-title:hover {
  422. background-color: var(--background-color-category-active);
  423. }
  424. .tree-folder-title .title {
  425. background: inherit;
  426. color: var(--font-color-white);
  427. }
  428. .tree-folder-title .title:hover {
  429. text-decoration: none;
  430. }
  431. .item.feed.error .item-title::before {
  432. font-size: 1rem;
  433. font-weight: normal;
  434. line-height: 1;
  435. }
  436. .tree-folder-title .title.error::before {
  437. color: var(--color-warning-icon-folder);
  438. font-size: 1.2rem;
  439. font-weight: normal;
  440. line-height: 1;
  441. }
  442. .tree-folder-title > .icon,
  443. .tree-folder-title .title .icon {
  444. filter: brightness(2.5);
  445. }
  446. .tree-folder.active .tree-folder-title {
  447. background-color: var(--background-color-category-active);
  448. font-weight: bold;
  449. }
  450. .tree-folder.active .tree-folder-title::before {
  451. background-color: var(--background-color-white);
  452. width: 0.5rem;
  453. height: 0.5rem;
  454. position: absolute;
  455. top: 1rem;
  456. left: -0.25rem;
  457. z-index: 10;
  458. transform: rotate(45deg);
  459. }
  460. .aside_feed .configure-feeds .btn {
  461. padding: 0.125rem 0.75rem;
  462. }
  463. .aside_feed .tree-folder-items > .item.feed {
  464. padding-left: 0.5rem;
  465. font-size: 0.8rem;
  466. }
  467. .aside .feed .item-title:not([data-unread="0"])::after {
  468. right: 0.5rem;
  469. }
  470. .tree-folder-items > .item.active {
  471. background-color: var(--background-color-active-feed);
  472. }
  473. .tree-folder-items > .item > a {
  474. text-decoration: none;
  475. }
  476. .tree-folder-items > .item.active > a {
  477. color: var(--font-color-white);
  478. }
  479. /*=== STRUCTURE */
  480. /*===============*/
  481. /*=== Header */
  482. .header {
  483. background-color: var(--background-color-dark);
  484. }
  485. .header > .item {
  486. box-shadow: inset 0 -1px 0 var(--border-color-grey-dark);
  487. vertical-align: middle;
  488. text-align: center;
  489. }
  490. .header > .item.title .logo {
  491. filter: grayscale(100%) brightness(2.5);
  492. }
  493. .header > .item.title a:hover .logo {
  494. filter: grayscale(100%) brightness(4);
  495. }
  496. a.signin {
  497. text-decoration: none;
  498. color: var(--font-color-grey-light);
  499. }
  500. .header > .item.search input {
  501. width: 230px;
  502. height: 29px;
  503. box-sizing: border-box;
  504. }
  505. .header > .item.search button {
  506. box-sizing: border-box;
  507. height: 29px;
  508. }
  509. .header .item.search input {
  510. width: 350px;
  511. }
  512. /*=== Body */
  513. .aside {
  514. background-color: var(--background-color-white);
  515. border-right: 1px solid var(--border-color-grey-dark);
  516. }
  517. .aside.aside_feed {
  518. padding: 10px 0;
  519. text-align: center;
  520. }
  521. .aside.aside_feed .tree {
  522. margin: 10px 0 50px;
  523. }
  524. /*=== Aside main page (categories) */
  525. .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after,
  526. .global .box.category .title:not([data-unread="0"])::after {
  527. margin: 0.55em 0 0 0;
  528. background-color: var(--background-color-white);
  529. color: var(--font-color-unread-articles);
  530. }
  531. .aside.aside_feed .feed .item-title:not([data-unread="0"])::after {
  532. background-color: var(--background-color-category);
  533. color: var(--font-color-white);
  534. }
  535. .aside.aside_feed .tree-folder.category.active .feed .item-title:not([data-unread="0"])::after {
  536. background-color: var(--background-color-category-active);
  537. font-size: 0.7rem;
  538. }
  539. .aside.aside_feed .category .title:not([data-unread="0"])::after {
  540. right: 0.5rem;
  541. }
  542. .aside.aside_feed .feed.active .item-title:not([data-unread="0"])::after {
  543. background-color: transparent;
  544. color: var(--font-color-white);
  545. border: 1px solid var(--border-color-white);
  546. font-weight: bold;
  547. }
  548. .aside_feed .tree-folder.all .tree-folder-title {
  549. background-color: var(--background-color-mainstream);
  550. }
  551. .aside_feed .tree-folder.all:hover .tree-folder-title,
  552. .aside_feed .tree-folder.all.active .tree-folder-title {
  553. background-color: var(--background-color-mainstream-active);
  554. }
  555. .aside_feed .tree-folder.favorites .tree-folder-title {
  556. background-color: var(--background-color-favorites);
  557. }
  558. .aside_feed .tree-folder.favorites:hover .tree-folder-title,
  559. .aside_feed .tree-folder.favorites.active .tree-folder-title {
  560. background-color: var(--background-color-favorites-active);
  561. }
  562. /*=== Aside main page (feeds) */
  563. .feed.item.empty.active {
  564. background: var(--color-empty-feed);
  565. }
  566. .feed.item.error.active {
  567. background: var(--color-empty-feed);
  568. }
  569. .feed.item.empty,
  570. .feed.item.empty > a {
  571. color: var(--color-empty-feed);
  572. }
  573. .feed.item.error,
  574. .feed.item.error > a {
  575. color: var(--color-error-feed);
  576. }
  577. .feed.item.empty.active,
  578. .feed.item.error.active,
  579. .feed.item.empty.active > a,
  580. .feed.item.error.active > a {
  581. color: var(--font-color-white);
  582. }
  583. .aside_feed .tree-folder-items .dropdown-menu::after {
  584. left: 2px;
  585. }
  586. .aside_feed .tree-folder-items .item .dropdown-target:target ~ .dropdown-toggle > .icon,
  587. .aside_feed .tree-folder-items .item:hover .dropdown-toggle > .icon,
  588. .aside_feed .tree-folder-items .item.active .dropdown-toggle > .icon {
  589. border-radius: 3px;
  590. background-color: var(--background-color-white);
  591. }
  592. .aside_feed .tree-folder-title .dropdown-toggle .icon {
  593. filter: brightness(3);
  594. }
  595. /*=== Prompt (centered) */
  596. .prompt .form-group {
  597. margin-bottom: 1rem;
  598. }
  599. .prompt .form-group::after {
  600. display: none;
  601. }
  602. .prompt .form-group.form-group-actions {
  603. display: flex;
  604. margin-top: 2rem;
  605. align-items: center;
  606. justify-content: space-between;
  607. }
  608. .prompt .btn.btn-important {
  609. padding-left: 1.5rem;
  610. padding-right: 1.5rem;
  611. font-size: 1.1rem;
  612. }
  613. /*=== New article notification */
  614. #new-article {
  615. background-color: var(--background-color-new-article);
  616. text-align: center;
  617. font-size: 0.9em;
  618. }
  619. #new-article > a {
  620. padding: 0.75rem;
  621. color: var(--font-color-white);
  622. font-weight: bold;
  623. }
  624. #new-article > a:hover {
  625. text-decoration: none;
  626. background-color: var(--background-color-new-article-hover);
  627. }
  628. /*=== Transition indication, e.g. day */
  629. .transition {
  630. padding: 0 10px;
  631. background-color: var(--background-color-white);
  632. color: var(--font-color-grey);
  633. border-top: 1px solid var(--border-color-grey-dark);
  634. border-bottom: 1px solid var(--border-color-grey-dark);
  635. font-weight: bold;
  636. line-height: 3;
  637. }
  638. .transition span {
  639. line-height: 1.5;
  640. }
  641. #new-article + .transition {
  642. border-top: none;
  643. }
  644. .transition .name {
  645. padding: 0 10px 0 0;
  646. color: var(--font-color-grey);
  647. font-size: 1.8em;
  648. opacity: 0.3;
  649. font-style: italic;
  650. text-align: right;
  651. }
  652. /*=== Index menu */
  653. .nav_menu {
  654. padding: 5px 0 0 2.5rem;
  655. background-color: var(--background-color-grey-light);
  656. border-bottom: 1px solid var(--border-color-grey-dark);
  657. text-align: center;
  658. .btn {
  659. margin: 5px 10px;
  660. }
  661. .stick,
  662. .group {
  663. margin: 0 10px;
  664. }
  665. .stick .btn,
  666. .group .btn {
  667. margin: 5px 0;
  668. }
  669. }
  670. /*=== Feed articles */
  671. .flux {
  672. background-color: var(--background-color-grey-light);
  673. border-left: 2px solid var(--border-left-article);
  674. }
  675. .flux .flux_header:hover,
  676. .flux.current .flux_header {
  677. background-color: var(--background-color-grey-hover);
  678. }
  679. .flux .flux_header:hover .title {
  680. color: var(--font-color-hover);
  681. }
  682. .flux.current {
  683. background-color: var(--background-color-white);
  684. border-left: 2px solid var(--border-left-article-current);
  685. }
  686. .flux.not_read {
  687. border-left: 2px solid var(--border-left-article-unread);
  688. }
  689. .flux .flux_header .item .title a,
  690. .flux.not_read:not(.current):hover .flux_header .item .title {
  691. color: var(--font-color-link-title);
  692. }
  693. .flux.favorite {
  694. border-left: 2px solid var(--border-left-article-favorite);
  695. }
  696. .flux.favorite:not(.current) {
  697. background-color: var(--background-color-favorite);
  698. }
  699. .flux.favorite:not(.current):hover .flux_header .title,
  700. .flux.favorite:not(.current) .flux_header:hover,
  701. .flux.favorite.current .flux_header {
  702. background-color: var(--background-color-favorite-hover);
  703. }
  704. /* stylelint-disable-next-line no-duplicate-selectors */
  705. .flux.current {
  706. border-left-width: 5px;
  707. border-left-style: double;
  708. }
  709. .flux.current > .flux_header {
  710. background: linear-gradient(to right, transparent 0, transparent 3px, var(--background-color-hover) 3px);
  711. margin-left: -3px; /* Compensate increased border-left-width */
  712. }
  713. .flux.not_read.current > .flux_header, .flux.not_read.current > .flux_header:hover {
  714. background: linear-gradient(to right, transparent 0, transparent 3px, var(--unread-article-background-color-hover) 3px);
  715. }
  716. .flux.favorite.current > .flux_header, .flux.favorite.current > .flux_header:hover {
  717. background: linear-gradient(to right, transparent 0, transparent 3px, var(--favorite-article-background-color-hover) 3px);
  718. }
  719. .flux_header {
  720. font-size: 0.8rem;
  721. border-top: 1px solid var(--border-color-grey-light);
  722. cursor: pointer;
  723. }
  724. .flux_header .title {
  725. font-size: 0.9rem;
  726. }
  727. .flux_header .title .item-element {
  728. padding: 0.425rem;
  729. }
  730. .flux .flux_header .date,
  731. .flux .flux_content .bottom .date {
  732. color: var(--font-color-grey);
  733. }
  734. .flux .bottom {
  735. font-size: 0.8rem;
  736. text-align: center;
  737. }
  738. /*=== Content of feed articles */
  739. .content {
  740. padding: 20px 10px;
  741. }
  742. .content > h1.title > a {
  743. color: var(--font-color-link-title);
  744. }
  745. .content hr {
  746. margin: 30px 10px;
  747. background-color: var(--background-color-grey);
  748. height: 1px;
  749. border: 0;
  750. }
  751. .content pre {
  752. background-color: var(--background-color-dark);
  753. color: var(--font-color-white);
  754. border-radius: 3px;
  755. }
  756. .content code {
  757. background-color: var(--background-color-grey-light);
  758. color: var(--font-color-code);
  759. border-color: var(--border-color-grey-light);
  760. border-radius: 3px;
  761. }
  762. .content pre code {
  763. background: transparent;
  764. color: var(--font-color-white);
  765. border: none;
  766. }
  767. .content blockquote {
  768. margin: 0;
  769. padding: 5px 20px;
  770. background-color: var(--background-color-grey-light);
  771. display: block;
  772. color: var(--font-color-blockquote);
  773. border-top: 1px solid var(--border-color-grey-light);
  774. border-bottom: 1px solid var(--border-color-grey-light);
  775. }
  776. .content blockquote p {
  777. margin: 0;
  778. }
  779. /*=== Notification and actualize notification */
  780. .notification {
  781. font-size: 0.9em;
  782. border: 1px solid var(--notification-good-border-color);
  783. border-radius: 3px;
  784. box-shadow: 0 0 5px var(--notification-box-shadow-color);
  785. text-align: center;
  786. font-weight: bold;
  787. vertical-align: middle;
  788. }
  789. .notification.good {
  790. background-color: var(--notification-good-background-color);
  791. color: var(--notification-good-font-color);
  792. border: 1px solid var(--notification-good-border-color);
  793. }
  794. .notification.bad {
  795. background-color: var(--notification-bad-background-color);
  796. color: var(--notification-bad-font-color);
  797. border: 1px solid var(--notification-bad-border-color);
  798. }
  799. .notification.good .close:hover {
  800. background-color: var(--notification-good-border-color);
  801. }
  802. .notification.bad .close:hover {
  803. background-color: var(--notification-bad-border-color);
  804. }
  805. .notification .close .icon {
  806. filter: brightness(1.5);
  807. }
  808. .notification .close:hover .icon {
  809. filter: brightness(0.5);
  810. }
  811. /*=== "Load more" part */
  812. #bigMarkAsRead.big {
  813. background-color: var(--background-color-grey-light);
  814. color: var(--font-color-grey);
  815. text-align: center;
  816. text-decoration: none;
  817. }
  818. #bigMarkAsRead:hover {
  819. background-color: var(--background-color-grey-hover);
  820. color: var(--font-color-hover);
  821. }
  822. /*=== Navigation menu (for articles) */
  823. #nav_entries {
  824. background-color: var(--background-color-white);
  825. border-top: 1px solid var(--border-color-grey-light);
  826. }
  827. #nav_entries .item:hover {
  828. background-color: var(--background-color-grey-hover);
  829. }
  830. /*=== READER VIEW */
  831. /*================*/
  832. #stream.reader .flux {
  833. background-color: var(--background-color-grey-light);
  834. color: var(--font-color-article);
  835. border: none;
  836. }
  837. #stream.reader .flux .flux_content {
  838. background-color: var(--background-color-white);
  839. border-color: var(--border-color-grey-light);
  840. }
  841. #stream.reader .flux .author {
  842. color: var(--font-color-grey);
  843. }
  844. /*=== GLOBAL VIEW */
  845. /*================*/
  846. .box.category .box-title .title {
  847. font-weight: normal;
  848. text-decoration: none;
  849. text-align: left;
  850. }
  851. .box.category:not([data-unread="0"]) .box-title {
  852. background-color: var(--background-color-category);
  853. }
  854. .box.category:not([data-unread="0"]) .box-title .title {
  855. font-weight: bold;
  856. color: var(--font-color-white);
  857. }
  858. .box.category .title:not([data-unread="0"])::after {
  859. background: none;
  860. border: none;
  861. }
  862. #stream.global .feed .item-title:not([data-unread="0"])::after {
  863. background-color: var(--background-color-category);
  864. color: var(--font-color-white);
  865. }
  866. /*=== DIVERS */
  867. /*===========*/
  868. .aside.aside_feed .nav-form input,
  869. .aside.aside_feed .nav-form select {
  870. width: 140px;
  871. }
  872. .aside.aside_feed .nav-form .dropdown .dropdown-menu {
  873. right: -20px;
  874. }
  875. .aside.aside_feed .nav-form .dropdown .dropdown-menu::after {
  876. right: 33px;
  877. }
  878. /*=== STATISTICS */
  879. /*===============*/
  880. .stat {
  881. margin: 10px 0 20px;
  882. }
  883. .stat th,
  884. .stat td,
  885. .stat tr {
  886. border: none;
  887. }
  888. .stat > table td,
  889. .stat > table th {
  890. border-bottom: 1px solid var(--border-color-grey-light);
  891. text-align: center;
  892. }
  893. /*=== MOBILE */
  894. /*===========*/
  895. @media (max-width: 840px) {
  896. .form-group .group-name {
  897. padding-bottom: 0;
  898. }
  899. .aside .toggle_aside,
  900. #overlay .close,
  901. .dropdown-menu .toggle_aside {
  902. background-color: var(--background-color-grey);
  903. border-bottom: 1px solid var(--border-color-grey-light);
  904. }
  905. .nav_menu {
  906. padding-left: 0;
  907. padding-bottom: 5px;
  908. .stick,
  909. .group {
  910. min-width: 0;
  911. }
  912. }
  913. .dropdown-target:target ~ .dropdown-toggle::after {
  914. border-top: 1px solid var(--border-color-grey-dark);
  915. border-left: 1px solid var(--border-color-grey-dark);
  916. }
  917. .nav_menu .stick #mark-read-menu .dropdown-toggle.btn {
  918. border-left: 1px solid var(--border-color-grey-dark);
  919. border-top-left-radius: 3px;
  920. border-bottom-left-radius: 3px;
  921. }
  922. .transition .name {
  923. font-size: 1.1rem;
  924. text-shadow: none;
  925. }
  926. .notification .close {
  927. background: transparent;
  928. display: block;
  929. left: 0;
  930. }
  931. .notification .close:hover {
  932. opacity: 0.5;
  933. }
  934. .notification .close .icon {
  935. display: none;
  936. }
  937. .post {
  938. padding-left: 15px;
  939. padding-right: 15px;
  940. }
  941. #overlay {
  942. background-color: var(--background-color-grey);
  943. }
  944. }