custom-chirpy 5.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +97 -0
  4. data/_data/assets/cross_origin.yml +62 -0
  5. data/_data/assets/self_host.yml +51 -0
  6. data/_data/authors.yml +17 -0
  7. data/_data/contact.yml +29 -0
  8. data/_data/locales/ar.yml +93 -0
  9. data/_data/locales/bg-BG.yml +83 -0
  10. data/_data/locales/cs-CZ.yml +91 -0
  11. data/_data/locales/de-DE.yml +82 -0
  12. data/_data/locales/el-GR.yml +93 -0
  13. data/_data/locales/en.yml +93 -0
  14. data/_data/locales/es-ES.yml +79 -0
  15. data/_data/locales/fi-FI.yml +92 -0
  16. data/_data/locales/fr-FR.yml +79 -0
  17. data/_data/locales/hu-HU.yml +81 -0
  18. data/_data/locales/id-ID.yml +79 -0
  19. data/_data/locales/it-IT.yml +93 -0
  20. data/_data/locales/ko-KR.yml +86 -0
  21. data/_data/locales/my-MM.yml +79 -0
  22. data/_data/locales/pt-BR.yml +79 -0
  23. data/_data/locales/ru-RU.yml +79 -0
  24. data/_data/locales/tr-TR.yml +79 -0
  25. data/_data/locales/uk-UA.yml +79 -0
  26. data/_data/locales/vi-VN.yml +77 -0
  27. data/_data/locales/zh-CN.yml +85 -0
  28. data/_data/share.yml +25 -0
  29. data/_includes/assets-origin.html +12 -0
  30. data/_includes/comments/disqus.html +54 -0
  31. data/_includes/comments/giscus.html +56 -0
  32. data/_includes/comments/utterances.html +51 -0
  33. data/_includes/comments.html +5 -0
  34. data/_includes/datetime.html +15 -0
  35. data/_includes/embed/twitch.html +4 -0
  36. data/_includes/embed/youtube.html +6 -0
  37. data/_includes/favicons.html +17 -0
  38. data/_includes/footer.html +36 -0
  39. data/_includes/google-analytics.html +14 -0
  40. data/_includes/head.html +115 -0
  41. data/_includes/js-selector.html +99 -0
  42. data/_includes/jsdelivr-combine.html +32 -0
  43. data/_includes/language-alias.html +70 -0
  44. data/_includes/mermaid.html +59 -0
  45. data/_includes/mode-toggle.html +129 -0
  46. data/_includes/no-linenos.html +10 -0
  47. data/_includes/post-nav.html +30 -0
  48. data/_includes/post-paginator.html +88 -0
  49. data/_includes/post-sharing.html +27 -0
  50. data/_includes/read-time.html +30 -0
  51. data/_includes/refactor-content.html +282 -0
  52. data/_includes/related-posts.html +103 -0
  53. data/_includes/search-loader.html +46 -0
  54. data/_includes/search-results.html +11 -0
  55. data/_includes/sidebar.html +106 -0
  56. data/_includes/toc.html +16 -0
  57. data/_includes/topbar.html +70 -0
  58. data/_includes/trending-tags.html +50 -0
  59. data/_includes/update-list.html +40 -0
  60. data/_layouts/archives.html +34 -0
  61. data/_layouts/categories.html +118 -0
  62. data/_layouts/category.html +22 -0
  63. data/_layouts/compress.html +10 -0
  64. data/_layouts/default.html +71 -0
  65. data/_layouts/home.html +94 -0
  66. data/_layouts/page.html +63 -0
  67. data/_layouts/post.html +141 -0
  68. data/_layouts/tag.html +21 -0
  69. data/_layouts/tags.html +23 -0
  70. data/_sass/addon/commons.scss +1731 -0
  71. data/_sass/addon/module.scss +163 -0
  72. data/_sass/addon/syntax.scss +275 -0
  73. data/_sass/addon/variables.scss +30 -0
  74. data/_sass/colors/dark-syntax.scss +87 -0
  75. data/_sass/colors/dark-typography.scss +170 -0
  76. data/_sass/colors/light-syntax.scss +83 -0
  77. data/_sass/colors/light-typography.scss +104 -0
  78. data/_sass/jekyll-theme-chirpy.scss +24 -0
  79. data/_sass/layout/archives.scss +136 -0
  80. data/_sass/layout/categories.scss +66 -0
  81. data/_sass/layout/category-tag.scss +73 -0
  82. data/_sass/layout/home.scss +178 -0
  83. data/_sass/layout/post.scss +378 -0
  84. data/_sass/layout/tags.scss +19 -0
  85. data/_sass/variables-hook.scss +3 -0
  86. data/assets/404.html +14 -0
  87. data/assets/css/style.scss +12 -0
  88. data/assets/feed.xml +61 -0
  89. data/assets/img/favicons/android-chrome-192x192.png +0 -0
  90. data/assets/img/favicons/android-chrome-512x512.png +0 -0
  91. data/assets/img/favicons/apple-touch-icon.png +0 -0
  92. data/assets/img/favicons/browserconfig.xml +13 -0
  93. data/assets/img/favicons/favicon-16x16.png +0 -0
  94. data/assets/img/favicons/favicon-32x32.png +0 -0
  95. data/assets/img/favicons/favicon.ico +0 -0
  96. data/assets/img/favicons/mstile-150x150.png +0 -0
  97. data/assets/img/favicons/site.webmanifest +26 -0
  98. data/assets/js/data/search.json +20 -0
  99. data/assets/js/data/swcache.js +54 -0
  100. data/assets/js/dist/categories.min.js +6 -0
  101. data/assets/js/dist/commons.min.js +6 -0
  102. data/assets/js/dist/home.min.js +6 -0
  103. data/assets/js/dist/misc.min.js +6 -0
  104. data/assets/js/dist/page.min.js +6 -0
  105. data/assets/js/dist/post.min.js +6 -0
  106. data/assets/js/dist/pvreport.min.js +6 -0
  107. data/assets/js/pwa/app.js +47 -0
  108. data/assets/js/pwa/sw.js +90 -0
  109. data/assets/js/pwa/unregister.js +12 -0
  110. data/assets/robots.txt +10 -0
  111. metadata +236 -0
