origine.css 24 KB

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