style.scss 18 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085
  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(auto-fit,
  356. minmax(0px, 400px));
  357. }
  358. .sidebar-item {
  359. padding-inline: unset;
  360. }
  361. }
  362. }
  363. .component-header {
  364. display: flex;
  365. justify-content: space-between;
  366. align-items: center;
  367. h2 {
  368. margin: 0;
  369. display: inline-block;
  370. }
  371. }
  372. .container {
  373. max-width: 1200px;
  374. margin-inline: auto;
  375. padding-inline: 4px;
  376. @media (min-width: $small-breakpoint) {
  377. padding-inline: 10px;
  378. }
  379. scroll-margin-top: 71px; // Prevent images from being covered; equal to the navigation bar height
  380. }
  381. .error.container {
  382. text-align: center;
  383. }
  384. .artwork-container-header {
  385. display: flex;
  386. flex-wrap: wrap;
  387. align-items: center;
  388. justify-content: space-between;
  389. }
  390. .artwork-container {
  391. display: grid;
  392. grid-template-columns: repeat(auto-fit,
  393. minmax(calc($small-artwork-width + 15px), 1fr));
  394. align-items: center;
  395. justify-items: center;
  396. }
  397. .artwork-container-scroll {
  398. display: flex;
  399. overflow: hidden;
  400. overflow-x: scroll;
  401. }
  402. .artwork-container,
  403. .artwork-container-scroll {
  404. a {
  405. text-decoration: none;
  406. color: $fg;
  407. }
  408. .artwork-large {
  409. img {
  410. width: $large-artwork-width;
  411. height: $large-artwork-width;
  412. }
  413. .artwork-title {
  414. max-width: $large-artwork-width;
  415. }
  416. .artwork-author {
  417. max-width: $large-artwork-width;
  418. a {
  419. max-width: $small-artwork-width;
  420. }
  421. }
  422. }
  423. .artwork-small {
  424. img {
  425. width: $small-artwork-width;
  426. height: $small-artwork-width;
  427. }
  428. .artwork-title {
  429. max-width: $small-artwork-width;
  430. }
  431. .artwork-author {
  432. max-width: $small-artwork-width;
  433. a {
  434. max-width: $small-artwork-width;
  435. }
  436. }
  437. }
  438. .artwork {
  439. padding: 5px;
  440. width: fit-content;
  441. position: relative;
  442. .artwork-additional {
  443. position: absolute;
  444. top: 4px;
  445. left: 4px;
  446. right: 4px;
  447. box-sizing: border-box;
  448. display: flex;
  449. align-items: flex-start;
  450. justify-content: space-between;
  451. padding: 4px 4px 0px;
  452. pointer-events: none;
  453. .artwork-position {
  454. display: flex;
  455. align-items: center;
  456. justify-content: center;
  457. border-radius: 50%;
  458. font-weight: bold;
  459. width: 40px;
  460. height: 40px;
  461. font-size: 16px;
  462. background-color: rgba(0, 0, 0, 0.32);
  463. }
  464. .artwork-profanity-label {
  465. display: flex;
  466. align-items: center;
  467. justify-content: center;
  468. font-size: 10px;
  469. border-radius: 20px;
  470. padding: 0.4rem;
  471. background-color: $highlight;
  472. color: $fg;
  473. }
  474. .artwork-page-count {
  475. display: flex;
  476. justify-content: center;
  477. align-items: center;
  478. flex: 0 0 auto;
  479. box-sizing: border-box;
  480. height: 20px;
  481. min-width: 20px;
  482. color: $fg;
  483. font-weight: bold;
  484. padding: 0px 6px;
  485. background: rgba(0, 0, 0, 0.32);
  486. border-radius: 10px;
  487. font-size: 10px;
  488. line-height: 10px;
  489. .boxbox {
  490. font-size: 9px;
  491. }
  492. }
  493. }
  494. img {
  495. object-fit: cover;
  496. object-position: center center;
  497. border-radius: $border-radius;
  498. }
  499. .artwork-title {
  500. display: flex;
  501. align-items: center;
  502. a {
  503. font-size: 14px;
  504. display: inline;
  505. overflow: hidden;
  506. text-overflow: ellipsis;
  507. white-space: nowrap;
  508. line-height: 22px;
  509. font-weight: bold;
  510. }
  511. }
  512. .artwork-author {
  513. display: flex;
  514. align-items: center;
  515. a {
  516. display: flex;
  517. align-items: center;
  518. img {
  519. aspect-ratio: 1/1;
  520. width: 24px;
  521. height: 24px;
  522. object-fit: cover;
  523. object-position: center top;
  524. border-radius: 50%;
  525. margin-right: 5px;
  526. }
  527. span {
  528. font-size: 14px;
  529. overflow: hidden;
  530. text-overflow: ellipsis;
  531. white-space: nowrap;
  532. line-height: 22px;
  533. }
  534. }
  535. }
  536. }
  537. }
  538. /* Brought out here because both artworks and novels needed this */
  539. .illust-tags {
  540. font-size: 0.9em;
  541. .illust-tag-attr {
  542. display: inline-flex;
  543. align-items: center;
  544. margin-right: 15px;
  545. img {
  546. aspect-ratio: 1/1;
  547. width: 18px;
  548. height: 18px;
  549. margin-right: 5px;
  550. }
  551. }
  552. .illust-tag {
  553. margin-right: 10px;
  554. #highlight {
  555. color: $highlight;
  556. }
  557. .illust-tag-name {
  558. color: $link;
  559. font-weight: bold;
  560. margin-right: 5px;
  561. }
  562. }
  563. }
  564. .illust-attr {
  565. display: flex;
  566. align-items: center;
  567. margin-top: 10px;
  568. margin-bottom: 10px;
  569. .illust-avatar {
  570. width: 62px;
  571. height: 62px;
  572. border-radius: 50px;
  573. object-fit: cover;
  574. object-position: center top;
  575. }
  576. .attr-wrap {
  577. margin-left: 5px;
  578. .illust-title {
  579. font-weight: bold;
  580. }
  581. .illust-author {
  582. font-size: 0.8em;
  583. }
  584. a {
  585. color: $fg-secondary;
  586. }
  587. }
  588. }
  589. .illust {
  590. background-color: $bg-secondary;
  591. border-radius: $border-radius;
  592. padding: 5px 15px;
  593. .illust-images {
  594. display: flex;
  595. align-items: center;
  596. flex-direction: column;
  597. width: 100%;
  598. img,
  599. video {
  600. margin-top: 15px;
  601. max-height: 1000px;
  602. width: auto;
  603. max-width: 100%;
  604. }
  605. }
  606. .illust-description {
  607. font-size: 0.85em;
  608. }
  609. .comment {
  610. display: flex;
  611. margin-bottom: 10px;
  612. p {
  613. margin: 0;
  614. font-size: 0.8em;
  615. }
  616. .comment-avatar {
  617. width: 40px;
  618. height: 40px;
  619. border-radius: 50%;
  620. margin-right: 10px;
  621. }
  622. .stamp {
  623. width: 96px;
  624. height: 96px;
  625. border-radius: 4px;
  626. }
  627. .emoji {
  628. width: 24px;
  629. height: 24px;
  630. margin-left: 3px;
  631. margin-right: 3px;
  632. }
  633. }
  634. .illust-other-works {
  635. a.illust-other-works-author {
  636. display: inline-flex;
  637. align-items: center;
  638. text-decoration: none;
  639. color: $fg;
  640. &>img {
  641. aspect-ratio: 1/1;
  642. width: 50px;
  643. height: 50px;
  644. border-radius: 50%;
  645. margin-right: 5px;
  646. object-fit: cover;
  647. object-position: center top;
  648. }
  649. }
  650. }
  651. }
  652. .novel-container {
  653. display: grid;
  654. grid-template-columns: repeat(auto-fit,
  655. minmax(calc($novel-width + 15px), 1fr));
  656. justify-content: center;
  657. }
  658. .novel-card {
  659. font-size: 1.5rem;
  660. padding: 5px 15px;
  661. padding-top: 1em;
  662. .novel-detail {
  663. display: flex;
  664. .novel-author {
  665. display: flex;
  666. align-items: center;
  667. font-size: 0.8em;
  668. img {
  669. width: 16px;
  670. height: 16px;
  671. border-radius: 50%;
  672. }
  673. span {
  674. color: $fg;
  675. display: inline-block;
  676. margin-left: 5px;
  677. }
  678. }
  679. .novel-metadata {
  680. margin-left: 1.5rem;
  681. .novel-title {
  682. color: $fg;
  683. font-size: 1.17em;
  684. font-weight: bold;
  685. overflow: hidden;
  686. overflow-wrap: break-word;
  687. word-break: break-word;
  688. text-overflow: ellipsis;
  689. width: 100%;
  690. display: -webkit-box;
  691. -webkit-line-clamp: 2;
  692. -webkit-box-orient: vertical;
  693. }
  694. .novel-description {
  695. font-size: 0.85em;
  696. overflow: hidden;
  697. overflow-wrap: break-word;
  698. word-break: break-word;
  699. text-overflow: ellipsis;
  700. width: 100%;
  701. display: -webkit-box;
  702. -webkit-line-clamp: 4;
  703. -webkit-box-orient: vertical;
  704. }
  705. }
  706. }
  707. .novel-cover img {
  708. /* warning: hard-coded values */
  709. width: 136px;
  710. height: 191px;
  711. object-fit: cover;
  712. object-position: center center;
  713. }
  714. .novel-content {
  715. margin: 1.2rem 0;
  716. line-height: 1.8;
  717. color: black;
  718. background-color: white;
  719. }
  720. }
  721. .novel {
  722. background-color: $bg-secondary;
  723. border-radius: $border-radius;
  724. padding: 5px 15px;
  725. padding-top: 1em;
  726. .novel-detail {
  727. display: flex;
  728. .novel-metadata {
  729. margin-left: 1.5rem;
  730. .novel-title {
  731. font-size: 1.17em;
  732. font-weight: bold;
  733. }
  734. .novel-description {
  735. font-size: 0.85em;
  736. }
  737. }
  738. }
  739. .novel-cover img {
  740. /* warning: hard-coded values */
  741. width: 136px;
  742. height: 191px;
  743. object-fit: cover;
  744. object-position: center center;
  745. }
  746. .novel-content {
  747. margin: 1.2rem 0;
  748. padding: 6.4rem 10rem;
  749. line-height: 1.8;
  750. color: black;
  751. background-color: white;
  752. }
  753. }
  754. .background-cover {
  755. background: repeating-linear-gradient(52.5deg,
  756. rgba(32, 32, 32, 0.8),
  757. rgba(32, 32, 32, 0.8) 14px,
  758. rgba(240, 248, 255, 0) 14px,
  759. rgba(240, 248, 255, 0) 28px);
  760. height: 10vw;
  761. min-height: 100px;
  762. overflow: hidden;
  763. padding-top: 10px;
  764. padding-bottom: 10px;
  765. img {
  766. width: 100%;
  767. height: 100%;
  768. object-fit: cover;
  769. }
  770. }
  771. #hasbg {
  772. height: 40vw;
  773. min-height: 100px;
  774. max-height: 60vh;
  775. }
  776. .user {
  777. transform: translateY(-8rem);
  778. .user-avatar {
  779. text-align: center;
  780. }
  781. .user-avatar img {
  782. aspect-ratio: 1/1;
  783. width: 150px;
  784. height: 150px;
  785. border-radius: 50%;
  786. object-fit: cover;
  787. object-position: center top;
  788. }
  789. .user-social {
  790. text-align: center;
  791. img {
  792. aspect-ratio: 1/1;
  793. width: 36px;
  794. height: 36px;
  795. }
  796. }
  797. .user-details {
  798. text-align: center;
  799. h2 {
  800. margin: 0;
  801. }
  802. }
  803. }
  804. .user-tags {
  805. display: flex;
  806. flex-wrap: wrap;
  807. row-gap: 8px;
  808. column-gap: 1em;
  809. margin-block: 4px 20px;
  810. &>a {
  811. line-height: 1;
  812. &:hover {
  813. text-decoration: underline;
  814. }
  815. }
  816. }
  817. #calendar {
  818. width: 100%;
  819. height: auto;
  820. }
  821. .calendar-weeks,
  822. .calendar-board {
  823. max-width: 1000px;
  824. margin: 0 auto;
  825. display: flex;
  826. flex-wrap: wrap;
  827. gap: 5px;
  828. }
  829. .calendar-weeks div {
  830. width: 128px;
  831. text-align: center;
  832. }
  833. .calendar-node {
  834. width: 128px;
  835. height: 128px;
  836. border-radius: 8px;
  837. background-color: $bg-secondary;
  838. position: relative;
  839. img {
  840. border-radius: 8px;
  841. object-fit: cover;
  842. object-position: center center;
  843. }
  844. span {
  845. font-size: small;
  846. color: $fg;
  847. background-color: $bg-secondary;
  848. position: absolute;
  849. top: 0.3rem;
  850. left: 0.3rem;
  851. padding: 0.05rem 0.3rem;
  852. display: flex;
  853. align-items: center;
  854. justify-content: center;
  855. }
  856. }
  857. .calendar-node-empty {
  858. visibility: hidden;
  859. }
  860. @media screen and (max-width: 950px) {
  861. .calendar-board {
  862. justify-content: center;
  863. }
  864. .calendar-weeks,
  865. .calendar-node-empty {
  866. display: none;
  867. }
  868. }
  869. .tag-header {
  870. display: flex;
  871. .tag-thumbnail {
  872. width: 120px;
  873. height: 120px;
  874. border-radius: 5px;
  875. margin-right: 20px;
  876. object-fit: cover;
  877. object-position: center center;
  878. }
  879. .tag-details {
  880. .main-tag {
  881. font-size: 1.6rem;
  882. }
  883. }
  884. }
  885. .tag-container {
  886. background-color: $bg-secondary;
  887. display: inline-flex;
  888. align-items: center;
  889. justify-content: center;
  890. padding-left: 20px;
  891. padding-right: 20px;
  892. margin-right: 10px;
  893. width: max-content;
  894. height: 40px;
  895. margin-bottom: 4px;
  896. text-align: center;
  897. font-weight: bold;
  898. font-size: 1rem;
  899. border-radius: 4px;
  900. .main {
  901. font-size: 1.6em;
  902. }
  903. .sub {
  904. font-size: 1.2em;
  905. font-weight: normal;
  906. }
  907. }