@@ -0,0 +1,1731 @@
1
+ /*
2
+ The common styles
3
+ */
4
+
5
+ html {
6
+ @media (prefers-color-scheme: light) {
7
+ &:not([data-mode]),
8
+ &[data-mode="light"] {
9
+ @include light-scheme;
10
+ }
11
+
12
+ &[data-mode="dark"] {
13
+ @include dark-scheme;
14
+ }
15
+ }
16
+
17
+ @media (prefers-color-scheme: dark) {
18
+ &:not([data-mode]),
19
+ &[data-mode="dark"] {
20
+ @include dark-scheme;
21
+ }
22
+
23
+ &[data-mode="light"] {
24
+ @include light-scheme;
25
+ }
26
+ }
27
+
28
+ font-size: 16px;
29
+ }
30
+
31
+ body {
32
+ background: var(--body-bg);
33
+ color: var(--text-color);
34
+ -webkit-font-smoothing: antialiased;
35
+ font-family: "Source Sans Pro", "Microsoft Yahei", sans-serif;
36
+ line-height: 1.75;
37
+ }
38
+
39
+ /* --- Typography --- */
40
+
41
+ h1 {
42
+ @extend %heading;
43
+
44
+ font-size: 1.9rem;
45
+ }
46
+
47
+ h2 {
48
+ @extend %heading;
49
+ @extend %section;
50
+ @extend %anchor;
51
+
52
+ font-size: 1.5rem;
53
+ }
54
+
55
+ h3 {
56
+ @extend %heading;
57
+ @extend %section;
58
+ @extend %anchor;
59
+
60
+ font-size: 1.2rem;
61
+ }
62
+
63
+ h4 {
64
+ @extend %heading;
65
+ @extend %section;
66
+ @extend %anchor;
67
+
68
+ font-size: 1.15rem;
69
+ }
70
+
71
+ h5 {
72
+ @extend %heading;
73
+ @extend %section;
74
+ @extend %anchor;
75
+
76
+ font-size: 1.1rem;
77
+ }
78
+
79
+ a {
80
+ @extend %link-color;
81
+ }
82
+
83
+ img {
84
+ max-width: 100%;
85
+ height: auto;
86
+
87
+ &[data-src] {
88
+ &.lazyloaded {
89
+ -webkit-animation: fade-in 0.4s ease-in;
90
+ animation: fade-in 0.4s ease-in;
91
+ }
92
+
93
+ &[data-lqip="true"] {
94
+ &.lazyload,
95
+ &.lazyloading {
96
+ -webkit-filter: blur(20px);
97
+ filter: blur(20px);
98
+ }
99
+ }
100
+
101
+ &:not([data-lqip="true"]) {
102
+ &.lazyload,
103
+ &.lazyloading {
104
+ background: var(--img-bg);
105
+ }
106
+ }
107
+
108
+ &.shadow {
109
+ -webkit-filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.08));
110
+ filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.08));
111
+ box-shadow: none !important; /* cover the Bootstrap 4.6.1 styles */
112
+ }
113
+
114
+ @extend %img-caption;
115
+ }
116
+
117
+ @-webkit-keyframes fade-in {
118
+ from { opacity: 0; }
119
+ to { opacity: 1; }
120
+ }
121
+
122
+ @keyframes fade-in {
123
+ from { opacity: 0; }
124
+ to { opacity: 1; }
125
+ }
126
+ }
127
+
128
+ blockquote {
129
+ border-left: 5px solid var(--blockquote-border-color);
130
+ padding-left: 1rem;
131
+ color: var(--blockquote-text-color);
132
+
133
+ &[class^="prompt-"] {
134
+ border-left: 0;
135
+ position: relative;
136
+ padding: 1rem 1rem 1rem 3rem;
137
+ color: var(--prompt-text-color);
138
+
139
+ @extend %rounded;
140
+
141
+ &::before {
142
+ text-align: center;
143
+ width: 3rem;
144
+ position: absolute;
145
+ left: 0.25rem;
146
+ margin-top: 0.4rem;
147
+ text-rendering: auto;
148
+ -webkit-font-smoothing: antialiased;
149
+ }
150
+
151
+ > p:last-child {
152
+ margin-bottom: 0;
153
+ }
154
+ }
155
+
156
+ @include prompt("tip", "\f0eb", "regular");
157
+ @include prompt("info", "\f06a");
158
+ @include prompt("warning", "\f06a");
159
+ @include prompt("danger", "\f071");
160
+ }
161
+
162
+ kbd {
163
+ font-family: inherit;
164
+ display: inline-block;
165
+ vertical-align: middle;
166
+ line-height: 1.3rem;
167
+ min-width: 1.75rem;
168
+ text-align: center;
169
+ margin: 0 0.3rem;
170
+ padding-top: 0.1rem;
171
+ color: var(--kbd-text-color);
172
+ background-color: var(--kbd-bg-color);
173
+ border-radius: 0.25rem;
174
+ border: solid 1px var(--kbd-wrap-color);
175
+ box-shadow: inset 0 -2px 0 var(--kbd-wrap-color);
176
+ }
177
+
178
+ footer {
179
+ font-size: 0.8rem;
180
+ background-color: var(--main-bg);
181
+
182
+ div.d-flex {
183
+ height: $footer-height;
184
+ line-height: 1.2rem;
185
+ padding-bottom: 1rem;
186
+ border-top: 1px solid var(--main-border-color);
187
+
188
+ > div {
189
+ width: 350px;
190
+ }
191
+ }
192
+
193
+ a {
194
+ @extend %text-color;
195
+
196
+ &:link {
197
+ @include no-text-decoration;
198
+ }
199
+
200
+ &:hover {
201
+ @extend %link-hover;
202
+ @include no-text-decoration;
203
+ }
204
+ }
205
+
206
+ .footer-right {
207
+ text-align: right;
208
+ }
209
+ }
210
+
211
+ i { /* fontawesome icons */
212
+ &.far,
213
+ &.fas {
214
+ @extend %no-cursor;
215
+ }
216
+ }
217
+
218
+ /* --- Panels --- */
219
+
220
+ .access {
221
+ top: 2rem;
222
+ transition: top 0.2s ease-in-out;
223
+ margin-top: 3rem;
224
+ margin-bottom: 4rem;
225
+
226
+ &:only-child {
227
+ position: -webkit-sticky;
228
+ position: sticky;
229
+ }
230
+
231
+ > div {
232
+ padding-left: 1rem;
233
+ border-left: 1px solid var(--main-border-color);
234
+
235
+ &:not(:last-child) {
236
+ margin-bottom: 4rem;
237
+ }
238
+ }
239
+
240
+ .post-content {
241
+ font-size: 0.9rem;
242
+ }
243
+ }
244
+
245
+ #panel-wrapper {
246
+ /* the headings */
247
+ .panel-heading {
248
+ @include label(inherit);
249
+ }
250
+
251
+ .post-tag {
252
+ display: inline-block;
253
+ line-height: 1rem;
254
+ font-size: 0.85rem;
255
+ background: none;
256
+ border: 1px solid var(--btn-border-color);
257
+ border-radius: 0.8rem;
258
+ padding: 0.3rem 0.5rem;
259
+ margin: 0 0.35rem 0.5rem 0;
260
+
261
+ &:hover {
262
+ background-color: #2a408e;
263
+ border-color: #2a408e;
264
+ color: #ffffff;
265
+ transition: none;
266
+ }
267
+ }
268
+
269
+ [data-topbar-visible="true"] & > div {
270
+ top: 6rem;
271
+ }
272
+ }
273
+
274
+ #access-lastmod {
275
+ li {
276
+ height: 1.8rem;
277
+ overflow: hidden;
278
+ text-overflow: ellipsis;
279
+ display: -webkit-box;
280
+ -webkit-line-clamp: 1;
281
+ -webkit-box-orient: vertical;
282
+ list-style: none;
283
+ }
284
+
285
+ a {
286
+ &:hover {
287
+ @extend %link-hover;
288
+ }
289
+
290
+ @extend %no-bottom-border;
291
+
292
+ color: inherit;
293
+ }
294
+ }
295
+
296
+ .footnotes > ol {
297
+ padding-left: 2rem;
298
+ margin-top: 0.5rem;
299
+
300
+ > li {
301
+ &:not(:last-child) {
302
+ margin-bottom: 0.3rem;
303
+ }
304
+
305
+ > p {
306
+ margin-left: 0.25em;
307
+ margin-top: 0;
308
+ margin-bottom: 0;
309
+ }
310
+
311
+ /* [scroll-focus] added by `smooth-scroll.js` */
312
+ &:target:not([scroll-focus]),
313
+ &[scroll-focus="true"] > p {
314
+ background-color: var(--footnote-target-bg);
315
+ width: -moz-fit-content;
316
+ width: -webkit-fit-content;
317
+ width: fit-content;
318
+ transition: background-color 1.5s ease-in-out;
319
+ }
320
+ }
321
+ }
322
+
323
+ .footnote {
324
+ @at-root a#{&} {
325
+ @include ml-mr(1px);
326
+ @include pl-pr(2px);
327
+
328
+ border-bottom-style: none !important;
329
+ transition: background-color 1.5s ease-in-out;
330
+ }
331
+
332
+ /* [scroll-focus] added by `smooth-scroll.js` */
333
+ @at-root sup:target:not([scroll-focus]),
334
+ sup[scroll-focus=true] > a#{&} {
335
+ background-color: var(--footnote-target-bg);
336
+ }
337
+ }
338
+
339
+ .reversefootnote {
340
+ @at-root a#{&} {
341
+ font-size: 0.6rem;
342
+ line-height: 1;
343
+ position: relative;
344
+ bottom: 0.25em;
345
+ margin-left: 0.25em;
346
+ border-bottom-style: none !important;
347
+ }
348
+ }
349
+
350
+ /* --- Begin of Markdown table style --- */
351
+
352
+ /* it will be created by Liquid */
353
+ .table-wrapper {
354
+ overflow-x: auto;
355
+ margin-bottom: 1.5rem;
356
+
357
+ > table {
358
+ min-width: 100%;
359
+ overflow-x: auto;
360
+ border-spacing: 0;
361
+
362
+ thead {
363
+ border-bottom: solid 2px rgba(210, 215, 217, 0.75);
364
+
365
+ th {
366
+ @extend %table-cell;
367
+ }
368
+ }
369
+
370
+ tbody {
371
+ tr {
372
+ border-bottom: 1px solid var(--tb-border-color);
373
+
374
+ &:nth-child(2n) {
375
+ background-color: var(--tb-even-bg);
376
+ }
377
+
378
+ &:nth-child(2n + 1) {
379
+ background-color: var(--tb-odd-bg);
380
+ }
381
+
382
+ td {
383
+ @extend %table-cell;
384
+ }
385
+ }
386
+ } /* tbody */
387
+ }/* table */
388
+ }
389
+
390
+ /* --- post --- */
391
+
392
+ .post {
393
+ h1 {
394
+ margin-top: 3rem;
395
+ margin-bottom: 1.5rem;
396
+ }
397
+
398
+ p {
399
+ > img[data-src],
400
+ > a.popup {
401
+ &:not(.normal):not(.left):not(.right) {
402
+ @include align-center;
403
+ }
404
+ }
405
+ }
406
+ }
407
+
408
+ .pageviews .fa-spinner {
409
+ font-size: 80%;
410
+ }
411
+
412
+ .post-meta {
413
+ font-size: 0.85rem;
414
+ word-spacing: 1px;
415
+
416
+ a {
417
+ &:not([class]):hover {
418
+ @extend %link-hover;
419
+ }
420
+ }
421
+
422
+ em {
423
+ @extend %normal-font-style;
424
+ }
425
+ }
426
+
427
+ .post-content {
428
+ font-size: 1.08rem;
429
+ margin-top: 2rem;
430
+ overflow-wrap: break-word;
431
+
432
+ a {
433
+ &.popup {
434
+ @extend %no-cursor;
435
+ @extend %img-caption;
436
+ @include mt-mb(0.5rem);
437
+
438
+ cursor: zoom-in;
439
+ }
440
+
441
+ &:not(.img-link) {
442
+ @extend %link-underline;
443
+
444
+ &:hover {
445
+ @extend %link-hover;
446
+ }
447
+ }
448
+ }
449
+
450
+ ol,
451
+ ul {
452
+ &:not([class]),
453
+ &.task-list {
454
+ -webkit-padding-start: 1.75rem;
455
+ padding-inline-start: 1.75rem;
456
+
457
+ li {
458
+ margin: 0.25rem 0;
459
+ padding-left: 0.25rem;
460
+ }
461
+
462
+ ol,
463
+ ul {
464
+ -webkit-padding-start: 1.25rem;
465
+ padding-inline-start: 1.25rem;
466
+ margin: 0.5rem 0;
467
+ }
468
+ }
469
+ }
470
+
471
+ ul.task-list {
472
+ -webkit-padding-start: 1.25rem;
473
+ padding-inline-start: 1.25rem;
474
+
475
+ li {
476
+ list-style-type: none;
477
+ padding-left: 0;
478
+
479
+ > i { /* checkbox icon */
480
+ width: 2rem;
481
+ margin-left: -1.25rem;
482
+ color: var(--checkbox-color);
483
+
484
+ &.checked {
485
+ color: var(--checkbox-checked-color);
486
+ }
487
+ }
488
+
489
+ ul {
490
+ -webkit-padding-start: 1.75rem;
491
+ padding-inline-start: 1.75rem;
492
+ }
493
+ }
494
+
495
+ input[type="checkbox"] {
496
+ margin: 0 0.5rem 0.2rem -1.3rem;
497
+ vertical-align: middle;
498
+ }
499
+ } /* ul */
500
+
501
+ dl > dd {
502
+ margin-left: 1rem;
503
+ }
504
+ } /* .post-content */
505
+
506
+ .tag:hover {
507
+ @extend %tag-hover;
508
+ }
509
+
510
+ .post-tag {
511
+ display: inline-block;
512
+ min-width: 2rem;
513
+ text-align: center;
514
+ background: var(--tag-bg);
515
+ border-radius: 0.3rem;
516
+ padding: 0 0.4rem;
517
+ color: inherit;
518
+ line-height: 1.3rem;
519
+
520
+ &:not(:last-child) {
521
+ margin-right: 0.2rem;
522
+ }
523
+
524
+ &:hover {
525
+ @extend %tag-hover;
526
+
527
+ border-bottom: none;
528
+ text-decoration: none;
529
+ color: #d2603a;
530
+ }
531
+ }
532
+
533
+ .rounded-10 {
534
+ border-radius: 10px !important;
535
+ }
536
+
537
+ .img-link {
538
+ color: transparent;
539
+ display: inline-flex;
540
+ }
541
+
542
+ .shimmer {
543
+ overflow: hidden;
544
+ position: relative;
545
+ background: var(--img-bg);
546
+
547
+ &::before {
548
+ content: "";
549
+ position: absolute;
550
+ background: var(--shimmer-bg);
551
+ height: 100%;
552
+ width: 100%;
553
+ -webkit-animation: shimmer 1s infinite;
554
+ animation: shimmer 1s infinite;
555
+ }
556
+
557
+ @-webkit-keyframes shimmer {
558
+ 0% { -webkit-transform: translateX(-100%); transform: translateX(-100%); }
559
+ 100% { -webkit-transform: translateX(100%); transform: translateX(100%); }
560
+ }
561
+
562
+ @keyframes shimmer {
563
+ 0% { -webkit-transform: translateX(-100%); transform: translateX(-100%); }
564
+ 100% { -webkit-transform: translateX(100%); transform: translateX(100%); }
565
+ }
566
+ }
567
+
568
+ .embed-video {
569
+ width: 100%;
570
+ height: 100%;
571
+ margin-bottom: 1rem;
572
+
573
+ @extend %rounded;
574
+
575
+ &.youtube {
576
+ aspect-ratio: 16 / 9;
577
+ }
578
+
579
+ &.twitch {
580
+ aspect-ratio: 310 / 189;
581
+ }
582
+ }
583
+
584
+ /* --- buttons --- */
585
+ .btn-lang {
586
+ border: 1px solid !important;
587
+ padding: 1px 3px;
588
+ border-radius: 3px;
589
+ color: var(--link-color);
590
+
591
+ &:focus {
592
+ box-shadow: none;
593
+ }
594
+ }
595
+
596
+ /* --- Effects classes --- */
597
+
598
+ .loaded {
599
+ display: block !important;
600
+
601
+ @at-root .d-flex#{&} {
602
+ display: flex !important;
603
+ }
604
+ }
605
+
606
+ .unloaded {
607
+ display: none !important;
608
+ }
609
+
610
+ .visible {
611
+ visibility: visible !important;
612
+ }
613
+
614
+ .hidden {
615
+ visibility: hidden !important;
616
+ }
617
+
618
+ .flex-grow-1 {
619
+ flex-grow: 1 !important;
620
+ }
621
+
622
+ .btn-box-shadow {
623
+ box-shadow: 0 0 8px 0 var(--btn-box-shadow) !important;
624
+ }
625
+
626
+ .no-text-decoration {
627
+ @include no-text-decoration;
628
+ }
629
+
630
+ .tooltip-inner { /* Overrided BS4 Tooltip */
631
+ font-size: 0.7rem;
632
+ max-width: 220px;
633
+ text-align: left;
634
+ }
635
+
636
+ .disabled {
637
+ color: rgb(206, 196, 196);
638
+ pointer-events: auto;
639
+ cursor: not-allowed;
640
+ }
641
+
642
+ .hide-border-bottom {
643
+ border-bottom: none !important;
644
+ }
645
+
646
+ .input-focus {
647
+ box-shadow: none;
648
+ border-color: var(--input-focus-border-color) !important;
649
+ background: center !important;
650
+ transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
651
+ }
652
+
653
+ .left {
654
+ float: left;
655
+ margin: 0.75rem 1rem 1rem 0 !important;
656
+ }
657
+
658
+ .right {
659
+ float: right;
660
+ margin: 0.75rem 0 1rem 1rem !important;
661
+ }
662
+
663
+ /* --- Overriding --- */
664
+
665
+ /* magnific-popup */
666
+ figure .mfp-title {
667
+ text-align: center;
668
+ padding-right: 0;
669
+ margin-top: 0.5rem;
670
+ }
671
+
672
+ /* mermaid */
673
+ .mermaid {
674
+ text-align: center;
675
+ }
676
+
677
+ /* MathJax */
678
+ mjx-container {
679
+ overflow-y: hidden;
680
+ min-width: auto !important;
681
+ }
682
+
683
+ /* --- sidebar layout --- */
684
+
685
+ $sidebar-display: "sidebar-display";
686
+
687
+ #sidebar {
688
+ @include pl-pr(0);
689
+
690
+ position: fixed;
691
+ top: 0;
692
+ left: 0;
693
+ height: 100%;
694
+ overflow-y: auto;
695
+ width: $sidebar-width;
696
+ z-index: 99;
697
+ background: var(--sidebar-bg);
698
+
699
+ /* Hide scrollbar for Chrome, Safari and Opera */
700
+ &::-webkit-scrollbar {
701
+ display: none;
702
+ }
703
+
704
+ /* Hide scrollbar for IE, Edge and Firefox */
705
+ -ms-overflow-style: none; /* IE and Edge */
706
+ scrollbar-width: none; /* Firefox */
707
+
708
+ a {
709
+ @extend %sidebar-links;
710
+
711
+ &:hover {
712
+ @include no-text-decoration;
713
+
714
+ color: var(--sidebar-active-color) !important;
715
+ }
716
+ }
717
+
718
+ #avatar {
719
+ > a {
720
+ display: block;
721
+ width: 6rem;
722
+ height: 6rem;
723
+ border-radius: 50%;
724
+ border: 2px solid rgba(222, 222, 222, 0.7);
725
+ overflow: hidden;
726
+ -webkit-transform: translateZ(0);
727
+ transform: translateZ(0); /* fixed the zoom in Safari */
728
+ transition: border-color 0.35s ease-in-out;
729
+
730
+ &:hover {
731
+ border-color: white;
732
+ }
733
+ }
734
+
735
+ img {
736
+ width: 100%;
737
+ height: 100%;
738
+ transition: -webkit-transform 0.5s;
739
+ transition: transform 0.5s;
740
+ transition: transform 0.5s, -webkit-transform 0.5s;
741
+
742
+ &:hover {
743
+ -webkit-transform: scale(1.2);
744
+ transform: scale(1.2);
745
+ }
746
+ }
747
+ } /* #avatar */
748
+
749
+ .site-title {
750
+ margin-top: 0.55rem;
751
+
752
+ a {
753
+ @extend %clickable-transition;
754
+
755
+ font-weight: 900;
756
+ font-size: 1.5rem;
757
+ letter-spacing: 0.5px;
758
+ color: rgba(134, 133, 133, 0.99);
759
+ }
760
+ }
761
+
762
+ .site-subtitle {
763
+ font-size: 95%;
764
+ color: var(--sidebar-muted-color);
765
+ line-height: 1.25rem;
766
+ word-spacing: 1px;
767
+ margin: 0.2rem 1.5rem 0.5rem 1.5rem;
768
+ min-height: 3rem; /* avoid vertical shifting in multi-line words */
769
+ -webkit-user-select: none;
770
+ -moz-user-select: none;
771
+ user-select: none;
772
+ }
773
+
774
+ .nav-link {
775
+ border-radius: 0;
776
+ font-size: 0.95rem;
777
+ font-weight: 600;
778
+ letter-spacing: 1px;
779
+ display: table-cell;
780
+ vertical-align: middle;
781
+ }
782
+
783
+ .nav-item {
784
+ text-align: center;
785
+ display: table;
786
+ height: $tab-height;
787
+
788
+ &.active {
789
+ .nav-link {
790
+ color: var(--sidebar-active-color);
791
+ }
792
+ }
793
+
794
+ &:not(.active) > a {
795
+ @extend %clickable-transition;
796
+ }
797
+ }
798
+
799
+ ul {
800
+ height: $tab-height * $tab-count;
801
+ margin-bottom: 2rem;
802
+ padding-left: 0;
803
+
804
+ li {
805
+ width: 100%;
806
+
807
+ &:last-child {
808
+ a {
809
+ position: relative;
810
+ left: calc($cursor-width / 2);
811
+ width: 100%;
812
+ }
813
+
814
+ &::after { /* the cursor */
815
+ display: table;
816
+ visibility: hidden;
817
+ content: "";
818
+ position: relative;
819
+ right: 1px;
820
+ width: $cursor-width;
821
+ height: $tab-cursor-height;
822
+ border-radius: 1px;
823
+ background-color: var(--nav-cursor-color);
824
+ pointer-events: none;
825
+ }
826
+ }
827
+ } /* li */
828
+
829
+ @mixin fix-cursor($top) {
830
+ top: $top;
831
+ visibility: visible;
832
+ }
833
+
834
+ @for $i from 1 through $tab-count {
835
+ $offset: $tab-count - $i;
836
+ $top: (-$offset * $tab-height) + (($tab-height - $tab-cursor-height) * 0.5);
837
+
838
+ @if $i < $tab-count {
839
+ > li.active:nth-child(#{$i}),
840
+ > li.nav-item:nth-child(#{$i}):hover {
841
+ ~ li:last-child::after {
842
+ @include fix-cursor($top);
843
+ }
844
+ }
845
+ } @else {
846
+ > li.active:nth-child(#{$i}):last-child::after,
847
+ > li.nav-item:nth-child(#{$i}):last-child:hover::after {
848
+ @include fix-cursor($top);
849
+ }
850
+ }
851
+ } /* @for */
852
+ } /* ul */
853
+
854
+ .sidebar-bottom {
855
+ margin-bottom: 2.1rem;
856
+
857
+ @include ml-mr(auto);
858
+ @include pl-pr(1rem);
859
+
860
+ %icon {
861
+ width: 2.4rem;
862
+ text-align: center;
863
+ }
864
+
865
+ a {
866
+ @extend %icon;
867
+ @extend %clickable-transition;
868
+ }
869
+
870
+ i {
871
+ font-size: 1.2rem;
872
+ line-height: 1.75rem;
873
+ }
874
+
875
+ .mode-toggle {
876
+ padding: 0;
877
+ border: 0;
878
+ margin-bottom: 1px;
879
+ background-color: transparent;
880
+
881
+ @extend %icon;
882
+ @extend %sidebar-links;
883
+
884
+ > i {
885
+ @extend %clickable-transition;
886
+ }
887
+
888
+ &:hover > i {
889
+ color: var(--sidebar-active-color);
890
+ }
891
+ }
892
+
893
+ .icon-border {
894
+ @extend %no-cursor;
895
+
896
+ background-color: var(--sidebar-muted-color);
897
+ content: "";
898
+ width: 3px;
899
+ height: 3px;
900
+ border-radius: 50%;
901
+ }
902
+ } /* .sidebar-bottom */
903
+ } /* #sidebar */
904
+
905
+ @media (hover: hover) {
906
+ #sidebar ul > li:last-child::after {
907
+ transition: top 0.5s ease;
908
+ }
909
+ }
910
+
911
+ .profile-wrapper {
912
+ margin-top: 2rem;
913
+ width: 100%;
914
+ }
915
+
916
+ #search-result-wrapper {
917
+ display: none;
918
+ height: 100%;
919
+ width: 100%;
920
+ overflow: auto;
921
+
922
+ .post-content {
923
+ margin-top: 2rem;
924
+ }
925
+ }
926
+
927
+ /* --- top-bar --- */
928
+
929
+ #topbar-wrapper {
930
+ height: $topbar-height;
931
+ position: fixed;
932
+ top: 0;
933
+ left: $sidebar-width; /* same as sidebar width */
934
+ right: 0;
935
+ transition: top 0.2s ease-in-out;
936
+ z-index: 50;
937
+ border-bottom: 1px solid rgba(0, 0, 0, 0.07);
938
+ background-color: var(--topbar-wrapper-bg);
939
+
940
+ [data-topbar-visible="false"] & {
941
+ top: -$topbar-height; /* same as topbar height. */
942
+ }
943
+ }
944
+
945
+ #topbar {
946
+ i { /* icons */
947
+ color: #999999;
948
+ }
949
+
950
+ #breadcrumb {
951
+ font-size: 1rem;
952
+ color: gray;
953
+ padding-left: 0.5rem;
954
+
955
+ a:hover {
956
+ @extend %link-hover;
957
+ }
958
+
959
+ span {
960
+ &:not(:last-child) {
961
+ &::after {
962
+ content: "›";
963
+ padding: 0 0.3rem;
964
+ }
965
+ }
966
+ }
967
+ }
968
+ } /* #topbar */
969
+
970
+ #sidebar-trigger,
971
+ #search-trigger {
972
+ display: none;
973
+ }
974
+
975
+ #search-wrapper {
976
+ display: flex;
977
+ width: 100%;
978
+ border-radius: 1rem;
979
+ border: 1px solid var(--search-wrapper-border-color);
980
+ background: var(--search-wrapper-bg);
981
+ padding: 0 0.5rem;
982
+
983
+ i {
984
+ z-index: 2;
985
+ font-size: 0.9rem;
986
+ color: var(--search-icon-color);
987
+ }
988
+ }
989
+
990
+ #search-cancel { /* 'Cancel' link */
991
+ color: var(--link-color);
992
+ margin-left: 1rem;
993
+ display: none;
994
+
995
+ @extend %cursor-pointer;
996
+ }
997
+
998
+ #search-input {
999
+ background: center;
1000
+ border: 0;
1001
+ border-radius: 0;
1002
+ padding: 0.18rem 0.3rem;
1003
+ color: var(--text-color);
1004
+ height: auto;
1005
+
1006
+ &:focus {
1007
+ box-shadow: none;
1008
+ background: center;
1009
+
1010
+ &.form-control {
1011
+ &::-moz-placeholder { @include input-placeholder; }
1012
+ &::-webkit-input-placeholder { @include input-placeholder; }
1013
+ &::placeholder { @include input-placeholder; }
1014
+ }
1015
+ }
1016
+ }
1017
+
1018
+ #search-hints {
1019
+ padding: 0 1rem;
1020
+
1021
+ h4 {
1022
+ margin-bottom: 1.5rem;
1023
+ }
1024
+
1025
+ .post-tag {
1026
+ display: inline-block;
1027
+ line-height: 1rem;
1028
+ font-size: 1rem;
1029
+ background: var(--search-tag-bg);
1030
+ border: none;
1031
+ padding: 0.5rem;
1032
+ margin: 0 1.25rem 1rem 0;
1033
+
1034
+ &::before {
1035
+ content: "#";
1036
+ color: var(--text-muted-color);
1037
+ padding-right: 0.2rem;
1038
+ }
1039
+
1040
+ @extend %link-color;
1041
+ }
1042
+ }
1043
+
1044
+ #search-results {
1045
+ padding-bottom: 3rem;
1046
+
1047
+ a {
1048
+ &:hover {
1049
+ @extend %link-hover;
1050
+ }
1051
+
1052
+ @extend %link-color;
1053
+ @extend %no-bottom-border;
1054
+ @extend %heading;
1055
+
1056
+ font-size: 1.4rem;
1057
+ line-height: 2.5rem;
1058
+ }
1059
+
1060
+ > div {
1061
+ width: 100%;
1062
+
1063
+ &:not(:last-child) {
1064
+ margin-bottom: 1rem;
1065
+ }
1066
+
1067
+ i { /* icons */
1068
+ color: #818182;
1069
+ margin-right: 0.15rem;
1070
+ font-size: 80%;
1071
+ }
1072
+
1073
+ > p {
1074
+ overflow: hidden;
1075
+ text-overflow: ellipsis;
1076
+ display: -webkit-box;
1077
+ -webkit-line-clamp: 3;
1078
+ -webkit-box-orient: vertical;
1079
+ }
1080
+ }
1081
+ } /* #search-results */
1082
+
1083
+ #topbar-title {
1084
+ display: none;
1085
+ font-size: 1.1rem;
1086
+ font-weight: 600;
1087
+ font-family: sans-serif;
1088
+ color: var(--topbar-text-color);
1089
+ text-align: center;
1090
+ width: 70%;
1091
+ overflow: hidden;
1092
+ text-overflow: ellipsis;
1093
+ word-break: keep-all;
1094
+ white-space: nowrap;
1095
+ }
1096
+
1097
+ #core-wrapper {
1098
+ .categories,
1099
+ #tags,
1100
+ #archives {
1101
+ a:not(:hover) {
1102
+ @extend %no-bottom-border;
1103
+ }
1104
+ }
1105
+
1106
+ @at-root .row:only-child > #{&} {
1107
+ padding-bottom: 3rem;
1108
+ }
1109
+ }
1110
+
1111
+ #mask {
1112
+ display: none;
1113
+ position: fixed;
1114
+ top: 0;
1115
+ right: 0;
1116
+ bottom: 0;
1117
+ left: 0;
1118
+ height: 100%;
1119
+ width: 100%;
1120
+ z-index: 1;
1121
+
1122
+ @at-root [#{$sidebar-display}] & {
1123
+ display: block !important;
1124
+ }
1125
+ }
1126
+
1127
+ /* --- main wrapper --- */
1128
+
1129
+ #main-wrapper {
1130
+ background-color: var(--main-bg);
1131
+ position: relative;
1132
+ min-height: calc(100vh - #{$footer-height});
1133
+
1134
+ @include pl-pr(0);
1135
+ }
1136
+
1137
+ #core-wrapper,
1138
+ #panel-wrapper {
1139
+ margin-top: $topbar-height; /* same as the height of topbar */
1140
+ }
1141
+
1142
+ #topbar-wrapper.row,
1143
+ #main > .row,
1144
+ #search-result-wrapper > .row {
1145
+ @include ml-mr(0);
1146
+ }
1147
+
1148
+ /* --- button back-to-top --- */
1149
+
1150
+ #back-to-top {
1151
+ $size: 2.7em;
1152
+
1153
+ display: none;
1154
+ z-index: 1;
1155
+ cursor: pointer;
1156
+ position: fixed;
1157
+ background: var(--button-bg);
1158
+ color: var(--btn-backtotop-color);
1159
+ padding: 0;
1160
+ width: $size;
1161
+ height: $size;
1162
+ border-radius: 50%;
1163
+ border: 1px solid var(--btn-backtotop-border-color);
1164
+ transition: -webkit-transform 0.2s ease-out;
1165
+ transition: transform 0.2s ease-out;
1166
+ transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
1167
+ -webkit-transition: transform 0.2s ease-out;
1168
+
1169
+ i {
1170
+ line-height: $size;
1171
+ position: relative;
1172
+ bottom: 2px;
1173
+ }
1174
+ }
1175
+
1176
+ #back-to-top:hover {
1177
+ transform: translate3d(0, -5px, 0);
1178
+ -webkit-transform: translate3d(0, -5px, 0);
1179
+ }
1180
+
1181
+ #notification {
1182
+ @-webkit-keyframes popup {
1183
+ from {
1184
+ opacity: 0;
1185
+ bottom: 0;
1186
+ }
1187
+ }
1188
+
1189
+ @keyframes popup {
1190
+ from {
1191
+ opacity: 0;
1192
+ bottom: 0;
1193
+ }
1194
+ }
1195
+
1196
+ .toast-header {
1197
+ background: none;
1198
+ border-bottom: none;
1199
+ color: inherit;
1200
+ }
1201
+
1202
+ .toast-body {
1203
+ font-family: Lato, sans-serif;
1204
+ line-height: 1.25rem;
1205
+
1206
+ button {
1207
+ font-size: 90%;
1208
+ min-width: 4rem;
1209
+ }
1210
+ }
1211
+
1212
+ &.toast {
1213
+ display: none;
1214
+
1215
+ &.show {
1216
+ display: block;
1217
+ min-width: 20rem;
1218
+ border-radius: 0.5rem;
1219
+ -webkit-backdrop-filter: blur(10px);
1220
+ backdrop-filter: blur(10px);
1221
+ background-color: rgba(255, 255, 255, 0.5);
1222
+ color: #1b1b1eba;
1223
+ position: fixed;
1224
+ left: 50%;
1225
+ bottom: 20%;
1226
+ -webkit-transform: translateX(-50%);
1227
+ transform: translateX(-50%);
1228
+ -webkit-animation: popup 0.8s;
1229
+ animation: popup 0.8s;
1230
+ }
1231
+ }
1232
+ }
1233
+
1234
+ /*
1235
+ Responsive Design:
1236
+
1237
+ {sidebar, content, panel} >= 1120px screen width
1238
+ {sidebar, content} >= 850px screen width
1239
+ {content} <= 849px screen width
1240
+
1241
+ */
1242
+
1243
+ @media all and (max-width: 576px) {
1244
+ footer {
1245
+ height: $footer-height-mobile;
1246
+
1247
+ div.d-flex {
1248
+ padding: 1.5rem 0;
1249
+ line-height: 1.65;
1250
+ flex-wrap: wrap;
1251
+ justify-content: space-around !important;
1252
+ }
1253
+
1254
+ .footer-left,
1255
+ .footer-right {
1256
+ text-align: center;
1257
+ }
1258
+ }
1259
+
1260
+ #main-wrapper {
1261
+ min-height: calc(100vh - #{$footer-height-mobile});
1262
+ }
1263
+
1264
+ #core-wrapper {
1265
+ min-height: calc(100vh - #{$topbar-height} - #{$footer-height-mobile}) !important;
1266
+
1267
+ h1 {
1268
+ margin-top: 2.2rem;
1269
+ font-size: 1.75rem;
1270
+ }
1271
+
1272
+ .post-content {
1273
+ > blockquote[class^="prompt-"] {
1274
+ @include ml-mr(-1.25rem);
1275
+
1276
+ border-radius: 0;
1277
+ max-width: none;
1278
+ }
1279
+ }
1280
+ }
1281
+
1282
+ #avatar > a {
1283
+ width: 5rem;
1284
+ height: 5rem;
1285
+ }
1286
+
1287
+ .site-subtitle {
1288
+ @include ml-mr(1.8rem);
1289
+ }
1290
+ }
1291
+
1292
+ @media all and (max-width: 768px) {
1293
+ %full-width {
1294
+ max-width: 100%;
1295
+ }
1296
+
1297
+ #topbar {
1298
+ @extend %full-width;
1299
+ }
1300
+
1301
+ #main {
1302
+ @extend %full-width;
1303
+ @include pl-pr(0);
1304
+ }
1305
+ }
1306
+
1307
+ /* hide sidebar and panel */
1308
+ @media all and (max-width: 849px) {
1309
+ @mixin slide($append: null) {
1310
+ $basic: transform 0.4s ease;
1311
+
1312
+ @if $append {
1313
+ transition: $basic, $append;
1314
+ } @else {
1315
+ transition: $basic;
1316
+ }
1317
+ }
1318
+
1319
+ html,
1320
+ body {
1321
+ overflow-x: hidden;
1322
+ }
1323
+
1324
+ footer {
1325
+ @include slide;
1326
+ }
1327
+
1328
+ [#{$sidebar-display}] {
1329
+ #sidebar {
1330
+ -webkit-transform: translateX(0);
1331
+ transform: translateX(0);
1332
+ }
1333
+
1334
+ #topbar-wrapper,
1335
+ #main-wrapper,
1336
+ footer {
1337
+ -webkit-transform: translateX(#{$sidebar-width});
1338
+ transform: translateX(#{$sidebar-width});
1339
+ }
1340
+ }
1341
+
1342
+ #sidebar {
1343
+ @include slide;
1344
+
1345
+ transform: translateX(-#{$sidebar-width}); /* hide */
1346
+ -webkit-transform: translateX(-#{$sidebar-width});
1347
+
1348
+ .cursor {
1349
+ transition: none;
1350
+ }
1351
+ }
1352
+
1353
+ #main-wrapper {
1354
+ @include slide;
1355
+
1356
+ padding-top: $topbar-height;
1357
+ }
1358
+
1359
+ #topbar,
1360
+ #main,
1361
+ footer > .container {
1362
+ max-width: 100%;
1363
+ }
1364
+
1365
+ #search-result-wrapper {
1366
+ width: 100%;
1367
+ }
1368
+
1369
+ #breadcrumb,
1370
+ #search-wrapper {
1371
+ display: none;
1372
+ }
1373
+
1374
+ #topbar-wrapper {
1375
+ @include slide(top 0.2s ease);
1376
+
1377
+ left: 0;
1378
+ }
1379
+
1380
+ #core-wrapper,
1381
+ #panel-wrapper {
1382
+ margin-top: 0;
1383
+ }
1384
+
1385
+ #topbar-title,
1386
+ #sidebar-trigger,
1387
+ #search-trigger {
1388
+ display: block;
1389
+ }
1390
+
1391
+ #search-result-wrapper .post-content {
1392
+ letter-spacing: 0;
1393
+ }
1394
+
1395
+ #tags {
1396
+ justify-content: center !important;
1397
+ }
1398
+
1399
+ h1.dynamic-title {
1400
+ display: none;
1401
+
1402
+ ~ .post-content {
1403
+ margin-top: 3rem;
1404
+ }
1405
+ }
1406
+ } /* max-width: 849px */
1407
+
1408
+ @media all and (max-width: 849px) and (orientation: portrait) {
1409
+ [data-topbar-visible="false"] #topbar-wrapper {
1410
+ top: 0;
1411
+ }
1412
+ }
1413
+
1414
+ /* Phone & Pad */
1415
+ @media all and (min-width: 577px) and (max-width: 1199px) {
1416
+ footer .d-flex > div {
1417
+ width: 312px;
1418
+ }
1419
+ }
1420
+
1421
+ /* Sidebar is visible */
1422
+ @media all and (min-width: 850px) {
1423
+ /* Solved jumping scrollbar */
1424
+ html {
1425
+ overflow-y: scroll;
1426
+ }
1427
+
1428
+ #main-wrapper,
1429
+ footer {
1430
+ margin-left: $sidebar-width;
1431
+ }
1432
+
1433
+ .profile-wrapper {
1434
+ margin-top: 3rem;
1435
+ }
1436
+
1437
+ #search-hints {
1438
+ display: none;
1439
+ }
1440
+
1441
+ #search-wrapper {
1442
+ max-width: $search-max-width;
1443
+ }
1444
+
1445
+ #search-result-wrapper {
1446
+ margin-top: 3rem;
1447
+ max-width: $main-content-max-width;
1448
+ }
1449
+
1450
+ div.post-content .table-wrapper > table {
1451
+ min-width: 70%;
1452
+ }
1453
+
1454
+ /* button 'back-to-Top' position */
1455
+ #back-to-top {
1456
+ bottom: 5.5rem;
1457
+ right: 5%;
1458
+ }
1459
+
1460
+ #topbar-title {
1461
+ text-align: left;
1462
+ }
1463
+ }
1464
+
1465
+ /* Pad horizontal */
1466
+ @media all and (min-width: 992px) and (max-width: 1199px) {
1467
+ #main .col-lg-11 {
1468
+ flex: 0 0 96%;
1469
+ max-width: 96%;
1470
+ }
1471
+ }
1472
+
1473
+ /* Compact icons in sidebar & panel hidden */
1474
+ @media all and (min-width: 850px) and (max-width: 1199px) {
1475
+ #sidebar {
1476
+ width: $sidebar-width-small;
1477
+
1478
+ .site-subtitle {
1479
+ margin-left: 1rem;
1480
+ margin-right: 1rem;
1481
+ }
1482
+
1483
+ .sidebar-bottom {
1484
+ a,
1485
+ span {
1486
+ width: 2rem;
1487
+ }
1488
+
1489
+ .icon-border {
1490
+ left: -3px;
1491
+ }
1492
+ }
1493
+ }
1494
+
1495
+ #topbar-wrapper {
1496
+ left: $sidebar-width-small;
1497
+ }
1498
+
1499
+ #search-results > div {
1500
+ max-width: 700px;
1501
+ }
1502
+
1503
+ .site-title {
1504
+ font-size: 1.3rem;
1505
+ margin-left: 0 !important;
1506
+ }
1507
+
1508
+ .site-subtitle {
1509
+ @include ml-mr(1rem);
1510
+
1511
+ font-size: 90%;
1512
+ }
1513
+
1514
+ #main-wrapper,
1515
+ footer {
1516
+ margin-left: $sidebar-width-small;
1517
+ }
1518
+
1519
+ #breadcrumb {
1520
+ width: 65%;
1521
+ overflow: hidden;
1522
+ text-overflow: ellipsis;
1523
+ word-break: keep-all;
1524
+ white-space: nowrap;
1525
+ }
1526
+ }
1527
+
1528
+ /* panel hidden */
1529
+ @media all and (max-width: 1199px) {
1530
+ #panel-wrapper {
1531
+ display: none;
1532
+ }
1533
+
1534
+ #main > div.row {
1535
+ justify-content: center !important;
1536
+ }
1537
+ }
1538
+
1539
+ /* --- desktop mode, both sidebar and panel are visible --- */
1540
+
1541
+ @media all and (min-width: 1200px) {
1542
+ #back-to-top {
1543
+ bottom: 6.5rem;
1544
+ }
1545
+
1546
+ #search-wrapper {
1547
+ margin-right: 4rem;
1548
+ }
1549
+
1550
+ #search-input {
1551
+ transition: all 0.3s ease-in-out;
1552
+ }
1553
+
1554
+ #search-results > div {
1555
+ width: 46%;
1556
+
1557
+ &:nth-child(odd) {
1558
+ margin-right: 1.5rem;
1559
+ }
1560
+
1561
+ &:nth-child(even) {
1562
+ margin-left: 1.5rem;
1563
+ }
1564
+
1565
+ &:last-child:nth-child(odd) {
1566
+ position: relative;
1567
+ right: 24.3%;
1568
+ }
1569
+ }
1570
+
1571
+ .post-content {
1572
+ font-size: 1.03rem;
1573
+ }
1574
+
1575
+ footer {
1576
+ div.d-felx {
1577
+ width: 85%;
1578
+ }
1579
+ }
1580
+ }
1581
+
1582
+ @media all and (min-width: 1400px) {
1583
+ #back-to-top {
1584
+ right: calc((100vw - #{$sidebar-width} - 1140px) / 2 + 3rem);
1585
+ }
1586
+ }
1587
+
1588
+ @media all and (min-width: 1650px) {
1589
+ #main-wrapper,
1590
+ footer {
1591
+ margin-left: $sidebar-width-large;
1592
+ }
1593
+
1594
+ #topbar-wrapper {
1595
+ left: $sidebar-width-large;
1596
+ }
1597
+
1598
+ #search-wrapper {
1599
+ margin-right: calc(#{$main-content-max-width} * 0.25 - #{$search-max-width});
1600
+ }
1601
+
1602
+ #topbar,
1603
+ #main,
1604
+ footer > .container {
1605
+ max-width: $main-content-max-width;
1606
+ }
1607
+
1608
+ #core-wrapper,
1609
+ #tail-wrapper {
1610
+ padding-right: 4.5rem !important;
1611
+ }
1612
+
1613
+ #back-to-top {
1614
+ right: calc((100vw - #{$sidebar-width-large} - #{$main-content-max-width}) / 2 + 2rem);
1615
+ }
1616
+
1617
+ #sidebar {
1618
+ width: $sidebar-width-large;
1619
+
1620
+ .profile-wrapper {
1621
+ margin-top: 4rem;
1622
+ margin-bottom: 1rem;
1623
+
1624
+ &.text-center {
1625
+ text-align: left !important;
1626
+ }
1627
+
1628
+ %profile-ml {
1629
+ margin-left: 4.5rem;
1630
+ }
1631
+
1632
+ #avatar {
1633
+ @extend %profile-ml;
1634
+
1635
+ > a {
1636
+ width: 6.2rem;
1637
+ height: 6.2rem;
1638
+
1639
+ &.mx-auto {
1640
+ margin-left: 0 !important;
1641
+ }
1642
+ }
1643
+ }
1644
+
1645
+ .site-title {
1646
+ @extend %profile-ml;
1647
+
1648
+ margin-top: 0.4rem;
1649
+
1650
+ a {
1651
+ font-size: 1.7rem;
1652
+ letter-spacing: 1px;
1653
+ }
1654
+ }
1655
+
1656
+ .site-subtitle {
1657
+ @extend %profile-ml;
1658
+
1659
+ word-spacing: 0;
1660
+ margin-top: 0;
1661
+ }
1662
+ } /* .profile-wrapper (min-width: 1650px) */
1663
+
1664
+ ul {
1665
+ padding-left: 2.5rem;
1666
+
1667
+ > li:last-child {
1668
+ > a {
1669
+ position: static;
1670
+ }
1671
+ }
1672
+
1673
+ .nav-item {
1674
+ text-align: left;
1675
+
1676
+ .nav-link {
1677
+ > span {
1678
+ letter-spacing: 2px;
1679
+ }
1680
+
1681
+ > i {
1682
+ &.unloaded {
1683
+ display: inline-block !important;
1684
+ }
1685
+ }
1686
+ }
1687
+ }
1688
+ }
1689
+
1690
+ .sidebar-bottom {
1691
+ padding-left: 3.5rem;
1692
+ width: 100%;
1693
+
1694
+ $icon-block-size: 2rem;
1695
+
1696
+ &.justify-content-center {
1697
+ justify-content: flex-start !important;
1698
+ }
1699
+
1700
+ > span,
1701
+ > button.mode-toggle,
1702
+ > a {
1703
+ @include ml-mr(0.15rem);
1704
+
1705
+ height: $icon-block-size;
1706
+ margin-bottom: 0.5rem; /* wrap line */
1707
+ }
1708
+
1709
+ i {
1710
+ background-color: var(--sidebar-btn-bg);
1711
+ font-size: 1rem;
1712
+ width: $icon-block-size;
1713
+ height: $icon-block-size;
1714
+ border-radius: 50%;
1715
+ position: relative;
1716
+
1717
+ &::before {
1718
+ position: absolute;
1719
+ top: 50%;
1720
+ left: 50%;
1721
+ -webkit-transform: translate(-50%, -50%);
1722
+ transform: translate(-50%, -50%);
1723
+ }
1724
+ }
1725
+
1726
+ .icon-border {
1727
+ top: 0.9rem;
1728
+ }
1729
+ } /* .sidebar-bottom */
1730
+ } /* #sidebar */
1731
+ } /* min-width: 1650px */