ghost 5.66.0 → 5.67.0

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 (211) hide show
  1. package/components/tryghost-adapter-cache-memory-ttl-5.67.0.tgz +0 -0
  2. package/components/{tryghost-adapter-cache-redis-5.66.0.tgz → tryghost-adapter-cache-redis-5.67.0.tgz} +0 -0
  3. package/components/tryghost-adapter-manager-5.67.0.tgz +0 -0
  4. package/components/tryghost-announcement-bar-settings-5.67.0.tgz +0 -0
  5. package/components/tryghost-api-framework-5.67.0.tgz +0 -0
  6. package/components/tryghost-api-version-compatibility-service-5.67.0.tgz +0 -0
  7. package/components/tryghost-audience-feedback-5.67.0.tgz +0 -0
  8. package/components/tryghost-bookshelf-repository-5.67.0.tgz +0 -0
  9. package/components/{tryghost-bootstrap-socket-5.66.0.tgz → tryghost-bootstrap-socket-5.67.0.tgz} +0 -0
  10. package/components/{tryghost-collections-5.66.0.tgz → tryghost-collections-5.67.0.tgz} +0 -0
  11. package/components/{tryghost-constants-5.66.0.tgz → tryghost-constants-5.67.0.tgz} +0 -0
  12. package/components/{tryghost-custom-theme-settings-service-5.66.0.tgz → tryghost-custom-theme-settings-service-5.67.0.tgz} +0 -0
  13. package/components/{tryghost-data-generator-5.66.0.tgz → tryghost-data-generator-5.67.0.tgz} +0 -0
  14. package/components/tryghost-domain-events-5.67.0.tgz +0 -0
  15. package/components/{tryghost-donations-5.66.0.tgz → tryghost-donations-5.67.0.tgz} +0 -0
  16. package/components/tryghost-dynamic-routing-events-5.67.0.tgz +0 -0
  17. package/components/tryghost-email-analytics-provider-mailgun-5.67.0.tgz +0 -0
  18. package/components/{tryghost-email-analytics-service-5.66.0.tgz → tryghost-email-analytics-service-5.67.0.tgz} +0 -0
  19. package/components/{tryghost-email-content-generator-5.66.0.tgz → tryghost-email-content-generator-5.67.0.tgz} +0 -0
  20. package/components/tryghost-email-events-5.67.0.tgz +0 -0
  21. package/components/{tryghost-email-service-5.66.0.tgz → tryghost-email-service-5.67.0.tgz} +0 -0
  22. package/components/tryghost-email-suppression-list-5.67.0.tgz +0 -0
  23. package/components/tryghost-event-aware-cache-wrapper-5.67.0.tgz +0 -0
  24. package/components/tryghost-express-dynamic-redirects-5.67.0.tgz +0 -0
  25. package/components/tryghost-external-media-inliner-5.67.0.tgz +0 -0
  26. package/components/tryghost-extract-api-key-5.67.0.tgz +0 -0
  27. package/components/{tryghost-html-to-plaintext-5.66.0.tgz → tryghost-html-to-plaintext-5.67.0.tgz} +0 -0
  28. package/components/tryghost-i18n-5.67.0.tgz +0 -0
  29. package/components/tryghost-importer-handler-content-files-5.67.0.tgz +0 -0
  30. package/components/tryghost-importer-revue-5.67.0.tgz +0 -0
  31. package/components/tryghost-in-memory-repository-5.67.0.tgz +0 -0
  32. package/components/{tryghost-job-manager-5.66.0.tgz → tryghost-job-manager-5.67.0.tgz} +0 -0
  33. package/components/{tryghost-link-redirects-5.66.0.tgz → tryghost-link-redirects-5.67.0.tgz} +0 -0
  34. package/components/tryghost-link-replacer-5.67.0.tgz +0 -0
  35. package/components/{tryghost-link-tracking-5.66.0.tgz → tryghost-link-tracking-5.67.0.tgz} +0 -0
  36. package/components/tryghost-magic-link-5.67.0.tgz +0 -0
  37. package/components/{tryghost-mail-events-5.66.0.tgz → tryghost-mail-events-5.67.0.tgz} +0 -0
  38. package/components/{tryghost-mailgun-client-5.66.0.tgz → tryghost-mailgun-client-5.67.0.tgz} +0 -0
  39. package/components/{tryghost-member-attribution-5.66.0.tgz → tryghost-member-attribution-5.67.0.tgz} +0 -0
  40. package/components/{tryghost-member-events-5.66.0.tgz → tryghost-member-events-5.67.0.tgz} +0 -0
  41. package/components/{tryghost-members-api-5.66.0.tgz → tryghost-members-api-5.67.0.tgz} +0 -0
  42. package/components/{tryghost-members-csv-5.66.0.tgz → tryghost-members-csv-5.67.0.tgz} +0 -0
  43. package/components/{tryghost-members-events-service-5.66.0.tgz → tryghost-members-events-service-5.67.0.tgz} +0 -0
  44. package/components/tryghost-members-importer-5.67.0.tgz +0 -0
  45. package/components/{tryghost-members-offers-5.66.0.tgz → tryghost-members-offers-5.67.0.tgz} +0 -0
  46. package/components/tryghost-members-payments-5.67.0.tgz +0 -0
  47. package/components/tryghost-members-ssr-5.67.0.tgz +0 -0
  48. package/components/{tryghost-members-stripe-service-5.66.0.tgz → tryghost-members-stripe-service-5.67.0.tgz} +0 -0
  49. package/components/tryghost-mentions-email-report-5.67.0.tgz +0 -0
  50. package/components/tryghost-milestones-5.67.0.tgz +0 -0
  51. package/components/tryghost-minifier-5.67.0.tgz +0 -0
  52. package/components/tryghost-model-to-domain-event-interceptor-5.67.0.tgz +0 -0
  53. package/components/tryghost-mw-api-version-mismatch-5.67.0.tgz +0 -0
  54. package/components/tryghost-mw-cache-control-5.67.0.tgz +0 -0
  55. package/components/{tryghost-mw-error-handler-5.66.0.tgz → tryghost-mw-error-handler-5.67.0.tgz} +0 -0
  56. package/components/tryghost-mw-session-from-token-5.67.0.tgz +0 -0
  57. package/components/tryghost-mw-update-user-last-seen-5.67.0.tgz +0 -0
  58. package/components/tryghost-mw-version-match-5.67.0.tgz +0 -0
  59. package/components/tryghost-mw-vhost-5.67.0.tgz +0 -0
  60. package/components/tryghost-nql-filter-expansions-5.67.0.tgz +0 -0
  61. package/components/tryghost-oembed-service-5.67.0.tgz +0 -0
  62. package/components/tryghost-package-json-5.67.0.tgz +0 -0
  63. package/components/tryghost-post-events-5.67.0.tgz +0 -0
  64. package/components/tryghost-post-revisions-5.67.0.tgz +0 -0
  65. package/components/tryghost-posts-service-5.67.0.tgz +0 -0
  66. package/components/tryghost-recommendations-5.67.0.tgz +0 -0
  67. package/components/tryghost-referrers-5.67.0.tgz +0 -0
  68. package/components/{tryghost-security-5.66.0.tgz → tryghost-security-5.67.0.tgz} +0 -0
  69. package/components/tryghost-session-service-5.67.0.tgz +0 -0
  70. package/components/{tryghost-settings-path-manager-5.66.0.tgz → tryghost-settings-path-manager-5.67.0.tgz} +0 -0
  71. package/components/tryghost-slack-notifications-5.67.0.tgz +0 -0
  72. package/components/tryghost-staff-service-5.67.0.tgz +0 -0
  73. package/components/tryghost-stats-service-5.67.0.tgz +0 -0
  74. package/components/tryghost-tiers-5.67.0.tgz +0 -0
  75. package/components/{tryghost-update-check-service-5.66.0.tgz → tryghost-update-check-service-5.67.0.tgz} +0 -0
  76. package/components/tryghost-verification-trigger-5.67.0.tgz +0 -0
  77. package/components/{tryghost-version-notifications-data-service-5.66.0.tgz → tryghost-version-notifications-data-service-5.67.0.tgz} +0 -0
  78. package/components/{tryghost-webmentions-5.66.0.tgz → tryghost-webmentions-5.67.0.tgz} +0 -0
  79. package/content/themes/source/LICENSE +22 -0
  80. package/content/themes/source/README.md +65 -0
  81. package/content/themes/source/assets/built/screen.css +2 -0
  82. package/content/themes/source/assets/built/screen.css.map +1 -0
  83. package/content/themes/source/assets/built/source.js +2 -0
  84. package/content/themes/source/assets/built/source.js.map +1 -0
  85. package/content/themes/source/assets/css/screen.css +3206 -0
  86. package/content/themes/source/assets/fonts/eb-garamond-italic.woff2 +0 -0
  87. package/content/themes/source/assets/fonts/eb-garamond-roman.woff2 +0 -0
  88. package/content/themes/source/assets/fonts/inter-roman.woff2 +0 -0
  89. package/content/themes/source/assets/fonts/jetbrains-mono-italic.woff2 +0 -0
  90. package/content/themes/source/assets/fonts/jetbrains-mono-roman.woff2 +0 -0
  91. package/content/themes/source/assets/images/default-skin.png +0 -0
  92. package/content/themes/source/assets/images/default-skin.svg +1 -0
  93. package/content/themes/source/assets/images/preloader.gif +0 -0
  94. package/content/themes/source/assets/js/casper.js +46 -0
  95. package/content/themes/source/assets/js/dropdown.js +86 -0
  96. package/content/themes/source/assets/js/lib/imagesloaded.pkgd.min.js +7 -0
  97. package/content/themes/source/assets/js/lib/photoswipe-ui-default.min.js +4 -0
  98. package/content/themes/source/assets/js/lib/photoswipe.min.js +4 -0
  99. package/content/themes/source/assets/js/lib/reframe.min.js +1 -0
  100. package/content/themes/source/assets/js/lightbox.js +103 -0
  101. package/content/themes/source/assets/js/pagination.js +95 -0
  102. package/content/themes/source/author.hbs +43 -0
  103. package/content/themes/source/default.hbs +65 -0
  104. package/content/themes/source/gulpfile.js +174 -0
  105. package/content/themes/source/home.hbs +12 -0
  106. package/content/themes/source/index.hbs +6 -0
  107. package/content/themes/source/package.json +202 -0
  108. package/content/themes/source/page.hbs +26 -0
  109. package/content/themes/source/partials/components/cta.hbs +25 -0
  110. package/content/themes/source/partials/components/featured.hbs +14 -0
  111. package/content/themes/source/partials/components/footer.hbs +35 -0
  112. package/content/themes/source/partials/components/header-content.hbs +81 -0
  113. package/content/themes/source/partials/components/header.hbs +19 -0
  114. package/content/themes/source/partials/components/navigation.hbs +53 -0
  115. package/content/themes/source/partials/components/post-list.hbs +114 -0
  116. package/content/themes/source/partials/email-subscription.hbs +8 -0
  117. package/content/themes/source/partials/feature-image.hbs +16 -0
  118. package/content/themes/source/partials/icons/arrow.hbs +1 -0
  119. package/content/themes/source/partials/icons/avatar.hbs +1 -0
  120. package/content/themes/source/partials/icons/burger.hbs +1 -0
  121. package/content/themes/source/partials/icons/checkmark.hbs +24 -0
  122. package/content/themes/source/partials/icons/close.hbs +1 -0
  123. package/content/themes/source/partials/icons/facebook.hbs +1 -0
  124. package/content/themes/source/partials/icons/fire.hbs +3 -0
  125. package/content/themes/source/partials/icons/loader.hbs +17 -0
  126. package/content/themes/source/partials/icons/lock.hbs +5 -0
  127. package/content/themes/source/partials/icons/rss.hbs +1 -0
  128. package/content/themes/source/partials/icons/search.hbs +1 -0
  129. package/content/themes/source/partials/icons/twitter.hbs +1 -0
  130. package/content/themes/source/partials/lightbox.hbs +41 -0
  131. package/content/themes/source/partials/post-card.hbs +37 -0
  132. package/content/themes/source/partials/search-toggle.hbs +3 -0
  133. package/content/themes/source/post.hbs +76 -0
  134. package/content/themes/source/tag.hbs +22 -0
  135. package/core/built/admin/assets/admin-x-settings/{CodeEditorView-b1c6a306.mjs → CodeEditorView-1643e910.mjs} +2 -2
  136. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +2 -2
  137. package/core/built/admin/assets/admin-x-settings/{index-02567620.mjs → index-b4c2ef5b.mjs} +2248 -2187
  138. package/core/built/admin/assets/admin-x-settings/{limit-service-bf02ec54.mjs → limit-service-c343d244.mjs} +2 -2
  139. package/core/built/admin/assets/admin-x-settings/modals-8b0aeacd.mjs +23887 -0
  140. package/core/built/admin/assets/{chunk.143.f2758c8aac6998f30b19.js → chunk.143.da2301d9edb6ad0b5496.js} +5 -5
  141. package/core/built/admin/assets/{chunk.178.1dd5d9b6741e78efa75a.js → chunk.178.efec05ab07e1e216d657.js} +4 -4
  142. package/core/built/admin/assets/{chunk.555.ba02d5a0095b4c4a7700.js → chunk.940.b09a2c2049ed9c373dd0.js} +55 -62
  143. package/core/built/admin/assets/{ghost-56045473f2cfd232419a9d27bf8225a5.js → ghost-193c98abe66483968da753e54917e87a.js} +115 -108
  144. package/core/built/admin/assets/ghost-9e454659c8c0896ed10336b640d1b1eb.css +1 -0
  145. package/core/built/admin/assets/ghost-dark-1d24186396fe74946c926faa9faa247b.css +1 -0
  146. package/core/built/admin/assets/img/themes/Source-Magazine-176385eb99561485ce6385598f7599b0.png +0 -0
  147. package/core/built/admin/assets/img/themes/Source-Newsletter-bb1a8611a326edb78f9ecb8bc1838c81.png +0 -0
  148. package/core/built/admin/assets/img/themes/Source-f29c6d6abe774ea7d5940a7431069fce.png +0 -0
  149. package/core/built/admin/assets/{vendor-5aa07b661eeb443bf7dd2c1de3b3f387.js → vendor-71d23939faaa5d1478ead73d917111b9.js} +48 -40
  150. package/core/built/admin/index.html +6 -6
  151. package/core/server/api/endpoints/recommendations.js +2 -1
  152. package/core/server/data/migrations/versions/5.67/2023-10-03-00-32-32-rollback-source-theme.js +40 -0
  153. package/core/server/data/schema/default-settings/default-settings.json +1 -1
  154. package/core/server/services/auth/setup.js +3 -3
  155. package/core/server/services/recommendations/RecommendationServiceWrapper.js +5 -4
  156. package/core/server/services/themes/storage.js +7 -7
  157. package/package.json +154 -154
  158. package/yarn.lock +221 -255
  159. package/components/tryghost-adapter-cache-memory-ttl-5.66.0.tgz +0 -0
  160. package/components/tryghost-adapter-manager-5.66.0.tgz +0 -0
  161. package/components/tryghost-announcement-bar-settings-5.66.0.tgz +0 -0
  162. package/components/tryghost-api-framework-5.66.0.tgz +0 -0
  163. package/components/tryghost-api-version-compatibility-service-5.66.0.tgz +0 -0
  164. package/components/tryghost-audience-feedback-5.66.0.tgz +0 -0
  165. package/components/tryghost-bookshelf-repository-5.66.0.tgz +0 -0
  166. package/components/tryghost-domain-events-5.66.0.tgz +0 -0
  167. package/components/tryghost-dynamic-routing-events-5.66.0.tgz +0 -0
  168. package/components/tryghost-email-analytics-provider-mailgun-5.66.0.tgz +0 -0
  169. package/components/tryghost-email-events-5.66.0.tgz +0 -0
  170. package/components/tryghost-email-suppression-list-5.66.0.tgz +0 -0
  171. package/components/tryghost-event-aware-cache-wrapper-5.66.0.tgz +0 -0
  172. package/components/tryghost-express-dynamic-redirects-5.66.0.tgz +0 -0
  173. package/components/tryghost-external-media-inliner-5.66.0.tgz +0 -0
  174. package/components/tryghost-extract-api-key-5.66.0.tgz +0 -0
  175. package/components/tryghost-i18n-5.66.0.tgz +0 -0
  176. package/components/tryghost-importer-handler-content-files-5.66.0.tgz +0 -0
  177. package/components/tryghost-importer-revue-5.66.0.tgz +0 -0
  178. package/components/tryghost-in-memory-repository-5.66.0.tgz +0 -0
  179. package/components/tryghost-link-replacer-5.66.0.tgz +0 -0
  180. package/components/tryghost-magic-link-5.66.0.tgz +0 -0
  181. package/components/tryghost-members-importer-5.66.0.tgz +0 -0
  182. package/components/tryghost-members-payments-5.66.0.tgz +0 -0
  183. package/components/tryghost-members-ssr-5.66.0.tgz +0 -0
  184. package/components/tryghost-mentions-email-report-5.66.0.tgz +0 -0
  185. package/components/tryghost-milestones-5.66.0.tgz +0 -0
  186. package/components/tryghost-minifier-5.66.0.tgz +0 -0
  187. package/components/tryghost-model-to-domain-event-interceptor-5.66.0.tgz +0 -0
  188. package/components/tryghost-mw-api-version-mismatch-5.66.0.tgz +0 -0
  189. package/components/tryghost-mw-cache-control-5.66.0.tgz +0 -0
  190. package/components/tryghost-mw-session-from-token-5.66.0.tgz +0 -0
  191. package/components/tryghost-mw-update-user-last-seen-5.66.0.tgz +0 -0
  192. package/components/tryghost-mw-version-match-5.66.0.tgz +0 -0
  193. package/components/tryghost-mw-vhost-5.66.0.tgz +0 -0
  194. package/components/tryghost-nql-filter-expansions-5.66.0.tgz +0 -0
  195. package/components/tryghost-oembed-service-5.66.0.tgz +0 -0
  196. package/components/tryghost-package-json-5.66.0.tgz +0 -0
  197. package/components/tryghost-post-events-5.66.0.tgz +0 -0
  198. package/components/tryghost-post-revisions-5.66.0.tgz +0 -0
  199. package/components/tryghost-posts-service-5.66.0.tgz +0 -0
  200. package/components/tryghost-recommendations-5.66.0.tgz +0 -0
  201. package/components/tryghost-referrers-5.66.0.tgz +0 -0
  202. package/components/tryghost-session-service-5.66.0.tgz +0 -0
  203. package/components/tryghost-slack-notifications-5.66.0.tgz +0 -0
  204. package/components/tryghost-staff-service-5.66.0.tgz +0 -0
  205. package/components/tryghost-stats-service-5.66.0.tgz +0 -0
  206. package/components/tryghost-tiers-5.66.0.tgz +0 -0
  207. package/components/tryghost-verification-trigger-5.66.0.tgz +0 -0
  208. package/core/built/admin/assets/admin-x-settings/modals-d2fd552b.mjs +0 -11622
  209. package/core/built/admin/assets/ghost-dark-54c925ac8f527d36132c18af7bef116e.css +0 -1
  210. package/core/built/admin/assets/ghost-f1a535bfec933b08a7a45f607cc245b1.css +0 -1
  211. /package/core/built/admin/assets/{chunk.555.ba02d5a0095b4c4a7700.js.LICENSE.txt → chunk.940.b09a2c2049ed9c373dd0.js.LICENSE.txt} +0 -0
