style.scss 17 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066
  1. $bg: #131516;
  2. $bg-secondary: #222;
  3. $fg: #fff;
  4. $fg-secondary: #aaa;
  5. $link: #118bee;
  6. $highlight: #fc365b;
  7. $border-radius: 5px;
  8. $line-height: 1.5;
  9. $active-brightness: 0.85;
  10. $hover-brightness: 1.2;
  11. $box-shadow: 2px 2px 10px;
  12. $color-shadow: #bbbbbb20;
  13. $font-family: "Roboto", "Open Sans", "Noto Sans", sans-serif, "Noto Sans CJK JP";
  14. $small-artwork-width: 184px;
  15. $large-artwork-width: 288px;
  16. $novel-width: 392px;
  17. $small-breakpoint: 440px;
  18. html {
  19. font-size: 62.5%;
  20. }
  21. body {
  22. top: 0;
  23. margin: 0;
  24. background-color: $bg;
  25. color: $fg;
  26. font-size: 1.8rem;
  27. font-family: $font-family;
  28. margin-bottom: 10px;
  29. }
  30. main {
  31. @media (min-width: $small-breakpoint) {
  32. margin-inline: 5px;
  33. }
  34. }
  35. a {
  36. color: $link;
  37. text-decoration: none;
  38. }
  39. /* Scrollbars */
  40. * {
  41. scrollbar-width: thin;
  42. // invalid line
  43. // scrollbar-color: $link auto;
  44. }
  45. *::-webkit-scrollbar {
  46. width: 5px;
  47. height: 5px;
  48. }
  49. *::-webkit-scrollbar-track {
  50. background: transparent;
  51. }
  52. *::-webkit-scrollbar-thumb {
  53. background-color: $link;
  54. border-radius: 10px;
  55. }
  56. .special-symbol {
  57. display: inline-flex;
  58. align-items: center;
  59. justify-content: center;
  60. width: 1.8rem;
  61. height: 1.8rem;
  62. font-size: 1.8rem;
  63. }
  64. [hidden] {
  65. display: none;
  66. }
  67. input,
  68. label,
  69. select,
  70. textarea {
  71. display: block;
  72. font-size: inherit;
  73. max-width: 600px;
  74. }
  75. input[type="checkbox"],
  76. input[type="radio"] {
  77. display: inline-block;
  78. }
  79. input[type="checkbox"] + label,
  80. input[type="radio"] + label {
  81. display: inline-block;
  82. font-weight: normal;
  83. position: relative;
  84. top: 1px;
  85. }
  86. input[type="range"] {
  87. padding: 0.4rem 0;
  88. }
  89. input,
  90. select,
  91. textarea {
  92. border: 1px solid $bg-secondary;
  93. border-radius: $border-radius;
  94. margin-bottom: 1rem;
  95. padding: 0.4rem 0.8rem;
  96. }
  97. input[type="text"],
  98. textarea {
  99. width: calc(100% - 1.6rem);
  100. background-color: $bg-secondary;
  101. color: $fg-secondary;
  102. }
  103. input[readonly],
  104. textarea[readonly] {
  105. background-color: $bg-secondary;
  106. }
  107. .form-field {
  108. border: 1px solid $bg-secondary;
  109. border-radius: $border-radius;
  110. box-shadow: $box-shadow $color-shadow;
  111. display: block;
  112. max-width: 800px;
  113. min-width: 460px;
  114. padding: 1.5rem;
  115. header {
  116. margin: 1.5rem 0;
  117. padding: 1.5rem 0;
  118. }
  119. label {
  120. font-weight: bold;
  121. margin-bottom: 0.2rem;
  122. }
  123. }
  124. a b,
  125. a em,
  126. a i,
  127. a strong,
  128. button,
  129. input[type="submit"],
  130. .switch-button,
  131. .pagination-button {
  132. border-radius: $border-radius;
  133. display: inline-block;
  134. font-size: medium;
  135. font-weight: bold;
  136. line-height: $line-height;
  137. margin: 0.5rem 0;
  138. padding: 0.5rem 1rem;
  139. }
  140. button,
  141. input[type="submit"],
  142. .switch-button,
  143. .pagination-button {
  144. font-family: $font-family;
  145. }
  146. button:active,
  147. input[type="submit"]:active,
  148. .switch-button:active,
  149. .pagination-button:active {
  150. filter: brightness($active-brightness);
  151. }
  152. button:hover,
  153. input[type="submit"]:hover,
  154. .switch-button:hover,
  155. .pagination-button:hover {
  156. cursor: pointer;
  157. filter: brightness($hover-brightness);
  158. }
  159. a b,
  160. a strong,
  161. button,
  162. input[type="submit"],
  163. .switch-button,
  164. .pagination-button {
  165. background-color: $link;
  166. border: 2px solid $link;
  167. color: $fg;
  168. }
  169. input[type="submit"][hidden] {
  170. display: none;
  171. }
  172. .switch-seperator {
  173. display: inline-block;
  174. margin-left: 10px;
  175. }
  176. .pagination {
  177. text-align: center;
  178. form {
  179. display: inline-block;
  180. }
  181. .pagination-buttons {
  182. text-align: center;
  183. input {
  184. width: 5em;
  185. }
  186. }
  187. .pagination-button {
  188. margin-right: 5px;
  189. }
  190. #highlight {
  191. filter: brightness($hover-brightness);
  192. }
  193. .disabled {
  194. pointer-events: none;
  195. background-color: $bg-secondary;
  196. filter: brightness(1);
  197. }
  198. }
  199. // https://stackoverflow.com/questions/63787241/css-how-to-create-an-infinitely-moving-repeating-linear-gradient/63787567#63787567
  200. #loading-indicator {
  201. z-index: 2;
  202. isolation: isolate;
  203. position: sticky;
  204. top: 0;
  205. height: 4px;
  206. margin-bottom: -4px;
  207. // background-size: 200px auto;
  208. animation: rolling-something 1s linear infinite;
  209. background-image: repeating-linear-gradient(-0.25turn, $link 0vw, transparent 40vw);
  210. background-size: 80vw auto;
  211. will-change: opacity;
  212. transition: opacity 0.3s;
  213. opacity: 0;
  214. &.htmx-request {
  215. opacity: 1;
  216. transition-duration: 1s;
  217. transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  218. }
  219. }
  220. @keyframes rolling-something {
  221. 0% {
  222. background-position-x: 0vw
  223. }
  224. 100% {
  225. background-position-x: 40vw
  226. }
  227. }
  228. nav {
  229. margin-bottom: 15px;
  230. padding-left: 20px;
  231. padding-right: 20px;
  232. .navigation-wrapper {
  233. padding-block: 15px;
  234. display: flex;
  235. justify-content: space-between;
  236. align-items: center;
  237. width: auto;
  238. }
  239. // .navbar-shadow {
  240. // width: 100%;
  241. // height: 10px;
  242. // background: repeating-linear-gradient(
  243. // 52.5deg,
  244. // rgba(32, 32, 32, 0.7),
  245. // rgba(32, 32, 32, 0.7) 14px,
  246. // rgba(240, 248, 255, 0) 14px,
  247. // rgba(240, 248, 255, 0) 28px
  248. // );
  249. // }
  250. .sidebar-container {
  251. height: 30px;
  252. }
  253. .navbar-brand {
  254. display: inline-flex;
  255. gap: 10px;
  256. span {
  257. font-weight: bold;
  258. font-size: 1.3em;
  259. color: $fg;
  260. }
  261. }
  262. .navbar-entry {
  263. display: flex;
  264. img {
  265. width: 30px;
  266. height: 30px;
  267. }
  268. }
  269. .search-form {
  270. display: flex;
  271. gap: 4px;
  272. margin-left: 8px;
  273. align-items: center;
  274. input {
  275. margin: 0;
  276. }
  277. }
  278. .sidebar-toggler {
  279. display: none;
  280. &:checked ~ .sidebar {
  281. transform: translateX(0);
  282. }
  283. }
  284. .sidebar-label {
  285. display: flex;
  286. margin-right: 20px;
  287. cursor: pointer;
  288. }
  289. .sidebar {
  290. z-index: 1;
  291. isolation: isolate;
  292. background-color: $bg;
  293. position: absolute;
  294. padding-top: 6px;
  295. left: 0;
  296. width: 220px;
  297. transform: translateX(-220px);
  298. transition: transform 250ms cubic-bezier(0.23, 1, 0.32, 1);
  299. br {
  300. align-self: stretch;
  301. margin-top: 10px;
  302. }
  303. }
  304. .sidebar-list {
  305. list-style-type: none;
  306. margin: 0;
  307. padding: 0;
  308. }
  309. .sidebar-item {
  310. display: flex;
  311. align-items: center;
  312. list-style: none;
  313. color: $fg;
  314. font-size: 0.9em;
  315. text-decoration: none;
  316. padding: 10px;
  317. &:hover {
  318. background-color: $bg-secondary;
  319. }
  320. img {
  321. width: 30px;
  322. height: 30px;
  323. margin-left: 1.2rem;
  324. margin-right: 10px;
  325. }
  326. }
  327. }
  328. // mobile nav bar
  329. @media screen and (max-height: 767px) {
  330. nav {
  331. position: sticky;
  332. top: 0;
  333. isolation: isolate;
  334. z-index: 1;
  335. background-color: $bg;
  336. .navigation-wrapper {
  337. background-color: $bg;
  338. padding-block: 8px; // Reduced from 15px
  339. }
  340. .sidebar {
  341. z-index: -1;
  342. width: 100vw;
  343. transform: translateY(-110%);
  344. padding-block: 8px 16px;
  345. br {
  346. display: none;
  347. }
  348. }
  349. .sidebar-list {
  350. background-color: $bg;
  351. // display: flex;
  352. // flex-direction: row;
  353. // flex-wrap: wrap;
  354. display: grid;
  355. grid-template-columns: minmax(0px, 400px) repeat(
  356. auto-fit,
  357. minmax(0px, 400px)
  358. );
  359. }
  360. .sidebar-item {
  361. padding-inline: unset;
  362. }
  363. }
  364. }
  365. .component-header {
  366. display: flex;
  367. justify-content: space-between;
  368. align-items: center;
  369. h2 {
  370. margin: 0;
  371. display: inline-block;
  372. }
  373. }
  374. .container {
  375. max-width: 1200px;
  376. margin-inline: auto;
  377. padding-inline: 4px;
  378. @media (min-width: $small-breakpoint) {
  379. padding-inline: 10px;
  380. }
  381. scroll-margin-top: 71px; // Prevent images from being covered; equal to the navigation bar height
  382. }
  383. .error.container {
  384. text-align: center;
  385. }
  386. .artwork-container-header {
  387. display: flex;
  388. flex-wrap: wrap;
  389. align-items: center;
  390. justify-content: space-between;
  391. }
  392. .artwork-container {
  393. display: grid;
  394. grid-template-columns: repeat(
  395. auto-fit,
  396. minmax(calc($small-artwork-width + 15px), 1fr)
  397. );
  398. align-items: center;
  399. justify-items: center;
  400. }
  401. .artwork-container-scroll {
  402. display: flex;
  403. overflow: hidden;
  404. overflow-x: scroll;
  405. }
  406. .artwork-container,
  407. .artwork-container-scroll {
  408. a {
  409. text-decoration: none;
  410. color: $fg;
  411. }
  412. .artwork-large {
  413. img {
  414. width: $large-artwork-width;
  415. height: $large-artwork-width;
  416. }
  417. .artwork-title {
  418. max-width: $large-artwork-width;
  419. }
  420. .artwork-author {
  421. max-width: $large-artwork-width;
  422. a {
  423. max-width: $small-artwork-width;
  424. }
  425. }
  426. }
  427. .artwork-small {
  428. img {
  429. width: $small-artwork-width;
  430. height: $small-artwork-width;
  431. }
  432. .artwork-title {
  433. max-width: $small-artwork-width;
  434. }
  435. .artwork-author {
  436. max-width: $small-artwork-width;
  437. a {
  438. max-width: $small-artwork-width;
  439. }
  440. }
  441. }
  442. .artwork {
  443. padding: 5px;
  444. width: fit-content;
  445. position: relative;
  446. .artwork-additional {
  447. position: absolute;
  448. top: 4px;
  449. left: 4px;
  450. right: 4px;
  451. box-sizing: border-box;
  452. display: flex;
  453. align-items: flex-start;
  454. justify-content: space-between;
  455. padding: 4px 4px 0px;
  456. pointer-events: none;
  457. .artwork-position {
  458. display: flex;
  459. align-items: center;
  460. justify-content: center;
  461. border-radius: 50%;
  462. font-weight: bold;
  463. width: 40px;
  464. height: 40px;
  465. font-size: 16px;
  466. background-color: rgba(0, 0, 0, 0.32);
  467. }
  468. .artwork-profanity-label {
  469. display: flex;
  470. align-items: center;
  471. justify-content: center;
  472. font-size: 10px;
  473. border-radius: 20px;
  474. padding: 0.4rem;
  475. background-color: $highlight;
  476. color: $fg;
  477. }
  478. .artwork-page-count {
  479. display: flex;
  480. justify-content: center;
  481. align-items: center;
  482. flex: 0 0 auto;
  483. box-sizing: border-box;
  484. height: 20px;
  485. min-width: 20px;
  486. color: $fg;
  487. font-weight: bold;
  488. padding: 0px 6px;
  489. background: rgba(0, 0, 0, 0.32);
  490. border-radius: 10px;
  491. font-size: 10px;
  492. line-height: 10px;
  493. .boxbox {
  494. font-size: 9px;
  495. }
  496. }
  497. }
  498. img {
  499. object-fit: cover;
  500. object-position: center center;
  501. border-radius: $border-radius;
  502. }
  503. .artwork-title {
  504. display: flex;
  505. align-items: center;
  506. a {
  507. font-size: 14px;
  508. display: inline;
  509. overflow: hidden;
  510. text-overflow: ellipsis;
  511. white-space: nowrap;
  512. line-height: 22px;
  513. font-weight: bold;
  514. }
  515. }
  516. .artwork-author {
  517. display: flex;
  518. align-items: center;
  519. a {
  520. display: flex;
  521. align-items: center;
  522. img {
  523. aspect-ratio: 1/1;
  524. width: 24px;
  525. height: 24px;
  526. object-fit: cover;
  527. object-position: center top;
  528. border-radius: 50%;
  529. margin-right: 5px;
  530. }
  531. span {
  532. font-size: 14px;
  533. overflow: hidden;
  534. text-overflow: ellipsis;
  535. white-space: nowrap;
  536. line-height: 22px;
  537. }
  538. }
  539. }
  540. }
  541. }
  542. /* Brought out here because both artworks and novels needed this */
  543. .illust-tags {
  544. font-size: 0.9em;
  545. .illust-tag-attr {
  546. display: inline-flex;
  547. align-items: center;
  548. margin-right: 15px;
  549. img {
  550. aspect-ratio: 1/1;
  551. width: 18px;
  552. height: 18px;
  553. margin-right: 5px;
  554. }
  555. }
  556. .illust-tag {
  557. margin-right: 10px;
  558. #highlight {
  559. color: $highlight;
  560. }
  561. .illust-tag-name {
  562. color: $link;
  563. font-weight: bold;
  564. margin-right: 5px;
  565. }
  566. }
  567. }
  568. .illust {
  569. background-color: $bg-secondary;
  570. border-radius: $border-radius;
  571. padding: 5px 15px;
  572. .illust-images {
  573. display: flex;
  574. align-items: center;
  575. flex-direction: column;
  576. width: 100%;
  577. img {
  578. margin-top: 15px;
  579. max-height: 1000px;
  580. width: auto;
  581. max-width: 100%;
  582. }
  583. }
  584. .illust-attr {
  585. display: flex;
  586. align-items: center;
  587. margin-top: 10px;
  588. margin-bottom: 10px;
  589. .illust-avatar {
  590. width: 62px;
  591. height: 62px;
  592. border-radius: 50px;
  593. }
  594. .attr-wrap {
  595. margin-left: 5px;
  596. .illust-title {
  597. font-weight: bold;
  598. }
  599. .illust-author {
  600. font-size: 0.8em;
  601. a {
  602. color: $fg-secondary;
  603. }
  604. }
  605. }
  606. }
  607. .illust-description {
  608. font-size: 0.85em;
  609. }
  610. .comment {
  611. display: flex;
  612. margin-bottom: 10px;
  613. p {
  614. margin: 0;
  615. font-size: 0.8em;
  616. }
  617. .comment-avatar {
  618. width: 40px;
  619. height: 40px;
  620. border-radius: 50%;
  621. margin-right: 10px;
  622. }
  623. .stamp {
  624. width: 96px;
  625. height: 96px;
  626. border-radius: 4px;
  627. }
  628. .emoji {
  629. width: 24px;
  630. height: 24px;
  631. margin-left: 3px;
  632. margin-right: 3px;
  633. }
  634. }
  635. .illust-other-works {
  636. a.illust-other-works-author {
  637. display: inline-flex;
  638. align-items: center;
  639. text-decoration: none;
  640. color: $fg;
  641. & > img {
  642. aspect-ratio: 1/1;
  643. width: 50px;
  644. height: 50px;
  645. border-radius: 50%;
  646. margin-right: 5px;
  647. }
  648. }
  649. }
  650. }
  651. .novel-container {
  652. display: grid;
  653. grid-template-columns: repeat(
  654. auto-fit,
  655. minmax(calc($novel-width + 15px), 1fr)
  656. );
  657. justify-content: center;
  658. }
  659. .novel-card {
  660. font-size: 1.5rem;
  661. padding: 5px 15px;
  662. padding-top: 1em;
  663. .novel-detail {
  664. display: flex;
  665. .novel-author {
  666. display: flex;
  667. align-items: center;
  668. font-size: 0.8em;
  669. img {
  670. width: 16px;
  671. height: 16px;
  672. border-radius: 50%;
  673. }
  674. span {
  675. color: $fg;
  676. display: inline-block;
  677. margin-left: 5px;
  678. }
  679. }
  680. .novel-metadata {
  681. margin-left: 1.5rem;
  682. .novel-title {
  683. color: $fg;
  684. font-size: 1.17em;
  685. font-weight: bold;
  686. overflow: hidden;
  687. overflow-wrap: break-word;
  688. word-break: break-word;
  689. text-overflow: ellipsis;
  690. width: 100%;
  691. display: -webkit-box;
  692. -webkit-line-clamp: 2;
  693. -webkit-box-orient: vertical;
  694. }
  695. .novel-description {
  696. font-size: 0.85em;
  697. overflow: hidden;
  698. overflow-wrap: break-word;
  699. word-break: break-word;
  700. text-overflow: ellipsis;
  701. width: 100%;
  702. display: -webkit-box;
  703. -webkit-line-clamp: 4;
  704. -webkit-box-orient: vertical;
  705. }
  706. }
  707. }
  708. .novel-cover img {
  709. /* warning: hard-coded values */
  710. width: 136px;
  711. height: 191px;
  712. object-fit: cover;
  713. object-position: center center;
  714. }
  715. .novel-content {
  716. margin: 1.2rem 0;
  717. line-height: 1.8;
  718. color: black;
  719. background-color: white;
  720. }
  721. }
  722. .novel {
  723. background-color: $bg-secondary;
  724. border-radius: $border-radius;
  725. padding: 5px 15px;
  726. padding-top: 1em;
  727. .novel-detail {
  728. display: flex;
  729. .novel-metadata {
  730. margin-left: 1.5rem;
  731. .novel-title {
  732. font-size: 1.17em;
  733. font-weight: bold;
  734. }
  735. .novel-description {
  736. font-size: 0.85em;
  737. }
  738. }
  739. }
  740. .novel-cover img {
  741. /* warning: hard-coded values */
  742. width: 136px;
  743. height: 191px;
  744. object-fit: cover;
  745. object-position: center center;
  746. }
  747. .novel-content {
  748. margin: 1.2rem 0;
  749. padding: 6.4rem 10rem;
  750. line-height: 1.8;
  751. color: black;
  752. background-color: white;
  753. }
  754. }
  755. .background-cover {
  756. background: repeating-linear-gradient(
  757. 52.5deg,
  758. rgba(32, 32, 32, 0.8),
  759. rgba(32, 32, 32, 0.8) 14px,
  760. rgba(240, 248, 255, 0) 14px,
  761. rgba(240, 248, 255, 0) 28px
  762. );
  763. height: 10vw;
  764. min-height: 100px;
  765. overflow: hidden;
  766. padding-top: 10px;
  767. padding-bottom: 10px;
  768. img {
  769. width: 100%;
  770. height: 100%;
  771. object-fit: cover;
  772. }
  773. }
  774. #hasbg {
  775. height: 40vw;
  776. min-height: 100px;
  777. max-height: 60vh;
  778. }
  779. .user {
  780. transform: translateY(-8rem);
  781. .user-avatar {
  782. text-align: center;
  783. }
  784. .user-avatar img {
  785. aspect-ratio: 1/1;
  786. width: 170px;
  787. height: 170px;
  788. border-radius: 50%;
  789. }
  790. .user-social {
  791. text-align: center;
  792. img {
  793. aspect-ratio: 1/1;
  794. width: 36px;
  795. height: 36px;
  796. }
  797. }
  798. .user-details {
  799. text-align: center;
  800. h2 {
  801. margin: 0;
  802. }
  803. }
  804. }
  805. .user-tags {
  806. display: flex;
  807. flex-wrap: wrap;
  808. row-gap: 8px;
  809. column-gap: 1em;
  810. margin-block: 4px 20px;
  811. &>a {
  812. line-height: 1;
  813. &:hover {
  814. text-decoration: underline;
  815. }
  816. }
  817. }
  818. #calendar {
  819. width: 100%;
  820. height: auto;
  821. }
  822. .calendar-weeks,
  823. .calendar-board {
  824. max-width: 1000px;
  825. margin: 0 auto;
  826. display: flex;
  827. flex-wrap: wrap;
  828. gap: 5px;
  829. }
  830. .calendar-weeks div {
  831. width: 128px;
  832. text-align: center;
  833. }
  834. .calendar-node {
  835. width: 128px;
  836. height: 128px;
  837. border-radius: 8px;
  838. background-color: $bg-secondary;
  839. position: relative;
  840. img {
  841. border-radius: 8px;
  842. object-fit: cover;
  843. object-position: center center;
  844. }
  845. span {
  846. font-size: small;
  847. color: $fg;
  848. background-color: $bg-secondary;
  849. position: absolute;
  850. top: 0.3rem;
  851. left: 0.3rem;
  852. padding: 0.05rem 0.3rem;
  853. display: flex;
  854. align-items: center;
  855. justify-content: center;
  856. }
  857. }
  858. @media screen and (max-width: 950px) {
  859. .calendar-board {
  860. justify-content: center;
  861. }
  862. .calendar-weeks,
  863. .calendar-node-empty {
  864. display: none;
  865. }
  866. }
  867. .tag-header {
  868. display: flex;
  869. .tag-thumbnail {
  870. width: 120px;
  871. height: 120px;
  872. border-radius: 5px;
  873. margin-right: 20px;
  874. object-fit: cover;
  875. object-position: center center;
  876. }
  877. .tag-details {
  878. .main-tag {
  879. font-size: 1.6rem;
  880. }
  881. }
  882. }
  883. .tag-container {
  884. background-color: $bg-secondary;
  885. display: inline-flex;
  886. align-items: center;
  887. justify-content: center;
  888. padding-left: 20px;
  889. padding-right: 20px;
  890. margin-right: 10px;
  891. width: max-content;
  892. height: 40px;
  893. margin-bottom: 4px;
  894. text-align: center;
  895. font-weight: bold;
  896. font-size: 1rem;
  897. border-radius: 4px;
  898. .main {
  899. font-size: 1.6em;
  900. }
  901. .sub {
  902. font-size: 1.2em;
  903. font-weight: normal;
  904. }
  905. }