swage.scss 22 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516
  1. @use "sass:color";
  2. @charset "UTF-8";
  3. //colors
  4. $color_text: #181621;
  5. $color_light: #fcfcfc;
  6. $color_nav: #0062be;
  7. $color_aside: #22303d;
  8. $color_alert: #fa8052;
  9. $color_good: #5eaabf;
  10. $color_bad: #b0425b;
  11. $color_grey: #e3e3e3;
  12. $color_stared: #fff6da;
  13. $color_unread: #fff3ed;
  14. $color_hover: #fff;
  15. :root {
  16. --color-text-light: #{$color_light};
  17. --color-text-light-darker: #{color.adjust( $color_light, $lightness: -40%)};
  18. --color-text-dark: #{$color_text};
  19. --color-text-nav: #{color.adjust( $color_nav, $lightness: -10%)};
  20. --color-text-aside: #{$color_aside};
  21. --color-text-alert: #{$color_alert};
  22. --color-text-good: #{$color_good};
  23. --color-text-bad: #{$color_bad};
  24. --color-text-bad-lighter: #{color.adjust( $color_bad, $lightness: 10%)};
  25. --color-text-shadow-light: #{$color_light};
  26. --color-box-shadow-light: #{color.adjust( $color_light, $lightness: -10%)};
  27. --color-border-light: #{$color_light};
  28. --color-border-light-darker: #{color.adjust( $color_light, $lightness: -10%)};
  29. --color-border-grey: #{$color_grey};
  30. --color-border-nav: #{color.adjust( $color_nav, $lightness: -10%)};
  31. --color-border-bad: #{$color_bad};
  32. --color-background-light: #{$color_light};
  33. --color-background-light-darker: #{color.adjust( $color_light, $lightness: -10%)};
  34. --color-background-dark: #{$color_text};
  35. --color-background-nav: #{$color_nav};
  36. --color-background-nav-darker: #{color.adjust( $color_nav, $lightness: -10%)};
  37. --color-background-aside: #{$color_aside};
  38. --color-background-alert: #{$color_alert};
  39. --color-background-alert-darker: #{color.adjust( $color_alert, $lightness: -10%)};
  40. --color-background-good: #{$color_good};
  41. --color-background-bad: #{color.adjust( $color_bad, $lightness: 10%)};
  42. --color-background-stared: #{$color_stared};
  43. --color-background-unread: #{$color_unread};
  44. --color-background-hover: #{$color_hover};
  45. --frss-scrollbar-handle: rgba(0, 0, 0, 0.1);
  46. --frss-scrollbar-handle-hover: rgba(0, 0, 0, 0.4);
  47. --frss-scrollbar-track: rgba(0, 0, 0, 0.05);
  48. --frss-scrollbar-track-hover: rgba(0, 0, 0, 0.1);
  49. }
  50. // @extend-elements
  51. %input {
  52. min-height: 25px;
  53. margin-top: 4px;
  54. line-height: 2.25;
  55. vertical-align: middle;
  56. background-color: var(--color-background-light);
  57. border: 2px solid var(--color-border-grey);
  58. padding-left: 8px;
  59. }
  60. %invalid {
  61. padding-left: 5px;
  62. color: var(--color-text-bad);
  63. border-left-color: var(--color-border-bad);
  64. border-left-width: 5px;
  65. box-shadow: none;
  66. }
  67. %nav-list {
  68. min-height: 2.5em;
  69. line-height: 2.5;
  70. }
  71. %dropdown {
  72. padding: 0 22px;
  73. color: var(--color-text-light);
  74. font-size: 0.8rem;
  75. line-height: 2.5;
  76. }
  77. %after {
  78. display: block;
  79. clear: both;
  80. }
  81. %aside-width {
  82. width: 231px;
  83. }
  84. // /@extend-elements
  85. html,
  86. body {
  87. color: var(--color-text-dark);
  88. font-family: Helvetica, Arial, sans-serif;
  89. }
  90. a {
  91. color: var(--color-text-nav);
  92. outline: none;
  93. &#btn-subscription {
  94. width: 76%;
  95. }
  96. &#btn-add {
  97. width: 5%;
  98. }
  99. }
  100. img {
  101. &.icon:hover {
  102. background: none;
  103. }
  104. }
  105. sup {
  106. top: -0.3em;
  107. }
  108. legend {
  109. margin: 20px 0 5px;
  110. padding: 5px 20px;
  111. background-color: var(--color-background-aside);
  112. display: inline-block;
  113. width: auto;
  114. color: var(--color-text-light);
  115. font-size: 1.4em;
  116. clear: both;
  117. }
  118. label {
  119. min-height: 25px;
  120. }
  121. textarea {
  122. width: 360px;
  123. height: 100px;
  124. @extend %input;
  125. &:focus {
  126. border-color: var(--color-border-nav);
  127. }
  128. }
  129. input,
  130. select {
  131. @extend %input;
  132. &:focus {
  133. border-color: var(--color-border-nav);
  134. }
  135. &:invalid {
  136. @extend %invalid;
  137. }
  138. &:disabled {
  139. background-color: var(--color-background-light);
  140. }
  141. }
  142. select {
  143. padding-top: 7px;
  144. padding-bottom: 8px;
  145. }
  146. option {
  147. padding: 0 .5em;
  148. }
  149. table {
  150. border-collapse: collapse;
  151. }
  152. td,
  153. th {
  154. border: 1px solid var(--color-border-light-darker);
  155. }
  156. th {
  157. background-color: var(--color-background-light);
  158. }
  159. form {
  160. td,
  161. th {
  162. font-weight: normal;
  163. text-align: center;
  164. }
  165. }
  166. .category {
  167. .title.error::before {
  168. display: inline-block;
  169. padding-right: 7px;
  170. width: 16px;
  171. content: url(../Swage/icons/error.svg);
  172. }
  173. }
  174. .form-group {
  175. padding: 5px;
  176. border: 1px solid transparent;
  177. &:hover {
  178. background-color: var(--color-background-light);
  179. border: 1px solid var(--color-border-light);
  180. }
  181. &.form-actions {
  182. margin: 15px 0 25px;
  183. padding: 5px 0;
  184. background-color: var(--color-background-light-darker);
  185. border-top: 3px solid var(--color-border-light-darker);
  186. .btn {
  187. margin: 0 10px;
  188. }
  189. }
  190. .group-name {
  191. padding: 10px 0;
  192. text-align: right;
  193. }
  194. .group-controls {
  195. min-height: 25px;
  196. padding: 5px 0;
  197. .control {
  198. line-height: 2.0;
  199. }
  200. }
  201. }
  202. .form-group::after {
  203. @extend %after;
  204. }
  205. .stick {
  206. select {
  207. margin-top: 0;
  208. }
  209. &.configure-feeds {
  210. @extend %aside-width;
  211. }
  212. }
  213. .btn {
  214. margin: 0;
  215. padding: 5px 10px;
  216. background-color: var(--color-background-nav);
  217. display: inline-block;
  218. color: var(--color-text-light);
  219. font-size: 0.9rem;
  220. border: none;
  221. min-height: 25px;
  222. min-width: 15px;
  223. vertical-align: middle;
  224. cursor: pointer;
  225. overflow: hidden;
  226. line-height: 1.5;
  227. text-decoration: none;
  228. &.active,
  229. &:active,
  230. &:hover {
  231. background-color: var(--color-background-nav-darker);
  232. text-decoration: none;
  233. }
  234. .icon {
  235. filter: brightness(3);
  236. }
  237. }
  238. .btn-important, .btn-attention {
  239. font-weight: normal;
  240. background-color: var(--color-background-alert);
  241. color: var(--color-text-light);
  242. &:hover,
  243. :active {
  244. background-color: var(--color-background-alert-darker) !important;
  245. }
  246. }
  247. .manage-list {
  248. .configure {
  249. .icon {
  250. filter: brightness(0.4);
  251. vertical-align: sub;
  252. }
  253. &:hover {
  254. filter: invert(56%) sepia(87%) saturate(1185%) hue-rotate(327deg) brightness(104%) contrast(96%);
  255. }
  256. }
  257. }
  258. .switch.active {
  259. background-color: var(--color-background-nav);
  260. &:hover {
  261. background-image: url('./icons/disabled-light.svg');
  262. }
  263. }
  264. .nav-list {
  265. font-size: 0.9rem;
  266. .item {
  267. @extend %nav-list;
  268. .nav-header {
  269. @extend %nav-list;
  270. padding: 0 1rem;
  271. font-weight: bold;
  272. background-color: var(--color-background-aside);
  273. color: var(--color-text-light);
  274. cursor: default;
  275. }
  276. a:hover {
  277. background-color: var(--color-background-nav-darker);
  278. color: var(--color-text-light);
  279. }
  280. &.active {
  281. background: var(--color-background-nav-darker);
  282. color: var(--color-text-light);
  283. a {
  284. color: var(--color-text-light);
  285. }
  286. }
  287. > a {
  288. padding: 0 1.5rem;
  289. }
  290. .icon {
  291. filter: brightness(3);
  292. }
  293. }
  294. .nav-form {
  295. padding: 3px;
  296. text-align: center;
  297. }
  298. a:hover {
  299. text-decoration: none;
  300. }
  301. }
  302. .dropdown-menu {
  303. padding: 0.5rem 0 1rem 0;
  304. font-size: 0.8rem;
  305. text-align: left;
  306. border: none;
  307. background-color: var(--color-background-nav-darker);
  308. .dropdown-header {
  309. cursor: default;
  310. padding: 0.5rem 10px 0.5rem 10px;
  311. font-weight: bold;
  312. color: var(--color-text-light);
  313. a {
  314. padding: 0 5px;
  315. position: absolute;
  316. right: 5px;
  317. &:hover {
  318. background-color: var(--color-background-nav);
  319. }
  320. }
  321. }
  322. .dropdown-section {
  323. .dropdown-section-title {
  324. cursor: default;
  325. padding: 0.25rem 0.5rem 0.125rem 0.25rem;
  326. font-weight: bold;
  327. color: var(--color-text-light);
  328. }
  329. .item {
  330. a {
  331. padding: 0 22px;
  332. &:hover {
  333. background-color: var(--color-background-nav);
  334. }
  335. }
  336. }
  337. }
  338. > {
  339. .item {
  340. @extend %dropdown;
  341. padding: 0 0 0 0.5rem;
  342. a,
  343. > span,
  344. > .as-link,
  345. button {
  346. @extend %dropdown;
  347. }
  348. > a {
  349. min-width: initial;
  350. white-space: nowrap;
  351. }
  352. > a:hover,
  353. > button:hover {
  354. background-color: var(--color-background-nav);
  355. color: var(--color-text-light);
  356. }
  357. }
  358. .item[aria-checked="true"] > a::before {
  359. font-weight: bold;
  360. margin: 0 0 0 -14px;
  361. }
  362. }
  363. .help a {
  364. color: var(--color-text-light);
  365. text-decoration: underline;
  366. text-decoration-style: dotted;
  367. &:hover {
  368. text-decoration-style: solid;
  369. }
  370. }
  371. .input {
  372. select,
  373. input {
  374. margin: 0 auto 5px;
  375. padding: 2px 5px;
  376. }
  377. }
  378. }
  379. #dropdown-search-wrapper .dropdown-menu {
  380. padding-top: 1rem;
  381. padding-bottom: 0.25rem;
  382. .stick.search {
  383. width: 100%;
  384. input[type="search"] {
  385. width: 100%;
  386. border: 0;
  387. }
  388. }
  389. }
  390. .labels,
  391. .tags,
  392. .share {
  393. .dropdown-menu {
  394. right: auto;
  395. }
  396. }
  397. .item ~ .dropdown-header,
  398. .item.separator {
  399. border-top-color: var(--color-border-light-darker);
  400. cursor: default;
  401. }
  402. .alert {
  403. margin: 0.25rem auto;
  404. background-color: var(--color-background-light);
  405. color: var(--color-text-light-darker);
  406. font-size: 0.9em;
  407. border: none;
  408. text-shadow: 0 0 1px var(--color-text-shadow-light);
  409. > a {
  410. color: inherit;
  411. text-decoration: underline;
  412. }
  413. }
  414. .alert-head {
  415. font-size: 1.15em;
  416. }
  417. .alert-warn,
  418. .alert-success,
  419. .alert-error {
  420. border: none;
  421. }
  422. .alert-warn {
  423. background-color: var(--color-background-light);
  424. color: var(--color-text-alert);
  425. }
  426. .alert-success {
  427. background-color: var(--color-background-light);
  428. color: var(--color-text-good);
  429. }
  430. .alert-error {
  431. background-color: var(--color-background-light);
  432. color: var(--color-text-bad);
  433. }
  434. .pagination {
  435. background: var(--color-background-light-darker);
  436. color: var(--color_text);
  437. .item a {
  438. color: var(--color_text);
  439. }
  440. }
  441. #load_more.loading,
  442. #load_more.loading:hover {
  443. background: url(loader.gif) center center no-repeat var(--color-background-aside);
  444. }
  445. .content {
  446. padding: 20px 10px;
  447. hr {
  448. margin: 30px 10px;
  449. background: var(--color-background-light-darker);
  450. height: 1px;
  451. border: 0;
  452. box-shadow: 0 2px 5px var(--color-box-shadow-light);
  453. }
  454. pre {
  455. margin: 10px auto;
  456. padding: 10px 20px;
  457. overflow: auto;
  458. background-color: var(--color-background-dark);
  459. color: var(--color-text-light);
  460. font-size: 0.9rem;
  461. code {
  462. background: transparent;
  463. color: var(--color-text-light);
  464. border: none;
  465. }
  466. }
  467. code {
  468. padding: 2px 5px;
  469. background-color: var(--color-background-light);
  470. color: var(--color-text-bad);
  471. border: 1px solid var(--color-border-light);
  472. }
  473. blockquote {
  474. margin: 0;
  475. padding: 5px 20px;
  476. background-color: var(--color-background-light);
  477. display: block;
  478. color: var(--color-text-light-darker);
  479. border-top: 1px solid var(--color-border-light-darker);
  480. border-bottom: 1px solid var(--color-border-light-darker);
  481. p {
  482. margin: 0;
  483. }
  484. }
  485. > h1.title > a {
  486. color: var(--color_text);
  487. }
  488. }
  489. .box {
  490. border: 1px solid var(--color-border-light-darker);
  491. .box-title {
  492. margin: 0;
  493. padding: 7px 10px;
  494. background-color: var(--color-background-aside);
  495. color: var(--color-text-light);
  496. border-bottom: 1px solid var(--color-border-light-darker);
  497. a {
  498. color: var(--color-text-light);
  499. }
  500. .configure {
  501. margin-right: 4px;
  502. .icon {
  503. &:hover {
  504. filter: invert(56%) sepia(87%) saturate(1185%) hue-rotate(327deg) brightness(104%) contrast(96%);
  505. }
  506. }
  507. }
  508. }
  509. .box-content {
  510. padding-left: 30px;
  511. max-height: 260px;
  512. .item {
  513. padding: 0 10px;
  514. font-size: 0.9rem;
  515. .configure {
  516. .icon {
  517. vertical-align: middle;
  518. filter: brightness(0.4);
  519. &:hover {
  520. filter: invert(56%) sepia(87%) saturate(1185%) hue-rotate(327deg) brightness(104%) contrast(96%);
  521. }
  522. }
  523. }
  524. }
  525. }
  526. &.category {
  527. .box-title .title {
  528. font-weight: normal;
  529. text-decoration: none;
  530. text-align: left;
  531. }
  532. &:not([data-unread="0"]) .box-title {
  533. background-color: var(--color-background-nav);
  534. &:active {
  535. background: var(--color-background-nav-darker);
  536. }
  537. .title {
  538. font-weight: bold;
  539. color: var(--color-text-light);
  540. }
  541. }
  542. .title:not([data-unread="0"])::after {
  543. background: none;
  544. border: 0;
  545. box-shadow: none;
  546. position: absolute;
  547. top: 5px;
  548. right: 10px;
  549. font-weight: bold;
  550. text-shadow: none;
  551. }
  552. }
  553. &.visible-semi {
  554. border-style: solid;
  555. }
  556. }
  557. .tree {
  558. margin: 10px 0;
  559. }
  560. .aside_feed .tree-folder-title {
  561. padding: 0.3rem 0.75rem;
  562. background-color: var(--color-background-aside);
  563. font-size: 1rem;
  564. position: relative;
  565. .title {
  566. background: inherit;
  567. color: var(--color-text-light);
  568. &:hover {
  569. text-decoration: none;
  570. }
  571. }
  572. }
  573. .tree-folder-items {
  574. background-color: var(--color-background-aside);
  575. > .item {
  576. font-size: 0.8rem;
  577. &.active {
  578. background-color: var(--color-background-nav-darker);
  579. }
  580. > a {
  581. text-decoration: none;
  582. color: var(--color-text-light);
  583. }
  584. }
  585. }
  586. .header {
  587. height: auto;
  588. > .item {
  589. padding: 0;
  590. vertical-align: middle;
  591. &.title {
  592. @extend %aside-width;
  593. position: absolute;
  594. text-align: center;
  595. a {
  596. padding: 0 1rem;
  597. &:hover {
  598. .logo {
  599. filter: grayscale(100%) brightness(100) opacity(90%);
  600. }
  601. }
  602. }
  603. .logo {
  604. display: inline-block;
  605. height: 26px;
  606. vertical-align: top;
  607. position: relative;
  608. top: 5px;
  609. filter: grayscale(100%) brightness(100);
  610. }
  611. }
  612. }
  613. .item.search {
  614. display: none;
  615. }
  616. .item.configure {
  617. position: fixed;
  618. right: 0;
  619. z-index: 95;
  620. width: 35px;
  621. text-align: center;
  622. line-height: 0.8;
  623. > .icon {
  624. filter: brightness(3);
  625. margin-right: 5px;
  626. margin-top: 3px;
  627. }
  628. .dropdown .dropdown-menu {
  629. max-height: calc(100vh - 45px);
  630. overflow: auto;
  631. .icon {
  632. filter: brightness(3);
  633. }
  634. }
  635. }
  636. }
  637. .aside {
  638. padding: 35px 0;
  639. background-color: var(--color-background-aside);
  640. @extend %aside-width;
  641. &.aside_feed {
  642. .tree {
  643. margin: 0 0 50px;
  644. }
  645. .tree-folder {
  646. .tree-folder-title,
  647. .item.feed {
  648. &:hover {
  649. background-color: var(--color-background-nav-darker);
  650. }
  651. }
  652. }
  653. .nav-form {
  654. input,
  655. select {
  656. width: 140px;
  657. }
  658. .dropdown {
  659. .dropdown-menu {
  660. right: -20px;
  661. }
  662. .dropdown-menu::after {
  663. right: 33px;
  664. }
  665. }
  666. }
  667. }
  668. }
  669. .aside_feed {
  670. .category .title:not([data-unread="0"])::after {
  671. margin: 0.5rem 0 0 0;
  672. background-color: var(--color-background-nav-darker);
  673. color: var(--color-text-light);
  674. }
  675. .feed .item-title:not([data-unread="0"])::after {
  676. background-color: var(--color-background-nav);
  677. color: var(--color-text-light);
  678. }
  679. .tree-folder-items .dropdown-menu::after {
  680. left: 2px;
  681. }
  682. .about {
  683. padding: 1rem;
  684. display: block;
  685. text-align: center;
  686. font-size: 0.8em;
  687. font-style: italic;
  688. }
  689. }
  690. .reader {
  691. .aside {
  692. .toggle_aside {
  693. background-color: var(--color-background-aside);
  694. .icon {
  695. filter: brightness(3);
  696. }
  697. &:hover {
  698. background-color: var(--color-background-nav);
  699. }
  700. }
  701. }
  702. }
  703. .post {
  704. font-size: 0.9em;
  705. input {
  706. &.long {
  707. height: 33px;
  708. margin-top: 0px;
  709. }
  710. }
  711. }
  712. .prompt {
  713. input {
  714. margin: 5px auto;
  715. }
  716. }
  717. #global {
  718. height: 100vh;
  719. }
  720. #new-article {
  721. background-color: var(--color-background-nav);
  722. font-size: 1em;
  723. text-align: center;
  724. position: fixed;
  725. bottom: 48px;
  726. z-index: 900;
  727. left: 0;
  728. line-height: 1.5;
  729. @extend %aside-width;
  730. > a {
  731. padding: 1rem;
  732. line-height: 1.5;
  733. font-weight: bold;
  734. color: var(--color-text-light);
  735. &:hover {
  736. text-decoration: none;
  737. background-color: var(--color-background-nav-darker);
  738. }
  739. }
  740. }
  741. .day {
  742. padding: 0 10px;
  743. font-weight: bold;
  744. line-height: 3;
  745. text-align: center;
  746. .name {
  747. display: none;
  748. }
  749. }
  750. .nav {
  751. a {
  752. color: var(--color-text-light);
  753. }
  754. }
  755. .nav_menu {
  756. padding: 0;
  757. width: 100%;
  758. font-size: 0;
  759. background-color: var(--color-background-nav);
  760. text-align: left;
  761. position: sticky;
  762. top: 0;
  763. z-index: 90;
  764. .item.search {
  765. display: inline-block;
  766. position: absolute;
  767. right: 40px;
  768. input {
  769. border-width: 0;
  770. line-height: 1.95;
  771. }
  772. }
  773. #toggle-unread,
  774. #toggle-starred {
  775. .icon {
  776. filter: brightness(1);
  777. }
  778. }
  779. }
  780. .flux {
  781. padding-right: 10px;
  782. background-color: var(--color-background-light);
  783. &::after {
  784. @extend %after;
  785. margin: 0 auto;
  786. width: 90%;
  787. border-top: 1px solid var(--color-border-light-darker);
  788. }
  789. .flux_header:hover,
  790. .current {
  791. background-color: var(--color-background-hover);
  792. &:not(.current):hover .item.title {
  793. background-color: var(--color-background-hover);
  794. }
  795. }
  796. &.favorite:not(.current) {
  797. background-color: var(--color-background-stared);
  798. &:hover .item.title {
  799. background-color: var(--color-background-stared);
  800. }
  801. }
  802. &.not_read:not(.current) {
  803. background-color: var(--color-background-unread);
  804. &:hover .item.title {
  805. background-color: var(--color-background-unread);
  806. }
  807. }
  808. .item {
  809. &.date {
  810. color: var(--color-text-light-darker);
  811. font-size: 0.7rem;
  812. }
  813. }
  814. .bottom {
  815. font-size: 0.8rem;
  816. text-align: center;
  817. }
  818. label {
  819. color: var(--color-text-light);
  820. cursor: pointer;
  821. }
  822. }
  823. .flux_header {
  824. font-size: 0.8rem;
  825. cursor: pointer;
  826. .title {
  827. font-size: 0.9rem;
  828. }
  829. }
  830. .notification {
  831. padding: 10px 0;
  832. background-color: var(--color-background-light-darker);
  833. height: auto;
  834. color: var(--color-text-light-darker);
  835. font-size: 1em;
  836. border: none;
  837. text-align: center;
  838. font-weight: bold;
  839. vertical-align: middle;
  840. position: fixed;
  841. bottom: 48px;
  842. left: 0;
  843. top: auto;
  844. @extend %aside-width;
  845. &.good,
  846. &.bad {
  847. color: var(--color-text-light);
  848. }
  849. &.good {
  850. background-color: var(--color-background-good);
  851. a.close:hover {
  852. background-color: var(--color-background-good);
  853. }
  854. }
  855. &.bad {
  856. background-color: var(--color-background-bad);
  857. a.close:hover {
  858. background-color: var(--color-background-bad);
  859. }
  860. }
  861. a.close {
  862. display: none;
  863. }
  864. }
  865. #bigMarkAsRead {
  866. text-align: center;
  867. text-decoration: none;
  868. background: var(--color-background-light-darker);
  869. &:hover {
  870. background-color: var(--color-background-aside);
  871. color: var(--color-text-light);
  872. }
  873. }
  874. #nav_entries {
  875. margin: 0;
  876. text-align: center;
  877. line-height: 3;
  878. table-layout: fixed;
  879. @extend %aside-width;
  880. background-color: var(--color-background-aside);
  881. }
  882. .stat {
  883. margin: 10px 0 20px;
  884. th,
  885. td,
  886. tr {
  887. border: none;
  888. }
  889. > table {
  890. td,
  891. th {
  892. border-bottom: 1px solid var(--color-border-light-darker);
  893. }
  894. }
  895. }
  896. #overlay {
  897. z-index: 100;
  898. .close .icon {
  899. filter: brightness(3);
  900. }
  901. }
  902. #panel {
  903. z-index: 100;
  904. .nav_menu {
  905. position: relative;
  906. }
  907. }
  908. .formLogin,
  909. .register {
  910. #global {
  911. height: 0;
  912. }
  913. .header {
  914. background-color: var(--color-background-nav);
  915. height: 35px;
  916. position: relative;
  917. > .item {
  918. &.configure {
  919. padding: 8px;
  920. width: auto;
  921. position: absolute;
  922. right: 0;
  923. white-space: nowrap;
  924. bottom: 0;
  925. .icon {
  926. filter: brightness(3);
  927. }
  928. }
  929. }
  930. }
  931. }
  932. a.signin {
  933. color: var(--color-text-light);
  934. font-size: 70%;
  935. }
  936. .log-item {
  937. &.log-error {
  938. background-color: var(--color-background-bad);
  939. color: var(--color-text-light);
  940. }
  941. &.log-warning {
  942. background-color: var(--color-background-alert);
  943. color: var(--color-text-light);
  944. }
  945. &.log-debug {
  946. background: var(--color-background-dark);
  947. }
  948. }
  949. @media (max-width: 840px) {
  950. body:not(.formLogin, .register) {
  951. .header {
  952. .item.title {
  953. display: none;
  954. }
  955. }
  956. }
  957. .form-group .group-name {
  958. padding-bottom: 0;
  959. text-align: left;
  960. }
  961. .dropdown {
  962. position: relative;
  963. .dropdown-menu {
  964. width: auto;
  965. }
  966. }
  967. #new-article {
  968. margin-top: 2rem;
  969. width: 100%;
  970. }
  971. .header {
  972. display: table;
  973. .item {
  974. padding: 0;
  975. }
  976. .item.configure {
  977. padding: 0;
  978. position: fixed;
  979. right: 76px;
  980. > .icon {
  981. margin-top: 5px;
  982. }
  983. }
  984. }
  985. button.read_all.btn {
  986. display: none;
  987. }
  988. .flux .item.manage,
  989. .flux_header .item.website {
  990. width: 35px;
  991. text-align: center;
  992. }
  993. .flux:not(.current):hover .item.title {
  994. top: auto !important;
  995. }
  996. .aside {
  997. padding: 0;
  998. width: 0;
  999. transition: width 200ms linear;
  1000. .toggle_aside {
  1001. background-color: var(--color-background-aside);
  1002. &:hover {
  1003. background-color: var(--color-background-nav);
  1004. }
  1005. .icon {
  1006. filter: brightness(3);
  1007. }
  1008. }
  1009. &.aside_feed .configure-feeds {
  1010. display: flex;
  1011. margin-top: 0;
  1012. margin-left: auto;
  1013. margin-right: auto;
  1014. }
  1015. &:target {
  1016. width: 78%;
  1017. z-index: 1000;
  1018. }
  1019. }
  1020. #slider {
  1021. .toggle_aside {
  1022. background-color: var(--color-background-aside);
  1023. &:hover {
  1024. background-color: var(--color-background-nav);
  1025. }
  1026. .icon {
  1027. filter: brightness(3);
  1028. }
  1029. }
  1030. }
  1031. .nav_menu {
  1032. height: 71px;
  1033. .btn {
  1034. margin: 0;
  1035. }
  1036. .stick,
  1037. .group {
  1038. margin: 0;
  1039. .btn {
  1040. margin: 0;
  1041. }
  1042. }
  1043. .item.search {
  1044. top: 3px;
  1045. margin-left: 77px;
  1046. width: calc(100% - 4 * 38px);
  1047. position: relative;
  1048. form {
  1049. display: block;
  1050. }
  1051. input {
  1052. width: 100%;
  1053. }
  1054. }
  1055. }
  1056. #overlay .close,
  1057. .dropdown-menu .toggle_aside {
  1058. background-color: var(--color-background-aside);
  1059. display: block;
  1060. height: 50px;
  1061. line-height: 3.5;
  1062. text-align: center;
  1063. padding-right: 10px;
  1064. &:hover {
  1065. background-color: var(--color-background-nav);
  1066. }
  1067. }
  1068. .dropdown-target:target ~ .dropdown-toggle::after,
  1069. .dropdown-target:target ~ .dropdown-toggle.btn::after {
  1070. display: none;
  1071. }
  1072. .share .dropdown-menu {
  1073. right: 3%;
  1074. left: auto;
  1075. }
  1076. .day .name {
  1077. font-size: 1.1rem;
  1078. }
  1079. .notification {
  1080. width: 100%;
  1081. a.close {
  1082. background: transparent;
  1083. display: block;
  1084. left: 0;
  1085. &:hover {
  1086. opacity: 0.5;
  1087. }
  1088. .icon {
  1089. display: none;
  1090. }
  1091. }
  1092. }
  1093. #nav_entries {
  1094. width: 100% !important;
  1095. }
  1096. .post {
  1097. padding-left: 15px;
  1098. padding-right: 15px;
  1099. }
  1100. div#stream {
  1101. margin-top: 0px;
  1102. }
  1103. a.btn.toggle_aside {
  1104. position: absolute;
  1105. top: 0;
  1106. }
  1107. form#mark-read-menu,
  1108. a#actualize,
  1109. a#toggle-order,
  1110. div#nav_menu_actions,
  1111. div#nav_menu_views {
  1112. position: absolute;
  1113. }
  1114. form#mark-read-menu {
  1115. right: 38px;
  1116. top: 0;
  1117. }
  1118. a#actualize,
  1119. a#toggle-order {
  1120. right: 0;
  1121. }
  1122. a#actualize {
  1123. top: 0;
  1124. }
  1125. a#toggle-order,
  1126. div#nav_menu_actions,
  1127. div#nav_menu_views {
  1128. top: 36px;
  1129. }
  1130. div#nav_menu_actions {
  1131. left: 0px;
  1132. }
  1133. div#nav_menu_views {
  1134. right: 50px;
  1135. }
  1136. }
  1137. @media (max-width: 410px) {
  1138. .nav_menu .stick {
  1139. margin: 0;
  1140. }
  1141. }
  1142. @media (max-width: 374px) {
  1143. #nav_menu_views {
  1144. display: none;
  1145. }
  1146. }
  1147. button.as-link {
  1148. outline: none;
  1149. }
  1150. .dropdown-target:target ~ .btn.dropdown-toggle {
  1151. background-color: var(--color-background-nav-darker);
  1152. }
  1153. .tree-folder.active .tree-folder-title {
  1154. background-color: var(--color-background-nav-darker);
  1155. font-weight: bold;
  1156. }
  1157. .feed.item {
  1158. &.empty {
  1159. color: var(--color-text-alert);
  1160. &.active {
  1161. background-color: var(--color-background-alert);
  1162. color: var(--color-text-light);
  1163. > a {
  1164. color: var(--color-text-light);
  1165. }
  1166. }
  1167. > a {
  1168. color: var(--color-text-alert);
  1169. }
  1170. }
  1171. &.error {
  1172. color: var(--color-text-bad-lighter);
  1173. &.active {
  1174. background-color: var(--color-background-bad);
  1175. color: var(--color-text-light);
  1176. > a {
  1177. color: var(--color-text-light);
  1178. }
  1179. }
  1180. > a {
  1181. color: var(--color-text-bad-lighter);
  1182. }
  1183. }
  1184. }
  1185. #stream.reader .flux {
  1186. background-color: var(--color-background-light);
  1187. color: var(--color-text-aside);
  1188. border: none;
  1189. &::after {
  1190. border: none;
  1191. }
  1192. .content {
  1193. border-color: var(--color-border-grey);
  1194. }
  1195. .author {
  1196. margin: 0 0 10px;
  1197. color: var(--color-text-light-darker);
  1198. font-size: 90%;
  1199. }
  1200. }
  1201. #nav_menu_actions {
  1202. ul.dropdown-menu {
  1203. left: 0;
  1204. right: auto;
  1205. &::after {
  1206. display: none;
  1207. }
  1208. }
  1209. .dropdown.only-mobile {
  1210. display: initial !important;
  1211. }
  1212. }
  1213. #nav_menu_read_all {
  1214. ul.dropdown-menu {
  1215. right: 0;
  1216. left: auto;
  1217. &::after {
  1218. display: none;
  1219. }
  1220. }
  1221. }
  1222. #slider {
  1223. label {
  1224. min-height: initial;
  1225. }
  1226. }