@@ -0,0 +1,3206 @@
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. Variables
8
+ 2. Fonts
9
+ 3. Resets
10
+ 4. Globals
11
+ 5. Layout
12
+ 6. Navigation
13
+ 6.1. Navigation styles
14
+ 6.2. Navigation layouts
15
+ 6.3. Dropdown menu
16
+ 6.4. Mobile menu
17
+ 7. Card
18
+ 8. Header
19
+ 8.1. Magazine layout
20
+ 8.2. Highlight layout
21
+ 8.3. Classic layout
22
+ 9. CTA
23
+ 10. Featured posts
24
+ 11. Container
25
+ 11.1. With sidebar
26
+ 11.2. Without sidebar
27
+ 12. Post list
28
+ 12.1. List style
29
+ 12.2. Grid style
30
+ 12.3. No image list
31
+ 13. Sidebar
32
+ 14. Post/page
33
+ 14.1. Article
34
+ 14.2. Page template
35
+ 14.3. Page without header
36
+ 15. Content
37
+ 16. Cards
38
+ 17. Comments
39
+ 18. Recent posts
40
+ 19. Archive
41
+ 20. Design settings
42
+ 21. Footer
43
+ 21.1. Footer styles
44
+ 21.2. Footer bar
45
+ 21.3. Footer signup
46
+ 22. Lightbox
47
+
48
+ */
49
+
50
+ /* 1. Variables
51
+ /* ---------------------------------------------------------- */
52
+
53
+ :root {
54
+ --color-white: #fff;
55
+ --color-lighter-gray: rgb(0 0 0 / 0.05);
56
+ --color-light-gray: #e6e6e6;
57
+ --color-mid-gray: #ccc;
58
+ --color-dark-gray: #444;
59
+ --color-darker-gray: #15171a;
60
+ --color-black: #000;
61
+ --color-primary-text: var(--color-darker-gray);
62
+ --color-secondary-text: rgb(0 0 0 / 0.5);
63
+ --color-border: rgb(0 0 0 / 0.08);
64
+ --color-dark-border: rgb(0 0 0 / 0.5);
65
+ --font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
66
+ --font-serif: "EB Garamond", Georgia, Times, serif;
67
+ --font-serif-alt: Georgia, Times, serif;
68
+ --font-mono: "JetBrains Mono", Menlo, Consolas, Monaco, "Liberation Mono", "Lucida Console", monospace;
69
+ --container-width: 1320px;
70
+ --container-gap: clamp(24px, 1.7032rem + 1.9355vw, 48px);
71
+ --grid-gap: 42px;
72
+ }
73
+
74
+ :root.has-light-text,
75
+ :is(.gh-navigation, .gh-footer).has-accent-color {
76
+ --color-lighter-gray: rgb(255 255 255 / 0.1);
77
+ --color-darker-gray: #fff;
78
+ --color-secondary-text: rgb(255 255 255 / 0.64);
79
+ --color-border: rgb(255 255 255 / 0.15);
80
+ --color-dark-border: rgb(255 255 255 / 0.5);
81
+ }
82
+
83
+ /* 2. Fonts
84
+ /* ---------------------------------------------------------- */
85
+
86
+ @font-face {
87
+ font-family: "Inter";
88
+ font-style: normal;
89
+ font-weight: 100 900;
90
+ font-display: swap;
91
+ src: url(/assets/fonts/inter-roman.woff2) format("woff2");
92
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
93
+ }
94
+
95
+ @font-face {
96
+ font-family: "EB Garamond";
97
+ font-style: normal;
98
+ font-weight: 400 800;
99
+ font-display: swap;
100
+ src: url(/assets/fonts/eb-garamond-roman.woff2) format("woff2");
101
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
102
+ }
103
+
104
+ @font-face {
105
+ font-family: "EB Garamond";
106
+ font-style: italic;
107
+ font-weight: 400 800;
108
+ font-display: swap;
109
+ src: url(/assets/fonts/eb-garamond-italic.woff2) format("woff2");
110
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
111
+ }
112
+
113
+ @font-face {
114
+ font-family: "JetBrains Mono";
115
+ font-style: normal;
116
+ font-weight: 100 800;
117
+ font-display: swap;
118
+ src: url(/assets/fonts/jetbrains-mono-roman.woff2) format("woff2");
119
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
120
+ }
121
+
122
+ @font-face {
123
+ font-family: "JetBrains Mono";
124
+ font-style: italic;
125
+ font-weight: 100 800;
126
+ font-display: swap;
127
+ src: url(/assets/fonts/jetbrains-mono-italic.woff2) format("woff2");
128
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
129
+ }
130
+
131
+ /* 3. Resets
132
+ /* ---------------------------------------------------------- */
133
+
134
+ *, *::before, *::after {
135
+ box-sizing: border-box;
136
+ }
137
+
138
+ * {
139
+ margin: 0;
140
+ }
141
+
142
+ html {
143
+ font-size: 62.5%;
144
+ }
145
+
146
+ body {
147
+ line-height: 1.6;
148
+ -webkit-font-smoothing: antialiased;
149
+ -moz-osx-font-smoothing: grayscale;
150
+ }
151
+
152
+ img, picture, video, canvas, svg {
153
+ display: block;
154
+ height: auto;
155
+ max-width: 100%;
156
+ }
157
+
158
+ iframe {
159
+ display: block;
160
+ }
161
+
162
+ input, button, textarea, select {
163
+ font: inherit;
164
+ }
165
+
166
+ p, h1, h2, h3, h4, h5, h6 {
167
+ overflow-wrap: break-word;
168
+ }
169
+
170
+ h1, h2, h3, h4, h5, h6 {
171
+ line-height: 1.2;
172
+ }
173
+
174
+ /* 4. Globals
175
+ /* ---------------------------------------------------------- */
176
+
177
+ body {
178
+ font-family: var(--font-sans);
179
+ font-size: 1.6rem;
180
+ background-color: var(--background-color);
181
+ color: var(--color-primary-text);
182
+ }
183
+
184
+ a {
185
+ color: var(--color-darker-gray);
186
+ text-decoration: none;
187
+ }
188
+
189
+ a:hover {
190
+ opacity: 0.8;
191
+ }
192
+
193
+ .gh-button {
194
+ display: inline-flex;
195
+ gap: 0.4em;
196
+ align-items: center;
197
+ justify-content: center;
198
+ padding: 0.8em 1.4em;
199
+ font-size: 1.5rem;
200
+ font-weight: 600;
201
+ letter-spacing: -0.004em;
202
+ line-height: 1;
203
+ color: var(--color-white);
204
+ cursor: pointer;
205
+ background-color: var(--ghost-accent-color);
206
+ border: 0;
207
+ border-radius: 100px;
208
+ }
209
+
210
+ .gh-button:hover {
211
+ opacity: 0.95;
212
+ }
213
+
214
+ .gh-icon-button {
215
+ display: inline-flex;
216
+ align-items: center;
217
+ justify-content: center;
218
+ width: 32px;
219
+ height: 32px;
220
+ padding: 0;
221
+ color: var(--color-darker-gray);
222
+ cursor: pointer;
223
+ background-color: transparent;
224
+ border: 0;
225
+ outline: none;
226
+ }
227
+
228
+ .gh-icon-button:hover :is(svg, span) {
229
+ opacity: 0.8;
230
+ }
231
+
232
+ .gh-icon-button svg {
233
+ width: 20px;
234
+ height: 20px;
235
+ }
236
+
237
+ .gh-form {
238
+ display: flex;
239
+ align-items: center;
240
+ position: relative;
241
+ overflow: hidden;
242
+ max-width: 560px;
243
+ width: 100%;
244
+ height: 56px;
245
+ font-size: 1.7rem;
246
+ font-weight: 450;
247
+ letter-spacing: -0.008em;
248
+ border-radius: 40px;
249
+ background-color: var(--color-lighter-gray);
250
+ transition: background-color 0.2s ease;
251
+ }
252
+
253
+ .gh-form.success {
254
+ pointer-events: none;
255
+ }
256
+
257
+ .gh-form.error {
258
+ box-shadow: 0 0 0 1px red;
259
+ }
260
+
261
+ .gh-form:hover {
262
+ background-color: rgb(0 0 0 / 0.065);
263
+ }
264
+
265
+ .has-light-text .gh-form:hover,
266
+ .gh-footer.has-accent-color .gh-form:hover {
267
+ background-color: rgb(255 255 255 / 0.15);
268
+ }
269
+
270
+ .gh-form-input {
271
+ position: absolute;
272
+ inset: 0;
273
+ padding-inline: 26px;
274
+ width: 100%;
275
+ height: 100%;
276
+ font-size: inherit;
277
+ letter-spacing: inherit;
278
+ line-height: 1.1;
279
+ border: 0;
280
+ background-color: transparent;
281
+ outline: none;
282
+ transition: 0.3s ease-in-out;
283
+ }
284
+
285
+ .gh-form-input::placeholder,
286
+ button.gh-form-input {
287
+ color: rgb(0 0 0 / 0.3);
288
+ }
289
+
290
+ :is(.has-serif-title, .has-mono-title) .gh-form-input {
291
+ padding-inline: 20px;
292
+ }
293
+
294
+ .gh-form.gh-form.success .gh-form-input {
295
+ opacity: 0.5;
296
+ }
297
+
298
+ .has-light-text .gh-form-input,
299
+ .gh-footer.has-accent-color .gh-form-input {
300
+ color: #fff;
301
+ }
302
+
303
+ .has-light-text .gh-form-input::placeholder,
304
+ .has-light-text button.gh-form-input,
305
+ .gh-footer.has-accent-color .gh-form-input::placeholder {
306
+ color: rgb(255 255 255 / 0.55);
307
+ }
308
+
309
+ .gh-header.is-classic.has-image .gh-form-input {
310
+ color: #15171a;
311
+ }
312
+
313
+ .gh-header.is-classic.has-image .gh-form-input::placeholder,
314
+ .gh-header.is-classic.has-image button.gh-form-input,
315
+ .gh-header.is-classic.has-image .gh-form > svg {
316
+ color: rgb(0 0 0 / 0.5);
317
+ }
318
+
319
+ button.gh-form-input {
320
+ padding-inline-start: 56px;
321
+ text-align: left;
322
+ color: var(--color-secondary-text);
323
+ cursor: pointer;
324
+ }
325
+
326
+ :is(.has-serif-title,.has-mono-title) button.gh-form-input {
327
+ padding-inline-start: 50px;
328
+ }
329
+
330
+ .gh-form .gh-button {
331
+ position: absolute;
332
+ right: 6px;
333
+ padding-inline: 32px;
334
+ height: 44px;
335
+ font-size: inherit;
336
+ }
337
+
338
+ .gh-form > svg {
339
+ position: relative;
340
+ left: 22px;
341
+ width: 20px;
342
+ height: 20px;
343
+ color: var(--color-secondary-text);
344
+ }
345
+
346
+ :is(.has-serif-title,.has-mono-title) .gh-form > svg {
347
+ left: 16px;
348
+ }
349
+
350
+ .gh-form .gh-button svg {
351
+ display: none;
352
+ position: absolute;
353
+ margin-top: 1px;
354
+ }
355
+
356
+ .gh-form:is(.loading, .success) .gh-button span {
357
+ visibility: hidden;
358
+ }
359
+
360
+ .gh-form.loading .gh-button svg:first-of-type {
361
+ display: block;
362
+ }
363
+
364
+ .gh-form.success .gh-button svg:last-of-type {
365
+ display: block;
366
+ }
367
+
368
+ @media (max-width: 576px) {
369
+ .gh-form {
370
+ font-size: 1.6rem;
371
+ }
372
+
373
+ .gh-form .gh-button {
374
+ padding-inline: 12px;
375
+ }
376
+
377
+ .gh-form .gh-button span span {
378
+ display: none;
379
+ }
380
+
381
+ .gh-form .gh-button span svg {
382
+ display: inline;
383
+ position: static;
384
+ margin-top: 2px;
385
+ width: 20px;
386
+ height: 20px;
387
+ }
388
+ }
389
+
390
+ /* 5. Layout
391
+ /* ---------------------------------------------------------- */
392
+
393
+ .gh-viewport {
394
+ position: relative;
395
+ display: flex;
396
+ flex-direction: column;
397
+ min-height: 100vh;
398
+ }
399
+
400
+ .gh-outer {
401
+ padding: 0 max(4vmin, 20px);
402
+ }
403
+
404
+ .gh-outer .gh-outer {
405
+ padding: 0;
406
+ }
407
+
408
+ .gh-inner {
409
+ margin: 0 auto;
410
+ max-width: var(--container-width);
411
+ width: 100%;
412
+ }
413
+
414
+ .gh-main {
415
+ flex-grow: 1;
416
+ }
417
+
418
+ .gh-canvas,
419
+ .kg-width-full.kg-content-wide {
420
+ --main: min(var(--content-width, 720px), 100% - var(--container-gap) * 2);
421
+ --wide: minmax(0, calc((var(--container-width, 1200px) - var(--content-width, 720px)) / 2));
422
+ --full: minmax(var(--container-gap), 1fr);
423
+
424
+ display: grid;
425
+ grid-template-columns:
426
+ [full-start] var(--full)
427
+ [wide-start] var(--wide)
428
+ [main-start] var(--main) [main-end]
429
+ var(--wide) [wide-end]
430
+ var(--full) [full-end];
431
+ }
432
+
433
+ .gh-canvas > * {
434
+ grid-column: main;
435
+ }
436
+
437
+ .kg-width-wide,
438
+ .kg-content-wide > div {
439
+ grid-column: wide;
440
+ }
441
+
442
+ .kg-width-full {
443
+ grid-column: full;
444
+ }
445
+
446
+ /* 6. Navigation
447
+ /* ---------------------------------------------------------- */
448
+
449
+ .gh-navigation {
450
+ height: 100px;
451
+ font-size: 1.5rem;
452
+ font-weight: 550;
453
+ background-color: var(--background-color);
454
+ color: var(--color-darker-gray);
455
+ }
456
+
457
+ .gh-navigation :is(.gh-navigation-logo, a:not(.gh-button), .gh-icon-button) {
458
+ color: inherit;
459
+ }
460
+
461
+ .gh-navigation-inner {
462
+ display: grid;
463
+ grid-auto-flow: row dense;
464
+ column-gap: 24px;
465
+ align-items: center;
466
+ height: 100%;
467
+ }
468
+
469
+ .gh-navigation-brand {
470
+ line-height: 1;
471
+ }
472
+
473
+ .gh-navigation-logo {
474
+ position: relative;
475
+ font-size: calc(2.4rem * var(--factor, 1));
476
+ font-weight: 725;
477
+ letter-spacing: -0.015em;
478
+ white-space: nowrap;
479
+ }
480
+
481
+ .gh-navigation-logo img {
482
+ max-height: 40px;
483
+ }
484
+
485
+ .gh-navigation-menu {
486
+ display: flex;
487
+ gap: 24px;
488
+ align-items: center;
489
+ }
490
+
491
+ .gh-navigation .nav {
492
+ display: inline-flex;
493
+ gap: 28px;
494
+ align-items: center;
495
+ padding: 0;
496
+ margin: 0;
497
+ white-space: nowrap;
498
+ list-style: none;
499
+ }
500
+
501
+ .gh-navigation .gh-more-toggle {
502
+ position: relative;
503
+ margin: 0 -6px;
504
+ font-size: inherit;
505
+ text-transform: inherit;
506
+ }
507
+
508
+ .gh-navigation .gh-more-toggle svg {
509
+ width: 24px;
510
+ height: 24px;
511
+ }
512
+
513
+ .gh-navigation-actions {
514
+ display: flex;
515
+ gap: 24px;
516
+ align-items: center;
517
+ justify-content: flex-end;
518
+ }
519
+
520
+ .gh-navigation-members {
521
+ display: flex;
522
+ gap: 20px;
523
+ align-items: center;
524
+ white-space: nowrap;
525
+ }
526
+
527
+ .gh-navigation-members .gh-button {
528
+ font-size: inherit;
529
+ font-weight: 600;
530
+ }
531
+
532
+ .gh-search {
533
+ margin-right: -2px;
534
+ margin-left: -2px;
535
+ }
536
+
537
+ @media (max-width: 767px) {
538
+ .gh-navigation-logo {
539
+ white-space: normal;
540
+ }
541
+
542
+ .gh-navigation-members {
543
+ flex-direction: column-reverse;
544
+ gap: 16px;
545
+ width: 100%;
546
+ }
547
+
548
+ .gh-navigation-actions .gh-search {
549
+ display: none;
550
+ }
551
+ }
552
+
553
+ @media (min-width: 768px) {
554
+ .gh-navigation-brand .gh-search {
555
+ display: none;
556
+ }
557
+
558
+ .gh-navigation:not(.is-dropdown-loaded) .gh-navigation-menu .nav > li {
559
+ opacity: 0;
560
+ }
561
+ }
562
+
563
+ /* 6.1. Navigation styles */
564
+
565
+ .gh-navigation.has-accent-color {
566
+ background-color: var(--ghost-accent-color);
567
+ }
568
+
569
+ .gh-navigation.has-accent-color .gh-button {
570
+ background-color: #fff;
571
+ color: #15171a;
572
+ }
573
+
574
+ /* 6.2. Navigation layouts */
575
+
576
+ /*
577
+ ======================================================================
578
+ LOGO Home About Collection Author Portal Login Subscribe
579
+ ======================================================================
580
+ */
581
+
582
+ .gh-navigation.is-left-logo .gh-navigation-inner {
583
+ grid-template-columns: auto 1fr auto;
584
+ }
585
+
586
+ @media (min-width: 768px) {
587
+ .gh-navigation.is-left-logo .gh-navigation-logo:not(:has(img)) {
588
+ top: -2px;
589
+ }
590
+ }
591
+
592
+ @media (min-width: 992px) {
593
+ .gh-navigation.is-left-logo .gh-navigation-menu {
594
+ margin-right: 100px;
595
+ margin-left: 16px;
596
+ }
597
+ }
598
+
599
+ /*
600
+ ======================================================================
601
+ Home About Collection LOGO Login Subscribe
602
+ ======================================================================
603
+ */
604
+
605
+ .gh-navigation.is-middle-logo .gh-navigation-inner {
606
+ grid-template-columns: 1fr auto 1fr;
607
+ }
608
+
609
+ .gh-navigation.is-middle-logo .gh-navigation-brand {
610
+ grid-column-start: 2;
611
+ }
612
+
613
+ .gh-navigation.is-middle-logo .gh-navigation-actions {
614
+ gap: 28px;
615
+ }
616
+
617
+ @media (min-width: 992px) {
618
+ .gh-navigation.is-middle-logo .gh-navigation-menu {
619
+ margin-right: 64px;
620
+ }
621
+ }
622
+
623
+ /*
624
+ ======================================================================
625
+ Search LOGO Login Subscribe
626
+ Home About Collection Author Portal
627
+ ======================================================================
628
+ */
629
+
630
+ .gh-navigation.is-stacked {
631
+ position: relative;
632
+ height: auto;
633
+ }
634
+
635
+ .gh-navigation.is-stacked .gh-navigation-inner {
636
+ grid-template-columns: 1fr auto 1fr;
637
+ }
638
+
639
+ .gh-navigation.is-stacked .gh-navigation-brand {
640
+ display: flex;
641
+ align-items: center;
642
+ grid-row-start: 1;
643
+ grid-column-start: 2;
644
+ min-height: 80px;
645
+ }
646
+
647
+ @media (max-width: 767px) {
648
+ .gh-navigation.is-stacked .gh-navigation-brand {
649
+ min-height: unset;
650
+ }
651
+ }
652
+
653
+ @media (min-width: 992px) {
654
+ .gh-navigation.is-stacked .gh-navigation-inner {
655
+ padding: 0;
656
+ }
657
+
658
+ .gh-navigation.is-stacked .gh-navigation-brand {
659
+ display: flex;
660
+ align-items: center;
661
+ height: 80px;
662
+ }
663
+
664
+ .gh-navigation.is-stacked .gh-navigation-menu {
665
+ grid-row-start: 2;
666
+ grid-column: 1 / 4;
667
+ justify-content: center;
668
+ height: 60px;
669
+ margin: 0 48px;
670
+ }
671
+
672
+ .gh-navigation.is-stacked .gh-navigation-menu::before,
673
+ .gh-navigation.is-stacked .gh-navigation-menu::after {
674
+ position: absolute;
675
+ top: 80px;
676
+ left: 0;
677
+ width: 100%;
678
+ height: 1px;
679
+ content: "";
680
+ background-color: var(--color-border);
681
+ }
682
+
683
+ .gh-navigation.is-stacked .gh-navigation-menu::after {
684
+ top: 140px;
685
+ }
686
+
687
+ .gh-navigation.is-stacked .gh-navigation-actions {
688
+ grid-row-start: 1;
689
+ grid-column: 1 / 4;
690
+ justify-content: space-between;
691
+ }
692
+
693
+ .gh-navigation.is-stacked .gh-navigation-actions .gh-search {
694
+ display: flex;
695
+ gap: 10px;
696
+ width: auto;
697
+ }
698
+ }
699
+
700
+ /* 6.3. Dropdown menu */
701
+
702
+ .gh-dropdown {
703
+ position: absolute;
704
+ top: 100%;
705
+ right: -16px;
706
+ z-index: 90;
707
+ width: 200px;
708
+ padding: 12px 0;
709
+ margin-top: 24px;
710
+ text-align: left;
711
+ visibility: hidden;
712
+ background-color: #fff;
713
+ border-radius: 5px;
714
+ box-shadow: 0 0 0 1px rgb(0 0 0 / 0.04), 0 7px 20px -5px rgb(0 0 0 / 0.15);
715
+ opacity: 0;
716
+ transition: opacity 0.3s, transform 0.2s;
717
+ transform: translate3d(0, 6px, 0);
718
+ }
719
+
720
+ .is-middle-logo .gh-dropdown {
721
+ right: auto;
722
+ left: -24px;
723
+ }
724
+
725
+ .is-dropdown-mega .gh-dropdown {
726
+ display: grid;
727
+ grid-template-columns: 1fr 1fr;
728
+ grid-auto-flow: column;
729
+ column-gap: 40px;
730
+ width: auto;
731
+ padding: 20px 32px;
732
+ }
733
+
734
+ .is-dropdown-open .gh-dropdown {
735
+ visibility: visible;
736
+ opacity: 1;
737
+ transform: translateY(0);
738
+ }
739
+
740
+ .gh-dropdown li a {
741
+ display: block;
742
+ padding: 7px 20px;
743
+ line-height: 1.5;
744
+ white-space: normal;
745
+ color: #15171a !important;
746
+ }
747
+
748
+ .is-dropdown-mega .gh-dropdown li a {
749
+ padding: 8px 0;
750
+ }
751
+
752
+ /* 6.4. Mobile menu */
753
+
754
+ .gh-burger {
755
+ display: flex;
756
+ justify-content: center;
757
+ align-items: center;
758
+ position: relative;
759
+ display: none;
760
+ margin-right: -7px;
761
+ margin-left: 4px;
762
+ }
763
+
764
+ .gh-burger svg {
765
+ width: 24px;
766
+ height: 24px;
767
+ }
768
+
769
+ .gh-burger svg:last-child {
770
+ display: none;
771
+ }
772
+
773
+ .is-open .gh-burger svg:first-child {
774
+ display: none;
775
+ }
776
+
777
+ .is-open .gh-burger svg:last-child {
778
+ display: block;
779
+ }
780
+
781
+ @media (max-width: 767px) {
782
+ .gh-burger {
783
+ display: flex;
784
+ }
785
+
786
+ #gh-navigation {
787
+ height: 64px;
788
+ }
789
+
790
+ #gh-navigation .gh-navigation-inner {
791
+ grid-template-rows: auto 1fr auto;
792
+ grid-template-columns: 1fr;
793
+ gap: 48px;
794
+ }
795
+
796
+ #gh-navigation .gh-navigation-brand {
797
+ display: grid;
798
+ grid-template-columns: 1fr auto auto;
799
+ grid-column-start: 1;
800
+ align-items: center;
801
+ height: 64px;
802
+ }
803
+
804
+ #gh-navigation .gh-navigation-logo {
805
+ font-size: 2.2rem;
806
+ }
807
+
808
+ #gh-navigation .gh-navigation-menu,
809
+ #gh-navigation .gh-navigation-actions {
810
+ position: fixed;
811
+ justify-content: center;
812
+ visibility: hidden;
813
+ opacity: 0;
814
+ }
815
+
816
+ #gh-navigation .gh-navigation-menu {
817
+ transition: none;
818
+ transform: translateY(0);
819
+ }
820
+
821
+ #gh-navigation .nav {
822
+ gap: 20px;
823
+ align-items: center;
824
+ line-height: 1.4;
825
+ }
826
+
827
+ #gh-navigation .nav a {
828
+ font-size: 1.75rem;
829
+ font-weight: 600;
830
+ text-transform: none;
831
+ }
832
+
833
+ #gh-navigation .nav li {
834
+ opacity: 0;
835
+ transform: translateY(-4px);
836
+ }
837
+
838
+ #gh-navigation .gh-navigation-actions {
839
+ text-align: center;
840
+ }
841
+
842
+ #gh-navigation :is(.gh-button, a[data-portal="signin"]) {
843
+ opacity: 0;
844
+ transform: translateY(8px);
845
+ }
846
+
847
+ #gh-navigation .gh-button {
848
+ width: 100%;
849
+ font-size: 1.75rem;
850
+ text-transform: none;
851
+ }
852
+
853
+ #gh-navigation a[data-portal="signin"] {
854
+ font-size: 1.75rem;
855
+ }
856
+
857
+ #gh-main {
858
+ transition: opacity 0.4s;
859
+ }
860
+
861
+ .is-open#gh-navigation {
862
+ position: fixed;
863
+ inset: 0;
864
+ z-index: 3999999;
865
+ height: 100%;
866
+ overflow-y: scroll;
867
+ -webkit-overflow-scrolling: touch;
868
+ }
869
+
870
+ .is-open#gh-navigation .gh-navigation-menu,
871
+ .is-open#gh-navigation .gh-navigation-actions {
872
+ position: static;
873
+ visibility: visible;
874
+ opacity: 1;
875
+ }
876
+
877
+ .is-open#gh-navigation .nav {
878
+ display: flex;
879
+ flex-direction: column;
880
+ }
881
+
882
+ .is-open#gh-navigation .nav li {
883
+ opacity: 1;
884
+ transition: transform 0.2s, opacity 0.2s;
885
+ transform: translateY(0);
886
+ }
887
+
888
+ .is-open#gh-navigation .gh-navigation-actions {
889
+ position: sticky;
890
+ right: 0;
891
+ bottom: 0;
892
+ left: 0;
893
+ display: inline-flex;
894
+ flex-direction: column;
895
+ gap: 12px;
896
+ align-items: center;
897
+ padding: var(--container-gap) 0;
898
+ }
899
+
900
+ .is-open#gh-navigation :is(.gh-button, a[data-portal="signin"]) {
901
+ opacity: 1;
902
+ transition: transform 0.4s, opacity 0.4s;
903
+ transition-delay: 0.2s;
904
+ transform: translateY(0);
905
+ }
906
+
907
+ .is-open#gh-navigation a[data-portal="signin"] {
908
+ transition-delay: 0.4s;
909
+ }
910
+
911
+ .is-open#gh-main {
912
+ opacity: 0;
913
+ }
914
+ }
915
+
916
+ /* 7. Card
917
+ /* ---------------------------------------------------------- */
918
+
919
+ .gh-card {
920
+ position: relative;
921
+ }
922
+
923
+ .gh-card-link {
924
+ display: flex;
925
+ flex-direction: column;
926
+ gap: 20px;
927
+ }
928
+
929
+ .gh-card-link:hover {
930
+ opacity: 1;
931
+ }
932
+
933
+ .gh-card-image {
934
+ position: relative;
935
+ flex-shrink: 0;
936
+ aspect-ratio: 16 / 9;
937
+ }
938
+
939
+ .gh-card-image img {
940
+ position: absolute;
941
+ inset: 0;
942
+ width: 100%;
943
+ height: 100%;
944
+ object-fit: cover;
945
+ }
946
+
947
+ .gh-card-wrapper {
948
+ flex-grow: 1;
949
+ }
950
+
951
+ .gh-card-tag {
952
+ display: none;
953
+ margin-bottom: 4px;
954
+ font-size: 1.2rem;
955
+ font-weight: 500;
956
+ letter-spacing: 0.01em;
957
+ text-transform: uppercase;
958
+ }
959
+
960
+ .gh-card-title {
961
+ font-size: calc(1.9rem * var(--factor, 1));
962
+ font-weight: 725;
963
+ letter-spacing: -0.014em;
964
+ line-height: 1.3;
965
+ }
966
+
967
+ .gh-card-link:hover .gh-card-title {
968
+ opacity: 0.8;
969
+ }
970
+
971
+ .gh-card-excerpt {
972
+ display: -webkit-box;
973
+ overflow-y: hidden;
974
+ margin-top: 8px;
975
+ max-width: 720px;
976
+ font-size: 1.45rem;
977
+ line-height: 1.4;
978
+ -webkit-line-clamp: 2;
979
+ -webkit-box-orient: vertical;
980
+ }
981
+
982
+ .gh-card-meta {
983
+ display: flex;
984
+ gap: 4px;
985
+ flex-wrap: wrap;
986
+ padding-bottom: 1px;
987
+ font-size: 1.25rem;
988
+ font-weight: 500;
989
+ line-height: 1.05;
990
+ letter-spacing: -0.004em;
991
+ color: var(--color-secondary-text);
992
+ }
993
+
994
+ .gh-card-meta:not(:empty) {
995
+ margin-top: 12px;
996
+ }
997
+
998
+ .gh-card-author + .gh-card-date::before {
999
+ content: "—";
1000
+ margin-right: 4px;
1001
+ }
1002
+
1003
+ /* 8. Header
1004
+ /* ---------------------------------------------------------- */
1005
+
1006
+ .gh-header {
1007
+ position: relative;
1008
+ margin-top: 40px;
1009
+ }
1010
+
1011
+ .gh-header-inner {
1012
+ position: relative;
1013
+ overflow: hidden;
1014
+ }
1015
+
1016
+ /* 8.1. Magazine layout */
1017
+
1018
+ .gh-header.is-magazine .gh-header-inner {
1019
+ display: grid;
1020
+ grid-template-columns: repeat(16, 1fr);
1021
+ gap: var(--grid-gap);
1022
+ }
1023
+
1024
+ .gh-header.is-magazine .gh-header-inner > div {
1025
+ display: flex;
1026
+ flex-direction: column;
1027
+ gap: var(--grid-gap);
1028
+ grid-row: 1;
1029
+ }
1030
+
1031
+ .gh-header.is-magazine .gh-header-left {
1032
+ grid-column: 1 / span 4;
1033
+ }
1034
+
1035
+ .gh-header.is-magazine .gh-header-inner > .gh-card {
1036
+ position: relative;
1037
+ grid-column: 5 / span 8;
1038
+ }
1039
+
1040
+ .gh-header.is-magazine .gh-header-right {
1041
+ grid-column: 13 / -1;
1042
+ }
1043
+
1044
+ .gh-header.is-magazine .gh-header-inner > .gh-card .gh-card-link {
1045
+ gap: 28px;
1046
+ }
1047
+
1048
+ .gh-header.is-magazine .gh-header-inner > .gh-card .gh-card-image {
1049
+ aspect-ratio: 1.618033;
1050
+ }
1051
+
1052
+ .gh-header.is-magazine .gh-header-inner > .gh-card .gh-card-tag {
1053
+ display: block;
1054
+ margin-bottom: 12px;
1055
+ }
1056
+
1057
+ .gh-header.is-magazine .gh-header-inner > .gh-card .gh-card-title {
1058
+ font-size: clamp(2.8rem, 1.36vw + 2.25rem, 4rem);
1059
+ font-weight: 700;
1060
+ line-height: 1.1;
1061
+ letter-spacing: -0.022em;
1062
+ }
1063
+
1064
+ .gh-header.is-magazine .gh-header-inner > .gh-card .gh-card-excerpt {
1065
+ margin-top: clamp(12px, 0.45vw + 10.18px, 16px);
1066
+ font-size: 1.8rem;
1067
+ letter-spacing: -0.02em;
1068
+ max-width: 90%;
1069
+ }
1070
+
1071
+ .gh-header.is-magazine .gh-header-inner > .gh-card .gh-card-meta:not(:empty) {
1072
+ margin-top: 14px;
1073
+ }
1074
+
1075
+ .gh-header.is-magazine :is(.gh-header-left, .gh-header-right) .gh-card:last-child .gh-card-image {
1076
+ display: none;
1077
+ }
1078
+
1079
+ .gh-header.is-magazine .gh-header-inner > div .gh-card-excerpt {
1080
+ display: none;
1081
+ }
1082
+
1083
+ .gh-header.is-magazine .gh-header-inner > .gh-card::before,
1084
+ .gh-header.is-magazine .gh-header-inner > .gh-card::after {
1085
+ position: absolute;
1086
+ top: 0;
1087
+ left: calc(var(--grid-gap) / -2);
1088
+ content: "";
1089
+ width: 1px;
1090
+ height: 100%;
1091
+ background-color: var(--color-border);
1092
+ }
1093
+
1094
+ .gh-header.is-magazine .gh-header-inner > .gh-card::after {
1095
+ right: calc(var(--grid-gap) / -2);
1096
+ left: auto;
1097
+ }
1098
+
1099
+ .gh-header.is-magazine .gh-header-inner > div .gh-card + .gh-card::before {
1100
+ position: absolute;
1101
+ top: calc(var(--grid-gap) / -2);
1102
+ left: 0;
1103
+ content: "";
1104
+ width: 100%;
1105
+ height: 1px;
1106
+ background-color: var(--color-border);
1107
+ }
1108
+
1109
+ @media (max-width: 1199px) {
1110
+ .gh-header.is-magazine .gh-header-inner {
1111
+ grid-template-columns: repeat(12, 1fr);
1112
+ }
1113
+
1114
+ .gh-header.is-magazine .gh-header-inner > .gh-card {
1115
+ grid-column: 1 / span 8;
1116
+ }
1117
+
1118
+ .gh-header.is-magazine .gh-header-left {
1119
+ grid-column: 9 / -1;
1120
+ }
1121
+
1122
+ .gh-header.is-magazine .gh-header-inner > div.gh-header-right {
1123
+ grid-column: 1 / -1;
1124
+ grid-row: 2;
1125
+ flex-direction: row;
1126
+ }
1127
+
1128
+ .gh-header.is-magazine .gh-header-right .gh-card {
1129
+ flex: 1;
1130
+ }
1131
+
1132
+ .gh-header.is-magazine .gh-header-right .gh-card:last-child .gh-card-image {
1133
+ display: block;
1134
+ }
1135
+
1136
+ .gh-header.is-magazine .gh-header-right {
1137
+ position: relative;
1138
+ }
1139
+
1140
+ .gh-header.is-magazine .gh-header-right::before {
1141
+ position: absolute;
1142
+ top: calc(var(--grid-gap) / -2);
1143
+ left: 0;
1144
+ content: "";
1145
+ width: 100%;
1146
+ height: 1px;
1147
+ background-color: var(--color-border);
1148
+ }
1149
+
1150
+ .gh-header.is-magazine .gh-header-right .gh-card::before {
1151
+ display: none;
1152
+ }
1153
+
1154
+ .gh-header.is-magazine .gh-header-right .gh-card::after {
1155
+ position: absolute;
1156
+ top: 0;
1157
+ right: calc(var(--grid-gap) / -2);
1158
+ content: "";
1159
+ width: 1px;
1160
+ height: 100%;
1161
+ background-color: var(--color-border);
1162
+ }
1163
+ }
1164
+
1165
+ @media (max-width: 991px) {
1166
+ .gh-header.is-magazine .gh-header-left .gh-card:nth-child(2) .gh-card-image {
1167
+ display: none;
1168
+ }
1169
+ }
1170
+
1171
+ @media (max-width: 767px) {
1172
+ .gh-header.is-magazine .gh-header-inner {
1173
+ display: flex;
1174
+ flex-direction: column;
1175
+ gap: var(--grid-gap);
1176
+ }
1177
+
1178
+ .gh-header.is-magazine .gh-header-inner > div.gh-header-right {
1179
+ flex-direction: column;
1180
+ }
1181
+
1182
+ .gh-header.is-magazine .gh-card-image {
1183
+ display: block !important;
1184
+ }
1185
+
1186
+ .gh-header.is-magazine .gh-card::before {
1187
+ display: block !important;
1188
+ position: absolute;
1189
+ top: calc(var(--grid-gap) / -2);
1190
+ left: 0;
1191
+ content: "";
1192
+ width: 100%;
1193
+ height: 1px;
1194
+ background-color: var(--color-border);
1195
+ }
1196
+ }
1197
+
1198
+ /* 8.2. Highlight layout */
1199
+
1200
+ .gh-header.is-highlight .gh-header-inner {
1201
+ display: grid;
1202
+ grid-template-columns: repeat(16, 1fr);
1203
+ gap: var(--grid-gap);
1204
+ }
1205
+
1206
+ .gh-header.is-highlight .gh-header-left {
1207
+ position: relative;
1208
+ grid-column: span 8;
1209
+ }
1210
+
1211
+ .gh-header.is-highlight .gh-header-left .gh-card {
1212
+ grid-column: span 8;
1213
+ grid-row: span 3;
1214
+ }
1215
+
1216
+ .gh-header.is-highlight .gh-header-left .gh-card .gh-card-link {
1217
+ gap: 28px;
1218
+ }
1219
+
1220
+ .gh-header.is-highlight .gh-header-left .gh-card .gh-card-image {
1221
+ aspect-ratio: 3 / 2;
1222
+ }
1223
+
1224
+ .gh-header.is-highlight .gh-header-left .gh-card .gh-card-tag {
1225
+ display: block;
1226
+ margin-bottom: 12px;
1227
+ }
1228
+
1229
+ .gh-header.is-highlight .gh-header-left .gh-card .gh-card-title {
1230
+ font-size: clamp(2.8rem, 1.36vw + 2.25rem, 4rem);
1231
+ font-weight: 700;
1232
+ line-height: 1.1;
1233
+ letter-spacing: -0.022em;
1234
+ }
1235
+
1236
+ .gh-header.is-highlight .gh-header-left .gh-card .gh-card-excerpt {
1237
+ margin-top: clamp(12px, 0.45vw + 10.18px, 16px);
1238
+ font-size: 1.8rem;
1239
+ }
1240
+
1241
+ .gh-header.is-highlight .gh-header-left .gh-card .gh-card-meta:not(:empty) {
1242
+ margin-top: 14px;
1243
+ }
1244
+
1245
+ .gh-header.is-highlight .gh-header-middle {
1246
+ position: relative;
1247
+ display: flex;
1248
+ flex-direction: column;
1249
+ gap: var(--grid-gap);
1250
+ grid-column: 9 / span 4;
1251
+ }
1252
+
1253
+ .gh-header.is-highlight .gh-header-middle .gh-card:last-child .gh-card-image {
1254
+ display: none;
1255
+ }
1256
+
1257
+ .gh-header.is-highlight .gh-header-middle .gh-card .gh-card-excerpt {
1258
+ display: none;
1259
+ }
1260
+
1261
+ .gh-header.is-highlight .gh-header-right {
1262
+ grid-column: 13 / -1;
1263
+ }
1264
+
1265
+ .gh-header.is-highlight .gh-featured {
1266
+ margin-top: 0;
1267
+ padding: 0;
1268
+ }
1269
+
1270
+ .gh-header.is-highlight .gh-featured-feed {
1271
+ display: flex;
1272
+ flex-direction: column;
1273
+ }
1274
+
1275
+ .gh-header.is-highlight .gh-featured-feed .gh-card-title {
1276
+ font-size: clamp(1.4rem, 0.23vw + 1.31rem, 1.6rem);
1277
+ }
1278
+
1279
+ .gh-header.is-highlight .gh-header-left::after,
1280
+ .gh-header.is-highlight .gh-header-middle::after {
1281
+ position: absolute;
1282
+ top: 0;
1283
+ right: calc(var(--grid-gap) / -2);
1284
+ content: "";
1285
+ width: 1px;
1286
+ height: 100%;
1287
+ background-color: var(--color-border);
1288
+ }
1289
+
1290
+ .gh-header.is-highlight .gh-card::before {
1291
+ position: absolute;
1292
+ top: calc(var(--grid-gap) / -2);
1293
+ left: 0;
1294
+ content: "";
1295
+ width: 100%;
1296
+ height: 1px;
1297
+ background-color: var(--color-border);
1298
+ }
1299
+
1300
+ .gh-header.is-highlight .gh-featured .gh-card:first-child::before {
1301
+ display: none;
1302
+ }
1303
+
1304
+ @media (max-width: 1199px) {
1305
+ .gh-header.is-highlight .gh-header-inner {
1306
+ grid-template-columns: repeat(9, 1fr);
1307
+ }
1308
+
1309
+ .gh-header.is-highlight .gh-header-left {
1310
+ grid-column: span 6;
1311
+ }
1312
+
1313
+ .gh-header.is-highlight .gh-header-middle {
1314
+ grid-column: 7 / -1;
1315
+ }
1316
+
1317
+ .gh-header.is-highlight .gh-header-right {
1318
+ grid-column: 1 / -1;
1319
+ }
1320
+
1321
+ .gh-header.is-highlight .gh-featured-feed {
1322
+ display: grid;
1323
+ grid-template-columns: repeat(3, 1fr);
1324
+ }
1325
+
1326
+ .gh-header.is-highlight .gh-featured-feed .gh-card:before {
1327
+ width: calc(100% + var(--grid-gap));
1328
+ }
1329
+
1330
+ .gh-header.is-highlight .gh-featured-feed .gh-card::after {
1331
+ position: absolute;
1332
+ top: 0;
1333
+ left: calc(var(--grid-gap) / -2);
1334
+ content: "";
1335
+ width: 1px;
1336
+ height: 100%;
1337
+ background-color: var(--color-border);
1338
+ }
1339
+ }
1340
+
1341
+ @media (max-width: 991px) {
1342
+ .gh-header.is-highlight .gh-header-middle .gh-card:nth-child(2) .gh-card-image {
1343
+ display: none;
1344
+ }
1345
+ }
1346
+
1347
+ @media (max-width: 767px) {
1348
+ .gh-header.is-highlight .gh-header-inner {
1349
+ display: flex;
1350
+ flex-direction: column;
1351
+ }
1352
+
1353
+ .gh-header.is-highlight .gh-featured-feed {
1354
+ display: flex;
1355
+ /* gap: var(--grid-gap); */
1356
+ }
1357
+
1358
+ .gh-header.is-highlight .gh-card-image {
1359
+ display: block !important;
1360
+ }
1361
+
1362
+ .gh-header.is-highlight .gh-header-middle .gh-card .gh-card-excerpt {
1363
+ display: -webkit-box;
1364
+ }
1365
+ }
1366
+
1367
+ /* 8.3. Classic layout */
1368
+
1369
+ .gh-header.is-classic {
1370
+ display: flex;
1371
+ margin-top: 0;
1372
+ padding-block: 160px;
1373
+ }
1374
+
1375
+ .gh-header.is-classic .gh-header-inner {
1376
+ display: flex;
1377
+ flex-direction: column;
1378
+ align-items: center;
1379
+ gap: 48px;
1380
+ margin: auto;
1381
+ max-width: 1020px;
1382
+ text-align: center;
1383
+ }
1384
+
1385
+ .gh-header.is-classic .gh-header-title {
1386
+ font-size: calc(clamp(3rem, 1.82vw + 2.27rem, 4.6rem) * var(--factor, 1));
1387
+ line-height: 1.1;
1388
+ letter-spacing: -0.028em;
1389
+ }
1390
+
1391
+ .gh-header.is-classic.has-image {
1392
+ margin-top: 0;
1393
+ }
1394
+
1395
+ .gh-header.is-classic.has-image::before {
1396
+ position: absolute;
1397
+ inset: 0;
1398
+ content: "";
1399
+ opacity: 0.3;
1400
+ background-color: var(--color-black);
1401
+ transition: opacity 1.5s ease;
1402
+ }
1403
+
1404
+ .gh-header.is-classic.has-image .gh-header-inner {
1405
+ color: #fff;
1406
+ }
1407
+
1408
+ .gh-header.is-classic.has-image .gh-header-image {
1409
+ position: absolute;
1410
+ inset: 0;
1411
+ z-index: -1;
1412
+ width: 100%;
1413
+ height: 100%;
1414
+ object-fit: cover;
1415
+ }
1416
+
1417
+ .gh-header.is-classic.has-image .gh-form {
1418
+ background-color: #fff;
1419
+ }
1420
+
1421
+ /* 9. CTA
1422
+ /* ---------------------------------------------------------- */
1423
+
1424
+ .gh-cta {
1425
+ display: none;
1426
+ margin-top: max(4vw, 40px);
1427
+ }
1428
+
1429
+ .gh-header:is(.is-highlight, .is-magazine) + .gh-cta {
1430
+ display: block;
1431
+ }
1432
+
1433
+ .gh-cta-inner {
1434
+ position: relative;
1435
+ overflow: hidden;
1436
+ display: flex;
1437
+ flex-direction: column;
1438
+ align-items: center;
1439
+ gap: 36px;
1440
+ padding: clamp(48px, 3.64vw + 33.45px, 80px) clamp(40px, 2.73vw + 29.09px, 64px);
1441
+ text-align: center;
1442
+ background-color: var(--color-lighter-gray);
1443
+ }
1444
+
1445
+ .gh-cta-content {
1446
+ max-width: 640px;
1447
+ }
1448
+
1449
+ .gh-cta-title {
1450
+ font-size: clamp(2.8rem,1.36vw + 2.25rem,4rem);
1451
+ font-weight: 700;
1452
+ line-height: 1.1;
1453
+ letter-spacing: -0.021em;
1454
+ }
1455
+
1456
+ .gh-cta-description {
1457
+ margin-top: 12px;
1458
+ font-size: 1.8rem;
1459
+ line-height: 1.4;
1460
+ letter-spacing: -0.015em;
1461
+ }
1462
+
1463
+ /* 10. Featured posts
1464
+ /* ---------------------------------------------------------- */
1465
+
1466
+ .gh-featured {
1467
+ margin-top: 100px;
1468
+ }
1469
+
1470
+ .gh-navigation + .gh-featured {
1471
+ margin-top: 64px;
1472
+ }
1473
+
1474
+ .gh-header.is-classic:not(.has-image) + .gh-featured {
1475
+ margin-top: 0;
1476
+ }
1477
+
1478
+ .gh-featured-inner {
1479
+ overflow: hidden;
1480
+ }
1481
+
1482
+ .gh-featured-title {
1483
+ margin-bottom: 20px;
1484
+ padding-bottom: 12px;
1485
+ font-size: 1.2rem;
1486
+ font-weight: 550;
1487
+ letter-spacing: 0.025em;
1488
+ text-transform: uppercase;
1489
+ border-bottom: 1px solid var(--color-border);
1490
+ }
1491
+
1492
+ .gh-featured-feed {
1493
+ display: grid;
1494
+ grid-template-columns: repeat(4, 1fr);
1495
+ gap: var(--grid-gap);
1496
+ }
1497
+
1498
+ .gh-featured-feed .gh-card {
1499
+ container-type: inline-size;
1500
+ container-name: featured-card;
1501
+ }
1502
+
1503
+ .gh-featured-feed .gh-card-link {
1504
+ display: flex;
1505
+ flex-direction: row-reverse;
1506
+ align-items: flex-start;
1507
+ }
1508
+
1509
+ .gh-featured-feed .gh-card-image {
1510
+ width: 72px;
1511
+ aspect-ratio: 1;
1512
+ }
1513
+
1514
+ @container featured-card (width < 240px) {
1515
+ .gh-featured-feed .gh-card-image {
1516
+ display: none;
1517
+ }
1518
+ }
1519
+
1520
+ @container featured-card (240px <= width <= 270px) {
1521
+ .gh-featured-feed .gh-card-image {
1522
+ width: 64px;
1523
+ }
1524
+ }
1525
+
1526
+ .gh-featured-feed .gh-card-wrapper {
1527
+ container-type: inline-size;
1528
+ container-name: featured-card-wrapper;
1529
+ }
1530
+
1531
+ .gh-featured-feed .gh-card-title {
1532
+ font-size: 1.6rem;
1533
+ font-weight: 650;
1534
+ letter-spacing: -0.011em;
1535
+ }
1536
+
1537
+ @container featured-card-wrapper (width < 170px) {
1538
+ .gh-featured-feed .gh-card-title {
1539
+ font-size: 1.6rem;
1540
+ }
1541
+ }
1542
+
1543
+ .gh-featured-feed .gh-card-excerpt {
1544
+ display: none;
1545
+ }
1546
+
1547
+ .gh-featured-feed .gh-card-meta:not(:empty) {
1548
+ margin-top: 10px;
1549
+ }
1550
+
1551
+ .gh-featured-feed .gh-card::before {
1552
+ position: absolute;
1553
+ top: 0;
1554
+ left: calc(var(--grid-gap) / -2);
1555
+ content: "";
1556
+ width: 1px;
1557
+ height: 100%;
1558
+ background-color: var(--color-border);
1559
+ }
1560
+
1561
+ @media (max-width: 1199px) {
1562
+ .gh-viewport > .gh-featured .gh-featured-feed {
1563
+ grid-template-columns: repeat(3, 1fr);
1564
+ }
1565
+
1566
+ .gh-viewport > .gh-featured .gh-featured-feed .gh-card:nth-child(4) {
1567
+ display: none;
1568
+ }
1569
+ }
1570
+
1571
+ @media (max-width: 767px) {
1572
+ .gh-viewport > .gh-featured .gh-featured-feed {
1573
+ display: flex;
1574
+ flex-direction: column;
1575
+ }
1576
+ }
1577
+
1578
+ /* 11. Container
1579
+ /* ---------------------------------------------------------- */
1580
+
1581
+ .gh-container {
1582
+ flex-grow: 1;
1583
+ margin-top: 64px;
1584
+ }
1585
+
1586
+ .gh-container-inner {
1587
+ display: grid;
1588
+ grid-template-columns: repeat(16, 1fr);
1589
+ column-gap: var(--grid-gap);
1590
+ }
1591
+
1592
+ :is(.gh-featured, .gh-cta) + .gh-container {
1593
+ margin-top: max(4vw, 40px);
1594
+ }
1595
+
1596
+ .gh-header.is-classic:not(.has-image) + .gh-container {
1597
+ margin-top: 0;
1598
+ }
1599
+
1600
+ .gh-navigation + .gh-container .gh-container-title,
1601
+ :is(.paged, .tag-template, .author-template) .gh-container:not(.has-sidebar) .gh-container-title {
1602
+ display: none;
1603
+ }
1604
+
1605
+ .gh-more {
1606
+ display: none;
1607
+ grid-column: 1 / -1;
1608
+ margin-top: 48px;
1609
+ font-size: calc(1.9rem * var(--factor, 1));
1610
+ font-weight: 725;
1611
+ letter-spacing: -0.014em;
1612
+ }
1613
+
1614
+ .gh-container.has-sidebar .gh-more {
1615
+ grid-column: span 12;
1616
+ }
1617
+
1618
+ .home-template .gh-more {
1619
+ display: block;
1620
+ }
1621
+
1622
+ .gh-more a {
1623
+ display: flex;
1624
+ align-items: center;
1625
+ gap: 4px;
1626
+ }
1627
+
1628
+ .gh-more svg {
1629
+ margin-top: -1px;
1630
+ width: 18px;
1631
+ height: 18px;
1632
+ }
1633
+
1634
+ .has-serif-title .gh-more svg {
1635
+ margin-top: 0;
1636
+ }
1637
+
1638
+ /* 11.1. With sidebar */
1639
+
1640
+ .gh-container.has-sidebar .gh-main {
1641
+ grid-column: 1 / span 12;
1642
+ position: relative;
1643
+ }
1644
+
1645
+ .gh-container.has-sidebar .gh-sidebar {
1646
+ grid-column: 13 / -1;
1647
+ }
1648
+
1649
+ .gh-container.has-sidebar .gh-main::after {
1650
+ position: absolute;
1651
+ top: 0;
1652
+ right: calc(var(--grid-gap) / -2);
1653
+ content: "";
1654
+ width: 1px;
1655
+ height: 100%;
1656
+ background-color: var(--color-border);
1657
+ }
1658
+
1659
+ /* 11.2. Without sidebar */
1660
+
1661
+ .gh-container:not(.has-sidebar) :is(.gh-container-title, .gh-main, .gh-more) {
1662
+ grid-column: 3 / span 12;
1663
+ }
1664
+
1665
+ .gh-container.is-list.no-image:not(.has-sidebar) :is(.gh-container-title, .gh-main, .gh-more) {
1666
+ grid-column: 4 / span 10;
1667
+ }
1668
+
1669
+ .gh-header:is(.is-highlight, .is-magazine) ~ .gh-container.is-grid:not(.has-sidebar) :is(.gh-container-title, .gh-main, .gh-more) {
1670
+ grid-column: 1 / -1;
1671
+ }
1672
+
1673
+ @media (max-width: 1199px) {
1674
+ .gh-container-inner {
1675
+ display: block;
1676
+ overflow: hidden;
1677
+ }
1678
+
1679
+ .gh-container.has-sidebar .gh-sidebar {
1680
+ display: none;
1681
+ }
1682
+ }
1683
+
1684
+ /* 12. Post list
1685
+ /* ---------------------------------------------------------- */
1686
+
1687
+ .gh-container-title {
1688
+ grid-column: 1 / -1;
1689
+ margin-bottom: calc(var(--grid-gap) / 2);
1690
+ padding-bottom: 12px;
1691
+ font-size: 1.2rem;
1692
+ font-weight: 550;
1693
+ letter-spacing: 0.025em;
1694
+ text-transform: uppercase;
1695
+ border-bottom: 1px solid var(--color-border);
1696
+ }
1697
+
1698
+ .gh-container:not(:has(.gh-card)) .gh-container-title {
1699
+ display: none;
1700
+ }
1701
+
1702
+ .gh-container .gh-feed {
1703
+ gap: var(--grid-gap);
1704
+ }
1705
+
1706
+ .gh-container .gh-card-meta:not(:empty) {
1707
+ margin-top: 16px;
1708
+ }
1709
+
1710
+ /* 12.1. List style */
1711
+
1712
+ .gh-container.is-list .gh-feed {
1713
+ display: flex;
1714
+ flex-direction: column;
1715
+ container-type: inline-size;
1716
+ container-name: list-feed;
1717
+ }
1718
+
1719
+ .gh-container.is-list .gh-card-link {
1720
+ flex-direction: row;
1721
+ align-items: center;
1722
+ gap: 24px;
1723
+ }
1724
+
1725
+ .gh-container.is-list .no-image .gh-card-link {
1726
+ padding-block: 20px;
1727
+ }
1728
+
1729
+ .gh-container.is-list .gh-card-image {
1730
+ flex-shrink: 0;
1731
+ width: 220px;
1732
+ aspect-ratio: 1.618033;
1733
+ }
1734
+
1735
+ @container list-feed (width < 600px) {
1736
+ .gh-container.is-list .gh-card-image {
1737
+ width: 160px;
1738
+ }
1739
+ }
1740
+
1741
+ .gh-container.is-list .gh-card:not(.no-image) .gh-card-wrapper {
1742
+ max-width: 600px;
1743
+ }
1744
+
1745
+ .gh-container.is-list .gh-card-title {
1746
+ --factor: 1.05;
1747
+ }
1748
+
1749
+ .gh-container.is-list .no-image .gh-card-title {
1750
+ --factor: 1.2;
1751
+ }
1752
+
1753
+ .gh-container.is-list .gh-card-excerpt {
1754
+ margin-top: 6px;
1755
+ }
1756
+
1757
+ .gh-container.is-list .gh-card + .gh-card::before {
1758
+ position: absolute;
1759
+ top: calc(var(--grid-gap) / -2);
1760
+ left: 0;
1761
+ content: "";
1762
+ width: 100%;
1763
+ height: 1px;
1764
+ background-color: var(--color-border);
1765
+ }
1766
+
1767
+ .home-template .gh-container.is-list .gh-card:first-child:before {
1768
+ display: none;
1769
+ }
1770
+
1771
+ @media (max-width: 767px) {
1772
+ .gh-container.is-list .gh-card-link {
1773
+ flex-direction: column;
1774
+ align-items: flex-start;
1775
+ }
1776
+
1777
+ .gh-container.is-list .gh-card-image {
1778
+ width: 100%;
1779
+ }
1780
+ }
1781
+
1782
+ /* 12.2. Grid style */
1783
+
1784
+ .gh-container.is-grid .gh-feed {
1785
+ display: grid;
1786
+ grid-template-columns: repeat(auto-fit, minmax(248px, 1fr));
1787
+ row-gap: calc(var(--grid-gap) * 1.5);
1788
+ overflow: hidden;
1789
+ }
1790
+
1791
+ .gh-container.is-grid .gh-card::before {
1792
+ position: absolute;
1793
+ top: calc(var(--grid-gap) / -2);
1794
+ right: calc(var(--grid-gap) / -2);
1795
+ left: calc(var(--grid-gap) / -2);
1796
+ content: "";
1797
+ height: 1px;
1798
+ background-color: var(--color-border);
1799
+ }
1800
+
1801
+ .gh-container.is-grid .gh-card::after {
1802
+ position: absolute;
1803
+ top: 0;
1804
+ left: calc(var(--grid-gap) / -2);
1805
+ content: "";
1806
+ width: 1px;
1807
+ height: 100%;
1808
+ background-color: var(--color-border);
1809
+ }
1810
+
1811
+ @media (max-width: 767px) {
1812
+ .gh-container.is-grid .gh-feed {
1813
+ grid-template-columns: repeat(2, 1fr);
1814
+ }
1815
+ }
1816
+
1817
+ @media (max-width: 576px) {
1818
+ .gh-container.is-grid .gh-feed {
1819
+ display: flex;
1820
+ flex-direction: column;
1821
+ }
1822
+ }
1823
+
1824
+ /* 12.3. No image list */
1825
+
1826
+ .gh-container.is-list.no-image .gh-card-image {
1827
+ display: none;
1828
+ }
1829
+
1830
+ /* 13. Sidebar
1831
+ /* ---------------------------------------------------------- */
1832
+
1833
+ .gh-about {
1834
+ position: sticky;
1835
+ top: calc(var(--grid-gap) / 2);
1836
+ display: flex;
1837
+ flex-direction: column;
1838
+ justify-content: center;
1839
+ align-items: center;
1840
+ padding: 48px 24px;
1841
+ min-height: 400px;
1842
+ text-align: center;
1843
+ background-color: var(--color-lighter-gray);
1844
+ }
1845
+
1846
+ .gh-about-icon {
1847
+ margin-bottom: 24px;
1848
+ width: 60px;
1849
+ height: 60px;
1850
+ border-radius: 50%;
1851
+ }
1852
+
1853
+ .gh-about-title {
1854
+ font-size: calc(2.4rem * var(--factor, 1));
1855
+ font-weight: 700;
1856
+ letter-spacing: -0.019em;
1857
+ }
1858
+
1859
+ .gh-about-description {
1860
+ margin-top: 12px;
1861
+ font-size: 1.45rem;
1862
+ line-height: 1.4;
1863
+ }
1864
+
1865
+ .gh-about .gh-button {
1866
+ margin-top: 32px;
1867
+ }
1868
+
1869
+ /* 14. Post/page
1870
+ /* ---------------------------------------------------------- */
1871
+
1872
+ /* 14.1. Article */
1873
+
1874
+ .gh-article {
1875
+ --container-width: 1120px;
1876
+
1877
+ word-break: break-word;
1878
+ }
1879
+
1880
+ .gh-article-header {
1881
+ margin: clamp(40px, 3.64vw + 25.45px, 72px) 0 40px;
1882
+ }
1883
+
1884
+ .gh-article-tag {
1885
+ margin-bottom: 12px;
1886
+ font-size: 1.3rem;
1887
+ font-weight: 500;
1888
+ letter-spacing: 0.01em;
1889
+ text-transform: uppercase;
1890
+ color: var(--ghost-accent-color);
1891
+ }
1892
+
1893
+ .gh-article-title {
1894
+ font-size: calc(clamp(3.4rem, 1.36vw + 2.85rem, 4.6rem) * var(--factor, 1));
1895
+ line-height: 1.1;
1896
+ letter-spacing: -0.022em;
1897
+ }
1898
+
1899
+ .gh-article-excerpt {
1900
+ margin-top: clamp(12px, 0.45vw + 10.18px, 16px);
1901
+ max-width: 720px;
1902
+ font-size: clamp(1.5rem, 0.45vw + 1.32rem, 1.9rem);
1903
+ line-height: 1.4;
1904
+ letter-spacing: -0.018em;
1905
+ }
1906
+
1907
+ .gh-article-meta {
1908
+ display: flex;
1909
+ align-items: center;
1910
+ gap: 8px;
1911
+ margin-top: 20px;
1912
+ margin-left: 6px;
1913
+ }
1914
+
1915
+ .gh-article-author-image {
1916
+ display: flex;
1917
+ margin-right: 8px;
1918
+ }
1919
+
1920
+ .gh-article-author-image a {
1921
+ position: relative;
1922
+ margin: 0 -8px;
1923
+ width: 56px;
1924
+ height: 56px;
1925
+ overflow: hidden;
1926
+ background-color: var(--color-light-gray);
1927
+ border-radius: 50%;
1928
+ border: 3px solid var(--background-color);
1929
+ }
1930
+
1931
+ .gh-article-author-image a:first-child {
1932
+ z-index: 10;
1933
+ }
1934
+
1935
+ .gh-article-author-image a:nth-child(2) {
1936
+ z-index: 9;
1937
+ }
1938
+
1939
+ .gh-article-author-image a:nth-child(3) {
1940
+ z-index: 8;
1941
+ }
1942
+
1943
+ .gh-article-author-image :is(img, svg) {
1944
+ position: absolute;
1945
+ inset: 0;
1946
+ object-fit: cover;
1947
+ }
1948
+
1949
+ .gh-article-meta-wrapper {
1950
+ display: flex;
1951
+ flex-direction: column;
1952
+ gap: 4px;
1953
+ }
1954
+
1955
+ .gh-article-author-name {
1956
+ font-size: 1.6rem;
1957
+ font-weight: 650;
1958
+ letter-spacing: -0.013em;
1959
+ }
1960
+
1961
+ .gh-article-meta-content {
1962
+ font-size: 1.35rem;
1963
+ font-weight: 500;
1964
+ line-height: 1.2;
1965
+ letter-spacing: -0.006em;
1966
+ color: var(--color-secondary-text);
1967
+ }
1968
+
1969
+ .gh-article-image {
1970
+ grid-column: wide;
1971
+ margin-top: 40px;
1972
+ }
1973
+
1974
+ .gh-article-image img {
1975
+ width: 100%;
1976
+ }
1977
+
1978
+ /* 14.2. Page template */
1979
+
1980
+ .page-template .gh-article-header {
1981
+ margin-block: 72px 32px;
1982
+ }
1983
+
1984
+ /* 14.3. Page without header */
1985
+
1986
+ .page-template .gh-content:only-child > *:first-child:not(.kg-width-full) {
1987
+ margin-top: 64px;
1988
+ }
1989
+
1990
+ .page-template .gh-content > *:last-child:not(.kg-width-full) {
1991
+ margin-bottom: 6vw;
1992
+ }
1993
+
1994
+ .page-template .gh-footer {
1995
+ margin-top: 0;
1996
+ }
1997
+
1998
+ /* 15. Content
1999
+ /* ---------------------------------------------------------- */
2000
+
2001
+ /* Content refers to styling all page and post content that is
2002
+ created within the Ghost editor. The main content handles
2003
+ headings, text, images and lists. We deal with cards lower down. */
2004
+
2005
+ .gh-content {
2006
+ font-size: var(--content-font-size, 1.7rem);
2007
+ letter-spacing: -0.01em;
2008
+ }
2009
+
2010
+ /* Default vertical spacing */
2011
+ .gh-content > * + * {
2012
+ margin-top: calc(28px * var(--content-spacing-factor, 1));
2013
+ margin-bottom: 0;
2014
+ }
2015
+
2016
+ /* Remove space between full-width cards */
2017
+ .gh-content > .kg-width-full + .kg-width-full:not(.kg-width-full.kg-card-hascaption + .kg-width-full) {
2018
+ margin-top: 0;
2019
+ }
2020
+
2021
+ /* Add back a top margin to all headings,
2022
+ unless a heading is the very first element in the post content */
2023
+ .gh-content > [id]:not(:first-child) {
2024
+ margin-top: calc(56px * var(--content-spacing-factor, 1));
2025
+ }
2026
+
2027
+ /* Add a small margin between a heading and paragraph after it */
2028
+ .gh-content > [id] + p {
2029
+ margin-top: calc(12px * var(--content-spacing-factor, 1));
2030
+ }
2031
+
2032
+ /* A larger margin before/after dividers, blockquotes and embeds */
2033
+ .gh-content > :is(hr, blockquote, iframe) {
2034
+ position: relative;
2035
+ margin-top: calc(48px * var(--content-spacing-factor, 1)) !important;
2036
+ }
2037
+
2038
+ .gh-content > :is(hr, blockquote, iframe) + * {
2039
+ margin-top: calc(48px * var(--content-spacing-factor, 1)) !important;
2040
+ }
2041
+
2042
+ /* Now the content typography styles */
2043
+ .gh-content h2 {
2044
+ font-size: calc(1.6em * var(--factor, 1));
2045
+ letter-spacing: -0.02em;
2046
+ }
2047
+
2048
+ .gh-content h3 {
2049
+ font-size: calc(1.3em * var(--factor, 1));
2050
+ letter-spacing: -0.017em;
2051
+ }
2052
+
2053
+ .gh-content a {
2054
+ color: var(--ghost-accent-color);
2055
+ text-decoration: underline;
2056
+ }
2057
+
2058
+ .gh-content .kg-callout-card .kg-callout-text,
2059
+ .gh-content .kg-toggle-card .kg-toggle-content > :is(ul, ol, p) {
2060
+ font-size: 0.95em;
2061
+ }
2062
+
2063
+ .has-serif-body .gh-content > blockquote,
2064
+ .has-serif-body .gh-content > ol,
2065
+ .has-serif-body .gh-content > ul,
2066
+ .has-serif-body .gh-content > dl,
2067
+ .has-serif-body .gh-content > p,
2068
+ .has-serif-body .gh-content .kg-callout-text,
2069
+ .has-serif-body .gh-content .kg-toggle-content > ol,
2070
+ .has-serif-body .gh-content .kg-toggle-content > ul,
2071
+ .has-serif-body .gh-content .kg-toggle-content > p {
2072
+ font-family: var(--font-serif-alt);
2073
+ }
2074
+
2075
+ .gh-content :is(ul, ol) {
2076
+ padding-left: 28px;
2077
+ }
2078
+
2079
+ .gh-content :is(li + li, li :is(ul, ol)) {
2080
+ margin-top: 8px;
2081
+ }
2082
+
2083
+ .gh-content ol ol li {
2084
+ list-style-type: lower-alpha;
2085
+ }
2086
+
2087
+ .gh-content ol ol ol li {
2088
+ list-style-type: lower-roman;
2089
+ }
2090
+
2091
+ .gh-content hr {
2092
+ width: 100%;
2093
+ height: 1px;
2094
+ background-color: var(--color-border);
2095
+ border: 0;
2096
+ }
2097
+
2098
+ .gh-content table:not(.gist table) {
2099
+ display: inline-block;
2100
+ width: auto;
2101
+ max-width: 100%;
2102
+ overflow-x: auto;
2103
+ font-family: var(--font-sans);
2104
+ font-size: 1.6rem;
2105
+ white-space: nowrap;
2106
+ vertical-align: top;
2107
+ border-spacing: 0;
2108
+ border-collapse: collapse;
2109
+ -webkit-overflow-scrolling: touch;
2110
+ background: radial-gradient(ellipse at left, rgb(0 0 0 / 0.2) 0%, rgb(0 0 0 / 0) 75%) 0 center, radial-gradient(ellipse at right, rgb(0 0 0 / 0.2) 0%, rgb(0 0 0 / 0) 75%) 100% center;
2111
+ background-repeat: no-repeat;
2112
+ background-attachment: scroll, scroll;
2113
+ background-size: 10px 100%, 10px 100%;
2114
+ }
2115
+
2116
+ .gh-content table:not(.gist table) td:first-child {
2117
+ background-image: linear-gradient(to right, rgb(255 255 255 / 1) 50%, rgb(255 255 255 / 0) 100%);
2118
+ background-repeat: no-repeat;
2119
+ background-size: 20px 100%;
2120
+ }
2121
+
2122
+ .gh-content table:not(.gist table) td:last-child {
2123
+ background-image: linear-gradient(to left, rgb(255 255 255 / 1) 50%, rgb(255 255 255 / 0) 100%);
2124
+ background-repeat: no-repeat;
2125
+ background-position: 100% 0;
2126
+ background-size: 20px 100%;
2127
+ }
2128
+
2129
+ .gh-content table:not(.gist table) th {
2130
+ font-size: 1.2rem;
2131
+ font-weight: 700;
2132
+ color: var(--color-darkgrey);
2133
+ text-align: left;
2134
+ text-transform: uppercase;
2135
+ letter-spacing: 0.2px;
2136
+ background-color: var(--color-white);
2137
+ }
2138
+
2139
+ .gh-content table:not(.gist table) th,
2140
+ .gh-content table:not(.gist table) td {
2141
+ padding: 6px 12px;
2142
+ border: 1px solid var(--color-light-gray);
2143
+ }
2144
+
2145
+ /* 16. Cards
2146
+ /* ---------------------------------------------------------- */
2147
+
2148
+ /* Add extra margin before/after any cards, except for when immediately preceeded by a heading */
2149
+
2150
+ .gh-content :not(.kg-card):not(table):not([id]) + :is(.kg-card, table) {
2151
+ margin-top: calc(48px * var(--content-spacing-factor, 1));
2152
+ }
2153
+
2154
+ .gh-content :is(.kg-card, table) + :not(.kg-card):not(table):not([id]) {
2155
+ margin-top: calc(48px * var(--content-spacing-factor, 1));
2156
+ }
2157
+
2158
+ .gh-content :not(.kg-card):not([id]) + .kg-card.kg-width-full {
2159
+ margin-top: calc(68px * var(--content-spacing-factor, 1));
2160
+ }
2161
+
2162
+ .gh-content .kg-card.kg-width-full + :not(.kg-card):not([id]) {
2163
+ margin-top: calc(68px * var(--content-spacing-factor, 1));
2164
+ }
2165
+
2166
+ /* Image */
2167
+
2168
+ .kg-image {
2169
+ margin-right: auto;
2170
+ margin-left: auto;
2171
+ }
2172
+
2173
+ /* Embed */
2174
+
2175
+ .kg-embed-card {
2176
+ display: flex;
2177
+ flex-direction: column;
2178
+ align-items: center;
2179
+ width: 100%;
2180
+ }
2181
+
2182
+ /* Gallery */
2183
+
2184
+ .kg-image[width][height],
2185
+ .kg-gallery-image {
2186
+ cursor: pointer;
2187
+ }
2188
+
2189
+ .kg-image-card a:hover,
2190
+ .kg-gallery-image a:hover {
2191
+ opacity: 1 !important;
2192
+ }
2193
+
2194
+ /* Toggle */
2195
+
2196
+ .kg-card.kg-toggle-card .kg-toggle-heading-text {
2197
+ font-size: 2rem;
2198
+ font-weight: 700;
2199
+ }
2200
+
2201
+ .has-serif-title .kg-toggle-card .kg-toggle-heading-text {
2202
+ font-family: var(--font-serif);
2203
+ }
2204
+
2205
+ .has-mono-title .kg-toggle-card .kg-toggle-heading-text {
2206
+ font-family: var(--font-mono);
2207
+ }
2208
+
2209
+ /* Callout */
2210
+
2211
+ .kg-callout-card.kg-card {
2212
+ border-radius: 0.25em;
2213
+ }
2214
+
2215
+ .kg-callout-card-accent a {
2216
+ text-decoration: underline;
2217
+ }
2218
+
2219
+ /* Blockquote */
2220
+
2221
+ blockquote:not([class]) {
2222
+ padding-left: 2rem;
2223
+ border-left: 4px solid var(--ghost-accent-color);
2224
+ }
2225
+
2226
+ blockquote.kg-blockquote-alt {
2227
+ font-style: normal;
2228
+ font-weight: 400;
2229
+ color: var(--color-secondary-text);
2230
+ }
2231
+
2232
+ /* Button */
2233
+
2234
+ .kg-card.kg-button-card .kg-btn {
2235
+ font-size: 1em;
2236
+ }
2237
+
2238
+ /* Header */
2239
+
2240
+ .has-serif-title .kg-card.kg-header-card h2.kg-header-card-header {
2241
+ font-family: var(--font-serif);
2242
+ }
2243
+
2244
+ .has-mono-title .kg-card.kg-header-card h2.kg-header-card-header {
2245
+ font-family: var(--font-mono);
2246
+ }
2247
+
2248
+ .has-serif-body .kg-header-card h3.kg-header-card-subheader {
2249
+ font-family: var(--font-serif);
2250
+ }
2251
+
2252
+ /* Bookmark */
2253
+
2254
+ .kg-bookmark-card .kg-bookmark-container {
2255
+ border-radius: 0.25em !important;
2256
+ }
2257
+
2258
+ .kg-bookmark-card .kg-bookmark-container:hover {
2259
+ opacity: 1;
2260
+ }
2261
+
2262
+ .kg-bookmark-card .kg-bookmark-content {
2263
+ padding: 1.15em;
2264
+ }
2265
+
2266
+ .kg-bookmark-card .kg-bookmark-title {
2267
+ font-size: 0.9em;
2268
+ }
2269
+
2270
+ .kg-bookmark-card .kg-bookmark-description {
2271
+ max-height: none;
2272
+ margin-top: 0.3em;
2273
+ font-size: 0.8em;
2274
+ }
2275
+
2276
+ .kg-bookmark-card .kg-bookmark-metadata {
2277
+ font-size: 0.8em;
2278
+ }
2279
+
2280
+ .kg-bookmark-card .kg-bookmark-thumbnail img {
2281
+ border-radius: 0 0.2em 0.2em 0;
2282
+ }
2283
+
2284
+ /* Product */
2285
+
2286
+ .kg-product-card.kg-card .kg-product-card-image {
2287
+ margin-bottom: 12px;
2288
+ }
2289
+
2290
+ .kg-product-card.kg-card a.kg-product-card-button {
2291
+ height: 2.8em;
2292
+ margin-top: 12px;
2293
+ }
2294
+
2295
+ .has-serif-title .kg-product-card.kg-card .kg-product-card-title {
2296
+ font-family: var(--font-serif);
2297
+ }
2298
+
2299
+ .has-mono-title .kg-product-card.kg-card .kg-product-card-title {
2300
+ font-family: var(--font-mono);
2301
+ }
2302
+
2303
+ .has-serif-body .kg-product-card-description :is(p, ul, ol) {
2304
+ font-family: var(--font-serif-alt);
2305
+ }
2306
+
2307
+ /* File */
2308
+
2309
+ .kg-file-card.kg-card .kg-file-card-container {
2310
+ padding: 0.6em;
2311
+ }
2312
+
2313
+ .kg-file-card.kg-card .kg-file-card-contents {
2314
+ margin: 4px 8px 6px;
2315
+ }
2316
+
2317
+ .kg-file-card.kg-card .kg-file-card-metadata {
2318
+ font-size: 0.9em;
2319
+ }
2320
+
2321
+ .kg-file-card.kg-card .kg-file-card-filesize::before {
2322
+ margin-right: 6px;
2323
+ margin-left: 6px;
2324
+ }
2325
+
2326
+ /* Caption */
2327
+
2328
+ figcaption {
2329
+ margin-top: 12px;
2330
+ font-size: 1.4rem;
2331
+ text-align: center;
2332
+ }
2333
+
2334
+ .kg-card.kg-width-full figcaption {
2335
+ padding: 0 16px;
2336
+ }
2337
+
2338
+ figcaption a {
2339
+ color: var(--ghost-accent-color);
2340
+ text-decoration: underline;
2341
+ }
2342
+
2343
+ /* 17. Comments
2344
+ /* ---------------------------------------------------------- */
2345
+
2346
+ .gh-comments {
2347
+ margin-top: 48px;
2348
+ }
2349
+
2350
+ /* 18. Recent posts
2351
+ /* ---------------------------------------------------------- */
2352
+
2353
+ .post-template .gh-container {
2354
+ margin-top: 120px;
2355
+ }
2356
+
2357
+ .post-template .gh-container-inner {
2358
+ display: block;
2359
+ }
2360
+
2361
+ .post-template .gh-container.is-grid .gh-feed {
2362
+ grid-template-columns: repeat(4, 1fr);
2363
+ }
2364
+
2365
+ .post-template .gh-container .gh-container-title {
2366
+ display: block;
2367
+ }
2368
+
2369
+ /* 19. Archive
2370
+ /* ---------------------------------------------------------- */
2371
+
2372
+ .gh-archive {
2373
+ display: grid;
2374
+ grid-template-columns: repeat(16, 1fr);
2375
+ gap: var(--grid-gap);
2376
+ margin-block: 80px 24px;
2377
+ }
2378
+
2379
+ .gh-archive.has-image {
2380
+ margin-top: 48px;
2381
+ }
2382
+
2383
+ .gh-archive-inner {
2384
+ display: grid;
2385
+ grid-template-columns: 1fr 1fr;
2386
+ gap: var(--grid-gap);
2387
+ grid-column: 1 / -1;
2388
+ padding-bottom: clamp(40px, 2.73vw + 29.09px, 64px);
2389
+ border-bottom: 1px solid var(--color-border);
2390
+ }
2391
+
2392
+ .gh-archive.has-image .gh-archive-inner {
2393
+ align-items: center;
2394
+ grid-column: 1 / -1;
2395
+ }
2396
+
2397
+ .gh-archive:not(.has-sidebar):not(.has-image) .gh-archive-inner {
2398
+ grid-column: 3 / span 12;
2399
+ }
2400
+
2401
+ .gh-archive .gh-article-image {
2402
+ grid-column: auto;
2403
+ margin-top: 0;
2404
+ }
2405
+
2406
+ :is(.tag-template, .author-template) .gh-container {
2407
+ margin-top: 0;
2408
+ }
2409
+
2410
+ .author-template .gh-archive-inner {
2411
+ display: flex;
2412
+ flex-direction: row-reverse;
2413
+ justify-content: flex-end;
2414
+ gap: 24px;
2415
+ }
2416
+
2417
+ .author-template .gh-article-image {
2418
+ margin-top: 0;
2419
+ width: 120px;
2420
+ height: 120px;
2421
+ border-radius: 50%;
2422
+ }
2423
+
2424
+ .author-template .gh-article-title {
2425
+ font-size: 3.6rem;
2426
+ }
2427
+
2428
+ .gh-author-meta {
2429
+ display: flex;
2430
+ gap: 10px;
2431
+ margin-top: 14px;
2432
+ font-size: 1.5rem;
2433
+ font-weight: 550;
2434
+ color: var(--color-secondary-text);
2435
+ }
2436
+
2437
+ .gh-author-meta a {
2438
+ color: inherit;
2439
+ }
2440
+
2441
+ .gh-author-social {
2442
+ display: flex;
2443
+ gap: 10px;
2444
+ align-items: center;
2445
+ padding-left: 3px;
2446
+ }
2447
+
2448
+ .gh-author-social svg {
2449
+ width: 20px;
2450
+ height: 20px;
2451
+ }
2452
+
2453
+ @media (max-width: 1199px) {
2454
+ .gh-archive {
2455
+ display: block;
2456
+ }
2457
+ }
2458
+
2459
+ @media (max-width: 767px) {
2460
+ .gh-archive-inner {
2461
+ display: flex;
2462
+ flex-direction: column-reverse;
2463
+ align-items: flex-start;
2464
+ }
2465
+
2466
+ .author-template .gh-archive-inner {
2467
+ flex-direction: column-reverse;
2468
+ }
2469
+ }
2470
+
2471
+ /* 20. Design settings
2472
+ /* ---------------------------------------------------------- */
2473
+
2474
+ .has-serif-title {
2475
+ --factor: 1.15;
2476
+ }
2477
+
2478
+ .has-mono-title {
2479
+ --factor: 1.1;
2480
+ }
2481
+
2482
+ .has-sans-title :is(.is-title, .gh-content :is(h2, h3)) {
2483
+ font-family: var(--font-sans);
2484
+ }
2485
+
2486
+ .has-serif-title :is(.is-title, .gh-content :is(h2, h3)) {
2487
+ font-family: var(--font-serif);
2488
+ font-weight: 550;
2489
+ }
2490
+
2491
+ .has-mono-title :is(.is-title, .gh-content :is(h2, h3)) {
2492
+ font-family: var(--font-mono);
2493
+ }
2494
+
2495
+ .has-sans-body .is-body {
2496
+ font-family: var(--font-sans);
2497
+ }
2498
+
2499
+ .has-serif-body .is-body {
2500
+ font-family: var(--font-serif-alt);
2501
+ }
2502
+
2503
+ .has-serif-title .gh-header.is-classic .gh-header-title {
2504
+ font-weight: 550;
2505
+ letter-spacing: -0.015em;
2506
+ }
2507
+
2508
+ .has-mono-title .gh-header.is-classic .gh-header-title {
2509
+ letter-spacing: -0.01em;
2510
+ }
2511
+
2512
+ .has-serif-title .gh-form {
2513
+ border-radius: 0;
2514
+ }
2515
+
2516
+ .has-serif-title .gh-card-title {
2517
+ line-height: 1.15;
2518
+ letter-spacing: -0.006em;
2519
+ font-size: calc(2.0rem*var(--factor, 1))
2520
+ }
2521
+
2522
+ .has-serif-title .gh-featured-feed .gh-card-title {
2523
+ font-size: calc(1.6rem*var(--factor, 1))
2524
+ }
2525
+
2526
+ .has-mono-title .gh-featured-feed .gh-card-title {
2527
+ font-size: calc(1.5rem*var(--factor, 1));
2528
+ letter-spacing: 0;
2529
+ }
2530
+
2531
+ .has-serif-title .gh-header.is-highlight .gh-featured-feed .gh-card-title {
2532
+ font-size: clamp(1.6rem, 0.23vw + 1.51rem, 1.8rem);
2533
+ }
2534
+
2535
+ .has-mono-title .gh-card-title {
2536
+ font-size: calc(1.8rem*var(--factor, 1));
2537
+ line-height: 1.2;
2538
+ }
2539
+
2540
+ .has-serif-title .gh-about-title {
2541
+ letter-spacing: -0.009em;
2542
+ }
2543
+
2544
+ .has-serif-title .gh-footer-signup-header {
2545
+ letter-spacing: -0.019em;
2546
+ }
2547
+
2548
+ .has-serif-title .gh-article-title {
2549
+ letter-spacing: -0.019em;
2550
+ }
2551
+
2552
+ .has-serif-body {
2553
+ --content-font-size: 1.9rem;
2554
+ }
2555
+
2556
+ .has-serif-body .gh-card-excerpt {
2557
+ font-size: 1.65rem;
2558
+ line-height: 1.4;
2559
+ letter-spacing: 0.0005em;
2560
+ }
2561
+
2562
+ .has-serif-body .gh-header.is-magazine .gh-header-inner > .gh-card .gh-card-excerpt,
2563
+ .has-serif-body .gh-header.is-highlight .gh-card:first-child .gh-card-excerpt {
2564
+ font-size: 1.8rem;
2565
+ letter-spacing: -0.001em;
2566
+ }
2567
+
2568
+ .has-serif-title .gh-header.is-magazine .gh-header-inner>.gh-card .gh-card-title,
2569
+ .has-serif-title .gh-header.is-highlight .gh-header-left .gh-card-title {
2570
+ font-weight: 550;
2571
+ font-size: clamp(3.2rem,1.82vw + 2.47rem,4.9rem)
2572
+ }
2573
+
2574
+ .has-serif-body .gh-about-description {
2575
+ font-size: 1.6rem;
2576
+ }
2577
+
2578
+ .has-serif-body .gh-article-excerpt {
2579
+ letter-spacing: 0;
2580
+ }
2581
+
2582
+ .has-serif-body .gh-footer-signup-subhead {
2583
+ letter-spacing: 0;
2584
+ }
2585
+
2586
+ .has-serif-title :is(.gh-button, .gh-form) {
2587
+ border-radius: 0;
2588
+ }
2589
+
2590
+ .has-mono-title :is(.gh-button) {
2591
+ border-radius: 0;
2592
+ }
2593
+
2594
+ .has-mono-title :is(.gh-form) {
2595
+ border-radius: 0;
2596
+ }
2597
+
2598
+ .has-serif-title .gh-cta-title {
2599
+ font-size: 4.8rem;
2600
+ }
2601
+
2602
+ /* 21. Footer
2603
+ /* ---------------------------------------------------------- */
2604
+
2605
+ .gh-footer {
2606
+ margin-top: 12vw;
2607
+ font-size: 1.5rem;
2608
+ color: var(--color-darker-gray);
2609
+ }
2610
+
2611
+ .gh-footer a:not(.gh-button) {
2612
+ color: inherit;
2613
+ }
2614
+
2615
+ /* 21.1 Footer styles */
2616
+
2617
+ .gh-footer.has-accent-color {
2618
+ background-color: var(--ghost-accent-color);
2619
+ }
2620
+
2621
+ .gh-footer.has-accent-color .gh-footer-bar {
2622
+ border-top: 0;
2623
+ }
2624
+
2625
+ .gh-footer.has-accent-color .gh-button {
2626
+ background-color: #fff;
2627
+ color: #15171a;
2628
+ }
2629
+
2630
+ /* 21.2. Footer bar */
2631
+
2632
+ .gh-footer-bar {
2633
+ display: grid;
2634
+ grid-template-columns: 1fr auto 1fr;
2635
+ align-items: center;
2636
+ column-gap: 32px;
2637
+ margin-bottom: 100px;
2638
+ padding-block: 28px;
2639
+ font-weight: 550;
2640
+ border-block: 1px solid var(--color-border);
2641
+ }
2642
+
2643
+ .gh-footer-logo {
2644
+ position: relative;
2645
+ font-size: calc(2.4rem * var(--factor, 1));
2646
+ font-weight: 725;
2647
+ letter-spacing: -0.015em;
2648
+ white-space: nowrap;
2649
+ }
2650
+
2651
+ .gh-footer-logo img {
2652
+ max-height: 40px;
2653
+ }
2654
+
2655
+ .gh-footer-menu .nav {
2656
+ display: flex;
2657
+ justify-content: center;
2658
+ gap: 8px 28px;
2659
+ flex-wrap: wrap;
2660
+ margin: 0;
2661
+ padding: 0;
2662
+ list-style-type: none;
2663
+ }
2664
+
2665
+ .gh-footer-copyright {
2666
+ text-align: right;
2667
+ white-space: nowrap;
2668
+ }
2669
+
2670
+ .gh-footer-copyright a {
2671
+ text-decoration: underline;
2672
+ }
2673
+
2674
+ /* 21.3. Footer signup */
2675
+
2676
+ .gh-footer-signup {
2677
+ display: flex;
2678
+ flex-direction: column;
2679
+ align-items: center;
2680
+ padding-bottom: 160px;
2681
+ text-align: center;
2682
+ }
2683
+
2684
+ .gh-footer-signup-header {
2685
+ font-size: calc(clamp(2.8rem,1.36vw + 2.25rem,4rem) * var(--factor, 1));
2686
+ font-weight: 700;
2687
+ letter-spacing: -0.03em;
2688
+ }
2689
+
2690
+ .gh-footer-signup-subhead {
2691
+ margin-top: 12px;
2692
+ max-width: 640px;
2693
+ font-size: 1.8rem;
2694
+ font-weight: 450;
2695
+ line-height: 1.4;
2696
+ letter-spacing: -0.014em;
2697
+ opacity: 0.75;
2698
+ }
2699
+
2700
+ .gh-footer-signup .gh-form {
2701
+ margin-top: 40px;
2702
+ }
2703
+
2704
+ @media (max-width: 991px) {
2705
+ .gh-footer-bar {
2706
+ display: flex;
2707
+ flex-direction: column;
2708
+ gap: 20px;
2709
+ }
2710
+ }
2711
+
2712
+ /* 22. Lightbox
2713
+ /* ---------------------------------------------------------- */
2714
+
2715
+ .pswp {
2716
+ position: absolute;
2717
+ top: 0;
2718
+ left: 0;
2719
+ z-index: 3999999;
2720
+ display: none;
2721
+ width: 100%;
2722
+ height: 100%;
2723
+ overflow: hidden;
2724
+ -ms-touch-action: none;
2725
+ touch-action: none;
2726
+ outline: none;
2727
+ backface-visibility: hidden;
2728
+ -webkit-text-size-adjust: 100%;
2729
+ }
2730
+
2731
+ .pswp img {
2732
+ max-width: none;
2733
+ }
2734
+
2735
+ .pswp--animate_opacity {
2736
+ opacity: 0.001;
2737
+ transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
2738
+ will-change: opacity;
2739
+ }
2740
+
2741
+ .pswp--open {
2742
+ display: block;
2743
+ }
2744
+
2745
+ .pswp--zoom-allowed .pswp__img {
2746
+ cursor: zoom-in;
2747
+ }
2748
+
2749
+ .pswp--zoomed-in .pswp__img {
2750
+ cursor: grab;
2751
+ }
2752
+
2753
+ .pswp--dragging .pswp__img {
2754
+ cursor: grabbing;
2755
+ }
2756
+
2757
+ .pswp__bg {
2758
+ position: absolute;
2759
+ top: 0;
2760
+ left: 0;
2761
+ width: 100%;
2762
+ height: 100%;
2763
+ background-color: rgba(0, 0, 0, 0.85);
2764
+ opacity: 0;
2765
+ transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
2766
+ transform: translateZ(0);
2767
+ backface-visibility: hidden;
2768
+ will-change: opacity;
2769
+ }
2770
+
2771
+ .pswp__scroll-wrap {
2772
+ position: absolute;
2773
+ top: 0;
2774
+ left: 0;
2775
+ width: 100%;
2776
+ height: 100%;
2777
+ overflow: hidden;
2778
+ }
2779
+
2780
+ .pswp__container,
2781
+ .pswp__zoom-wrap {
2782
+ position: absolute;
2783
+ top: 0;
2784
+ right: 0;
2785
+ bottom: 0;
2786
+ left: 0;
2787
+ touch-action: none;
2788
+ backface-visibility: hidden;
2789
+ }
2790
+
2791
+ .pswp__container,
2792
+ .pswp__img {
2793
+ user-select: none;
2794
+ -webkit-tap-highlight-color: transparent;
2795
+ -webkit-touch-callout: none;
2796
+ }
2797
+
2798
+ .pswp__zoom-wrap {
2799
+ position: absolute;
2800
+ width: 100%;
2801
+ transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
2802
+ transform-origin: left top;
2803
+ }
2804
+
2805
+ .pswp--animated-in .pswp__bg,
2806
+ .pswp--animated-in .pswp__zoom-wrap {
2807
+ transition: none;
2808
+ }
2809
+
2810
+ .pswp__item {
2811
+ position: absolute;
2812
+ top: 0;
2813
+ right: 0;
2814
+ bottom: 0;
2815
+ left: 0;
2816
+ overflow: hidden;
2817
+ }
2818
+
2819
+ .pswp__img {
2820
+ position: absolute;
2821
+ top: 0;
2822
+ left: 0;
2823
+ width: auto;
2824
+ height: auto;
2825
+ }
2826
+
2827
+ .pswp__img--placeholder {
2828
+ backface-visibility: hidden;
2829
+ }
2830
+
2831
+ .pswp__img--placeholder--blank {
2832
+ background: var(--color-black);
2833
+ }
2834
+
2835
+ .pswp--ie .pswp__img {
2836
+ top: 0;
2837
+ left: 0;
2838
+ width: 100% !important;
2839
+ height: auto !important;
2840
+ }
2841
+
2842
+ .pswp__error-msg {
2843
+ position: absolute;
2844
+ top: 50%;
2845
+ left: 0;
2846
+ width: 100%;
2847
+ margin-top: -8px;
2848
+ font-size: 14px;
2849
+ line-height: 16px;
2850
+ color: var(--color-secondary-text);
2851
+ text-align: center;
2852
+ }
2853
+
2854
+ .pswp__error-msg a {
2855
+ color: var(--color-secondary-text);
2856
+ text-decoration: underline;
2857
+ }
2858
+
2859
+ .pswp__button {
2860
+ position: relative;
2861
+ display: block;
2862
+ float: right;
2863
+ width: 44px;
2864
+ height: 44px;
2865
+ padding: 0;
2866
+ margin: 0;
2867
+ overflow: visible;
2868
+ appearance: none;
2869
+ cursor: pointer;
2870
+ background: none;
2871
+ border: 0;
2872
+ box-shadow: none;
2873
+ transition: opacity 0.2s;
2874
+ }
2875
+
2876
+ .pswp__button:focus,
2877
+ .pswp__button:hover {
2878
+ opacity: 1;
2879
+ }
2880
+
2881
+ .pswp__button:active {
2882
+ outline: none;
2883
+ opacity: 0.9;
2884
+ }
2885
+
2886
+ .pswp__button::-moz-focus-inner {
2887
+ padding: 0;
2888
+ border: 0;
2889
+ }
2890
+
2891
+ .pswp__ui--over-close .pswp__button--close {
2892
+ opacity: 1;
2893
+ }
2894
+
2895
+ .pswp__button,
2896
+ .pswp__button--arrow--left::before,
2897
+ .pswp__button--arrow--right::before {
2898
+ width: 44px;
2899
+ height: 44px;
2900
+ background: url("../images/default-skin.png") 0 0 no-repeat;
2901
+ background-size: 264px 88px;
2902
+ }
2903
+
2904
+ @media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
2905
+ .pswp--svg .pswp__button,
2906
+ .pswp--svg .pswp__button--arrow--left::before,
2907
+ .pswp--svg .pswp__button--arrow--right::before {
2908
+ background-image: url("../images/default-skin.svg");
2909
+ }
2910
+
2911
+ .pswp--svg .pswp__button--arrow--left,
2912
+ .pswp--svg .pswp__button--arrow--right {
2913
+ background: none;
2914
+ }
2915
+ }
2916
+
2917
+ .pswp__button--close {
2918
+ background-position: 0 -44px;
2919
+ }
2920
+
2921
+ .pswp__button--share {
2922
+ background-position: -44px -44px;
2923
+ }
2924
+
2925
+ .pswp__button--fs {
2926
+ display: none;
2927
+ }
2928
+
2929
+ .pswp--supports-fs .pswp__button--fs {
2930
+ display: block;
2931
+ }
2932
+
2933
+ .pswp--fs .pswp__button--fs {
2934
+ background-position: -44px 0;
2935
+ }
2936
+
2937
+ .pswp__button--zoom {
2938
+ display: none;
2939
+ background-position: -88px 0;
2940
+ }
2941
+
2942
+ .pswp--zoom-allowed .pswp__button--zoom {
2943
+ display: block;
2944
+ }
2945
+
2946
+ .pswp--zoomed-in .pswp__button--zoom {
2947
+ background-position: -132px 0;
2948
+ }
2949
+
2950
+ .pswp--touch .pswp__button--arrow--left,
2951
+ .pswp--touch .pswp__button--arrow--right {
2952
+ visibility: hidden;
2953
+ }
2954
+
2955
+ .pswp__button--arrow--left,
2956
+ .pswp__button--arrow--right {
2957
+ position: absolute;
2958
+ top: 50%;
2959
+ width: 70px;
2960
+ height: 100px;
2961
+ margin-top: -50px;
2962
+ background: none;
2963
+ }
2964
+
2965
+ .pswp__button--arrow--left {
2966
+ left: 0;
2967
+ }
2968
+
2969
+ .pswp__button--arrow--right {
2970
+ right: 0;
2971
+ }
2972
+
2973
+ .pswp__button--arrow--left::before,
2974
+ .pswp__button--arrow--right::before {
2975
+ position: absolute;
2976
+ top: 35px;
2977
+ width: 32px;
2978
+ height: 30px;
2979
+ content: "";
2980
+ }
2981
+
2982
+ .pswp__button--arrow--left::before {
2983
+ left: 6px;
2984
+ background-position: -138px -44px;
2985
+ }
2986
+
2987
+ .pswp__button--arrow--right::before {
2988
+ right: 6px;
2989
+ background-position: -94px -44px;
2990
+ }
2991
+
2992
+ .pswp__counter {
2993
+ position: absolute;
2994
+ top: 0;
2995
+ left: 0;
2996
+ height: 44px;
2997
+ padding: 0 15px;
2998
+ font-size: 11px;
2999
+ font-weight: 700;
3000
+ line-height: 44px;
3001
+ color: var(--color-white);
3002
+ user-select: none;
3003
+ }
3004
+
3005
+ .pswp__caption {
3006
+ position: absolute;
3007
+ bottom: 0;
3008
+ left: 0;
3009
+ width: 100%;
3010
+ min-height: 44px;
3011
+ }
3012
+
3013
+ .pswp__caption__center {
3014
+ max-width: 420px;
3015
+ padding: 25px 15px 30px;
3016
+ margin: 0 auto;
3017
+ font-size: 11px;
3018
+ line-height: 1.6;
3019
+ color: var(--color-white);
3020
+ text-align: center;
3021
+ }
3022
+
3023
+ .pswp__caption__center .post-caption-title {
3024
+ margin-bottom: 7px;
3025
+ font-size: 15px;
3026
+ font-weight: 500;
3027
+ text-transform: uppercase;
3028
+ }
3029
+
3030
+ .pswp__caption__center .post-caption-meta-item + .post-caption-meta-item::before {
3031
+ padding: 0 4px;
3032
+ content: "\02022";
3033
+ }
3034
+
3035
+ .pswp__caption--empty {
3036
+ display: none;
3037
+ }
3038
+
3039
+ .pswp__caption--fake {
3040
+ visibility: hidden;
3041
+ }
3042
+
3043
+ .pswp__preloader {
3044
+ position: absolute;
3045
+ top: 0;
3046
+ left: 50%;
3047
+ width: 44px;
3048
+ height: 44px;
3049
+ margin-left: -22px;
3050
+ opacity: 0;
3051
+ transition: opacity 0.25s ease-out;
3052
+ direction: ltr;
3053
+ will-change: opacity;
3054
+ }
3055
+
3056
+ .pswp__preloader__icn {
3057
+ width: 20px;
3058
+ height: 20px;
3059
+ margin: 12px;
3060
+ }
3061
+
3062
+ .pswp__preloader--active {
3063
+ opacity: 1;
3064
+ }
3065
+
3066
+ .pswp__preloader--active .pswp__preloader__icn {
3067
+ background: url("../images/preloader.gif") 0 0 no-repeat;
3068
+ }
3069
+
3070
+ .pswp--css_animation .pswp__preloader--active {
3071
+ opacity: 1;
3072
+ }
3073
+
3074
+ .pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
3075
+ animation: clockwise 500ms linear infinite;
3076
+ }
3077
+
3078
+ .pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
3079
+ animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
3080
+ }
3081
+
3082
+ .pswp--css_animation .pswp__preloader__icn {
3083
+ position: absolute;
3084
+ top: 15px;
3085
+ left: 15px;
3086
+ width: 14px;
3087
+ height: 14px;
3088
+ margin: 0;
3089
+ background: none;
3090
+ opacity: 0.75;
3091
+ }
3092
+
3093
+ .pswp--css_animation .pswp__preloader__cut {
3094
+ position: relative;
3095
+ width: 7px;
3096
+ height: 14px;
3097
+ overflow: hidden;
3098
+ }
3099
+
3100
+ .pswp--css_animation .pswp__preloader__donut {
3101
+ position: absolute;
3102
+ top: 0;
3103
+ left: 0;
3104
+ box-sizing: border-box;
3105
+ width: 14px;
3106
+ height: 14px;
3107
+ margin: 0;
3108
+ background: none;
3109
+ border: 2px solid var(--color-white);
3110
+ border-bottom-color: transparent;
3111
+ border-left-color: transparent;
3112
+ border-radius: 50%;
3113
+ }
3114
+
3115
+ @media screen and (max-width: 1024px) {
3116
+ .pswp__preloader {
3117
+ position: relative;
3118
+ top: auto;
3119
+ left: auto;
3120
+ float: right;
3121
+ margin: 0;
3122
+ }
3123
+ }
3124
+
3125
+ @keyframes clockwise {
3126
+ 0% {
3127
+ transform: rotate(0deg);
3128
+ }
3129
+
3130
+ 100% {
3131
+ transform: rotate(360deg);
3132
+ }
3133
+ }
3134
+
3135
+ @keyframes donut-rotate {
3136
+ 0% {
3137
+ transform: rotate(0);
3138
+ }
3139
+
3140
+ 50% {
3141
+ transform: rotate(-140deg);
3142
+ }
3143
+
3144
+ 100% {
3145
+ transform: rotate(0);
3146
+ }
3147
+ }
3148
+
3149
+ .pswp__ui {
3150
+ z-index: 1550;
3151
+ visibility: visible;
3152
+ opacity: 1;
3153
+ -webkit-font-smoothing: auto;
3154
+ }
3155
+
3156
+ .pswp__top-bar {
3157
+ position: absolute;
3158
+ top: 0;
3159
+ left: 0;
3160
+ width: 100%;
3161
+ height: 44px;
3162
+ }
3163
+
3164
+ .pswp__caption,
3165
+ .pswp__top-bar,
3166
+ .pswp--has_mouse .pswp__button--arrow--left,
3167
+ .pswp--has_mouse .pswp__button--arrow--right {
3168
+ backface-visibility: hidden;
3169
+ transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
3170
+ will-change: opacity;
3171
+ }
3172
+
3173
+ .pswp--has_mouse .pswp__button--arrow--left,
3174
+ .pswp--has_mouse .pswp__button--arrow--right {
3175
+ visibility: visible;
3176
+ }
3177
+
3178
+ .pswp__ui--idle .pswp__top-bar {
3179
+ opacity: 0;
3180
+ }
3181
+
3182
+ .pswp__ui--idle .pswp__button--arrow--left,
3183
+ .pswp__ui--idle .pswp__button--arrow--right {
3184
+ opacity: 0;
3185
+ }
3186
+
3187
+ .pswp__ui--hidden .pswp__top-bar,
3188
+ .pswp__ui--hidden .pswp__caption,
3189
+ .pswp__ui--hidden .pswp__button--arrow--left,
3190
+ .pswp__ui--hidden .pswp__button--arrow--right {
3191
+ opacity: 0.001;
3192
+ }
3193
+
3194
+ .pswp__ui--one-slide .pswp__button--arrow--left,
3195
+ .pswp__ui--one-slide .pswp__button--arrow--right,
3196
+ .pswp__ui--one-slide .pswp__counter {
3197
+ display: none;
3198
+ }
3199
+
3200
+ .pswp__element--disabled {
3201
+ display: none !important;
3202
+ }
3203
+
3204
+ .pswp--minimal--dark .pswp__top-bar {
3205
+ background: none;
3206
+ }