swage.scss 22 KB

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