template.css 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133
  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. background: white;
  16. height: 100%;
  17. color: black;
  18. font-family: "OpenSans", "Cantarell", "Helvetica", "Arial", sans-serif;
  19. font-size: 100%;
  20. }
  21. main.prompt {
  22. margin: 3rem auto;
  23. padding: 2rem;
  24. max-width: 400px;
  25. min-width: 300px;
  26. width: 33%;
  27. text-align: center;
  28. }
  29. /*=== Links */
  30. a {
  31. text-decoration: none;
  32. }
  33. a:hover {
  34. text-decoration: underline;
  35. }
  36. /*=== Lists */
  37. ul, ol, dd {
  38. margin: 0;
  39. padding: 0;
  40. }
  41. /*=== Titles */
  42. h1 {
  43. margin: 0.6em 0 0.3em;
  44. font-size: 1.5em;
  45. line-height: 1.6em;
  46. }
  47. h2 {
  48. margin: 0.5em 0 0.25em;
  49. font-size: 1.3em;
  50. line-height: 2em;
  51. }
  52. h3 {
  53. margin: 0.5em 0 0.25em;
  54. font-size: 1.1em;
  55. line-height: 2em;
  56. }
  57. /*=== Paragraphs */
  58. p {
  59. margin: 1em 0 0.5em;
  60. font-size: 1em;
  61. }
  62. p.help, .prompt p.help {
  63. margin: 5px 0 0.5em;
  64. text-align: left;
  65. }
  66. p.help .icon {
  67. filter: brightness(2);
  68. }
  69. sup {
  70. line-height: 25px;
  71. position: relative;
  72. top: -0.8em;
  73. vertical-align: baseline;
  74. }
  75. kbd {
  76. background-color: #eee;
  77. padding: 2px 4px 2px 24px;
  78. display: inline-block;
  79. color: #333;
  80. border: 1px solid #b4b4b4;
  81. border-radius: 3px;
  82. text-indent: -20px;
  83. white-space: pre-wrap;
  84. overflow-wrap: anywhere;
  85. }
  86. /*=== Images */
  87. img {
  88. max-width: 100%;
  89. height: auto;
  90. }
  91. img.favicon {
  92. margin: 0 0.25rem 0 0;
  93. width: 16px;
  94. height: 16px;
  95. vertical-align: middle;
  96. }
  97. .content.thin figure,
  98. .content.medium figure {
  99. margin: 8px 0px;
  100. }
  101. .content figure figcaption {
  102. font-style: italic;
  103. }
  104. .feed.mute::before {
  105. content: '🔇';
  106. }
  107. /*=== Videos */
  108. audio, iframe, embed, object, video {
  109. max-width: 100%;
  110. }
  111. audio {
  112. width: 100%;
  113. }
  114. /*=== Forms */
  115. fieldset {
  116. margin: 0;
  117. padding: 0;
  118. border: 0;
  119. }
  120. legend {
  121. display: block;
  122. width: 100%;
  123. clear: both;
  124. }
  125. label {
  126. display: block;
  127. }
  128. input {
  129. width: 180px;
  130. }
  131. input[type=number] {
  132. width: 6em;
  133. }
  134. textarea,
  135. input[type="file"],
  136. input.long,
  137. input.extend:focus {
  138. width: 300px;
  139. }
  140. input, select, textarea {
  141. display: inline-block;
  142. max-width: 100%;
  143. font-size: 0.8rem;
  144. }
  145. input.w50,
  146. select.w50,
  147. textarea.w50 {
  148. min-width: 50%;
  149. box-sizing: border-box;
  150. }
  151. input.w100,
  152. select.w100,
  153. textarea.w100 {
  154. width: 100%;
  155. box-sizing: border-box;
  156. }
  157. .stick.w50 {
  158. width: 50%;
  159. }
  160. .stick.w100 {
  161. width: 100%;
  162. }
  163. .stick.w50 input,
  164. .stick.w100 input {
  165. width: 100%;
  166. }
  167. .stick.w100 input + .btn {
  168. width: 29px;
  169. padding-left: 3px;
  170. padding-right: 3px;
  171. text-align: center;
  172. }
  173. textarea[rows="2"] {
  174. height: 4em;
  175. }
  176. textarea:invalid {
  177. border: 2px dashed red;
  178. }
  179. .prompt textarea,
  180. .prompt input,
  181. .prompt select,
  182. .prompt .stick {
  183. margin: 5px auto;
  184. width: 100%;
  185. box-sizing: border-box;
  186. }
  187. input:disabled,
  188. select:disabled {
  189. background-color: transparent;
  190. min-width: 75px;
  191. color: lightgray;
  192. font-style: italic;
  193. border: 1px dashed lightgray;
  194. }
  195. input[type="radio"],
  196. input[type="checkbox"] {
  197. min-width: auto;
  198. width: 15px !important;
  199. min-height: 15px !important;
  200. }
  201. .dropdown-menu label > input[type="text"] {
  202. width: 150px;
  203. width: calc(99% - 5em);
  204. }
  205. .dropdown-menu > .item > a:hover,
  206. .dropdown-menu > .item > button:hover {
  207. text-decoration: none;
  208. }
  209. .dropdown-menu input[type="checkbox"] {
  210. margin-left: 1em;
  211. margin-right: .5em;
  212. }
  213. .dropdown-menu .item .checkboxNewTag {
  214. display: none;
  215. }
  216. .dropdown-menu .item.addItem {
  217. padding: 0 0.5em;
  218. }
  219. .dropdown-menu .item.addItem .stick {
  220. width: 100%
  221. }
  222. .dropdown-menu .item.addItem .stick input[type=text] {
  223. width: 100%;
  224. }
  225. button.as-link,
  226. button.as-link:hover,
  227. button.as-link:active {
  228. background: transparent;
  229. color: inherit;
  230. font-size: 1.1em;
  231. border: none;
  232. cursor: pointer;
  233. text-align: left;
  234. }
  235. button.as-link[disabled] {
  236. color: #ddd !important;
  237. }
  238. /*=== Tables */
  239. .table-wrapper {
  240. overflow-x: auto;
  241. }
  242. table {
  243. max-width: 100%;
  244. }
  245. th.numeric,
  246. td.numeric {
  247. text-align: center;
  248. }
  249. /*=== COMPONENTS */
  250. /*===============*/
  251. [aria-hidden="true"] {
  252. display: none !important;
  253. }
  254. /* prompt: login + register form + alert message banner */
  255. .prompt {
  256. text-align: center;
  257. }
  258. .prompt form {
  259. margin-top: 2rem;
  260. margin-bottom: 3rem;
  261. text-align: left;
  262. }
  263. .prompt label,
  264. .prompt .help {
  265. text-align: left;
  266. }
  267. .prompt input,
  268. .prompt select,
  269. .prompt .stick {
  270. width: 100%;
  271. box-sizing: border-box;
  272. }
  273. .prompt p {
  274. margin: 20px 0;
  275. }
  276. /*=== Forms */
  277. .form-group::after {
  278. content: "";
  279. display: block;
  280. clear: both;
  281. }
  282. .form-group.form-actions {
  283. min-width: 250px;
  284. }
  285. .form-group .group-name {
  286. display: block;
  287. float: left;
  288. width: 200px;
  289. }
  290. .form-group .group-controls {
  291. min-width: 250px;
  292. margin: 0 0 0 220px;
  293. overflow-x: auto;
  294. }
  295. .form-group .group-controls .control {
  296. display: block;
  297. }
  298. .form-advanced-title {
  299. padding: 15px 0;
  300. width: 200px;
  301. font-size: 1.1em;
  302. font-weight: bold;
  303. text-align: right;
  304. cursor: pointer;
  305. }
  306. @supports (position: sticky) {
  307. #mark-read-aside {
  308. position: sticky;
  309. top: 0;
  310. }
  311. }
  312. /*=== Buttons */
  313. .stick {
  314. display: inline-flex;
  315. max-width: 100%;
  316. white-space: nowrap;
  317. }
  318. .stick > input {
  319. margin-top: 0;
  320. margin-bottom: 0;
  321. }
  322. .stick > input.long {
  323. flex-shrink: 1;
  324. }
  325. .stick > .btn {
  326. flex-shrink: 0;
  327. }
  328. .btn,
  329. a.btn {
  330. display: inline-block;
  331. cursor: pointer;
  332. overflow: hidden;
  333. }
  334. .btn-important {
  335. font-weight: bold;
  336. }
  337. /*=== switch */
  338. .switch {
  339. margin: 0 0.5em;
  340. padding: revert;
  341. position: relative;
  342. width: 3.5em;
  343. height: 1.75em;
  344. border: 0;
  345. border-radius: 1em;
  346. background-color: #ccc;
  347. cursor: pointer;
  348. box-sizing: content-box;
  349. background-repeat: no-repeat;
  350. background-position: center center;
  351. background-image: url('../icons/disabled.svg');
  352. transition: background-position 0.5s;
  353. }
  354. .switch:not([disabled]):hover {
  355. background-image: url('../icons/enabled.svg');
  356. background-repeat: no-repeat;
  357. background-position: right 7px center;
  358. }
  359. .switch.active {
  360. background-color: rgb(133, 216, 133);
  361. background-repeat: no-repeat;
  362. background-position: center center;
  363. background-image: url('../icons/enabled.svg');
  364. }
  365. .switch.active:not([disabled]):hover {
  366. background-position: left 7px center;
  367. background-repeat: no-repeat;
  368. background-image: url('../icons/disabled.svg');
  369. }
  370. @supports selector(.switch::before) {
  371. .switch {
  372. background-image: none;
  373. }
  374. .switch.active {
  375. background-image: none;
  376. }
  377. }
  378. /* ::before = circle */
  379. .switch::before {
  380. content: "";
  381. position: absolute;
  382. left: 5px;
  383. right: unset;
  384. top: 0.2em;
  385. width: 1.5em;
  386. height: 1.5em;
  387. background-color: #fff;
  388. background-image: url('../icons/disabled.svg');
  389. background-repeat: no-repeat;
  390. background-position: center center;
  391. border-radius: 50%;
  392. transition: left 0.6s, right 0.6s;
  393. }
  394. .switch:not([disabled]):hover::before {
  395. background-color: #eee;
  396. }
  397. .switch.active::before {
  398. background-image: url('../icons/enabled.svg');
  399. background-position: center center;
  400. left: unset;
  401. right: 5px;
  402. }
  403. .switch.active:not([disabled]):hover::before {
  404. right: 8px;
  405. }
  406. /* ::after = background */
  407. .switch::after {
  408. content: "";
  409. position: absolute;
  410. top: 50%;
  411. right: 8px;
  412. width: 12px;
  413. height: 12px;
  414. transform: translateY(-50%);
  415. }
  416. .switch.active::after {
  417. width: 14px;
  418. height: 14px;
  419. left: 8px;
  420. }
  421. .btn:focus-visible,
  422. input[type="checkbox"]:focus-visible {
  423. outline: 2px solid #ccc;
  424. }
  425. /*=== Navigation */
  426. .nav-list .nav-header,
  427. .nav-list .item {
  428. display: block;
  429. }
  430. .nav-list .item,
  431. .nav-list .item > a,
  432. .nav-list .item > span {
  433. display: block;
  434. overflow: hidden;
  435. white-space: nowrap;
  436. text-overflow: ellipsis;
  437. }
  438. .nav-head {
  439. display: block;
  440. }
  441. .nav-head .item {
  442. display: inline-block;
  443. }
  444. /*=== Horizontal-list */
  445. .horizontal-list {
  446. margin: 0;
  447. padding: 0;
  448. display: table;
  449. table-layout: fixed;
  450. width: 100%;
  451. }
  452. .horizontal-list .item {
  453. display: table-cell;
  454. vertical-align: middle;
  455. }
  456. /*=== manage-list */
  457. .manage-list {
  458. list-style: none;
  459. }
  460. .manage-list li {
  461. line-height: 2;
  462. }
  463. .manage-list li * {
  464. vertical-align: middle;
  465. }
  466. .manage-list .disabled {
  467. font-style: italic;
  468. }
  469. /*=== Dropdown */
  470. .dropdown {
  471. position: relative;
  472. display: inline-block;
  473. vertical-align: middle;
  474. }
  475. .dropdown-target {
  476. display: none;
  477. }
  478. .dropdown-menu {
  479. margin: 0;
  480. background: #fff;
  481. display: none;
  482. border: 1px solid #aaa;
  483. min-width: 200px;
  484. position: absolute;
  485. right: 0;
  486. }
  487. .dropdown-menu::after {
  488. background-color: inherit;
  489. width: 10px;
  490. height: 10px;
  491. border-width: 1px 0 0 1px;
  492. border-style: solid;
  493. content: "";
  494. position: absolute;
  495. top: -6px;
  496. right: 13px;
  497. z-index: -10;
  498. transform: rotate(45deg);
  499. }
  500. .dropdown-menu-scrollable {
  501. max-height: min(75vh, 50em);
  502. overflow-x: hidden;
  503. overflow-y: auto;
  504. }
  505. .dropdown-header {
  506. display: block;
  507. }
  508. .dropdown-menu > .item {
  509. display: block;
  510. }
  511. .dropdown-menu > .item > a,
  512. .dropdown-menu > .item > .as-link,
  513. .dropdown-menu > .item > span {
  514. display: block;
  515. width: 100%;
  516. white-space: nowrap;
  517. box-sizing: border-box;
  518. }
  519. .dropdown-menu > .item[aria-checked="true"] > a::before {
  520. content: '✓';
  521. }
  522. .dropdown-menu .input {
  523. display: block;
  524. }
  525. .dropdown-menu .input select,
  526. .dropdown-menu .input input {
  527. display: block;
  528. max-width: 95%;
  529. }
  530. .dropdown-target:target ~ .dropdown-menu {
  531. display: block;
  532. z-index: 1000;
  533. }
  534. .dropdown-menu + .dropdown-close {
  535. display: none;
  536. }
  537. .dropdown-target:target ~ .dropdown-close {
  538. display: block;
  539. font-size: 0;
  540. position: fixed;
  541. top: 0; bottom: 0;
  542. left: 0; right: 0;
  543. z-index: 999;
  544. cursor: default;
  545. }
  546. .separator {
  547. display: block;
  548. height: 0;
  549. border-bottom: 1px solid #aaa;
  550. }
  551. /*=== Alerts */
  552. .alert {
  553. display: block;
  554. width: 90%;
  555. }
  556. .alert-warn {
  557. background: inherit;
  558. }
  559. .group-controls .alert {
  560. width: 100%
  561. }
  562. .alert-head {
  563. margin: 0;
  564. font-weight: bold;
  565. }
  566. .alert ul {
  567. margin: 5px 20px;
  568. }
  569. .alert.hide {
  570. display: none;
  571. }
  572. /*=== Icons */
  573. .icon {
  574. display: inline-block;
  575. max-width: none;
  576. width: 16px;
  577. height: 16px;
  578. vertical-align: middle;
  579. line-height: 16px;
  580. }
  581. /* === stream-footer **/
  582. #stream-footer {
  583. margin: 0 0 5em;
  584. padding: 1em 0;
  585. width: 100%;
  586. border-top: 1px solid #aaa;
  587. text-align: center;
  588. }
  589. /*=== Pagination */
  590. .nav-pagination {
  591. margin: 2em auto;
  592. }
  593. .pagination {
  594. margin: 0 auto;
  595. padding: 0;
  596. display: table;
  597. table-layout: fixed;
  598. text-align: center;
  599. }
  600. .pagination .item {
  601. display: table-cell;
  602. width: 3em;
  603. font-style: italic;
  604. }
  605. .pagination .item.active {
  606. min-width: 3em;
  607. font-weight: bold;
  608. font-style: normal;
  609. }
  610. .pagination .item a {
  611. display: block;
  612. line-height: 3em;
  613. text-decoration: none;
  614. }
  615. .pagination .pager-previous,
  616. .pagination .pager-next {
  617. width: 6em;
  618. }
  619. .pagination .pager-first,
  620. .pagination .pager-last {
  621. width: 7.5em;
  622. }
  623. /*=== Boxes */
  624. .box {
  625. margin: 20px 20px 20px 0;
  626. display: inline-block;
  627. max-width: 95%;
  628. width: 20rem;
  629. border: 1px solid #ccc;
  630. vertical-align: top;
  631. }
  632. .box.visible-semi {
  633. border-style: dashed;
  634. opacity: 0.5;
  635. }
  636. .box .box-title {
  637. position: relative;
  638. font-size: 1.2rem;
  639. font-weight: bold;
  640. }
  641. .box .box-title form {
  642. margin: 0;
  643. }
  644. .box .box-content {
  645. padding: 8px 8px 8px 16px;
  646. display: block;
  647. min-height: 2.5em;
  648. max-height: 260px;
  649. overflow: auto;
  650. }
  651. .box .box-content .item.feed {
  652. display: block;
  653. }
  654. .box .box-content .item.feed.moved {
  655. font-style: italic;
  656. }
  657. .box .box-content .item.feed.moved .favicon {
  658. opacity: 0.4;
  659. }
  660. .box .box-content .item.disabled {
  661. text-align: center;
  662. font-style: italic;
  663. }
  664. .box .box-content-centered {
  665. padding: 30px 5px;
  666. text-align: center;
  667. }
  668. .box .box-content-centered .btn {
  669. margin: 20px 0 0;
  670. }
  671. /*=== Draggable */
  672. [draggable=true]:hover {
  673. cursor: move;
  674. }
  675. .dragging {
  676. background-color: rgba(255, 255, 0, 0.7);
  677. }
  678. .dragging .icon {
  679. visibility: hidden;
  680. }
  681. .drag-disallowed {
  682. opacity: 0.5;
  683. }
  684. .drag-active .drop-zone:not(.drag-disallowed) {
  685. background: repeating-linear-gradient(45deg, transparent, transparent 40px, rgba(250,250,210, 0.7) 40px, rgba(250,250,210, 0.7) 60px);
  686. }
  687. .drag-active .drag-hover.drop-zone {
  688. background: rgba(250,250,210, 0.7);
  689. transition: background 0.5s;
  690. }
  691. li.drag-hover {
  692. margin: 0 0 5px;
  693. border-bottom: 2px solid #ccc;
  694. }
  695. .drag-drop {
  696. animation-name: droppedKeyframe;
  697. animation-duration: 0.7s;
  698. }
  699. @keyframes droppedKeyframe {
  700. 0% {
  701. background-color: rgba(250,250,210, 0.7);
  702. }
  703. 50% {
  704. background-color: yellow;
  705. }
  706. 100% {
  707. background-color: none;
  708. }
  709. }
  710. /*=== Scrollbar */
  711. @supports (scrollbar-width: thin) {
  712. #sidebar,
  713. .scrollbar-thin {
  714. scrollbar-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.05);
  715. scrollbar-width: thin;
  716. }
  717. #sidebar:hover,
  718. .scrollbar-thin:hover {
  719. scrollbar-color: rgba(0, 0, 0, 0.3) rgba(0, 0, 0, 0.05);
  720. }
  721. }
  722. @supports not (scrollbar-width: thin) {
  723. #sidebar::-webkit-scrollbar,
  724. .scrollbar-thin::-webkit-scrollbar {
  725. background: rgba(0, 0, 0, 0.05);
  726. width: 8px;
  727. }
  728. #sidebar::-webkit-scrollbar-thumb,
  729. .scrollbar-thin::-webkit-scrollbar-thumb {
  730. background: rgba(0, 0, 0, 0.1);
  731. display: unset;
  732. border-radius: 5px;
  733. }
  734. #sidebar:hover::-webkit-scrollbar-thumb,
  735. .scrollbar-thin::-webkit-scrollbar-thumb {
  736. background: rgba(0, 0, 0, 0.3);
  737. }
  738. }
  739. /*=== Tree */
  740. .tree {
  741. margin: 0;
  742. max-height: 99vh;
  743. list-style: none;
  744. text-align: left;
  745. overflow-x: hidden;
  746. }
  747. .tree-folder-items {
  748. padding: 0;
  749. list-style: none;
  750. transition: max-height .3s linear;
  751. }
  752. .tree-folder-title .title {
  753. display: inline-block;
  754. width: 100%;
  755. vertical-align: middle;
  756. overflow: hidden;
  757. white-space: nowrap;
  758. text-overflow: ellipsis;
  759. }
  760. .tree-folder-items > .item {
  761. display: block;
  762. white-space: nowrap;
  763. }
  764. .tree-folder-items > .item > a {
  765. display: inline-block;
  766. vertical-align: middle;
  767. width: calc(100% - 32px);
  768. overflow: hidden;
  769. white-space: nowrap;
  770. text-overflow: ellipsis;
  771. }
  772. .tree-folder-items .item.feed {
  773. position: relative;
  774. }
  775. .tree-bottom {
  776. visibility: hidden;
  777. margin-bottom: 18em;
  778. }
  779. /*=== STRUCTURE */
  780. /*===============*/
  781. /*=== Header */
  782. .header {
  783. display: table;
  784. width: 100%;
  785. height: 85px;
  786. table-layout: fixed;
  787. }
  788. .header > .item {
  789. display: table-cell;
  790. }
  791. .header > .item.title {
  792. width: 250px;
  793. white-space: nowrap;
  794. }
  795. .header > .item.title h1 {
  796. display: inline-block;
  797. }
  798. .header > .item.title .logo {
  799. display: inline-block;
  800. height: 32px;
  801. vertical-align: middle;
  802. }
  803. .header > .item.configure {
  804. width: 100px;
  805. }
  806. input[type="search"] {
  807. -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */
  808. }
  809. /*=== Body */
  810. #global {
  811. background: inherit;
  812. display: table;
  813. width: 100%;
  814. height: calc(100vh - 85px);
  815. table-layout: fixed;
  816. }
  817. #stream:not(.alert-warn) {
  818. background: inherit;
  819. }
  820. .aside {
  821. display: table-cell;
  822. width: 300px;
  823. vertical-align: top;
  824. }
  825. .aside + .close-aside {
  826. display: none;
  827. }
  828. /*=== Aside main page */
  829. .aside_feed .category .title {
  830. width: calc(100% - 35px);
  831. }
  832. .aside_feed .category .title:not([data-unread="0"]) {
  833. width: calc(100% - 75px);
  834. }
  835. .aside_feed .tree-folder-title .icon {
  836. padding: 5px;
  837. }
  838. .aside_feed .tree-folder-items .item.feed {
  839. padding: 0px 15px;
  840. }
  841. .aside_feed .tree-folder-items:not(.active) {
  842. margin: 0;
  843. padding: 0;
  844. max-height: 0;
  845. border: none;
  846. overflow: hidden;
  847. }
  848. .aside_feed .tree-folder-items .dropdown {
  849. vertical-align: top;
  850. }
  851. .aside_feed .tree-folder-items .dropdown-menu {
  852. left: 0;
  853. }
  854. .aside_feed .tree-folder-items .item .dropdown-toggle > .icon {
  855. visibility: hidden;
  856. cursor: pointer;
  857. }
  858. .aside_feed .tree-folder-items .item .dropdown-target:target ~ .dropdown-toggle > .icon,
  859. .aside_feed .tree-folder-items .item:hover .dropdown-toggle > .icon,
  860. .aside_feed .tree-folder-items .item.active .dropdown-toggle > .icon {
  861. visibility: visible;
  862. }
  863. /*=== New article notification */
  864. #new-article {
  865. display: none;
  866. }
  867. #new-article > a {
  868. display: block;
  869. }
  870. /*=== Day indication */
  871. .day {
  872. background: inherit;
  873. }
  874. .day .name {
  875. position: absolute;
  876. right: 0;
  877. width: 50%;
  878. overflow: hidden;
  879. white-space: nowrap;
  880. text-overflow: ellipsis;
  881. }
  882. /*=== Feed article header and footer */
  883. .flux_header {
  884. background: inherit;
  885. position: static;
  886. }
  887. .flux .item {
  888. line-height: 40px;
  889. white-space: nowrap;
  890. }
  891. .flux .item.manage,
  892. .flux .item.link {
  893. width: 40px;
  894. text-align: center;
  895. }
  896. .flux .item.website {
  897. width: 200px;
  898. padding-right: 10px;
  899. }
  900. .website a:hover .favicon,
  901. a.website:hover .favicon {
  902. filter: grayscale(100%);
  903. }
  904. .flux.not_read .item.title,
  905. .flux.current .item.title {
  906. font-weight: bold;
  907. }
  908. .flux:not(.current):hover .item.title {
  909. background: #fff;
  910. max-width: calc(100% - 320px);
  911. position: absolute;
  912. }
  913. .flux:not(.current):hover .item.title.multiline {
  914. position: initial;
  915. }
  916. .flux .item.title a {
  917. color: #000;
  918. text-decoration: none;
  919. }
  920. .flux .item.thumbnail {
  921. line-height: 0;
  922. padding: 10px;
  923. height: 80px;
  924. }
  925. .flux .item.thumbnail.small {
  926. height: 40px;
  927. }
  928. .flux .item.thumbnail.portrait {
  929. width: 60px;
  930. }
  931. .flux .item.thumbnail.square {
  932. width: 80px;
  933. }
  934. .flux .item.thumbnail.landscape {
  935. width: 128px;
  936. }
  937. .flux .item.thumbnail.portrait.small {
  938. width: 30px;
  939. }
  940. .flux .item.thumbnail.square.small {
  941. width: 40px;
  942. }
  943. .flux .item.thumbnail.landscape.small {
  944. width: 64px;
  945. }
  946. .flux .item.thumbnail img {
  947. background: repeating-linear-gradient( -45deg, #ddd, #ddd 5px, transparent 5px, transparent 10px );
  948. display: inline-block;
  949. width: 100%;
  950. height: 100%;
  951. overflow: hidden;
  952. object-fit: cover;
  953. }
  954. .flux .item.title .summary {
  955. max-height: 3em;
  956. color: #666;
  957. font-size: 0.9em;
  958. line-height: 1.5em;
  959. font-weight: normal;
  960. white-space: initial;
  961. overflow: hidden;
  962. text-overflow: ellipsis;
  963. }
  964. .flux .item.title .author {
  965. padding-left: 1rem;
  966. color: #555;
  967. font-size: .9rem;
  968. font-weight: normal;
  969. }
  970. .flux .item.date {
  971. width: 155px;
  972. text-align: right;
  973. overflow: hidden;
  974. }
  975. .flux .item > a {
  976. display: block;
  977. white-space: nowrap;
  978. text-overflow: ellipsis;
  979. overflow: hidden;
  980. }
  981. .item.query > a {
  982. display: list-item;
  983. list-style-position: inside;
  984. list-style-type: decimal;
  985. }
  986. .flux_content .bottom .dropdown-toggle .icon {
  987. margin-right: 5px;
  988. }
  989. /*=== Feed article content */
  990. .hide_posts > .flux:not(.active) > .flux_content {
  991. display: none;
  992. }
  993. .content {
  994. min-height: 20em;
  995. margin: auto;
  996. line-height: 1.7em;
  997. word-wrap: break-word;
  998. }
  999. .content.large {
  1000. max-width: 1000px;
  1001. }
  1002. .content.medium {
  1003. max-width: 800px;
  1004. }
  1005. .content.thin {
  1006. max-width: 550px;
  1007. }
  1008. .content .article-header-topline {
  1009. margin-bottom: 0.75rem;
  1010. }
  1011. .content > header,
  1012. .content > footer {
  1013. color: #666;
  1014. font-size: .9rem;
  1015. }
  1016. .content > footer {
  1017. margin: 2rem 0 2rem;
  1018. padding-top: 1rem;
  1019. border-top: 2px solid #ccc;
  1020. clear: both;
  1021. }
  1022. .content > footer .subtitle {
  1023. padding-bottom: 1rem;
  1024. }
  1025. .content > header .tags,
  1026. .content > footer .tags {
  1027. display: flex;
  1028. line-height: 1;
  1029. }
  1030. .content > header .tags .icon,
  1031. .content > footer .tags .icon {
  1032. padding: 2px 10px 0 0;
  1033. }
  1034. .content > header .tags .list-tags,
  1035. .content > footer .tags .list-tags {
  1036. margin: 0;
  1037. padding: 0;
  1038. display: inline-block;
  1039. list-style: none;
  1040. }
  1041. .content > header .tags .list-tags .item.tag,
  1042. .content > footer .tags .list-tags .item.tag {
  1043. display: inline-block;
  1044. padding-right: 0.75em;
  1045. line-height: normal;
  1046. }
  1047. .content > header .tags .list-tags .item.tag a.link-tag,
  1048. .content > footer .tags .list-tags .item.tag a.link-tag {
  1049. display: inline;
  1050. }
  1051. .content > header h1 {
  1052. margin: 0.5em 0;
  1053. }
  1054. .content .text ul,
  1055. .content .text ol,
  1056. .content .text dd {
  1057. margin: 0 0 0 15px;
  1058. padding: 0 0 5px 15px;
  1059. }
  1060. .content pre {
  1061. overflow: auto;
  1062. }
  1063. .subtitle > div {
  1064. display: inline;
  1065. }
  1066. .subtitle > div:not(:first-of-type)::before {
  1067. content: ' · ';
  1068. }
  1069. br {
  1070. line-height: 1em;
  1071. }
  1072. /*=== Notification and actualize notification */
  1073. .notification {
  1074. padding: 10px 50px 10px 10px;
  1075. position: absolute;
  1076. top: 1em;
  1077. left: 25%; right: 25%;
  1078. z-index: 9999;
  1079. background: #fff;
  1080. border: 1px solid #aaa;
  1081. opacity: 1;
  1082. line-height: 2;
  1083. visibility: visible;
  1084. transition: visibility 0s, opacity .3s linear;
  1085. }
  1086. .notification.closed {
  1087. opacity: 0;
  1088. visibility: hidden;
  1089. }
  1090. .notification a.close {
  1091. position: absolute;
  1092. top: 0; bottom: 0;
  1093. right: 0;
  1094. display: inline-block;
  1095. }
  1096. .notification a.close:hover {
  1097. background: rgba(10,10,10,0.05);
  1098. }
  1099. .notification a.close:hover .icon {
  1100. filter: brightness(2);
  1101. }
  1102. #actualizeProgress {
  1103. position: fixed;
  1104. }
  1105. #actualizeProgress progress {
  1106. max-width: 100%;
  1107. vertical-align: middle;
  1108. }
  1109. #actualizeProgress .progress {
  1110. vertical-align: middle;
  1111. }
  1112. /*=== Popup */
  1113. #popup {
  1114. display: none;
  1115. position: fixed;
  1116. z-index: 200;
  1117. left: 0;
  1118. top: 0;
  1119. width: 100%;
  1120. height: 100%;
  1121. overflow: auto;
  1122. background-color: #eee;
  1123. background-color: rgba(0,0,0,0.4);
  1124. }
  1125. #popup-content {
  1126. margin: 5rem auto;
  1127. display: table;
  1128. width: 80%;
  1129. height: 80%;
  1130. overflow: hidden;
  1131. background-color: #fafafa;
  1132. border-radius: .25rem;
  1133. box-shadow: 0 0 1px #737373, 1px 2px 3px #4a4a4f;
  1134. }
  1135. .popup-row {
  1136. display: table-row;
  1137. width: 100%;
  1138. }
  1139. #popup-close {
  1140. float: right;
  1141. width: 27px;
  1142. height: 27px;
  1143. padding-bottom: 5px;
  1144. color: #aaa;
  1145. font-size: 28px;
  1146. font-weight: bold;
  1147. }
  1148. #popup-close:hover,
  1149. #popup-close:focus {
  1150. color: #000;
  1151. text-decoration: none;
  1152. cursor: pointer;
  1153. }
  1154. #popup-iframe-container {
  1155. display: none;
  1156. height: 100%;
  1157. }
  1158. #popup-iframe-sub {
  1159. padding: 10px;
  1160. height: 100%;
  1161. }
  1162. #popup-iframe {
  1163. width: 100%;
  1164. height: 100%;
  1165. }
  1166. /*=== Navigation menu (for articles) */
  1167. #nav_entries {
  1168. background: #fff;
  1169. display: table;
  1170. position: fixed;
  1171. bottom: 0; left: 0;
  1172. width: 300px;
  1173. table-layout: fixed;
  1174. }
  1175. #nav_entries .item {
  1176. display: table-cell;
  1177. width: 30%;
  1178. }
  1179. #nav_entries a {
  1180. display: block;
  1181. }
  1182. /*=== "Load" parts */
  1183. #first_load {
  1184. margin: 130px auto -170px auto;
  1185. height: 40px;
  1186. }
  1187. #load_more {
  1188. min-height: 40px;
  1189. }
  1190. #load_more.loading,
  1191. #load_more.loading:hover {
  1192. padding: 10px 20px;
  1193. background: url("loader.gif") center center no-repeat #fff;
  1194. font-size: 0;
  1195. }
  1196. .loading {
  1197. background: url("loader.gif") center center no-repeat;
  1198. font-size: 0;
  1199. }
  1200. #bigMarkAsRead {
  1201. margin: 0 0 100% 0;
  1202. margin: 0 0 100vh 0;
  1203. padding: 1em 0 50px 0;
  1204. display: block;
  1205. width: 100%;
  1206. text-align: center;
  1207. font-size: 1.4em;
  1208. }
  1209. .bigTick {
  1210. font-size: 4em;
  1211. }
  1212. /*=== Statistiques */
  1213. .stat-grid {
  1214. display: grid;
  1215. grid-template-columns: 1fr 1fr;
  1216. grid-gap: 20px;
  1217. }
  1218. .stat {
  1219. grid-column: 1 / span 2;
  1220. }
  1221. .stat.half {
  1222. grid-column: auto;
  1223. }
  1224. .stat > table {
  1225. width: 100%;
  1226. }
  1227. .statGraph {
  1228. height: 300px;
  1229. }
  1230. /*=== GLOBAL VIEW */
  1231. /*================*/
  1232. #stream.global {
  1233. text-align: center;
  1234. }
  1235. #stream.global .box {
  1236. text-align: left;
  1237. }
  1238. #global > #panel {
  1239. bottom: 99vh;
  1240. display: block;
  1241. transition: visibility .3s, bottom .3s;
  1242. visibility: hidden;
  1243. }
  1244. #global > #panel.visible {
  1245. bottom: 2%;
  1246. visibility: visible;
  1247. }
  1248. /*=== Panel */
  1249. #overlay {
  1250. position: fixed;
  1251. top: 0; bottom: 0;
  1252. left: 0; right: 0;
  1253. background: rgba(0, 0, 0, 0.5);
  1254. opacity: 0;
  1255. transition: visibility .3s, opacity .3s;
  1256. visibility: hidden;
  1257. }
  1258. #overlay.visible {
  1259. opacity: 1;
  1260. visibility: visible;
  1261. }
  1262. #panel {
  1263. background: #fff;
  1264. display: none;
  1265. position: fixed;
  1266. top: 2%; bottom: 2%;
  1267. left: 3%; right: 3%;
  1268. overflow: auto;
  1269. }
  1270. #overlay .close {
  1271. position: fixed;
  1272. top: 0; bottom: 0;
  1273. left: 0; right: 0;
  1274. display: block;
  1275. }
  1276. #overlay .close img {
  1277. display: none;
  1278. }
  1279. /*=== Slider */
  1280. #slider {
  1281. background: #fff;
  1282. width: 0;
  1283. position: fixed;
  1284. top: 0; bottom: 0;
  1285. right: 0;
  1286. overflow: auto;
  1287. border-left: 1px solid #aaa;
  1288. z-index: 100;
  1289. }
  1290. #slider.active:target {
  1291. width: 750px;
  1292. }
  1293. #slider.sliding {
  1294. transition: width 200ms linear;
  1295. }
  1296. #close-slider {
  1297. position: fixed;
  1298. top: 0; bottom: 0;
  1299. left: 100%; right: 0;
  1300. cursor: pointer;
  1301. }
  1302. #slider.active:target + #close-slider {
  1303. background: rgba(0, 0, 0, 0.2);
  1304. font-size: 0;
  1305. left: 0;
  1306. z-index: 99;
  1307. }
  1308. #close-slider img {
  1309. display: none;
  1310. }
  1311. #slider.active:target + #close-slider img {
  1312. padding: 0.5rem;
  1313. display: inline-block;
  1314. position: absolute;
  1315. top: 0.5rem;
  1316. left: 0.5rem;
  1317. filter: grayscale(100%) brightness(2.5);
  1318. }
  1319. #slider-content .loader {
  1320. height: 90vh;
  1321. background-image: url('loader.gif');
  1322. background-repeat: no-repeat;
  1323. background-position: center;
  1324. }
  1325. /*=== SLIDESHOW */
  1326. /*==============*/
  1327. .slides {
  1328. padding: 0;
  1329. display: block;
  1330. max-width: 640px;
  1331. height: 320px;
  1332. border: 1px solid #aaa;
  1333. position: relative;
  1334. min-width: 260px;
  1335. margin-bottom: 30px;
  1336. }
  1337. .slides input {
  1338. display: none;
  1339. }
  1340. .slide-container {
  1341. display: block;
  1342. }
  1343. .slide {
  1344. display: block;
  1345. width: 100%;
  1346. height: 100%;
  1347. top: 0;
  1348. opacity: 0;
  1349. position: absolute;
  1350. transform: scale(0);
  1351. transition: all .7s ease-in-out;
  1352. }
  1353. .slide img {
  1354. width: 100%;
  1355. height: 100%;
  1356. }
  1357. .nav label {
  1358. padding: 0;
  1359. display: none;
  1360. width: 65px;
  1361. height: 100%;
  1362. color: #fff;
  1363. font-family: "Varela Round", sans-serif;
  1364. font-size: 1000%;
  1365. position: absolute;
  1366. opacity: 0;
  1367. z-index: 9;
  1368. cursor: pointer;
  1369. transition: opacity .2s;
  1370. text-align: center;
  1371. line-height: 225%;
  1372. background-color: rgba(255, 255, 255, .3);
  1373. text-shadow: 0px 0px 15px rgb(119, 119, 119);
  1374. }
  1375. .properties {
  1376. padding: 5px;
  1377. background: rgba(255, 255, 255, 0.7);
  1378. display: none;
  1379. color: #000;
  1380. border-top: 1px solid #aaa;
  1381. bottom: 0;
  1382. left: 0; right: 0;
  1383. position: absolute;
  1384. z-index: 10;
  1385. }
  1386. .properties .page-number {
  1387. right: 5px;
  1388. top: 0;
  1389. position: absolute;
  1390. }
  1391. .slide:hover + .nav label {
  1392. opacity: 0.5;
  1393. }
  1394. .nav label:hover {
  1395. opacity: 1;
  1396. }
  1397. .nav .next {
  1398. right: 0;
  1399. }
  1400. input:checked + .slide-container .slide {
  1401. opacity: 1;
  1402. transform: scale(1);
  1403. transition: opacity 1s ease-in-out;
  1404. }
  1405. input:checked + .slide-container .nav label {
  1406. display: block;
  1407. }
  1408. input:checked + .slide-container .properties {
  1409. display: block;
  1410. }
  1411. /*=== DIVERS */
  1412. /*===========*/
  1413. .log-level {
  1414. text-align: center;
  1415. }
  1416. .log-item.log-error {
  1417. background-color: #bd362f44;
  1418. }
  1419. .item.share.error a::after,
  1420. .category .title.error::before,
  1421. .item.feed.error .item-title::before {
  1422. content: " ⚠ ";
  1423. color: #bd362f;
  1424. }
  1425. .feed.item.error.active .item-title::before {
  1426. color: white;
  1427. }
  1428. .aside .category .title:not([data-unread="0"])::after,
  1429. .aside .feed .item-title:not([data-unread="0"])::after {
  1430. margin: 0.75em 0 0 0;
  1431. padding: 5px 10px;
  1432. min-width: 20px;
  1433. display: block;
  1434. content: attr(data-unread);
  1435. position: absolute;
  1436. top: 0;
  1437. right: 10px;
  1438. text-align: center;
  1439. font-size: 0.9em;
  1440. border-radius: 12px;
  1441. line-height: 1;
  1442. font-weight: initial;
  1443. }
  1444. .global .box.category .title:not([data-unread="0"])::after {
  1445. margin: 0.5rem 0 0 0;
  1446. padding: 5px 10px;
  1447. min-width: 20px;
  1448. display: block;
  1449. content: attr(data-unread);
  1450. position: absolute;
  1451. top: 0;
  1452. right: 10px;
  1453. text-align: center;
  1454. font-size: 0.75rem;
  1455. border-radius: 12px;
  1456. line-height: 1;
  1457. font-weight: initial;
  1458. }
  1459. .feed .item-title:not([data-unread="0"])::after {
  1460. margin: 1em 0 0 0;
  1461. }
  1462. .feed.active .item-title:not([data-unread="0"])::after {
  1463. background-color: transparent;
  1464. color: white;
  1465. border: 1px solid #fff;
  1466. font-weight: bold;
  1467. }
  1468. .feed .item-title:not([data-unread="0"]) {
  1469. font-weight: bold;
  1470. width: calc(100% - 80px);
  1471. }
  1472. .state_unread .category:not(.active)[data-unread="0"],
  1473. .state_unread .feed:not(.active)[data-unread="0"] {
  1474. display: none;
  1475. }
  1476. .nav_menu {
  1477. background: inherit;
  1478. }
  1479. .nav_mobile {
  1480. display: none;
  1481. }
  1482. .nav-login,
  1483. .nav_menu .search,
  1484. .aside .toggle_aside,
  1485. #slider .toggle_aside,
  1486. .nav_menu .toggle_aside,
  1487. .configure .dropdown-header-close {
  1488. display: none;
  1489. }
  1490. .enclosure [download] {
  1491. font-size: xx-large;
  1492. margin-left: .8em;
  1493. }
  1494. .enclosure-description {
  1495. white-space: pre-line;
  1496. }
  1497. .default-user {
  1498. font-style: italic;
  1499. }
  1500. /*=== READER */
  1501. /*===========*/
  1502. .reader .nav_menu .toggle_aside {
  1503. display: inline-block;
  1504. }
  1505. .reader .aside .toggle_aside {
  1506. display: block;
  1507. width: 100%;
  1508. }
  1509. .reader .aside {
  1510. display: none;
  1511. width: 0;
  1512. }
  1513. .reader .aside:target {
  1514. display: table-cell;
  1515. width: 300px;
  1516. }
  1517. .reader .aside .stick {
  1518. display: none;
  1519. }
  1520. #loglist-wrapper {
  1521. overflow-x: auto;
  1522. }
  1523. /*=== MOBILE */
  1524. /*===========*/
  1525. @media (max-width: 840px) {
  1526. .flux_header .item.website span,
  1527. .item.date, .day .date,
  1528. .dropdown-menu > .no-mobile,
  1529. .no-mobile {
  1530. display: none;
  1531. }
  1532. .header > .item {
  1533. padding: 5px;
  1534. }
  1535. .header > .item.title .logo {
  1536. height: 24px;
  1537. }
  1538. header .item.search form {
  1539. display: none;
  1540. }
  1541. .aside .toggle_aside,
  1542. #panel .close,
  1543. .dropdown-menu .toggle_aside,
  1544. #slider .toggle_aside {
  1545. background: #f6f6f6;
  1546. display: block;
  1547. width: 100%;
  1548. height: 50px;
  1549. border-bottom: 1px solid #ddd;
  1550. line-height: 50px;
  1551. text-align: center;
  1552. }
  1553. .form-group {
  1554. margin-bottom: 10px;
  1555. }
  1556. .form-group .group-name {
  1557. float: none;
  1558. width: auto;
  1559. }
  1560. .form-group .group-controls {
  1561. margin-left: 0;
  1562. }
  1563. .dropdown {
  1564. position: inherit;
  1565. }
  1566. .dropdown .dropdown-header {
  1567. line-height: 2;
  1568. }
  1569. .dropdown .dropdown-menu {
  1570. width: 94%;
  1571. border-radius: 0;
  1572. left: 3%;
  1573. right: 3%;
  1574. position: absolute;
  1575. }
  1576. .dropdown .dropdown-menu .item {
  1577. margin: 2px 0;
  1578. }
  1579. .dropdown .dropdown-menu .item button.as-link,
  1580. .dropdown .dropdown-menu .item button.as-link:hover, button.as-link:active {
  1581. width: 100%;
  1582. }
  1583. .dropdown-target:target ~ .dropdown-toggle {
  1584. position: relative;
  1585. overflow: visible;
  1586. }
  1587. .dropdown-target:target ~ .dropdown-toggle::after {
  1588. background-color: #fff;
  1589. width: 10px;
  1590. height: 10px;
  1591. content: "";
  1592. position: absolute;
  1593. right: 8px;
  1594. bottom: -17px;
  1595. transform: rotate(45deg);
  1596. z-index: 9999;
  1597. cursor: default;
  1598. }
  1599. .dropdown-target:target ~ .dropdown-toggle:not(.btn) ~ .dropdown-menu {
  1600. margin-top: 0;
  1601. }
  1602. .configure .dropdown .dropdown-menu {
  1603. width: 90%;
  1604. height: 100vh;
  1605. top: 0;
  1606. right: 0;
  1607. bottom: 0;
  1608. left: auto;
  1609. position: fixed;
  1610. padding-top: 0;
  1611. margin-top: 0;
  1612. overflow: auto;
  1613. box-shadow: -3px 0 3px #aaa;
  1614. }
  1615. .configure .dropdown-target:target ~ .dropdown-toggle::after {
  1616. content: none;
  1617. }
  1618. .dropdown-target:target ~ .dropdown-menu {
  1619. display: table-cell;
  1620. z-index: 1000;
  1621. }
  1622. .dropdown-menu::after {
  1623. display: none;
  1624. }
  1625. .aside .toggle_aside,
  1626. .configure .dropdown-header-close,
  1627. .nav-login {
  1628. display: block;
  1629. }
  1630. .nav_menu .toggle_aside,
  1631. .nav_menu .search,
  1632. #panel .close img {
  1633. display: inline-block;
  1634. }
  1635. .aside:target + .close-aside,
  1636. .configure .dropdown-target:target ~ .dropdown-close {
  1637. background: rgba(0, 0, 0, 0.2);
  1638. display: block;
  1639. font-size: 0;
  1640. position: fixed;
  1641. top: 0;
  1642. bottom: 0;
  1643. left: 0;
  1644. right: 0;
  1645. cursor: default;
  1646. z-index: 99;
  1647. }
  1648. .nav_mobile {
  1649. display: block;
  1650. }
  1651. .aside {
  1652. position: fixed;
  1653. top: 0; bottom: 0;
  1654. left: 0;
  1655. width: 0;
  1656. overflow: hidden;
  1657. z-index: 100;
  1658. }
  1659. .aside:target,
  1660. .reader .aside:target {
  1661. width: 90%;
  1662. height: 100vh;
  1663. }
  1664. .aside_feed .configure-feeds {
  1665. margin-top: 10px;
  1666. }
  1667. .flux_header .item.website {
  1668. width: 40px;
  1669. }
  1670. .flux:not(.current):hover .item.title {
  1671. position: relative;
  1672. width: auto;
  1673. white-space: nowrap;
  1674. }
  1675. .notification {
  1676. top: 0;
  1677. left: 0;
  1678. right: 0;
  1679. }
  1680. #nav_entries {
  1681. width: 100%;
  1682. }
  1683. #panel {
  1684. top: 25px; bottom: 30px;
  1685. left: 0; right: 0;
  1686. }
  1687. #panel .close {
  1688. top: 0; right: 0;
  1689. left: auto; bottom: auto;
  1690. display: inline-block;
  1691. width: 30px;
  1692. height: 30px;
  1693. }
  1694. #slider.active:target {
  1695. width: 100%;
  1696. }
  1697. #close-slider img {
  1698. display: initial;
  1699. }
  1700. #slider.active:target #close-slider img {
  1701. display: initial;
  1702. position: initial;
  1703. filter: initial;
  1704. }
  1705. #slider.active:target + #close-slider {
  1706. display: none;
  1707. }
  1708. .stat.half {
  1709. grid-column: 1 / span 2;
  1710. }
  1711. }
  1712. /*=== PRINTER */
  1713. /*============*/
  1714. @media print {
  1715. .header, .aside,
  1716. .nav_menu, .day,
  1717. .flux_header,
  1718. .flux_content .bottom,
  1719. .pagination,
  1720. #stream-footer,
  1721. #nav_entries {
  1722. display: none;
  1723. }
  1724. html, body {
  1725. background: #fff;
  1726. color: #000;
  1727. font-family: Serif;
  1728. }
  1729. #global,
  1730. .flux_content {
  1731. display: block !important;
  1732. }
  1733. .flux_content .content {
  1734. width: 100% !important;
  1735. }
  1736. .flux_content .content a {
  1737. color: #000;
  1738. }
  1739. .flux_content .content a::after {
  1740. content: " [" attr(href) "] ";
  1741. font-style: italic;
  1742. }
  1743. }
  1744. /*=== PREVIEW */
  1745. /*===========*/
  1746. .preview_controls {
  1747. margin-left: auto;
  1748. margin-right: auto;
  1749. padding: 1rem;
  1750. max-width: 1000px;
  1751. text-align: center;
  1752. background-color: #eee;
  1753. border: 1px solid #e0e0e0;
  1754. border-radius: .25rem;
  1755. }
  1756. .preview_controls label {
  1757. display: inline;
  1758. }
  1759. .preview_controls label input[type="radio"] {
  1760. margin-top: -4px;
  1761. }
  1762. .preview_controls label + label {
  1763. margin-left: 1rem;
  1764. }
  1765. .preview_background {
  1766. background-color: transparent;
  1767. }
  1768. .drag-drop-marker {
  1769. margin: -1px;
  1770. }