jasper2 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +113 -0
  4. data/_data/authors.yml +76 -0
  5. data/_data/tags.yml +16 -0
  6. data/_includes/analytics.html +11 -0
  7. data/_includes/author_pagination.html +13 -0
  8. data/_includes/dynamic_tag_info.html +8 -0
  9. data/_includes/dynamic_title.html +16 -0
  10. data/_includes/facebook.html +1 -0
  11. data/_includes/floating-header.html +28 -0
  12. data/_includes/ghost-logo.html +1 -0
  13. data/_includes/head.html +69 -0
  14. data/_includes/infinity.html +1 -0
  15. data/_includes/location.html +1 -0
  16. data/_includes/navigation.html +6 -0
  17. data/_includes/page-scripts.html +6 -0
  18. data/_includes/point.html +3 -0
  19. data/_includes/post-card-error.html +59 -0
  20. data/_includes/post-card-next.html +53 -0
  21. data/_includes/post-card-previous.html +53 -0
  22. data/_includes/post-card.html +55 -0
  23. data/_includes/post-scripts.html +63 -0
  24. data/_includes/post_pagination.html +13 -0
  25. data/_includes/rss.html +1 -0
  26. data/_includes/site-nav.html +27 -0
  27. data/_includes/subscribe-form.html +9 -0
  28. data/_includes/tag_pagination.html +13 -0
  29. data/_includes/twitter.html +1 -0
  30. data/_includes/website.html +1 -0
  31. data/_layouts/author.html +64 -0
  32. data/_layouts/default.html +139 -0
  33. data/_layouts/error.html +1 -0
  34. data/_layouts/feed.xml +113 -0
  35. data/_layouts/page.html +48 -0
  36. data/_layouts/post.html +196 -0
  37. data/_layouts/tag.html +42 -0
  38. data/_plugins/jekyll-autgenerator.rb +76 -0
  39. data/_plugins/jekyll-capitalize-all.rb +11 -0
  40. data/_plugins/jekyll-tagsgenerator.rb +70 -0
  41. data/_posts/1863-11-19-gettysburg-address.md +18 -0
  42. data/_posts/1865-11-26-down-the-rabbit-hole.md +62 -0
  43. data/_posts/1871-03-18-looking-glass-house.md +41 -0
  44. data/_posts/1912-07-24-out-to-sea.md +88 -0
  45. data/_posts/1948-12-12-the-purpose-of-education.md +26 -0
  46. data/_posts/1963-08-28-i-have-a-dream.md +103 -0
  47. data/_posts/2012-09-01-a-full-and-comprehensive-style-test.html +424 -0
  48. data/_posts/2014-08-12-the-businessman-and-fisherman.md +48 -0
  49. data/_posts/2017-07-27-advanced-markdown.html +57 -0
  50. data/_posts/2017-07-27-managing-users.html +24 -0
  51. data/_posts/2017-07-27-private-sites.html +19 -0
  52. data/_posts/2017-07-27-the-editor.html +55 -0
  53. data/_posts/2017-07-27-themes.html +30 -0
  54. data/_posts/2017-07-27-using-tags.html +41 -0
  55. data/_posts/2017-07-27-welcome.md +28 -0
  56. data/about/index.md +17 -0
  57. data/assets/built/global.css +2 -0
  58. data/assets/built/global.css.map +1 -0
  59. data/assets/built/screen.css +2 -0
  60. data/assets/built/screen.css.map +1 -0
  61. data/assets/built/screen.edited.css +2 -0
  62. data/assets/built/screen.edited.css.map +1 -0
  63. data/assets/built/syntax.css +2 -0
  64. data/assets/built/syntax.css.map +1 -0
  65. data/assets/css/.csscomb.json +237 -0
  66. data/assets/css/csscomb.json +240 -0
  67. data/assets/css/global.css +491 -0
  68. data/assets/css/screen.css +1928 -0
  69. data/assets/css/screen.edited.css +152 -0
  70. data/assets/css/syntax.css +66 -0
  71. data/assets/images/abraham.jpg +0 -0
  72. data/assets/images/advanced.jpg +0 -0
  73. data/assets/images/bear.jpg +0 -0
  74. data/assets/images/blog-cover.jpg +0 -0
  75. data/assets/images/blog-icon.png +0 -0
  76. data/assets/images/bus.jpg +0 -0
  77. data/assets/images/design.jpg +0 -0
  78. data/assets/images/edgar.gif +0 -0
  79. data/assets/images/fables.jpg +0 -0
  80. data/assets/images/favicon.png +0 -0
  81. data/assets/images/ghost-logo.svg +1 -0
  82. data/assets/images/ghost.png +0 -0
  83. data/assets/images/grapes.jpg +0 -0
  84. data/assets/images/hannah-cover.jpg +0 -0
  85. data/assets/images/hannah.jpg +0 -0
  86. data/assets/images/john.jpg +0 -0
  87. data/assets/images/lewis.jpeg +0 -0
  88. data/assets/images/locked.jpg +0 -0
  89. data/assets/images/martin.jpg +0 -0
  90. data/assets/images/piano.jpg +0 -0
  91. data/assets/images/sky.jpg +0 -0
  92. data/assets/images/speeches.jpg +0 -0
  93. data/assets/images/summit.jpg +0 -0
  94. data/assets/images/tags.jpg +0 -0
  95. data/assets/images/team.jpg +0 -0
  96. data/assets/images/water.jpg +0 -0
  97. data/assets/images/waves.jpg +0 -0
  98. data/assets/images/welcome.jpg +0 -0
  99. data/assets/images/writing.jpg +0 -0
  100. data/assets/js/infinitescroll.js +83 -0
  101. data/assets/js/jquery.fitvids.js +89 -0
  102. data/assets/screenshot-desktop.jpg +0 -0
  103. data/assets/screenshot-mobile.jpg +0 -0
  104. metadata +222 -0
