template.css 19 KB

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