dev-jekyll-theme 1.0.0

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