template.css 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386
  1. @charset "UTF-8";
  2. /*=== GENERAL */
  3. /*============*/
  4. @font-face {
  5. font-family: 'OpenSans';
  6. font-style: normal;
  7. font-weight: 400;
  8. src: local('Open Sans'), local('OpenSans'),
  9. url('../fonts/OpenSans.woff2') format('woff2'),
  10. url('../fonts/OpenSans.woff') format('woff');
  11. }
  12. html, body {
  13. margin: 0;
  14. padding: 0;
  15. font-family: "OpenSans", "Cantarell", "Helvetica", "Arial", sans-serif;
  16. font-size: 100%;
  17. }
  18. /*=== Links */
  19. a {
  20. text-decoration: none;
  21. }
  22. a:hover {
  23. text-decoration: underline;
  24. }
  25. /*=== Lists */
  26. ul, ol, dd {
  27. margin: 0;
  28. padding: 0;
  29. }
  30. /*=== Titles */
  31. h1 {
  32. margin: 0.6em 0 0.3em;
  33. font-size: 1.5em;
  34. line-height: 1.6em;
  35. }
  36. h2 {
  37. margin: 0.5em 0 0.25em;
  38. font-size: 1.3em;
  39. line-height: 2em;
  40. }
  41. h3 {
  42. margin: 0.5em 0 0.25em;
  43. font-size: 1.1em;
  44. line-height: 2em;
  45. }
  46. /*=== Paragraphs */
  47. p {
  48. margin: 1em 0 0.5em;
  49. font-size: 1em;
  50. }
  51. sup {
  52. line-height: 25px;
  53. position: relative;
  54. top: -0.8em;
  55. vertical-align: baseline;
  56. }
  57. kbd {
  58. background-color: #eee;
  59. padding: 2px 4px;
  60. display: inline-block;
  61. color: #333;
  62. border: 1px solid #b4b4b4;
  63. border-radius: 3px;
  64. white-space: nowrap;
  65. }
  66. /*=== Images */
  67. img {
  68. max-width: 100%;
  69. height: auto;
  70. }
  71. img.favicon {
  72. width: 16px;
  73. height: 16px;
  74. vertical-align: middle;
  75. }
  76. .feed.mute::before {
  77. content: '🔇';
  78. }
  79. /*=== Videos */
  80. audio, iframe, embed, object, video {
  81. max-width: 100%;
  82. }
  83. audio {
  84. width: 100%;
  85. }
  86. /*=== Forms */
  87. legend {
  88. display: block;
  89. width: 100%;
  90. clear: both;
  91. }
  92. label {
  93. display: block;
  94. }
  95. input {
  96. width: 180px;
  97. }
  98. input[type=number] {
  99. width: 6em;
  100. }
  101. textarea,
  102. input[type="file"],
  103. input.long,
  104. input.extend:focus {
  105. width: 300px;
  106. }
  107. input, select, textarea {
  108. display: inline-block;
  109. max-width: 100%;
  110. font-size: 0.8rem;
  111. }
  112. input[type="radio"],
  113. input[type="checkbox"] {
  114. width: 15px !important;
  115. min-height: 15px !important;
  116. }
  117. .dropdown-menu label > input[type="text"] {
  118. width: 150px;
  119. width: calc(99% - 5em);
  120. }
  121. .dropdown-menu input[type="checkbox"] {
  122. margin-left: 1em;
  123. margin-right: .5em;
  124. }
  125. button.as-link,
  126. button.as-link:hover,
  127. button.as-link:active {
  128. background: transparent;
  129. color: inherit;
  130. font-size: 1.1em;
  131. border: none;
  132. cursor: pointer;
  133. text-align: left;
  134. }
  135. button.as-link[disabled] {
  136. color: #ddd !important;
  137. }
  138. /*=== Tables */
  139. table {
  140. max-width: 100%;
  141. }
  142. th.numeric,
  143. td.numeric {
  144. text-align: center;
  145. }
  146. /*=== COMPONENTS */
  147. /*===============*/
  148. [aria-hidden="true"] {
  149. display: none !important;
  150. }
  151. /*=== Forms */
  152. .form-group::after {
  153. content: "";
  154. display: block;
  155. clear: both;
  156. }
  157. .form-group.form-actions {
  158. min-width: 250px;
  159. }
  160. .form-group .group-name {
  161. display: block;
  162. float: left;
  163. width: 200px;
  164. }
  165. .form-group .group-controls {
  166. min-width: 250px;
  167. margin: 0 0 0 220px;
  168. }
  169. .form-group .group-controls .control {
  170. display: block;
  171. }
  172. @supports (position: sticky) {
  173. #mark-read-aside {
  174. position: sticky;
  175. top: 0;
  176. }
  177. }
  178. /*=== Buttons */
  179. .stick {
  180. display: inline-flex;
  181. max-width: 100%;
  182. white-space: nowrap;
  183. }
  184. .stick > input {
  185. margin-top: 0;
  186. margin-bottom: 0;
  187. }
  188. .stick > input.long {
  189. flex-shrink: 1;
  190. }
  191. .stick > .btn {
  192. flex-shrink: 0;
  193. }
  194. .btn,
  195. a.btn {
  196. display: inline-block;
  197. cursor: pointer;
  198. overflow: hidden;
  199. }
  200. .btn-important {
  201. font-weight: bold;
  202. }
  203. /*=== Navigation */
  204. .nav-list .nav-header,
  205. .nav-list .item {
  206. display: block;
  207. }
  208. .nav-list .item,
  209. .nav-list .item > a {
  210. display: block;
  211. overflow: hidden;
  212. white-space: nowrap;
  213. text-overflow: ellipsis;
  214. }
  215. .nav-head {
  216. display: block;
  217. }
  218. .nav-head .item {
  219. display: inline-block;
  220. }
  221. /*=== Horizontal-list */
  222. .horizontal-list {
  223. display: table;
  224. table-layout: fixed;
  225. width: 100%;
  226. }
  227. .horizontal-list .item {
  228. display: table-cell;
  229. }
  230. /*=== Dropdown */
  231. .dropdown {
  232. position: relative;
  233. display: inline-block;
  234. vertical-align: middle;
  235. }
  236. .dropdown-target {
  237. display: none;
  238. }
  239. .dropdown-menu {
  240. margin: 0;
  241. background: #333;
  242. display: none;
  243. border: 2px solid #262626;
  244. min-width: 200px;
  245. position: absolute;
  246. right: 0;
  247. }
  248. .dropdown-menu-scrollable {
  249. max-height: 75vh;
  250. overflow-x: hidden;
  251. overflow-y: auto;
  252. }
  253. .dropdown-header {
  254. display: block;
  255. }
  256. .dropdown-menu > .item {
  257. display: block;
  258. }
  259. .dropdown-menu > .item > a,
  260. .dropdown-menu > .item > .as-link,
  261. .dropdown-menu > .item > span {
  262. display: block;
  263. min-width: 200px;
  264. white-space: nowrap;
  265. }
  266. .dropdown-menu > .item[aria-checked="true"] > a::before {
  267. content: '✓';
  268. }
  269. .dropdown-menu .input {
  270. display: block;
  271. }
  272. .dropdown-menu .input select,
  273. .dropdown-menu .input input {
  274. display: block;
  275. max-width: 95%;
  276. }
  277. .dropdown-target:target ~ .dropdown-menu {
  278. display: block;
  279. z-index: 1000;
  280. }
  281. .dropdown-close {
  282. display: inline;
  283. }
  284. .dropdown-close a {
  285. display: block;
  286. font-size: 0;
  287. position: fixed;
  288. top: 0; bottom: 0;
  289. left: 0; right: 0;
  290. z-index: -11;
  291. cursor: default;
  292. }
  293. .dropdown div.dropdown-close {
  294. display: none;
  295. }
  296. .dropdown-target:target ~ div.dropdown-close {
  297. display: block;
  298. z-index: 999;
  299. position: relative;
  300. }
  301. .dropdown-menu-scrollable .dropdown-close {
  302. display: none;
  303. }
  304. .separator {
  305. display: block;
  306. height: 0;
  307. border-bottom: 1px solid #aaa;
  308. }
  309. /*=== Alerts */
  310. .alert {
  311. display: block;
  312. width: 90%;
  313. }
  314. .group-controls .alert {
  315. width: 100%
  316. }
  317. .alert-head {
  318. margin: 0;
  319. font-weight: bold;
  320. }
  321. .alert ul {
  322. margin: 5px 20px;
  323. }
  324. /*=== Icons */
  325. .icon {
  326. display: inline-block;
  327. width: 16px;
  328. height: 16px;
  329. vertical-align: middle;
  330. line-height: 16px;
  331. }
  332. /*=== Pagination */
  333. .pagination {
  334. margin: 0;
  335. padding: 0;
  336. display: table;
  337. width: 100%;
  338. table-layout: fixed;
  339. }
  340. .pagination .item {
  341. display: table-cell;
  342. }
  343. .pagination .pager-first,
  344. .pagination .pager-previous,
  345. .pagination .pager-next,
  346. .pagination .pager-last {
  347. width: 100px;
  348. }
  349. /*=== Boxes */
  350. .box {
  351. margin: 20px 10px;
  352. display: inline-block;
  353. max-width: 95%;
  354. width: 20rem;
  355. border: 1px solid #444;
  356. vertical-align: top;
  357. }
  358. .box .box-title {
  359. position: relative;
  360. font-size: 1.2rem;
  361. font-weight: bold;
  362. }
  363. .box .box-title form {
  364. margin: 0;
  365. }
  366. .box .box-content {
  367. display: block;
  368. overflow: auto;
  369. }
  370. .box .box-content .item {
  371. display: block;
  372. }
  373. .box .box-content .item.disabled {
  374. text-align: center;
  375. font-style: italic;
  376. }
  377. .box .box-content-centered {
  378. padding: 30px 5px;
  379. text-align: center;
  380. }
  381. .box .box-content-centered .btn {
  382. margin: 20px 0 0;
  383. }
  384. /*=== Draggable */
  385. .drag-hover {
  386. margin: 0 0 5px;
  387. border-bottom: 2px solid #ccc;
  388. }
  389. [draggable=true] {
  390. cursor: grab;
  391. }
  392. /*=== Scrollbar */
  393. @supports (scrollbar-width: thin) {
  394. #sidebar {
  395. overflow-y: auto;
  396. scrollbar-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.05);
  397. scrollbar-width: thin;
  398. }
  399. #sidebar:hover {
  400. scrollbar-color: rgba(0, 0, 0, 0.3) rgba(0, 0, 0, 0.05);
  401. }
  402. }
  403. @supports not (scrollbar-width: thin) {
  404. #sidebar::-webkit-scrollbar {
  405. background: rgba(0, 0, 0, 0.05);
  406. width: 8px;
  407. }
  408. #sidebar::-webkit-scrollbar-thumb {
  409. background: rgba(0, 0, 0, 0.1);
  410. display: unset;
  411. border-radius: 5px;
  412. }
  413. #sidebar:hover::-webkit-scrollbar-thumb {
  414. background: rgba(0, 0, 0, 0.3);
  415. }
  416. }
  417. /*=== Tree */
  418. .tree {
  419. margin: 0;
  420. max-height: 99vh;
  421. list-style: none;
  422. text-align: left;
  423. overflow-x: hidden;
  424. }
  425. .tree-folder-items {
  426. padding: 0;
  427. max-height: 200em;
  428. list-style: none;
  429. transition: max-height .3s linear;
  430. }
  431. .tree-folder-title {
  432. display: block;
  433. overflow: hidden;
  434. white-space: nowrap;
  435. text-overflow: ellipsis;
  436. }
  437. .tree-folder-title .title {
  438. display: inline-block;
  439. width: 100%;
  440. vertical-align: middle;
  441. }
  442. .tree-folder-items > .item {
  443. display: block;
  444. white-space: nowrap;
  445. }
  446. .tree-folder-items > .item > a {
  447. display: inline-block;
  448. vertical-align: middle;
  449. width: calc(100% - 32px);
  450. overflow: hidden;
  451. white-space: nowrap;
  452. text-overflow: ellipsis;
  453. }
  454. .tree-bottom {
  455. visibility: hidden;
  456. margin-bottom: 18em;
  457. }
  458. /*=== STRUCTURE */
  459. /*===============*/
  460. /*=== Header */
  461. .header {
  462. display: table;
  463. width: 100%;
  464. table-layout: fixed;
  465. }
  466. .header > .item {
  467. display: table-cell;
  468. }
  469. .header > .item.title {
  470. width: 250px;
  471. white-space: nowrap;
  472. }
  473. .header > .item.title h1 {
  474. display: inline-block;
  475. }
  476. .header > .item.title .logo {
  477. display: inline-block;
  478. width: 32px;
  479. height: 32px;
  480. vertical-align: middle;
  481. }
  482. .header > .item.configure {
  483. width: 100px;
  484. }
  485. /*=== Body */
  486. #global {
  487. display: table;
  488. width: 100%;
  489. height: 100%;
  490. table-layout: fixed;
  491. }
  492. .aside {
  493. display: table-cell;
  494. width: 300px;
  495. vertical-align: top;
  496. }
  497. /*=== Aside main page */
  498. .aside_feed .category .title {
  499. width: calc(100% - 35px);
  500. }
  501. .aside_feed .tree-folder-title .icon {
  502. padding: 5px;
  503. }
  504. .aside_feed .tree-folder-items .item.feed {
  505. padding: 0px 15px;
  506. }
  507. .aside_feed .tree-folder-items:not(.active) {
  508. margin: 0;
  509. padding: 0;
  510. max-height: 0;
  511. border: none;
  512. overflow: hidden;
  513. }
  514. .aside_feed .tree-folder-items .dropdown {
  515. vertical-align: top;
  516. }
  517. .aside_feed .tree-folder-items .dropdown-menu {
  518. left: 0;
  519. }
  520. .aside_feed .tree-folder-items .item .dropdown-toggle > .icon {
  521. visibility: hidden;
  522. cursor: pointer;
  523. }
  524. .aside_feed .tree-folder-items .item .dropdown-target:target ~ .dropdown-toggle > .icon,
  525. .aside_feed .tree-folder-items .item:hover .dropdown-toggle > .icon,
  526. .aside_feed .tree-folder-items .item.active .dropdown-toggle > .icon {
  527. visibility: visible;
  528. }
  529. /*=== New article notification */
  530. #new-article {
  531. display: none;
  532. }
  533. #new-article > a {
  534. display: block;
  535. }
  536. /*=== Day indication */
  537. .day .name {
  538. position: absolute;
  539. right: 0;
  540. width: 50%;
  541. overflow: hidden;
  542. white-space: nowrap;
  543. text-overflow: ellipsis;
  544. }
  545. /*=== Feed article header and footer */
  546. .flux_header {
  547. background: inherit;
  548. position: relative;
  549. }
  550. .flux .item {
  551. line-height: 40px;
  552. white-space: nowrap;
  553. }
  554. .flux .item.manage,
  555. .flux .item.link {
  556. width: 40px;
  557. text-align: center;
  558. }
  559. .flux .item.website {
  560. width: 200px;
  561. }
  562. .flux.not_read .item.title,
  563. .flux.current .item.title {
  564. font-weight: bold;
  565. }
  566. .flux:not(.current):hover .item.title {
  567. background: #333;
  568. max-width: calc(100% - 320px);
  569. position: absolute;
  570. }
  571. .flux .item.title a {
  572. color: #ababab;
  573. text-decoration: none;
  574. }
  575. .flux .item.title .author {
  576. padding-left: 1rem;
  577. color: #555;
  578. font-size: .9rem;
  579. font-weight: normal;
  580. }
  581. .flux .item.date {
  582. width: 155px;
  583. text-align: right;
  584. overflow: hidden;
  585. }
  586. .flux .item > a {
  587. display: block;
  588. text-decoration: none;
  589. white-space: nowrap;
  590. text-overflow: ellipsis;
  591. overflow: hidden;
  592. }
  593. .flux .item.share > a,
  594. .item.query > a {
  595. display: list-item;
  596. list-style-position: inside;
  597. list-style-type: decimal;
  598. }
  599. /*=== Feed article content */
  600. .hide_posts > .flux:not(.active) > .flux_content {
  601. display: none;
  602. }
  603. .content {
  604. min-height: 20em;
  605. margin: auto;
  606. line-height: 1.7em;
  607. word-wrap: break-word;
  608. }
  609. .content.large {
  610. max-width: 1000px;
  611. }
  612. .content.medium {
  613. max-width: 800px;
  614. }
  615. .content.thin {
  616. max-width: 550px;
  617. }
  618. .content ul,
  619. .content ol,
  620. .content dd {
  621. margin: 0 0 0 15px;
  622. padding: 0 0 5px 15px;
  623. }
  624. .content pre {
  625. overflow: auto;
  626. }
  627. br {
  628. line-height: 1em;
  629. }
  630. /*=== Notification and actualize notification */
  631. .notification {
  632. position: absolute;
  633. top: 1em;
  634. left: 25%; right: 25%;
  635. z-index: 10;
  636. background: #fff;
  637. border: 1px solid #aaa;
  638. opacity: 1;
  639. visibility: visible;
  640. transition: visibility 0s, opacity .3s linear;
  641. }
  642. .notification.closed {
  643. opacity: 0;
  644. visibility: hidden;
  645. }
  646. .notification a.close {
  647. position: absolute;
  648. top: 0; bottom: 0;
  649. right: 0;
  650. display: inline-block;
  651. }
  652. #actualizeProgress {
  653. position: fixed;
  654. }
  655. #actualizeProgress progress {
  656. max-width: 100%;
  657. vertical-align: middle;
  658. }
  659. #actualizeProgress .progress {
  660. vertical-align: middle;
  661. }
  662. /*=== Popup */
  663. #popup {
  664. display: none;
  665. position: fixed;
  666. z-index: 1;
  667. left: 0;
  668. top: 0;
  669. width: 100%;
  670. height: 100%;
  671. overflow: auto;
  672. background-color: #eee;
  673. background-color: rgba(0,0,0,0.4);
  674. }
  675. #popup-content {
  676. margin: 5rem auto;
  677. display: table;
  678. width: 80%;
  679. height: 80%;
  680. overflow: hidden;
  681. background-color: #fafafa;
  682. border-radius: .25rem;
  683. box-shadow: 0 0 1px #737373, 1px 2px 3px #4a4a4f;
  684. }
  685. .popup-row {
  686. display: table-row;
  687. width: 100%;
  688. }
  689. #popup-close {
  690. float: right;
  691. width: 27px;
  692. height: 27px;
  693. padding-bottom: 5px;
  694. color: #aaa;
  695. font-size: 28px;
  696. font-weight: bold;
  697. }
  698. #popup-close:hover,
  699. #popup-close:focus {
  700. color: #000;
  701. text-decoration: none;
  702. cursor: pointer;
  703. }
  704. #popup-txt {
  705. display: none;
  706. height: 100%;
  707. }
  708. #popup-iframe-container {
  709. display: none;
  710. height: 100%;
  711. }
  712. #popup-iframe-sub {
  713. padding: 10px;
  714. height: 100%;
  715. }
  716. #popup-iframe {
  717. width: 100%;
  718. height: 100%;
  719. }
  720. /*=== Navigation menu (for articles) */
  721. #nav_entries {
  722. background: #fff;
  723. display: table;
  724. position: fixed;
  725. bottom: 0; left: 0;
  726. width: 300px;
  727. table-layout: fixed;
  728. }
  729. #nav_entries .item {
  730. display: table-cell;
  731. width: 30%;
  732. }
  733. #nav_entries a {
  734. display: block;
  735. }
  736. /*=== "Load" parts */
  737. #first_load {
  738. margin: 130px auto -170px auto;
  739. height: 40px;
  740. }
  741. #load_more {
  742. min-height: 40px;
  743. }
  744. .loading {
  745. background: url("loader.gif") center center no-repeat;
  746. font-size: 0;
  747. }
  748. #bigMarkAsRead {
  749. margin: 0 0 100% 0;
  750. margin: 0 0 100vh 0;
  751. padding: 1em 0 50px 0;
  752. display: block;
  753. width: 100%;
  754. text-align: center;
  755. font-size: 1.4em;
  756. }
  757. .bigTick {
  758. display: none!important;
  759. }
  760. /*=== Statistiques */
  761. .stat {
  762. margin: 15px 0;
  763. }
  764. .stat.half {
  765. padding: 0 2%;
  766. display: inline-block;
  767. width: 46%;
  768. }
  769. .stat > table {
  770. width: 100%;
  771. }
  772. .statGraph {
  773. height: 300px;
  774. }
  775. /*=== LOGIN VIEW */
  776. /*================*/
  777. .formLogin .header > .item {
  778. padding: 10px 30px;
  779. }
  780. .formLogin .header > .item.title {
  781. text-align: left;
  782. }
  783. .formLogin .header > .item.configure {
  784. text-align: right;
  785. }
  786. /*=== GLOBAL VIEW */
  787. /*================*/
  788. #stream.global {
  789. text-align: center;
  790. }
  791. #stream.global .box {
  792. text-align: left;
  793. }
  794. #global > #panel {
  795. bottom: 99vh;
  796. display: block;
  797. transition: visibility .3s, bottom .3s;
  798. visibility: hidden;
  799. }
  800. #global > #panel.visible {
  801. bottom: 1em;
  802. visibility: visible;
  803. }
  804. /*=== Panel */
  805. #overlay {
  806. position: fixed;
  807. top: 0; bottom: 0;
  808. left: 0; right: 0;
  809. background: rgba(0, 0, 0, 0.9);
  810. opacity: 0;
  811. transition: visibility .3s, opacity .3s;
  812. visibility: hidden;
  813. }
  814. #overlay.visible {
  815. opacity: 1;
  816. visibility: visible;
  817. }
  818. #panel {
  819. background: #fff;
  820. display: none;
  821. position: fixed;
  822. top: 1em; bottom: 1em;
  823. left: 2em; right: 2em;
  824. overflow: auto;
  825. }
  826. #overlay .close {
  827. position: fixed;
  828. top: 0; bottom: 0;
  829. left: 0; right: 0;
  830. display: block;
  831. }
  832. #overlay .close img {
  833. display: none;
  834. }
  835. /*=== Slider */
  836. #slider {
  837. position: fixed;
  838. top: 0; bottom: 0;
  839. left: 100%; right: 0;
  840. overflow: auto;
  841. background: #171717;
  842. border-left: 1px solid #333;
  843. transition: left 200ms linear;
  844. }
  845. #slider.active {
  846. left: 40%;
  847. }
  848. #close-slider {
  849. position: fixed;
  850. top: 0; bottom: 0;
  851. left: 100%; right: 0;
  852. cursor: pointer;
  853. }
  854. #close-slider.active {
  855. left: 0;
  856. }
  857. #close-slider img {
  858. display: none;
  859. }
  860. /*=== SLIDESHOW */
  861. /*==============*/
  862. .slides {
  863. padding: 0;
  864. display: block;
  865. max-width: 640px;
  866. height: 320px;
  867. border: 1px solid #aaa;
  868. position: relative;
  869. min-width: 260px;
  870. margin-bottom: 30px;
  871. }
  872. .slides input {
  873. display: none;
  874. }
  875. .slide-container {
  876. display: block;
  877. }
  878. .slide {
  879. display: block;
  880. width: 100%;
  881. height: 100%;
  882. top: 0;
  883. opacity: 0;
  884. position: absolute;
  885. transform: scale(0);
  886. transition: all .7s ease-in-out;
  887. }
  888. .slide img {
  889. width: 100%;
  890. height: 100%;
  891. }
  892. .nav label {
  893. padding: 0;
  894. display: none;
  895. width: 10%;
  896. height: 100%;
  897. color: #0062b7;
  898. font-family: "Varela Round", sans-serif;
  899. font-size: 1000%;
  900. position: absolute;
  901. opacity: 0;
  902. z-index: 9;
  903. cursor: pointer;
  904. transition: opacity .2s;
  905. text-align: center;
  906. line-height: 225%;
  907. background-color: rgba(255, 255, 255, .3);
  908. text-shadow: 0px 0px 15px rgb(119, 119, 119);
  909. }
  910. .properties {
  911. padding: 5px;
  912. background: rgba(255, 255, 255, 0.7);
  913. display: none;
  914. color: #000;
  915. border-top: 1px solid #aaa;
  916. bottom: 0;
  917. left: 0; right: 0;
  918. position: absolute;
  919. z-index: 10;
  920. }
  921. .properties .page-number {
  922. right: 5px;
  923. top: 0;
  924. position: absolute;
  925. }
  926. .slide:hover + .nav label {
  927. opacity: 0.5;
  928. }
  929. .nav label:hover {
  930. opacity: 1;
  931. }
  932. .nav .next {
  933. right: 0;
  934. }
  935. input:checked + .slide-container .slide {
  936. opacity: 1;
  937. transform: scale(1);
  938. transition: opacity 1s ease-in-out;
  939. }
  940. input:checked + .slide-container .nav label {
  941. display: block;
  942. }
  943. input:checked + .slide-container .properties {
  944. display: block;
  945. }
  946. /*=== DIVERS */
  947. /*===========*/
  948. .category .title:not([data-unread="0"])::after {
  949. content: attr(data-unread);
  950. }
  951. .category .title.error::before {
  952. content: "⚠ ";
  953. color: #bd362f;
  954. }
  955. .feed .item-title:not([data-unread="0"])::before {
  956. content: "(" attr(data-unread) ") ";
  957. }
  958. .feed .item-title:not([data-unread="0"]) {
  959. font-weight: bold;
  960. }
  961. .state_unread .category:not(.active)[data-unread="0"],
  962. .state_unread .feed:not(.active)[data-unread="0"] {
  963. display: none;
  964. }
  965. .nav-login,
  966. .nav_menu .search,
  967. .aside .toggle_aside,
  968. .nav_menu .toggle_aside {
  969. display: none;
  970. }
  971. .enclosure [download] {
  972. font-size: xx-large;
  973. margin-left: .8em;
  974. }
  975. pre.enclosure-description {
  976. white-space: pre-line;
  977. }
  978. /*=== READER */
  979. /*===========*/
  980. .reader .nav_menu .toggle_aside {
  981. display: inline-block;
  982. }
  983. .reader .aside .toggle_aside {
  984. display: block;
  985. width: 100%;
  986. }
  987. .reader .aside {
  988. width: 0;
  989. }
  990. .reader .aside:target {
  991. width: 300px;
  992. }
  993. .reader .aside .stick {
  994. display: none;
  995. }
  996. /*=== MOBILE */
  997. /*===========*/
  998. @media (max-width: 840px) {
  999. .header,
  1000. .flux_header .item.website span,
  1001. .item.date, .day .date,
  1002. .dropdown-menu > .no-mobile,
  1003. .no-mobile {
  1004. display: none;
  1005. }
  1006. .form-group {
  1007. margin-bottom: 10px;
  1008. }
  1009. .form-group .group-name {
  1010. float: none;
  1011. }
  1012. .form-group .group-controls {
  1013. margin-left: 0;
  1014. }
  1015. .dropdown .dropdown-menu {
  1016. width: 100%;
  1017. border-radius: 0;
  1018. bottom: 0;
  1019. position: fixed;
  1020. }
  1021. .dropdown-menu::after {
  1022. display: none;
  1023. }
  1024. .aside .toggle_aside,
  1025. .nav-login {
  1026. display: block;
  1027. }
  1028. .nav_menu .toggle_aside,
  1029. .nav_menu .search,
  1030. #panel .close img {
  1031. display: inline-block;
  1032. }
  1033. .aside {
  1034. position: fixed;
  1035. top: 0; bottom: 0;
  1036. left: 0;
  1037. width: 0;
  1038. overflow: hidden;
  1039. z-index: 100;
  1040. }
  1041. .aside:target {
  1042. width: 90%;
  1043. }
  1044. .aside_feed .configure-feeds {
  1045. margin-top: 10px;
  1046. }
  1047. .flux_header .item.website {
  1048. width: 40px;
  1049. }
  1050. .flux:not(.current):hover .item.title {
  1051. background: #333;
  1052. position: relative;
  1053. width: auto;
  1054. white-space: nowrap;
  1055. }
  1056. .notification {
  1057. top: 0;
  1058. left: 0;
  1059. right: 0;
  1060. }
  1061. #nav_entries {
  1062. width: 100%;
  1063. }
  1064. #panel {
  1065. top: 25px; bottom: 30px;
  1066. left: 0; right: 0;
  1067. }
  1068. #panel .close {
  1069. top: 0; right: 0;
  1070. left: auto; bottom: auto;
  1071. display: inline-block;
  1072. width: 30px;
  1073. height: 30px;
  1074. }
  1075. #slider.active {
  1076. left: 0;
  1077. top: 50px;
  1078. }
  1079. #close-slider img {
  1080. display: initial;
  1081. }
  1082. #close-slider.active {
  1083. background: #f6f6f6;
  1084. display: block;
  1085. width: 100%;
  1086. height: 50px;
  1087. z-index: 10;
  1088. text-align: center;
  1089. line-height: 50px;
  1090. border-bottom: 1px solid #ddd;
  1091. }
  1092. }
  1093. /*=== PRINTER */
  1094. /*============*/
  1095. @media print {
  1096. .header, .aside,
  1097. .nav_menu, .day,
  1098. .flux_header,
  1099. .flux_content .bottom,
  1100. .pagination,
  1101. #nav_entries {
  1102. display: none;
  1103. }
  1104. html, body {
  1105. background: #fff;
  1106. color: #000;
  1107. font-family: Serif;
  1108. }
  1109. #global,
  1110. .flux_content {
  1111. display: block !important;
  1112. }
  1113. .flux_content .content {
  1114. width: 100% !important;
  1115. }
  1116. .flux_content .content a {
  1117. color: #000;
  1118. }
  1119. .flux_content .content a::after {
  1120. content: " [" attr(href) "] ";
  1121. font-style: italic;
  1122. }
  1123. }
  1124. /*=== PREVIEW */
  1125. /*===========*/
  1126. .preview_controls {
  1127. margin-left: auto;
  1128. margin-right: auto;
  1129. padding: 1rem;
  1130. max-width: 1000px;
  1131. text-align: center;
  1132. background-color: #eee;
  1133. border: 1px solid #e0e0e0;
  1134. border-radius: .25rem;
  1135. }
  1136. .preview_controls label {
  1137. display: inline;
  1138. }
  1139. .preview_controls label input[type="radio"] {
  1140. margin-top: -4px;
  1141. }
  1142. .preview_controls label + label {
  1143. margin-left: 1rem;
  1144. }
  1145. .preview_background {
  1146. background-color: transparent;
  1147. }