common.css 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287
  1. /* Layout */
  2. * {
  3. margin: 0;
  4. padding: 0;
  5. box-sizing: border-box;
  6. }
  7. html {
  8. -webkit-text-size-adjust: 100%;
  9. -ms-text-size-adjust: 100%;
  10. }
  11. body {
  12. font-family: var(--font-family);
  13. text-rendering: optimizeLegibility;
  14. color: var(--body-color);
  15. background: var(--body-background);
  16. }
  17. hr {
  18. border: 0;
  19. height: 0;
  20. border-top: 1px dotted var(--hr-border-color);
  21. padding-bottom: 10px;
  22. }
  23. h1, h2, h3 {
  24. color: var(--title-color);
  25. }
  26. main {
  27. padding-left: 5px;
  28. padding-right: 5px;
  29. margin-bottom: 30px;
  30. }
  31. a {
  32. color: var(--link-color);
  33. }
  34. a:focus {
  35. outline: 0;
  36. color: var(--link-focus-color);
  37. text-decoration: none;
  38. outline: 1px dotted #aaa;
  39. }
  40. a:hover {
  41. color: var(--link-hover-color);
  42. text-decoration: none;
  43. }
  44. .sr-only {
  45. border: 0 !important;
  46. clip: rect(1px, 1px, 1px, 1px) !important;
  47. -webkit-clip-path: inset(50%) !important;
  48. clip-path: inset(50%) !important;
  49. height: 1px !important;
  50. overflow: hidden !important;
  51. margin: -1px !important;
  52. padding: 0 !important;
  53. position: absolute !important;
  54. width: 1px !important;
  55. white-space: nowrap !important;
  56. }
  57. .skip-to-content-link {
  58. --padding-size: 8px;
  59. --border-size: 1px;
  60. background-color: var(--category-background-color);
  61. color: var(--category-color);
  62. border: var(--border-size) solid var(--category-border-color);
  63. border-radius: 5px;
  64. inset-inline-start: 50%;
  65. padding: var(--padding-size);
  66. position: absolute;
  67. transition: translate 0.3s;
  68. translate: -50% calc(-100% - calc(var(--padding-size) * 2) - calc(var(--border-size) * 2));
  69. }
  70. .skip-to-content-link:focus {
  71. translate: -50% 0;
  72. }
  73. /* Header and main menu */
  74. .header {
  75. margin-top: 10px;
  76. margin-bottom: 20px;
  77. }
  78. .header nav {
  79. display: flex;
  80. align-items: stretch;
  81. flex-direction: column;
  82. }
  83. .header nav .logo svg {
  84. padding: 5px;
  85. inline-size: 24px;
  86. block-size: 24px;
  87. }
  88. .header nav .logo[aria-expanded="true"] svg {
  89. rotate: 180deg;
  90. }
  91. .header ul.js-menu-show {
  92. display: initial;
  93. }
  94. .header ul:not(.js-menu-show) {
  95. display: none;
  96. }
  97. .header li {
  98. cursor: pointer;
  99. padding-left: 10px;
  100. line-height: 2.1em;
  101. font-size: 1.2em;
  102. border-bottom: 1px dotted var(--header-list-border-color);
  103. }
  104. .header li a:hover {
  105. color: #888;
  106. }
  107. .header :is(a, summary) {
  108. font-size: 0.9em;
  109. color: var(--header-link-color);
  110. text-decoration: none;
  111. border: none;
  112. font-weight: 400;
  113. }
  114. .header .active a {
  115. color: var(--header-active-link-color);
  116. /* Note: Firefox on Windows does not show the link as bold if the value is under 600 */
  117. font-weight: 600;
  118. }
  119. .header a:focus {
  120. color: var(--header-link-focus-color);
  121. }
  122. /* Page header and footer*/
  123. .page-header {
  124. padding-inline: 5px;
  125. margin-bottom: 25px;
  126. }
  127. .page-footer {
  128. margin-bottom: 10px;
  129. }
  130. .page-header h1 {
  131. font-weight: 500;
  132. border-bottom: 1px dotted var(--page-header-title-border-color);
  133. font-size: 1.5rem;
  134. }
  135. .page-header h1 a {
  136. text-decoration: none;
  137. color: var(--page-header-title-color);
  138. }
  139. .page-header h1 a:hover,
  140. .page-header h1 a:focus {
  141. color: #666;
  142. }
  143. .page-header li,
  144. .page-footer li {
  145. list-style-type: none;
  146. line-height: 1.8em;
  147. white-space: nowrap;
  148. }
  149. .page-header ul a .icon {
  150. padding-bottom: 2px;
  151. }
  152. .page-header-action-form {
  153. display: inline-flex;
  154. }
  155. :is(.page-button, .page-link) {
  156. color: var(--link-color);
  157. border: none;
  158. background-color: transparent;
  159. font-size: 1rem;
  160. cursor: pointer;
  161. &:is(:hover, :focus) {
  162. color: var(--link-hover-color);
  163. }
  164. }
  165. .page-button:active {
  166. translate: 1px 1px;
  167. }
  168. /* Logo */
  169. .logo {
  170. text-align: center;
  171. display: flex;
  172. justify-content: center;
  173. }
  174. .logo a {
  175. color: var(--logo-color);
  176. letter-spacing: 1px;
  177. display: flex;
  178. align-items: center;
  179. }
  180. .logo a:hover {
  181. color: #339966;
  182. }
  183. .logo a span {
  184. color: #339966;
  185. }
  186. .logo a:hover span {
  187. color: var(--logo-hover-color-span);
  188. }
  189. /* Search form */
  190. .search {
  191. text-align: center;
  192. margin-top: 10px;
  193. margin-right: 5px;
  194. }
  195. .search-summary-icon {
  196. padding: 5px;
  197. inline-size: 24px;
  198. block-size: 24px;
  199. translate: 0 -3px;
  200. }
  201. .search-details {
  202. &[open] .search-summary-icon {
  203. rotate: 180deg;
  204. }
  205. }
  206. .search-summary {
  207. list-style: none;
  208. display: flex;
  209. justify-content: center;
  210. inline-size: fit-content;
  211. margin-inline: auto;
  212. }
  213. .search-summary::marker, /* Latest Chrome, Edge, Firefox */
  214. .search-summary::-webkit-details-marker /* Safari */ {
  215. display: none;
  216. }
  217. .search-toggle-switch {
  218. display: none;
  219. }
  220. /* PWA prompt */
  221. #prompt-home-screen {
  222. display: none;
  223. position: fixed;
  224. bottom: 0;
  225. right: 0;
  226. width: 100%;
  227. text-align: center;
  228. background: #000;
  229. opacity: 85%;
  230. }
  231. #btn-add-to-home-screen {
  232. text-decoration: none;
  233. line-height: 30px;
  234. color: #fff;
  235. }
  236. #btn-add-to-home-screen:hover {
  237. color: red;
  238. }
  239. /* Notification - "Toast" */
  240. #toast-wrapper {
  241. visibility: hidden;
  242. opacity: 0;
  243. position: fixed;
  244. left: 0;
  245. bottom: 10%;
  246. color: #fff;
  247. width: 100%;
  248. text-align: center;
  249. }
  250. #toast-msg {
  251. background-color: rgba(0,0,0,0.7);
  252. padding-bottom: 4px;
  253. padding-left: 4px;
  254. padding-right: 5px;
  255. border-radius: 5px;
  256. }
  257. .toast-animate {
  258. animation: toastKeyFrames 2s;
  259. }
  260. @keyframes toastKeyFrames {
  261. 0% {visibility: hidden; opacity: 0;}
  262. 25% {visibility: visible; opacity: 1; z-index: 9999}
  263. 50% {visibility: visible; opacity: 1; z-index: 9999}
  264. 75% {visibility: visible; opacity: 1; z-index: 9999}
  265. 100% {visibility: hidden; opacity: 0; z-index: 0}
  266. }
  267. @media (min-width: 620px) {
  268. body {
  269. margin: auto;
  270. max-width: 750px;
  271. }
  272. .header {
  273. margin-bottom: 0;
  274. }
  275. .logo {
  276. text-align: left;
  277. float: left;
  278. margin-right: 15px;
  279. }
  280. .header li {
  281. display: inline;
  282. padding: 0;
  283. padding-right: 15px;
  284. line-height: normal;
  285. border: none;
  286. font-size: 1.0em;
  287. }
  288. .header nav {
  289. align-items: end;
  290. flex-direction: row;
  291. }
  292. .header .logo svg {
  293. display: none;
  294. }
  295. .header ul:not(.js-menu-show), .header ul.js-menu-show {
  296. display: revert;
  297. }
  298. .header :is(a, summary):hover {
  299. color: var(--header-link-hover-color);
  300. }
  301. .page-header li,
  302. .page-footer li {
  303. display: inline;
  304. padding-right: 15px;
  305. }
  306. /* Search form */
  307. .search {
  308. text-align: right;
  309. display: block;
  310. }
  311. .search details > summary {
  312. margin-inline: auto 0;
  313. }
  314. .search-toggle-switch {
  315. display: block;
  316. }
  317. .search-form {
  318. display: none;
  319. }
  320. .search-toggle-switch.has-search-query {
  321. display: none;
  322. }
  323. .search-form.has-search-query {
  324. display: block;
  325. }
  326. }
  327. /* Tables */
  328. table {
  329. width: 100%;
  330. border-collapse: collapse;
  331. }
  332. table, th, td {
  333. border: 1px solid var(--table-border-color);
  334. }
  335. th, td {
  336. padding: 5px;
  337. text-align: left;
  338. }
  339. td {
  340. vertical-align: top;
  341. }
  342. th {
  343. background: var(--table-th-background);
  344. color: var(--table-th-color);
  345. font-weight: 400;
  346. }
  347. tr:hover {
  348. color: var(--table-tr-hover-color);
  349. background-color: var(--table-tr-hover-background-color);
  350. }
  351. .column-40 {
  352. width: 40%;
  353. }
  354. .column-25 {
  355. width: 25%;
  356. }
  357. .column-20 {
  358. width: 20%;
  359. }
  360. /* Forms */
  361. fieldset {
  362. border: 1px dotted #ddd;
  363. padding: 8px;
  364. margin-bottom: 20px;
  365. }
  366. legend {
  367. font-weight: 500;
  368. padding-left: 3px;
  369. padding-right: 3px;
  370. }
  371. label {
  372. cursor: pointer;
  373. display: block;
  374. }
  375. .radio-group {
  376. line-height: 1.9em;
  377. }
  378. div.radio-group label {
  379. display: inline-block;
  380. }
  381. select {
  382. margin-bottom: 15px;
  383. }
  384. input[type="search"],
  385. input[type="url"],
  386. input[type="password"],
  387. input[type="text"],
  388. input[type="number"] {
  389. color: var(--input-color);
  390. background: var(--input-background);
  391. border: var(--input-border);
  392. padding: 3px;
  393. line-height: 20px;
  394. width: 250px;
  395. font-size: 99%;
  396. margin-bottom: 10px;
  397. margin-top: 5px;
  398. appearance: none;
  399. }
  400. input[type="search"]:focus,
  401. input[type="url"]:focus,
  402. input[type="password"]:focus,
  403. input[type="text"]:focus,
  404. input[type="number"]:focus {
  405. color: var(--input-focus-color);
  406. border-color: var(--input-focus-border-color);
  407. outline: 0;
  408. box-shadow: var(--input-focus-box-shadow);
  409. }
  410. #form-entries-per-page {
  411. max-width: 80px;
  412. }
  413. input[type="checkbox"] {
  414. margin-bottom: 15px;
  415. }
  416. textarea {
  417. width: 350px;
  418. color: var(--input-color);
  419. background: var(--input-background);
  420. border: var(--input-border);
  421. padding: 3px;
  422. margin-bottom: 10px;
  423. margin-top: 5px;
  424. appearance: none;
  425. }
  426. textarea:focus {
  427. color: var(--input-focus-color);
  428. border-color: var(--input-focus-border-color);
  429. outline: 0;
  430. box-shadow: var(--input-focus-box-shadow);
  431. }
  432. input::placeholder {
  433. color: var(--input-placeholder-color);
  434. padding-top: 2px;
  435. }
  436. .form-label-row {
  437. display: flex;
  438. }
  439. .form-help {
  440. font-size: 0.9em;
  441. color: brown;
  442. margin-bottom: 15px;
  443. }
  444. .form-section {
  445. border-left: 2px dotted #ddd;
  446. padding-left: 20px;
  447. margin-left: 10px;
  448. }
  449. details > summary {
  450. outline: none;
  451. cursor: pointer;
  452. }
  453. .details-content {
  454. margin-top: 15px;
  455. }
  456. /* Buttons */
  457. a.button {
  458. text-decoration: none;
  459. }
  460. .button {
  461. display: inline-block;
  462. appearance: none;
  463. font-size: 1.1em;
  464. cursor: pointer;
  465. padding: 3px 10px;
  466. border: 1px solid;
  467. border-radius: unset;
  468. }
  469. .button-primary {
  470. border-color: var(--button-primary-border-color);
  471. background: var(--button-primary-background);
  472. color: var(--button-primary-color);
  473. }
  474. a.button-primary:hover,
  475. a.button-primary:focus,
  476. .button-primary:hover,
  477. .button-primary:focus {
  478. border-color: var(--button-primary-focus-border-color);
  479. background: var(--button-primary-focus-background);
  480. color: var(--button-primary-color);
  481. }
  482. .button-danger {
  483. border-color: #b0281a;
  484. background: #d14836;
  485. color: #fff;
  486. }
  487. .button-danger:hover,
  488. .button-danger:focus {
  489. color: #fff;
  490. background: #c53727;
  491. }
  492. .button:disabled {
  493. color: #ccc;
  494. background: #f7f7f7;
  495. border-color: #ccc;
  496. }
  497. .buttons {
  498. margin-top: 10px;
  499. margin-bottom: 20px;
  500. }
  501. fieldset .buttons {
  502. margin-bottom: 0;
  503. }
  504. /* Alerts */
  505. .alert {
  506. padding: 8px 35px 8px 14px;
  507. margin-bottom: 20px;
  508. color: var(--alert-color);
  509. background-color: var(--alert-background-color);
  510. border: 1px solid var(--alert-border-color);
  511. border-radius: 4px;
  512. overflow: auto;
  513. }
  514. .alert h3 {
  515. margin-top: 0;
  516. margin-bottom: 15px;
  517. }
  518. .alert-success {
  519. color: var(--alert-success-color);
  520. background-color: var(--alert-success-background-color);
  521. border-color: var(--alert-success-border-color);
  522. }
  523. .alert-error {
  524. color: var(--alert-error-color);
  525. background-color: var(--alert-error-background-color);
  526. border-color: var(--alert-error-border-color);
  527. }
  528. .alert-error h3,
  529. .alert-error a {
  530. color: var(--alert-error-color);
  531. }
  532. .alert-info {
  533. color: var(--alert-info-color);
  534. background-color: var(--alert-info-background-color);
  535. border-color: var(--alert-info-border-color);
  536. }
  537. /* Panel */
  538. .panel {
  539. color: var(--panel-color);
  540. background-color: var(--panel-background);
  541. border: 1px solid var(--panel-border-color);
  542. border-radius: 5px;
  543. padding: 10px;
  544. margin-bottom: 15px;
  545. }
  546. .panel h3 {
  547. font-weight: 500;
  548. margin-top: 0;
  549. margin-bottom: 20px;
  550. }
  551. .panel ul {
  552. margin-left: 30px;
  553. }
  554. /* Modals */
  555. template {
  556. display: none;
  557. }
  558. #modal-left {
  559. position: fixed;
  560. top: 0;
  561. left: 0;
  562. bottom: 0;
  563. width: 380px;
  564. overflow: auto;
  565. color: var(--modal-color);
  566. background: var(--modal-background);
  567. box-shadow: var(--modal-box-shadow);
  568. padding: 5px;
  569. padding-top: 30px;
  570. }
  571. #modal-left h3 {
  572. font-weight: 400;
  573. margin: 0;
  574. }
  575. .btn-close-modal {
  576. position: absolute;
  577. top: 0;
  578. right: 0;
  579. font-size: 1.7em;
  580. color: #ccc;
  581. padding:0 .2em;
  582. margin: 10px;
  583. text-decoration: none;
  584. background-color: transparent;
  585. border: none;
  586. }
  587. .btn-close-modal:hover {
  588. color: #999;
  589. }
  590. /* Keyboard Shortcuts */
  591. .keyboard-shortcuts li {
  592. margin-left: 25px;
  593. list-style-type: square;
  594. color: var(--keyboard-shortcuts-li-color);
  595. font-size: 0.95em;
  596. line-height: 1.45em;
  597. }
  598. .keyboard-shortcuts p {
  599. line-height: 1.9em;
  600. }
  601. /* Login form */
  602. .login-form {
  603. margin: 50px auto 0;
  604. max-width: 300px;
  605. }
  606. /* Counters */
  607. .unread-counter-wrapper,
  608. .error-feeds-counter-wrapper {
  609. font-size: 0.9em;
  610. font-weight: 300;
  611. color: var(--counter-color);
  612. }
  613. /* Category label */
  614. .category {
  615. font-size: 0.75em;
  616. background-color: var(--category-background-color);
  617. border: 1px solid var(--category-border-color);
  618. border-radius: 5px;
  619. margin-left: 0.25em;
  620. padding: 1px 0.4em 1px 0.4em;
  621. white-space: nowrap;
  622. color: var(--category-color);
  623. }
  624. .category a {
  625. color: var(--category-link-color);
  626. text-decoration: none;
  627. }
  628. .category a:hover,
  629. .category a:focus {
  630. color: var(--category-link-hover-color);
  631. }
  632. .category-item-total {
  633. color: var(--body-color);
  634. }
  635. /* Pagination */
  636. .pagination {
  637. font-size: 1.1em;
  638. display: flex;
  639. align-items: center;
  640. }
  641. .pagination-top {
  642. padding-bottom: 8px;
  643. }
  644. .pagination-bottom {
  645. padding-top: 8px;
  646. }
  647. .pagination-entry-top {
  648. padding-top: 8px;
  649. }
  650. .pagination-entry-bottom {
  651. border-top: 1px dotted var(--pagination-border-color);
  652. margin-bottom: 15px;
  653. margin-top: 50px;
  654. padding-top: 8px;
  655. }
  656. .pagination > div {
  657. flex: 1;
  658. }
  659. .pagination-next {
  660. text-align: right;
  661. }
  662. .pagination-prev:before {
  663. content: "« ";
  664. }
  665. .pagination-next:after {
  666. content: " »";
  667. }
  668. .pagination a {
  669. color: var(--pagination-link-color);
  670. }
  671. .pagination a:hover,
  672. .pagination a:focus {
  673. text-decoration: none;
  674. }
  675. /* List view */
  676. .item {
  677. border: 1px dotted var(--item-border-color);
  678. margin-bottom: 20px;
  679. padding: var(--item-padding);
  680. overflow: hidden;
  681. }
  682. .item.current-item {
  683. border: var(--current-item-border-width) solid var(--current-item-border-color);
  684. padding: 3px;
  685. box-shadow: var(--current-item-box-shadow);
  686. }
  687. .item.current-item:focus {
  688. outline: none;
  689. }
  690. .item-header {
  691. font-size: 1rem;
  692. }
  693. .item-header span {
  694. font-weight: normal;
  695. display: inline-block;
  696. }
  697. .item-title {
  698. font-size: 1rem;
  699. margin: 0;
  700. display: inline;
  701. }
  702. .item-title a {
  703. text-decoration: none;
  704. font-weight: var(--item-title-link-font-weight);
  705. font-size: inherit;
  706. }
  707. .feed-entries-counter {
  708. display: inline-flex;
  709. gap: 2px;
  710. align-items: center;
  711. }
  712. .item-status-read .item-title a {
  713. color: var(--item-status-read-title-link-color);
  714. }
  715. .item-meta {
  716. color: var(--item-meta-focus-color);
  717. font-size: 0.8em;
  718. }
  719. .item-meta a {
  720. color: #777;
  721. text-decoration: none;
  722. }
  723. .item-meta :is(a:is(:focus, :hover), button:is(:focus, :hover)) {
  724. color: #333;
  725. }
  726. .item-meta ul {
  727. margin-top: 5px;
  728. }
  729. .item-meta li {
  730. display: inline-block;
  731. }
  732. .item-meta-info {
  733. font-size: 0.85em;
  734. }
  735. .item-meta-info li:not(:last-child):after {
  736. content: "|";
  737. color: var(--item-meta-li-color);
  738. }
  739. .item-meta-icons li {
  740. margin-right: 8px;
  741. margin-top: 4px;
  742. }
  743. .item-meta-icons li:last-child {
  744. margin-right: 0;
  745. }
  746. .item-meta-icons li > :is(a, button) {
  747. color: #777;
  748. text-decoration: none;
  749. font-size: 0.8rem;
  750. border: none;
  751. background-color: transparent;
  752. cursor: pointer;
  753. }
  754. .item-meta-icons a span {
  755. text-decoration: underline;
  756. }
  757. .item-meta-icons button:active {
  758. translate: 1px 1px;
  759. }
  760. .items {
  761. overflow-x: hidden;
  762. touch-action: pan-y;
  763. }
  764. .hide-read-items .item-status-read:not(.current-item) {
  765. display: none;
  766. }
  767. .entry-swipe {
  768. transition-property: transform;
  769. transition-duration: 0s;
  770. transition-timing-function: ease-out;
  771. }
  772. /* Feeds list */
  773. article.feed-parsing-error {
  774. background-color: var(--feed-parsing-error-background-color);
  775. border-style: var(--feed-parsing-error-border-style);
  776. border-color: var(--feed-parsing-error-border-color);
  777. }
  778. article.feed-has-unread {
  779. background-color: var(--feed-has-unread-background-color);
  780. border-style: var(--feed-has-unread-border-style);
  781. border-color: var(--feed-has-unread-border-color);
  782. }
  783. .parsing-error {
  784. font-size: 0.85em;
  785. margin-top: 2px;
  786. color: var(--parsing-error-color);
  787. }
  788. .parsing-error-count {
  789. cursor: pointer;
  790. }
  791. /* Categories list */
  792. article.category-has-unread {
  793. background-color: var(--category-has-unread-background-color);
  794. border-style: var(--category-has-unread-border-style);
  795. border-color: var(--category-has-unread-border-color);
  796. }
  797. /* Icons */
  798. .icon,
  799. .icon-label {
  800. vertical-align: middle;
  801. display: inline-block;
  802. padding-right: 2px;
  803. }
  804. .icon {
  805. width: 16px;
  806. height: 16px;
  807. }
  808. /* Entry view */
  809. .entry header {
  810. padding-bottom: 5px;
  811. padding-inline: 5px;
  812. border-bottom: 1px dotted var(--entry-header-border-color);
  813. }
  814. .entry header h1 {
  815. font-size: 2.0em;
  816. line-height: 1.25em;
  817. margin: 5px 0 30px 0;
  818. overflow-wrap: break-word;
  819. }
  820. .entry header h1 a {
  821. text-decoration: none;
  822. color: var(--entry-header-title-link-color);
  823. }
  824. .entry header h1 a:hover,
  825. .entry header h1 a:focus {
  826. color: #666;
  827. }
  828. .entry-actions {
  829. margin-bottom: 20px;
  830. }
  831. .entry-actions a span {
  832. text-decoration: underline;
  833. }
  834. .entry-actions li {
  835. display: inline-block;
  836. margin-right: 15px;
  837. line-height: 1.7em;
  838. }
  839. .entry-meta {
  840. font-size: 0.95em;
  841. margin: 0 0 20px;
  842. color: #666;
  843. overflow-wrap: break-word;
  844. }
  845. .entry-tags {
  846. margin-top: 20px;
  847. margin-bottom: 20px;
  848. }
  849. .entry-tags strong {
  850. font-weight: 600;
  851. }
  852. .entry-website img {
  853. vertical-align: top;
  854. }
  855. .entry-website a {
  856. color: #666;
  857. vertical-align: top;
  858. text-decoration: none;
  859. }
  860. .entry-website a:hover,
  861. .entry-website a:focus {
  862. text-decoration: underline;
  863. }
  864. .entry-date {
  865. font-size: 0.65em;
  866. font-style: italic;
  867. color: #555;
  868. }
  869. .entry-content {
  870. padding-top: 15px;
  871. font-size: 1.2em;
  872. font-weight: var(--entry-content-font-weight);
  873. font-family: var(--entry-content-font-family);
  874. color: var(--entry-content-color);
  875. line-height: 1.4em;
  876. overflow-wrap: break-word;
  877. touch-action: pan-y pinch-zoom;
  878. }
  879. .entry-content h1, h2, h3, h4, h5, h6 {
  880. margin-top: 15px;
  881. margin-bottom: 10px;
  882. }
  883. .entry-content iframe,
  884. .entry-content video,
  885. .entry-content img {
  886. max-width: 100%;
  887. }
  888. .entry-content figure {
  889. margin-top: 15px;
  890. margin-bottom: 15px;
  891. }
  892. .entry-content figure img {
  893. border: 1px solid #000;
  894. }
  895. .entry-content figcaption {
  896. font-size: 0.75em;
  897. text-transform: uppercase;
  898. color: #777;
  899. }
  900. .entry-content p {
  901. margin-top: 10px;
  902. margin-bottom: 15px;
  903. }
  904. .entry-content a {
  905. overflow-wrap: break-word;
  906. }
  907. .entry-content a:visited {
  908. color: var(--link-visited-color);
  909. }
  910. .entry-content dt {
  911. font-weight: 500;
  912. margin-top: 15px;
  913. color: #555;
  914. }
  915. .entry-content dd {
  916. margin-left: 15px;
  917. margin-top: 5px;
  918. padding-left: 20px;
  919. border-left: 3px solid #ddd;
  920. color: #777;
  921. font-weight: 300;
  922. line-height: 1.4em;
  923. }
  924. .entry-content blockquote {
  925. border-left: 4px solid #ddd;
  926. padding-left: 25px;
  927. margin-left: 20px;
  928. margin-top: 20px;
  929. margin-bottom: 20px;
  930. line-height: 1.4em;
  931. font-family: var(--entry-content-quote-font-family);
  932. }
  933. .entry-content q {
  934. color: var(--entry-content-quote-color);
  935. font-family: var(--entry-content-quote-font-family);
  936. font-style: italic;
  937. }
  938. .entry-content q:before {
  939. content: "“";
  940. }
  941. .entry-content q:after {
  942. content: "”";
  943. }
  944. .entry-content pre {
  945. padding: 5px;
  946. overflow: auto;
  947. overflow-wrap: initial;
  948. border-width: 1px;
  949. border-style: solid;
  950. }
  951. .entry-content pre,
  952. .entry-content code {
  953. color: var(--entry-content-code-color);
  954. background: var(--entry-content-code-background);
  955. border-color: var(--entry-content-code-border-color);
  956. }
  957. .entry-content table {
  958. max-width: 100%;
  959. }
  960. .entry-content ul,
  961. .entry-content ol {
  962. margin-left: 30px;
  963. margin-top: 15px;
  964. margin-bottom: 15px;
  965. }
  966. .entry-content li ul,
  967. .entry-content li ol {
  968. margin-top: 0;
  969. margin-bottom: 0;
  970. }
  971. .entry-content ul {
  972. list-style-type: square;
  973. }
  974. .entry-content strong {
  975. font-weight: 600;
  976. }
  977. .entry-content sub,
  978. .entry-content sup {
  979. font-size: 75%;
  980. line-height: 0;
  981. position: relative;
  982. vertical-align: baseline;
  983. }
  984. .entry-content sub {
  985. bottom: -0.25em;
  986. }
  987. .entry-content sup {
  988. top: -0.5em;
  989. }
  990. .entry-content abbr {
  991. cursor: pointer;
  992. text-decoration: none;
  993. border-bottom: 1px dashed var(--entry-content-abbr-border-color);
  994. }
  995. details.entry-enclosures {
  996. margin-top: 25px;
  997. }
  998. .entry-enclosures summary {
  999. font-weight: 500;
  1000. font-size: 1.2em;
  1001. }
  1002. .entry-enclosure {
  1003. border: 1px dotted var(--entry-enclosure-border-color);
  1004. padding: 5px;
  1005. margin-top: 10px;
  1006. max-width: 100%;
  1007. }
  1008. .entry-enclosure-download {
  1009. font-size: 0.85em;
  1010. overflow-wrap: break-word;
  1011. }
  1012. .enclosure-video video,
  1013. .enclosure-image img {
  1014. max-width: 100%;
  1015. }
  1016. /* Confirmation */
  1017. .confirm {
  1018. font-weight: 500;
  1019. color: #ed2d04;
  1020. }
  1021. .confirm button {
  1022. color: #ed2d04;
  1023. border: none;
  1024. background-color: transparent;
  1025. cursor: pointer;
  1026. font-size: inherit;
  1027. }
  1028. .loading {
  1029. font-style: italic;
  1030. }
  1031. /* Bookmarlet */
  1032. .bookmarklet {
  1033. border: 1px dashed #ccc;
  1034. border-radius: 5px;
  1035. padding: 15px;
  1036. margin: 15px;
  1037. text-align: center;
  1038. }
  1039. .bookmarklet a {
  1040. font-weight: 600;
  1041. text-decoration: none;
  1042. font-size: 1.2em;
  1043. }
  1044. .disabled {
  1045. opacity: 20%;
  1046. }
  1047. audio, video {
  1048. width: 100%;
  1049. }
  1050. .integration-form summary {
  1051. font-weight: 700;
  1052. }
  1053. .integration-form details {
  1054. margin-bottom: 15px;
  1055. }
  1056. .integration-form details .form-section {
  1057. margin-top: 15px;
  1058. }
  1059. .hidden {
  1060. display: none;
  1061. }