@@ -0,0 +1,1928 @@
1
+ /* Table of Contents
2
+ /* ------------------------------------------------------------
3
+
4
+ This is a development CSS file which is built to a minified
5
+ production stylesheet in assets/built/screen.css
6
+
7
+ 1. Global Styles
8
+ 2. Layout
9
+ 3. Special Templates
10
+ 4. Site Header
11
+ 5. Site Navigation
12
+ 6. Post Feed
13
+ 7. Single Post
14
+ 7.1. Subscribe Form
15
+ 7.2. Post Footer
16
+ 7.3. Comments
17
+ 7.4. Related Posts
18
+ 7.5. Floating Header
19
+ 8. Author Template
20
+ 9. Error Template
21
+ 10. Subscribe Overlay
22
+ 11. Site Footer
23
+
24
+ */
25
+
26
+
27
+ /* 1. Global - Set up the things
28
+ /* ---------------------------------------------------------- */
29
+ @import "global.css";
30
+
31
+ body {
32
+ background: #f4f8fb;
33
+ }
34
+
35
+ .img {
36
+ display: block;
37
+ width: 100%;
38
+ height: 100%;
39
+ background-position: center center;
40
+ background-size: cover;
41
+ border-radius: 100%;
42
+ }
43
+
44
+ .hidden {
45
+ visibility: hidden;
46
+ position: absolute;
47
+ text-indent: -9999px;
48
+ }
49
+
50
+
51
+ /* 2. Layout - Page building blocks
52
+ /* ---------------------------------------------------------- */
53
+
54
+ .site-wrapper {
55
+ display: flex;
56
+ flex-direction: column;
57
+ min-height: 100vh;
58
+ }
59
+
60
+ .site-main {
61
+ z-index: 100;
62
+ flex-grow: 1;
63
+ }
64
+
65
+ /* Full width page blocks */
66
+ .outer {
67
+ position: relative;
68
+ padding: 0 4vw;
69
+ }
70
+
71
+ /* Centered content container blocks */
72
+ .inner {
73
+ margin: 0 auto;
74
+ max-width: 1040px;
75
+ width: 100%;
76
+ }
77
+
78
+ /* Usage:
79
+
80
+ <div class="outer">
81
+ <div class="inner">
82
+ Centered content
83
+ </div>
84
+ </div>
85
+
86
+ */
87
+
88
+ /* 3. Special Template Styles
89
+ /* ---------------------------------------------------------- */
90
+
91
+ @media (min-width: 900px) {
92
+ .home-template .post-feed,
93
+ .tag-template .post-feed,
94
+ .author-template .post-feed {
95
+ margin-top: -70px;
96
+ padding-top: 0;
97
+ }
98
+ .home-template .site-nav {
99
+ position: relative;
100
+ top: -70px;
101
+ }
102
+ }
103
+
104
+
105
+ /* 4. Site Header
106
+ /* ---------------------------------------------------------- */
107
+
108
+ .site-header {
109
+ position: relative;
110
+ padding-top: 12px;
111
+ padding-bottom: 12px;
112
+ color: #fff;
113
+ background: color(var(--darkgrey) l(-5%)) no-repeat center center;
114
+ background-size: cover;
115
+ }
116
+
117
+ .site-header:before {
118
+ content: "";
119
+ position: absolute;
120
+ top: 0;
121
+ right: 0;
122
+ bottom: 0;
123
+ left: 0;
124
+ z-index: 10;
125
+ display: block;
126
+ background: rgba(0,0,0,0.18);
127
+ }
128
+
129
+ .site-header:after {
130
+ content: "";
131
+ position: absolute;
132
+ top: 0;
133
+ right: 0;
134
+ bottom: auto;
135
+ left: 0;
136
+ z-index: 10;
137
+ display: block;
138
+ height: 80px;
139
+ background: linear-gradient(rgba(0,0,0,0.1),rgba(0,0,0,0));
140
+ }
141
+
142
+ .site-header.no-cover:before,
143
+ .site-header.no-cover:after {
144
+ display: none;
145
+ }
146
+
147
+ .site-header-content {
148
+ display: flex;
149
+ flex-direction: column;
150
+ justify-content: center;
151
+ align-items: center;
152
+ padding: 10vw 4vw;
153
+ min-height: 200px;
154
+ max-height: 450px;
155
+ text-align: center;
156
+ }
157
+
158
+ .site-title {
159
+ z-index: 10;
160
+ margin: 0;
161
+ padding: 0;
162
+ font-size: 3.8rem;
163
+ font-weight: 700;
164
+ }
165
+
166
+ .site-logo {
167
+ max-height: 45px;
168
+ }
169
+
170
+ .site-description {
171
+ z-index: 10;
172
+ margin: 0;
173
+ padding: 5px 0;
174
+ font-size: 2.2rem;
175
+ font-weight: 300;
176
+ letter-spacing: 0.5px;
177
+ opacity: 0.8;
178
+ }
179
+
180
+ @media (max-width: 500px) {
181
+ .site-title {
182
+ font-size: 3rem;
183
+ }
184
+ .site-description {
185
+ font-size: 1.8rem;
186
+ }
187
+ }
188
+
189
+
190
+ /* 5. Site Navigation
191
+ /* ---------------------------------------------------------- */
192
+
193
+ .site-nav {
194
+ position: relative;
195
+ z-index: 300;
196
+ display: flex;
197
+ justify-content: space-between;
198
+ align-items: flex-start;
199
+ overflow-y: hidden;
200
+ height: 40px;
201
+ font-size: 1.2rem;
202
+ }
203
+
204
+ .site-nav-left {
205
+ display: flex;
206
+ align-items: center;
207
+ overflow-x: auto;
208
+ overflow-y: hidden;
209
+ -webkit-overflow-scrolling: touch;
210
+ margin-right: 10px;
211
+ padding-bottom: 80px;
212
+ letter-spacing: 0.4px;
213
+ white-space: nowrap;
214
+
215
+ -ms-overflow-scrolling: touch;
216
+ }
217
+
218
+ /* Site Nav Hack Explanation (above):
219
+
220
+ What's happening above it .site-nav-left is set to overflow-x and allow sideways scrolling, so that when there isn't enough space for all nav items (either due to lots of nav items, or a small viewport), you can still scroll side-to-side to reach them.
221
+
222
+ The knock-on effect of this is ugly browser-scroll bars at the bottom, so 80px of padding-bottom and a 40px fixed height parent (.site-nav) hides that entirely. Slightly hacky code. But nice clean end-result.
223
+
224
+ */
225
+
226
+ .site-nav-logo {
227
+ flex-shrink: 0;
228
+ display: block;
229
+ margin-right: 24px;
230
+ padding: 11px 0;
231
+ color: #fff;
232
+ font-size: 1.7rem;
233
+ line-height: 1em;
234
+ font-weight: bold;
235
+ letter-spacing: -0.5px;
236
+ }
237
+
238
+ .site-nav-logo:hover {
239
+ text-decoration: none;
240
+ }
241
+
242
+ .site-nav-logo img {
243
+ display: block;
244
+ width: auto;
245
+ height: 21px;
246
+ }
247
+
248
+ .nav {
249
+ display: flex;
250
+ margin: 0 0 0 -12px;
251
+ padding: 0;
252
+ list-style: none;
253
+ }
254
+
255
+ .nav li {
256
+ display: block;
257
+ margin: 0;
258
+ padding: 0;
259
+ text-transform: uppercase;
260
+ }
261
+
262
+ .nav li a {
263
+ display: block;
264
+ margin: 0;
265
+ padding: 10px 12px;
266
+ color: #fff;
267
+ opacity: 0.8;
268
+ }
269
+
270
+ .nav li a:hover {
271
+ text-decoration: none;
272
+ opacity: 1;
273
+ }
274
+
275
+ .site-nav-right {
276
+ flex-shrink: 0;
277
+ display: flex;
278
+ align-items: center;
279
+ height: 40px;
280
+ }
281
+
282
+ .social-links {
283
+ flex-shrink: 0;
284
+ display: flex;
285
+ align-items: center;
286
+ }
287
+
288
+ .social-links a:last-of-type {
289
+ padding-right: 20px;
290
+ }
291
+
292
+ .social-link {
293
+ display: flex;
294
+ justify-content: center;
295
+ align-items: center;
296
+ margin: 0;
297
+ padding: 10px;
298
+ color: #fff;
299
+ opacity: 0.8;
300
+ }
301
+
302
+ .social-link:hover {
303
+ opacity: 1;
304
+ }
305
+
306
+ .social-link svg {
307
+ height: 1.8rem;
308
+ fill: #fff;
309
+ }
310
+
311
+ .social-link-fb svg {
312
+ height: 1.5rem;
313
+ }
314
+
315
+ .social-link-wb svg {
316
+ height: 1.6rem;
317
+ }
318
+
319
+ .social-link-wb svg path {
320
+ stroke: #fff;
321
+ }
322
+
323
+ .social-link-rss svg {
324
+ height: 1.9rem;
325
+ }
326
+
327
+ .subscribe-button {
328
+ display: block;
329
+ padding: 4px 10px;
330
+ border: #fff 1px solid;
331
+ color: #fff;
332
+ font-size: 1.2rem;
333
+ line-height: 1em;
334
+ border-radius: 10px;
335
+ opacity: 0.8;
336
+ }
337
+
338
+ .subscribe-button:hover {
339
+ text-decoration: none;
340
+ opacity: 1;
341
+ }
342
+
343
+ .rss-button {
344
+ opacity: 0.8;
345
+ }
346
+
347
+ .rss-button:hover {
348
+ opacity: 1;
349
+ }
350
+
351
+ .rss-button svg {
352
+ margin-bottom: 1px;
353
+ height: 2.1rem;
354
+ fill: #fff;
355
+ }
356
+
357
+ @media (max-width: 700px) {
358
+ .site-header {
359
+ padding-right: 0;
360
+ padding-left: 0;
361
+ }
362
+ .site-nav-left {
363
+ margin-right: 0;
364
+ padding-left: 4vw;
365
+ }
366
+ .site-nav-right {
367
+ display: none;
368
+ }
369
+ }
370
+
371
+
372
+ /* 6. Post Feed
373
+ /* ---------------------------------------------------------- */
374
+
375
+ .post-feed {
376
+ position: relative;
377
+ display: flex;
378
+ flex-wrap: wrap;
379
+ margin: 0 -20px;
380
+ padding: 40px 0 0 0;
381
+ }
382
+
383
+ .post-card {
384
+ flex: 1 1 300px;
385
+ display: flex;
386
+ flex-direction: column;
387
+ overflow: hidden;
388
+ margin: 0 20px 40px;
389
+ min-height: 300px;
390
+ background: #fff center center;
391
+ background-size: cover;
392
+ border-radius: 5px;
393
+ box-shadow: rgba(39,44,49,0.06) 8px 14px 38px, rgba(39, 44, 49, 0.03) 1px 3px 8px;
394
+ transition: all 0.5s ease;
395
+ }
396
+
397
+ .post-card:hover {
398
+ box-shadow: 0 0 1px rgba(39,44,49,0.10), 0 3px 16px rgba(39, 44, 49,0.07);
399
+ transition: all 0.3s ease;
400
+ transform: translate3D(0, -1px, 0);
401
+ }
402
+
403
+ .post-card-image-link {
404
+ position: relative;
405
+ display: block;
406
+ overflow: hidden;
407
+ border-radius: 5px 5px 0 0;
408
+ }
409
+
410
+ .post-card-image {
411
+ width: auto;
412
+ height: 200px;
413
+ background: var(--lightgrey) no-repeat center center;
414
+ background-size: cover;
415
+ }
416
+
417
+ .post-card-content-link {
418
+ position: relative;
419
+ display: block;
420
+ padding: 25px 25px 0;
421
+ color: var(--darkgrey);
422
+ }
423
+
424
+ .post-card-content-link:hover {
425
+ text-decoration: none;
426
+ }
427
+
428
+ .post-card-tags {
429
+ display: block;
430
+ margin-bottom: 4px;
431
+ color: var(--midgrey);
432
+ font-size: 1.2rem;
433
+ line-height: 1.15em;
434
+ font-weight: 500;
435
+ letter-spacing: 0.5px;
436
+ text-transform: uppercase;
437
+ }
438
+
439
+ .post-card-title {
440
+ margin-top: 0;
441
+ }
442
+
443
+ .post-card-content {
444
+ flex-grow: 1;
445
+ display: flex;
446
+ flex-direction: column;
447
+ justify-content: space-between;
448
+ }
449
+
450
+ .post-card-excerpt {
451
+ font-family: Georgia, serif;
452
+ }
453
+
454
+ .post-card-meta {
455
+ padding: 0 25px 25px;
456
+ }
457
+
458
+ .author-profile-image {
459
+ margin-right: 5px;
460
+ width: 25px;
461
+ height: 25px;
462
+ border-radius: 100%;
463
+
464
+ object-fit: cover;
465
+ }
466
+
467
+ .post-card-author {
468
+ font-size: 1.3rem;
469
+ font-weight: 500;
470
+ letter-spacing: 0.5px;
471
+ text-transform: uppercase;
472
+ }
473
+
474
+ .reading-time {
475
+ font-size: 1.2rem;
476
+ font-weight: 500;
477
+ line-height: 33px;
478
+ flex-shrink: 0;
479
+ margin-left: 20px;
480
+ letter-spacing: .5px;
481
+ text-transform: uppercase;
482
+ float: right;
483
+ margin-top: -4px;
484
+ color: var(--midgrey);
485
+ }
486
+
487
+ /* Special Styling for home page grid (below):
488
+
489
+ The first (most recent) post in the list is styled to be bigger than the others and take over the full width of the grid to give it more emphasis. Wrapped in a media query to make sure this only happens on large viewports / desktop-ish devices.
490
+
491
+ */
492
+
493
+ @media (min-width: 795px) {
494
+ .home-template .post-feed .post-card:nth-child(6n+1):not(.no-image) {
495
+ flex: 1 1 100%;
496
+ flex-direction: row;
497
+ }
498
+
499
+ .home-template .post-feed .post-card:nth-child(6n+1):not(.no-image) .post-card-image-link {
500
+ position: relative;
501
+ flex: 1 1 auto;
502
+ border-radius: 5px 0 0 5px;
503
+ }
504
+
505
+ .home-template .post-feed .post-card:nth-child(6n+1):not(.no-image) .post-card-image {
506
+ position: absolute;
507
+ width: 100%;
508
+ height: 100%;
509
+ }
510
+
511
+ .home-template .post-feed .post-card:nth-child(6n+1):not(.no-image) .post-card-content {
512
+ flex: 0 1 357px;
513
+ }
514
+
515
+ .home-template .post-feed .post-card:nth-child(6n+1):not(.no-image) h2 {
516
+ font-size: 2.6rem;
517
+ }
518
+
519
+ .home-template .post-feed .post-card:nth-child(6n+1):not(.no-image) p {
520
+ font-size: 1.8rem;
521
+ line-height: 1.55em;
522
+ }
523
+
524
+ .home-template .post-feed .post-card:nth-child(6n+1):not(.no-image) .post-card-content-link {
525
+ padding: 30px 40px 0;
526
+ }
527
+
528
+ .home-template .post-feed .post-card:nth-child(6n+1):not(.no-image) .post-card-meta {
529
+ padding: 0 40px 30px;
530
+ }
531
+ }
532
+
533
+ .home-template .site-header:after {
534
+ display: none;
535
+ }
536
+
537
+
538
+ /* Adjust some margins for smaller screens */
539
+ @media (max-width: 650px) {
540
+ .post-feed {
541
+ padding-top: 5vw;
542
+ }
543
+ .post-card {
544
+ margin: 0 20px 5vw;
545
+ }
546
+ }
547
+
548
+
549
+
550
+ /* 7. Single Post
551
+ /* ---------------------------------------------------------- */
552
+
553
+ .post-template .site-main,
554
+ .page-template .site-main {
555
+ padding-bottom: 4vw;
556
+ background: #fff;
557
+ }
558
+
559
+ .post-full {
560
+ position: relative;
561
+ z-index: 50;
562
+ }
563
+ /* ^ Required to make .post-full-content:before/after z-index stacking work */
564
+
565
+ .post-full-header {
566
+ margin: 0 auto;
567
+ padding: 6vw 3vw 3vw;
568
+ max-width: 1040px;
569
+ text-align: center;
570
+ }
571
+ @media (max-width: 500px) {
572
+ .post-full-header {
573
+ padding: 14vw 3vw 10vw;
574
+ }
575
+ }
576
+
577
+ .post-full-meta {
578
+ display: flex;
579
+ justify-content: center;
580
+ align-items: center;
581
+ color: var(--midgrey);
582
+ font-size: 1.4rem;
583
+ font-weight: 600;
584
+ text-transform: uppercase;
585
+ }
586
+
587
+ .post-full-meta-date {
588
+ color: var(--blue);
589
+ }
590
+
591
+ .post-full-title {
592
+ margin: 0;
593
+ color: color(var(--darkgrey) l(-5%));
594
+ }
595
+
596
+ .date-divider {
597
+ display: inline-block;
598
+ margin: 0 6px 1px;
599
+ }
600
+
601
+ .post-full-image {
602
+ margin: 0 -10vw -165px;
603
+ height: 800px;
604
+ background: var(--lightgrey) center center;
605
+ background-size: cover;
606
+ border-radius: 5px;
607
+ }
608
+
609
+ @media (max-width: 1170px) {
610
+ .post-full-image {
611
+ margin: 0 -4vw -100px;
612
+ height: 600px;
613
+ border-radius: 0;
614
+ }
615
+ }
616
+
617
+ @media (max-width: 800px) {
618
+ .post-full-image {
619
+ height: 400px;
620
+ }
621
+ }
622
+
623
+ .post-full-content {
624
+ position: relative;
625
+ margin: 0 auto;
626
+ padding: 70px 100px 0;
627
+ min-height: 230px;
628
+ font-family: Georgia, serif;
629
+ font-size: 2.2rem;
630
+ line-height: 1.6em;
631
+ background: #fff;
632
+ }
633
+
634
+ @media (max-width: 1170px) {
635
+ .post-full-content {
636
+ padding: 5vw 7vw 0;
637
+ }
638
+ }
639
+ @media (max-width: 800px) {
640
+ .post-full-content {
641
+ font-size: 1.9rem;
642
+ }
643
+ }
644
+
645
+ .post-full-content:before {
646
+ content: "";
647
+ position: absolute;
648
+ top: 15px;
649
+ left: -5px;
650
+ z-index: -1;
651
+ display: block;
652
+ width: 20px;
653
+ height: 200px;
654
+ background: rgba(39,44,49,0.15);
655
+ filter: blur(5px);
656
+ transform: rotate(-5deg);
657
+ }
658
+
659
+ .post-full-content:after {
660
+ content: "";
661
+ position: absolute;
662
+ top: 15px;
663
+ right: -5px;
664
+ z-index: -1;
665
+ display: block;
666
+ width: 20px;
667
+ height: 200px;
668
+ background: rgba(39,44,49,0.15);
669
+ filter: blur(5px);
670
+ transform: rotate(5deg);
671
+ }
672
+
673
+ .no-image .post-full-content {
674
+ padding-top: 0;
675
+ }
676
+
677
+ .no-image .post-full-content:before,
678
+ .no-image .post-full-content:after {
679
+ display: none;
680
+ }
681
+
682
+ .kg-card-markdown {
683
+ display: flex;
684
+ flex-direction: column;
685
+ align-items: center;
686
+ max-width: 920px;
687
+ }
688
+
689
+ .post-full-content h1,
690
+ .post-full-content h2,
691
+ .post-full-content h3,
692
+ .post-full-content h4,
693
+ .post-full-content h5,
694
+ .post-full-content h6,
695
+ .post-full-content p,
696
+ .post-full-content ul,
697
+ .post-full-content ol,
698
+ .post-full-content dl,
699
+ .post-full-content pre,
700
+ .post-full-content blockquote,
701
+ .post-full-comments,
702
+ .footnotes {
703
+ min-width: 100%;
704
+ }
705
+
706
+ .post-full-content li {
707
+ word-break: break-word;
708
+ }
709
+
710
+ .post-full-content li p {
711
+ margin: 0;
712
+ }
713
+
714
+ .post-template .kg-card-markdown > p:first-child {
715
+ font-size: 1.25em;
716
+ line-height: 1.5em;
717
+ }
718
+
719
+ .post-full-content a {
720
+ color: #000;
721
+ box-shadow: var(--blue) 0 -1px 0 inset;
722
+ }
723
+
724
+ .post-full-content a:hover {
725
+ color: var(--blue);
726
+ text-decoration: none;
727
+ }
728
+
729
+ .post-full-content strong,
730
+ .post-full-content em {
731
+ color: color(var(--darkgrey) l(-5%));
732
+ }
733
+
734
+ .post-full-content small {
735
+ display: inline-block;
736
+ line-height: 1.6em;
737
+ }
738
+
739
+ .post-full-content li:first-child {
740
+ margin-top: 0;
741
+ }
742
+
743
+ .post-full-content img,
744
+ .post-full-content video {
745
+ display: block;
746
+ margin: 1.5em auto;
747
+ max-width: 1040px;
748
+ }
749
+ @media (max-width: 1040px) {
750
+ .post-full-content img,
751
+ .post-full-content video {
752
+ width: 100%;
753
+ }
754
+ }
755
+
756
+
757
+ /* Full bleed images (#full)
758
+ Super neat trick courtesy of @JoelDrapper
759
+
760
+ Usage (In Ghost edtior):
761
+
762
+ ![img](/some/image.jpg#full)
763
+
764
+ */
765
+ .post-full-content img[src$="#full"] {
766
+ max-width: none;
767
+ width: 100vw;
768
+ }
769
+
770
+
771
+ /* Image captions
772
+
773
+ Usage (In Ghost editor):
774
+
775
+ ![img](/some/image.jpg)
776
+ <small>Your image caption</small>
777
+
778
+ */
779
+ .post-full-content img + br + small {
780
+ display: block;
781
+ margin-top: -3em;
782
+ margin-bottom: 1.5em;
783
+ }
784
+
785
+
786
+ .post-full-content iframe {
787
+ margin: 0 auto;
788
+ }
789
+
790
+ .post-full-content blockquote {
791
+ margin: 0 0 1.5em;
792
+ padding: 0 1.5em;
793
+ border-left: #3eb0ef 3px solid;
794
+ }
795
+
796
+ .post-full-content blockquote p {
797
+ margin: 0 0 1em 0;
798
+ color: inherit;
799
+ font-size: inherit;
800
+ line-height: inherit;
801
+ font-style: italic;
802
+ }
803
+
804
+ .post-full-content blockquote p:last-child {
805
+ margin-bottom: 0;
806
+ }
807
+
808
+ .post-full-content code {
809
+ padding: 0 5px 2px;
810
+ font-size: 0.8em;
811
+ line-height: 1em;
812
+ font-weight: 400!important;
813
+ background: var(--whitegrey);
814
+ border-radius: 3px;
815
+ }
816
+
817
+ .post-full-content pre {
818
+ overflow-x: auto;
819
+ margin: 1.5em 0 3em;
820
+ padding: 20px;
821
+ max-width: 100%;
822
+ border: color(var(--darkgrey) l(-10%)) 1px solid;
823
+ color: var(--whitegrey);
824
+ font-size: 1.4rem;
825
+ line-height: 1.5em;
826
+ background: color(var(--darkgrey) l(-3%));
827
+ border-radius: 5px;
828
+ }
829
+
830
+ .post-full-content pre code {
831
+ padding: 0;
832
+ font-size: inherit;
833
+ line-height: inherit;
834
+ background: transparent;
835
+ }
836
+
837
+ .post-full-content pre code * {
838
+ color: inherit;
839
+ }
840
+
841
+ .post-full-content .fluid-width-video-wrapper {
842
+ margin: 1.5em 0 3em;
843
+ }
844
+
845
+ .post-full-content hr {
846
+ margin: 4vw 0;
847
+ }
848
+
849
+ .post-full-content hr:after {
850
+ content: "";
851
+ position: absolute;
852
+ top: -15px;
853
+ left: 50%;
854
+ display: block;
855
+ margin-left: -10px;
856
+ width: 1px;
857
+ height: 30px;
858
+ background: color(var(--lightgrey) l(+10%));
859
+ box-shadow: #fff 0 0 0 5px;
860
+ transform: rotate(45deg);
861
+ }
862
+
863
+ .post-full-content h1,
864
+ .post-full-content h2,
865
+ .post-full-content h3,
866
+ .post-full-content h4,
867
+ .post-full-content h5,
868
+ .post-full-content h6 {
869
+ color: color(var(--darkgrey) l(-5%));
870
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
871
+ }
872
+
873
+ .post-full-content h1 {
874
+ margin: 0.5em 0 0.2em 0;
875
+ font-size: 4.6rem;
876
+ font-weight: 700;
877
+ }
878
+ @media (max-width: 500px) {
879
+ .post-full-content h1 {
880
+ font-size: 2.8rem;
881
+ }
882
+ }
883
+
884
+ .post-full-content h2 {
885
+ margin: 0.5em 0 0.2em 0;
886
+ font-size: 3.6rem;
887
+ font-weight: 700;
888
+ }
889
+ @media (max-width: 500px) {
890
+ .post-full-content h2 {
891
+ font-size: 2.6rem;
892
+ }
893
+ }
894
+
895
+ .post-full-content h3 {
896
+ margin: 0.5em 0 0.2em 0;
897
+ font-size: 2.8rem;
898
+ font-weight: 700;
899
+ }
900
+ @media (max-width: 500px) {
901
+ .post-full-content h3 {
902
+ font-size: 2.2rem;
903
+ }
904
+ }
905
+
906
+ .post-full-content h4 {
907
+ margin: 0.5em 0 0.2em 0;
908
+ font-size: 2.8rem;
909
+ font-weight: 700;
910
+ }
911
+ @media (max-width: 500px) {
912
+ .post-full-content h4 {
913
+ font-size: 2.2rem;
914
+ }
915
+ }
916
+
917
+ .post-full-content h5 {
918
+ display: block;
919
+ margin: 0.5em 0;
920
+ padding: 1em 0 1.5em;
921
+ border: 0;
922
+ color: var(--blue);
923
+ font-family: Georgia,serif;
924
+ font-size: 3.2rem;
925
+ line-height: 1.35em;
926
+ text-align: center;
927
+ }
928
+ @media (min-width: 1180px) {
929
+ .post-full-content h5 {
930
+ max-width: 1060px;
931
+ width: 100vw;
932
+ }
933
+ }
934
+ @media (max-width: 500px) {
935
+ .post-full-content h5 {
936
+ padding: 0 0 0.5em;
937
+ font-size: 2.2rem;
938
+ }
939
+ }
940
+
941
+ .post-full-content h6 {
942
+ margin: 0.5em 0 0.2em 0;
943
+ font-size: 2.3rem;
944
+ font-weight: 700;
945
+ }
946
+ @media (max-width: 500px) {
947
+ .post-full-content h6 {
948
+ font-size: 2rem;
949
+ }
950
+ }
951
+
952
+ .footnotes-sep {
953
+ margin-bottom: 30px;
954
+ }
955
+
956
+ .footnotes {
957
+ font-size: 1.5rem;
958
+ }
959
+
960
+ .footnotes p {
961
+ margin: 0;
962
+ }
963
+
964
+ .footnote-backref {
965
+ color: var(--blue) !important;
966
+ font-size: 1.2rem;
967
+ font-weight: bold;
968
+ text-decoration: none !important;
969
+ box-shadow: none !important;
970
+ }
971
+
972
+ /* Some grouped styles for smaller viewports */
973
+ @media (max-width: 500px) {
974
+ .post-full-meta {
975
+ font-size: 1.2rem;
976
+ line-height: 1.3em;
977
+ }
978
+ .post-full-title {
979
+ font-size: 2.9rem;
980
+ }
981
+ .post-full-image {
982
+ margin-bottom: 4vw;
983
+ height: 350px;
984
+ }
985
+ .post-full-content {
986
+ padding: 0;
987
+ }
988
+ .post-full-content:before,
989
+ .post-full-content:after {
990
+ display: none;
991
+ }
992
+ }
993
+
994
+ /* Tables */
995
+ .post-full-content table {
996
+ display: inline-block;
997
+ overflow-x: auto;
998
+ margin: 0.5em 0 2.5em;
999
+ max-width: 100%;
1000
+ width: auto;
1001
+ border-spacing: 0;
1002
+ border-collapse: collapse;
1003
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
1004
+ font-size: 1.6rem;
1005
+ white-space: nowrap;
1006
+ vertical-align: top;
1007
+ }
1008
+
1009
+ .post-full-content table {
1010
+ -webkit-overflow-scrolling: touch;
1011
+ background: radial-gradient(ellipse at left, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 0 center, radial-gradient(ellipse at right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 75%) 100% center;
1012
+ background-attachment: scroll, scroll;
1013
+ background-size: 10px 100%, 10px 100%;
1014
+ background-repeat: no-repeat;
1015
+ }
1016
+
1017
+ .post-full-content table td:first-child {
1018
+ background-image: linear-gradient(to right, rgba(255,255,255, 1) 50%, rgba(255,255,255, 0) 100%);
1019
+ background-size: 20px 100%;
1020
+ background-repeat: no-repeat;
1021
+ }
1022
+
1023
+ .post-full-content table td:last-child {
1024
+ background-image: linear-gradient(to left, rgba(255,255,255, 1) 50%, rgba(255,255,255, 0) 100%);
1025
+ background-position: 100% 0;
1026
+ background-size: 20px 100%;
1027
+ background-repeat: no-repeat;
1028
+ }
1029
+
1030
+ .post-full-content table th {
1031
+ color: var(--darkgrey);
1032
+ font-size: 1.2rem;
1033
+ font-weight: 700;
1034
+ letter-spacing: 0.2px;
1035
+ text-align: left;
1036
+ text-transform: uppercase;
1037
+ background-color: color(var(--whitegrey) l(+4%));
1038
+ }
1039
+
1040
+ .post-full-content table th,
1041
+ .post-full-content table td {
1042
+ padding: 6px 12px;
1043
+ border: color(var(--whitegrey) l(-1%) s(-5%)) 1px solid;
1044
+ }
1045
+
1046
+
1047
+ /* 7.1. Subscribe Form
1048
+ /* ---------------------------------------------------------- */
1049
+
1050
+ .subscribe-form {
1051
+ margin: 1.5em 0;
1052
+ padding: 6.5vw 7vw 7vw;
1053
+ border: color(var(--whitegrey) l(+2%)) 1px solid;
1054
+ text-align: center;
1055
+ background: color(var(--whitegrey) l(+4%));
1056
+ border-radius: 7px;
1057
+ }
1058
+
1059
+ .subscribe-form-title {
1060
+ margin: 0 0 3px 0;
1061
+ padding: 0;
1062
+ color: var(--darkgrey);
1063
+ font-size: 3.5rem;
1064
+ line-height: 1;
1065
+ font-weight: 700;
1066
+ }
1067
+
1068
+ .subscribe-form p {
1069
+ margin-bottom: 1em;
1070
+ color: var(--midgrey);
1071
+ font-size: 2.2rem;
1072
+ line-height: 1.55em;
1073
+ letter-spacing: 0.2px;
1074
+ }
1075
+
1076
+ .subscribe-form form {
1077
+ display: flex;
1078
+ justify-content: center;
1079
+ align-items: center;
1080
+ margin: 0 auto;
1081
+ max-width: 420px;
1082
+ }
1083
+
1084
+ .subscribe-form .form-group {
1085
+ flex-grow: 1;
1086
+ }
1087
+
1088
+ .subscribe-email {
1089
+ display: block;
1090
+ padding: 10px;
1091
+ width: 100%;
1092
+ border: color(var(--lightgrey) l(+7%)) 1px solid;
1093
+ color: var(--midgrey);
1094
+ font-size: 1.8rem;
1095
+ line-height: 1em;
1096
+ font-weight: normal;
1097
+ user-select: text;
1098
+ border-radius: 5px;
1099
+ transition: border-color 0.15s linear;
1100
+
1101
+ -webkit-appearance: none;
1102
+ }
1103
+
1104
+ .subscribe-email:focus {
1105
+ outline: 0;
1106
+ border-color: color(var(--lightgrey) l(-2%));
1107
+ }
1108
+
1109
+ .subscribe-form button {
1110
+ display: inline-block;
1111
+ margin: 0 0 0 10px;
1112
+ padding: 0 20px;
1113
+ height: 41px;
1114
+ outline: none;
1115
+ color: #fff;
1116
+ font-size: 1.5rem;
1117
+ line-height: 37px;
1118
+ font-weight: 400;
1119
+ text-align: center;
1120
+ text-shadow: 0 -1px 0 rgba(0,0,0,0.1);
1121
+ background: linear-gradient(
1122
+ color(var(--blue) whiteness(+7%)),
1123
+ color(var(--blue) lightness(-7%) saturation(-10%)) 60%,
1124
+ color(var(--blue) lightness(-7%) saturation(-10%)) 90%,
1125
+ color(var(--blue) lightness(-4%) saturation(-10%))
1126
+ );
1127
+ border-radius: 5px;
1128
+ box-shadow: 0 0 0 1px inset rgba(0,0,0,0.14);
1129
+
1130
+ -webkit-font-smoothing: subpixel-antialiased;
1131
+ }
1132
+
1133
+ .subscribe-form button:active,
1134
+ .subscribe-form button:focus {
1135
+ background: color(var(--blue) lightness(-9%) saturation(-10%));
1136
+ }
1137
+
1138
+ @media (max-width: 650px) {
1139
+ .subscribe-form-title {
1140
+ font-size: 2.4rem;
1141
+ }
1142
+ .subscribe-form p {
1143
+ font-size: 1.6rem;
1144
+ }
1145
+ }
1146
+
1147
+ @media (max-width: 500px) {
1148
+ .subscribe-form form {
1149
+ flex-direction: column;
1150
+ }
1151
+ .subscribe-form .form-group {
1152
+ width: 100%;
1153
+ }
1154
+ .subscribe-form button {
1155
+ margin: 10px 0 0 0;
1156
+ width: 100%;
1157
+ }
1158
+ }
1159
+
1160
+
1161
+ /* 7.2. Post Footer
1162
+ /* ---------------------------------------------------------- */
1163
+
1164
+ .post-full-footer {
1165
+ display: flex;
1166
+ justify-content: space-between;
1167
+ align-items: center;
1168
+ margin: 0 auto;
1169
+ padding: 3vw 0 6vw 0;
1170
+ max-width: 840px;
1171
+ }
1172
+
1173
+ .author-card {
1174
+ display: flex;
1175
+ align-items: center;
1176
+ }
1177
+
1178
+ .author-card .author-profile-image {
1179
+ margin-right: 15px;
1180
+ width: 60px;
1181
+ height: 60px;
1182
+ }
1183
+
1184
+ .author-card-name {
1185
+ margin: 0 0 2px 0;
1186
+ padding: 0;
1187
+ font-size: 2rem;
1188
+ }
1189
+
1190
+ .author-card-name a {
1191
+ color: var(--darkgrey);
1192
+ font-weight: 700;
1193
+ }
1194
+
1195
+ .author-card-name a:hover {
1196
+ text-decoration: none;
1197
+ }
1198
+
1199
+ .author-card-content p {
1200
+ margin: 0;
1201
+ color: var(--midgrey);
1202
+ line-height: 1.3em;
1203
+ }
1204
+
1205
+ .post-full-footer-right {
1206
+ flex-shrink: 0;
1207
+ margin-left: 20px;
1208
+ }
1209
+
1210
+ .author-card-button {
1211
+ display: block;
1212
+ padding: 9px 16px;
1213
+ border: color(var(--midgrey) l(+20%)) 1px solid;
1214
+ color: var(--midgrey);
1215
+ font-size: 1.2rem;
1216
+ line-height: 1;
1217
+ font-weight: 500;
1218
+ border-radius: 20px;
1219
+ transition: all ease 0.2s;
1220
+ }
1221
+
1222
+ .author-card-button:hover {
1223
+ border-color: var(--blue);
1224
+ color: var(--blue);
1225
+ text-decoration: none;
1226
+ }
1227
+
1228
+
1229
+ /* 7.3. Comments
1230
+ /* ---------------------------------------------------------- */
1231
+
1232
+ .post-full-comments {
1233
+ margin: 0 auto;
1234
+ max-width: 840px;
1235
+ }
1236
+
1237
+
1238
+ /* 7.4. Related posts
1239
+ /* ---------------------------------------------------------- */
1240
+
1241
+ .read-next-feed {
1242
+ display: flex;
1243
+ flex-wrap: wrap;
1244
+ margin: 0 -20px;
1245
+ padding: 40px 0 0 0;
1246
+ }
1247
+
1248
+ .read-next-card {
1249
+ position: relative;
1250
+ flex: 1 1 300px;
1251
+ display: flex;
1252
+ flex-direction: column;
1253
+ overflow: hidden;
1254
+ margin: 0 20px 40px;
1255
+ padding: 25px;
1256
+ color: #fff;
1257
+ background: var(--darkgrey) center center;
1258
+ background-size: cover;
1259
+ border-radius: 5px;
1260
+ box-shadow: rgba(39,44,49,0.06) 8px 14px 38px, rgba(39, 44, 49, 0.03) 1px 3px 8px;
1261
+ }
1262
+
1263
+ .read-next-card:before {
1264
+ content: "";
1265
+ position: absolute;
1266
+ top: 0;
1267
+ right: 0;
1268
+ bottom: 0;
1269
+ left: 0;
1270
+ display: block;
1271
+ background: linear-gradient(135deg, rgba(0,40,60,0.8) 0%,rgba(0,20,40,0.7) 100%);
1272
+ border-radius: 5px;
1273
+
1274
+ backdrop-filter: blur(2px);
1275
+ }
1276
+
1277
+ .read-next-card-header {
1278
+ position: relative;
1279
+ z-index: 50;
1280
+ padding-top: 20px;
1281
+ text-align: center;
1282
+ }
1283
+
1284
+ .read-next-card-header-sitetitle {
1285
+ display: block;
1286
+ font-size: 1.3rem;
1287
+ line-height: 1.3em;
1288
+ opacity: 0.8;
1289
+ }
1290
+
1291
+ .read-next-card-header-title {
1292
+ margin: 0;
1293
+ padding: 0 20px;
1294
+ color: #fff;
1295
+ font-size: 3rem;
1296
+ line-height: 1.2em;
1297
+ letter-spacing: 1px;
1298
+ }
1299
+
1300
+ .read-next-card-header-title a {
1301
+ color: #fff;
1302
+ font-weight: 300;
1303
+ text-decoration: none;
1304
+ }
1305
+
1306
+ .read-next-card-header-title a:hover {
1307
+ text-decoration: none;
1308
+ }
1309
+
1310
+ .read-next-divider {
1311
+ position: relative;
1312
+ display: flex;
1313
+ justify-content: center;
1314
+ height: 80px;
1315
+ }
1316
+
1317
+ .read-next-divider svg {
1318
+ width: 40px;
1319
+ fill: transparent;
1320
+ stroke: #fff;
1321
+
1322
+ stroke-width: 0.5px;
1323
+ stroke-opacity: 0.65;
1324
+ }
1325
+
1326
+ .read-next-card-content {
1327
+ position: relative;
1328
+ z-index: 50;
1329
+ flex-grow: 1;
1330
+ display: flex;
1331
+ font-size: 1.7rem;
1332
+ }
1333
+
1334
+ .read-next-card-content ul {
1335
+ display: flex;
1336
+ flex-direction: column;
1337
+ margin: 0 auto;
1338
+ padding: 0;
1339
+ text-align: center;
1340
+ list-style: none;
1341
+ }
1342
+
1343
+ .read-next-card-content li {
1344
+ margin: 0;
1345
+ padding: 0;
1346
+ font-size: 1.6rem;
1347
+ line-height: 1.25em;
1348
+ font-weight: 200;
1349
+ letter-spacing: -0.5px;
1350
+ }
1351
+
1352
+ .read-next-card-content li a {
1353
+ display: block;
1354
+ padding: 20px 0;
1355
+ border-bottom: rgba(255,255,255,0.3) 1px solid;
1356
+ color: #fff;
1357
+ font-weight: 500;
1358
+ vertical-align: top;
1359
+ transition: opacity 0.3s ease;
1360
+ }
1361
+
1362
+ .read-next-card-content li:first-of-type a {
1363
+ padding-top: 10px;
1364
+ }
1365
+
1366
+ .read-next-card-content li a:hover {
1367
+ opacity: 1;
1368
+ }
1369
+
1370
+ .read-next-card-footer {
1371
+ position: relative;
1372
+ margin: 15px 0 3px 0;
1373
+ text-align: center;
1374
+ }
1375
+
1376
+ .read-next-card-footer a {
1377
+ color: #fff;
1378
+ }
1379
+
1380
+
1381
+ /* 7.5. Floating Header
1382
+ /* ---------------------------------------------------------- */
1383
+
1384
+ .floating-header {
1385
+ visibility: hidden;
1386
+ position: fixed;
1387
+ top: 0;
1388
+ right: 0;
1389
+ left: 0;
1390
+ z-index: 1000;
1391
+ display: flex;
1392
+ align-items: center;
1393
+ height: 60px;
1394
+ border-bottom: rgba(0,0,0,0.06) 1px solid;
1395
+ background: rgba(255,255,255,0.95);
1396
+ transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1);
1397
+ transform: translate3d(0, -120%, 0);
1398
+ }
1399
+
1400
+ .floating-active {
1401
+ visibility: visible;
1402
+ transition: all 500ms cubic-bezier(0.22, 1, 0.27, 1);
1403
+ transform: translate3d(0, 0, 0);
1404
+ }
1405
+
1406
+ .floating-header-logo {
1407
+ overflow: hidden;
1408
+ margin: 0 0 0 20px;
1409
+ font-size: 1.6rem;
1410
+ line-height: 1em;
1411
+ letter-spacing: -1px;
1412
+ text-overflow: ellipsis;
1413
+ white-space: nowrap;
1414
+ }
1415
+
1416
+ .floating-header-logo a {
1417
+ display: flex;
1418
+ align-items: center;
1419
+ color: var(--darkgrey);
1420
+ line-height: 1.1em;
1421
+ font-weight: 700;
1422
+ }
1423
+
1424
+ .floating-header-logo a:hover {
1425
+ text-decoration: none;
1426
+ }
1427
+
1428
+ .floating-header-logo img {
1429
+ margin: 0 10px 0 0;
1430
+ max-height: 20px;
1431
+ }
1432
+
1433
+ .floating-header-divider {
1434
+ margin: 0 5px;
1435
+ line-height: 1em;
1436
+ }
1437
+
1438
+ .floating-header-title {
1439
+ flex: 1;
1440
+ overflow: hidden;
1441
+ margin: 0;
1442
+ color: #2e2e2e;
1443
+ font-size: 1.6rem;
1444
+ line-height: 1.3em;
1445
+ font-weight: bold;
1446
+ text-overflow: ellipsis;
1447
+ white-space: nowrap;
1448
+ }
1449
+
1450
+ .floating-header-share {
1451
+ display: flex;
1452
+ justify-content: flex-end;
1453
+ align-items: center;
1454
+ padding-left: 2%;
1455
+ font-size: 1.3rem;
1456
+ line-height: 1;
1457
+ }
1458
+
1459
+ .floating-header-share a {
1460
+ display: flex;
1461
+ justify-content: center;
1462
+ align-items: center;
1463
+ }
1464
+
1465
+ .floating-header-share svg {
1466
+ width: auto;
1467
+ height: 16px;
1468
+ fill: #fff;
1469
+ }
1470
+
1471
+ .floating-header-share-label {
1472
+ flex-shrink: 0;
1473
+ display: flex;
1474
+ align-items: center;
1475
+ margin-right: 10px;
1476
+ color: rgba(0,0,0,0.7);
1477
+ font-weight: 500;
1478
+ }
1479
+
1480
+ .floating-header-share-label svg {
1481
+ margin: 0 5px 0 10px;
1482
+ width: 18px;
1483
+ height: 18px;
1484
+ stroke: rgba(0,0,0,0.7);
1485
+ transform: rotate(90deg);
1486
+ }
1487
+
1488
+ .floating-header-share-tw,
1489
+ .floating-header-share-fb {
1490
+ display: block;
1491
+ align-items: center;
1492
+ width: 60px;
1493
+ height: 60px;
1494
+ color: #fff;
1495
+ line-height: 48px;
1496
+ text-align: center;
1497
+ transition: all 500ms cubic-bezier(0.19, 1, 0.22, 1);
1498
+ }
1499
+
1500
+ .floating-header-share-tw {
1501
+ background: #33b1ff;
1502
+ }
1503
+
1504
+ .floating-header-share-fb {
1505
+ background: #005e99;
1506
+ }
1507
+
1508
+ .progress {
1509
+ position: absolute;
1510
+ right: 0;
1511
+ bottom: -1px;
1512
+ left: 0;
1513
+ width: 100%;
1514
+ height: 2px;
1515
+ border: none;
1516
+ color: var(--blue);
1517
+ background: transparent;
1518
+
1519
+ appearance: none;
1520
+ }
1521
+
1522
+ .progress::-webkit-progress-bar {
1523
+ background-color: transparent;
1524
+ }
1525
+
1526
+ .progress::-webkit-progress-value {
1527
+ background-color: var(--blue);
1528
+ }
1529
+
1530
+ .progress::-moz-progress-bar {
1531
+ background-color: var(--blue);
1532
+ }
1533
+
1534
+ .progress-container {
1535
+ position: absolute;
1536
+ top: 0;
1537
+ left: 0;
1538
+ display: block;
1539
+ width: 100%;
1540
+ height: 2px;
1541
+ background-color: transparent;
1542
+ }
1543
+
1544
+ .progress-bar {
1545
+ display: block;
1546
+ width: 50%;
1547
+ height: inherit;
1548
+ background-color: var(--blue);
1549
+ }
1550
+
1551
+ @media (max-width: 900px) {
1552
+ .floating-header {
1553
+ height: 40px;
1554
+ }
1555
+ .floating-header-title,
1556
+ .floating-header-logo {
1557
+ font-size: 1.5rem;
1558
+ }
1559
+ .floating-header-share-tw,
1560
+ .floating-header-share-fb {
1561
+ width: 40px;
1562
+ height: 40px;
1563
+ line-height: 38px;
1564
+ }
1565
+ }
1566
+
1567
+ @media (max-width: 800px) {
1568
+ .floating-header-logo {
1569
+ margin-left: 10px;
1570
+ }
1571
+ .floating-header-logo a {
1572
+ color: #2e2e2e;
1573
+ }
1574
+ .floating-header-title,
1575
+ .floating-header-divider {
1576
+ visibility: hidden;
1577
+ }
1578
+ }
1579
+
1580
+ @media (max-width: 450px) {
1581
+ .floating-header-share-label {
1582
+ display: none;
1583
+ }
1584
+ }
1585
+
1586
+
1587
+ /* 8. Author Template
1588
+ /* ---------------------------------------------------------- */
1589
+
1590
+ .site-header-content .author-profile-image {
1591
+ z-index: 10;
1592
+ flex-shrink: 0;
1593
+ margin: 0 0 20px 0;
1594
+ width: 100px;
1595
+ height: 100px;
1596
+ box-shadow: rgba(255,255,255,0.1) 0 0 0 6px;
1597
+ }
1598
+
1599
+ .site-header-content .author-bio {
1600
+ z-index: 10;
1601
+ flex-shrink: 0;
1602
+ margin: 5px 0 10px 0;
1603
+ max-width: 600px;
1604
+ font-size: 2rem;
1605
+ line-height: 1.3em;
1606
+ font-weight: 300;
1607
+ letter-spacing: 0.5px;
1608
+ opacity: 0.8;
1609
+ }
1610
+
1611
+ .site-header-content .author-meta {
1612
+ z-index: 10;
1613
+ flex-shrink: 0;
1614
+ display: flex;
1615
+ justify-content: center;
1616
+ align-items: center;
1617
+ margin: 0 0 10px 0;
1618
+ font-family: Georgia, serif;
1619
+ font-style: italic;
1620
+ }
1621
+
1622
+ .site-header-content .author-location svg {
1623
+ height: 1.9rem;
1624
+ stroke: #fff;
1625
+ }
1626
+
1627
+ .site-header-content .bull {
1628
+ display: inline-block;
1629
+ margin: 0 12px;
1630
+ opacity: 0.5;
1631
+ }
1632
+
1633
+ .site-header-content .social-link:first-of-type {
1634
+ padding-left: 4px;
1635
+ }
1636
+
1637
+ @media (max-width: 500px) {
1638
+ .site-header-content .author-bio {
1639
+ font-size: 1.8rem;
1640
+ line-height: 1.15em;
1641
+ letter-spacing: 0;
1642
+ }
1643
+ .author-location,
1644
+ .author-stats {
1645
+ display: none;
1646
+ }
1647
+ }
1648
+
1649
+
1650
+ /* 9. Error Template
1651
+ /* ---------------------------------------------------------- */
1652
+
1653
+ .error-template .site-main {
1654
+ padding: 7vw 4vw;
1655
+ }
1656
+
1657
+ .site-nav-center {
1658
+ display: flex;
1659
+ justify-content: center;
1660
+ align-items: center;
1661
+ text-align: center;
1662
+ }
1663
+
1664
+ .site-nav-center .site-nav-logo {
1665
+ margin-right: 0;
1666
+ }
1667
+
1668
+ .error-message {
1669
+ text-align: center;
1670
+ }
1671
+
1672
+ .error-code {
1673
+ margin: 0;
1674
+ font-size: 12vw;
1675
+ line-height: 1em;
1676
+ letter-spacing: -5px;
1677
+ opacity: 0.3;
1678
+ }
1679
+
1680
+ .error-description {
1681
+ margin: 0;
1682
+ color: var(--midgrey);
1683
+ font-size: 3rem;
1684
+ line-height: 1.3em;
1685
+ font-weight: 400;
1686
+ }
1687
+
1688
+ @media (max-width: 800px) {
1689
+ .error-description {
1690
+ margin: 5px 0 0 0;
1691
+ font-size: 1.8rem;
1692
+ }
1693
+ }
1694
+
1695
+ .error-link {
1696
+ display: inline-block;
1697
+ margin-top: 5px;
1698
+ }
1699
+
1700
+ .error-template .post-feed {
1701
+ padding-top: 0;
1702
+ }
1703
+
1704
+
1705
+ /* 10. Subscribe Overlay
1706
+ /* ---------------------------------------------------------- */
1707
+
1708
+ .subscribe-overlay {
1709
+ position: fixed;
1710
+ top: 0;
1711
+ right: 0;
1712
+ bottom: 0;
1713
+ left: 0;
1714
+ z-index: 9000;
1715
+ display: flex;
1716
+ justify-content: center;
1717
+ align-items: center;
1718
+ background: rgba(0,25,40,0.97);
1719
+ opacity: 0;
1720
+ transition: opacity 200ms ease-in;
1721
+ pointer-events: none;
1722
+
1723
+ backdrop-filter: blur(3px);
1724
+ }
1725
+
1726
+ .subscribe-overlay:target {
1727
+ opacity: 1;
1728
+ pointer-events: auto;
1729
+ }
1730
+
1731
+ .subscribe-overlay-content {
1732
+ position: relative;
1733
+ z-index: 9999;
1734
+ margin: 0 0 5vw 0;
1735
+ padding: 4vw;
1736
+ color: #fff;
1737
+ text-align: center;
1738
+ }
1739
+
1740
+ .subscribe-overlay-logo {
1741
+ position: fixed;
1742
+ top: 23px;
1743
+ left: 30px;
1744
+ height: 30px;
1745
+ }
1746
+
1747
+ .subscribe-overlay-title {
1748
+ display: inline-block;
1749
+ margin: 0 0 10px 0;
1750
+ font-size: 6rem;
1751
+ line-height: 1.15em;
1752
+ }
1753
+
1754
+ .subscribe-overlay-description {
1755
+ margin: 0 auto 50px;
1756
+ max-width: 650px;
1757
+ font-family: Georgia, serif;
1758
+ font-size: 3rem;
1759
+ line-height: 1.3em;
1760
+ font-weight: 300;
1761
+ opacity: 0.8;
1762
+ }
1763
+
1764
+ .subscribe-overlay form {
1765
+ display: flex;
1766
+ justify-content: center;
1767
+ align-items: center;
1768
+ margin: 0 auto;
1769
+ max-width: 500px;
1770
+ }
1771
+
1772
+ .subscribe-overlay .form-group {
1773
+ flex-grow: 1;
1774
+ }
1775
+
1776
+ .subscribe-overlay .subscribe-email {
1777
+ display: block;
1778
+ padding: 14px 20px;
1779
+ width: 100%;
1780
+ border: none;
1781
+ color: var(--midgrey);
1782
+ font-size: 2rem;
1783
+ line-height: 1em;
1784
+ font-weight: normal;
1785
+ letter-spacing: 0.5px;
1786
+ user-select: text;
1787
+ border-radius: 8px;
1788
+ transition: border-color 0.15s linear;
1789
+
1790
+ -webkit-appearance: none;
1791
+ }
1792
+
1793
+ .subscribe-email:focus {
1794
+ outline: 0;
1795
+ border-color: color(var(--lightgrey) l(-2%));
1796
+ }
1797
+
1798
+ .subscribe-overlay button {
1799
+ display: inline-block;
1800
+ margin: 0 0 0 15px;
1801
+ padding: 0 25px;
1802
+ height: 52px;
1803
+ outline: none;
1804
+ color: #fff;
1805
+ font-size: 1.7rem;
1806
+ line-height: 37px;
1807
+ font-weight: 400;
1808
+ text-align: center;
1809
+ text-shadow: 0 -1px 0 rgba(0,0,0,0.1);
1810
+ background: linear-gradient(
1811
+ color(var(--blue) whiteness(+7%)),
1812
+ color(var(--blue) lightness(-7%) saturation(-10%)) 60%,
1813
+ color(var(--blue) lightness(-7%) saturation(-10%)) 90%,
1814
+ color(var(--blue) lightness(-4%) saturation(-10%))
1815
+ );
1816
+ border-radius: 8px;
1817
+ box-shadow: 0 0 0 1px inset rgba(0,0,0,0.14);
1818
+
1819
+ -webkit-font-smoothing: subpixel-antialiased;
1820
+ }
1821
+
1822
+ .subscribe-overlay button:active,
1823
+ .subscribe-overlay button:focus {
1824
+ background: color(var(--blue) lightness(-9%) saturation(-10%));
1825
+ }
1826
+
1827
+ .subscribe-overlay-close {
1828
+ position: absolute;
1829
+ top: 0;
1830
+ right: 0;
1831
+ bottom: 0;
1832
+ left: 0;
1833
+ display: block;
1834
+ }
1835
+
1836
+ .subscribe-overlay-close:before {
1837
+ content: "";
1838
+ position: absolute;
1839
+ top: 40px;
1840
+ right: 25px;
1841
+ display: block;
1842
+ width: 30px;
1843
+ height: 2px;
1844
+ background: #fff;
1845
+ opacity: 0.8;
1846
+ transform: rotate(45deg);
1847
+ }
1848
+
1849
+ .subscribe-overlay-close:after {
1850
+ content: "";
1851
+ position: absolute;
1852
+ top: 40px;
1853
+ right: 25px;
1854
+ display: block;
1855
+ width: 30px;
1856
+ height: 2px;
1857
+ background: #fff;
1858
+ opacity: 0.8;
1859
+ transform: rotate(-45deg);
1860
+ }
1861
+
1862
+ .subscribe-overlay-close:hover {
1863
+ cursor: default;
1864
+ }
1865
+
1866
+
1867
+ /* 11. Site Footer
1868
+ /* ---------------------------------------------------------- */
1869
+
1870
+ .site-footer {
1871
+ position: relative;
1872
+ padding-top: 20px;
1873
+ padding-bottom: 60px;
1874
+ color: #fff;
1875
+ background: color(var(--darkgrey) l(-15%));
1876
+ }
1877
+
1878
+ .site-footer-content {
1879
+ display: flex;
1880
+ flex-wrap: wrap;
1881
+ justify-content: space-between;
1882
+ align-items: center;
1883
+ color: rgba(255,255,255,0.7);
1884
+ font-size: 1.3rem;
1885
+ }
1886
+
1887
+ .site-footer-content a {
1888
+ color: rgba(255,255,255,0.7);
1889
+ }
1890
+
1891
+ .site-footer-content a:hover {
1892
+ color: rgba(255,255,255,1);
1893
+ text-decoration: none;
1894
+ }
1895
+
1896
+ .site-footer-nav {
1897
+ display: flex;
1898
+ }
1899
+
1900
+ .site-footer-nav a {
1901
+ position: relative;
1902
+ margin-left: 20px;
1903
+ }
1904
+
1905
+ .site-footer-nav a:before {
1906
+ content: "";
1907
+ position: absolute;
1908
+ top: 11px;
1909
+ left: -11px;
1910
+ display: block;
1911
+ width: 2px;
1912
+ height: 2px;
1913
+ background: #fff;
1914
+ border-radius: 100%;
1915
+ }
1916
+
1917
+ .site-footer-nav a:first-of-type:before {
1918
+ display: none;
1919
+ }
1920
+
1921
+ @media (max-width: 650px) {
1922
+ .site-footer-content {
1923
+ flex-direction: column;
1924
+ }
1925
+ .site-footer-nav a:first-child {
1926
+ margin-left: 0;
1927
+ }
1928
+ }