holosphere 2.0.0-alpha7 → 2.0.0-alpha9

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 (327) hide show
  1. package/CHANGELOG.md +446 -0
  2. package/FEATURES.md +431 -0
  3. package/LICENSE +29 -166
  4. package/LICENSE-AGPL.md +180 -0
  5. package/dist/cdn/holosphere.min.js +55 -0
  6. package/dist/cdn/holosphere.min.js.map +1 -0
  7. package/dist/cjs/holosphere.cjs +1 -1
  8. package/dist/esm/holosphere.js +1 -1
  9. package/dist/{index-C-IlLYlk.cjs → index-DDGt_V9o.cjs} +2 -2
  10. package/dist/{index-C-IlLYlk.cjs.map → index-DDGt_V9o.cjs.map} +1 -1
  11. package/dist/{index-d6f4RJBM.js → index-DJXftyvB.js} +2253 -387
  12. package/dist/index-DJXftyvB.js.map +1 -0
  13. package/dist/index-DMbdcMtK.cjs +18 -0
  14. package/dist/index-DMbdcMtK.cjs.map +1 -0
  15. package/dist/{index-jmTHEbR2.js → index-DeZ1xz_s.js} +2 -2
  16. package/dist/{index-jmTHEbR2.js.map → index-DeZ1xz_s.js.map} +1 -1
  17. package/dist/{indexeddb-storage-D8kOl0oK.js → indexeddb-storage-BFt6hMeF.js} +48 -4
  18. package/dist/indexeddb-storage-BFt6hMeF.js.map +1 -0
  19. package/dist/{indexeddb-storage-a8GipaDr.cjs → indexeddb-storage-BK5tv4Sh.cjs} +2 -2
  20. package/dist/indexeddb-storage-BK5tv4Sh.cjs.map +1 -0
  21. package/dist/{memory-storage-DBQK622V.js → memory-storage-C9HuoL2E.js} +44 -4
  22. package/dist/memory-storage-C9HuoL2E.js.map +1 -0
  23. package/dist/{memory-storage-gfRovk2O.cjs → memory-storage-Dao7jfYG.cjs} +2 -2
  24. package/dist/memory-storage-Dao7jfYG.cjs.map +1 -0
  25. package/dist/{secp256k1-BCAPF45D.cjs → secp256k1-BbKzbLtD.cjs} +2 -2
  26. package/dist/{secp256k1-BCAPF45D.cjs.map → secp256k1-BbKzbLtD.cjs.map} +1 -1
  27. package/dist/{secp256k1-DYm_CMqW.js → secp256k1-CreY7Pcl.js} +2 -2
  28. package/dist/{secp256k1-DYm_CMqW.js.map → secp256k1-CreY7Pcl.js.map} +1 -1
  29. package/docs/api/ai_aggregation.js.html +333 -0
  30. package/docs/api/ai_breakdown.js.html +524 -0
  31. package/docs/api/ai_classifier.js.html +231 -0
  32. package/docs/api/ai_council.js.html +246 -0
  33. package/docs/api/ai_embeddings.js.html +304 -0
  34. package/docs/api/ai_federation-ai.js.html +338 -0
  35. package/docs/api/ai_h3-ai.js.html +970 -0
  36. package/docs/api/ai_index.js.html +124 -0
  37. package/docs/api/ai_json-ops.js.html +241 -0
  38. package/docs/api/ai_llm-service.js.html +239 -0
  39. package/docs/api/ai_nl-query.js.html +236 -0
  40. package/docs/api/ai_relationships.js.html +367 -0
  41. package/docs/api/ai_schema-extractor.js.html +235 -0
  42. package/docs/api/ai_spatial.js.html +307 -0
  43. package/docs/api/ai_tts.js.html +214 -0
  44. package/docs/api/content_social-protocols.js.html +180 -0
  45. package/docs/api/core_holosphere.js.html +757 -0
  46. package/docs/api/crypto_nostr-utils.js.html +306 -0
  47. package/docs/api/crypto_secp256k1.js.html +267 -0
  48. package/docs/api/data/search.json +1 -0
  49. package/docs/api/federation_discovery.js.html +337 -0
  50. package/docs/api/federation_handshake.js.html +478 -0
  51. package/docs/api/federation_hologram.js.html +1053 -0
  52. package/docs/api/federation_registry.js.html +389 -0
  53. package/docs/api/fonts/Inconsolata-Regular.ttf +0 -0
  54. package/docs/api/fonts/OpenSans-Regular.ttf +0 -0
  55. package/docs/api/fonts/WorkSans-Bold.ttf +0 -0
  56. package/docs/api/global.html +3 -0
  57. package/docs/api/hierarchical_upcast.js.html +128 -0
  58. package/docs/api/index.html +265 -0
  59. package/docs/api/index.js.html +1868 -0
  60. package/docs/api/lib_ai-methods.js.html +660 -0
  61. package/docs/api/lib_contract-methods.js.html +445 -0
  62. package/docs/api/lib_errors.js.html +56 -0
  63. package/docs/api/lib_federation-methods.js.html +348 -0
  64. package/docs/api/lib_index.js.html +33 -0
  65. package/docs/api/module-ai.html +5 -0
  66. package/docs/api/module-ai_aggregation-SmartAggregation.html +6 -0
  67. package/docs/api/module-ai_aggregation.SmartAggregation.html +3 -0
  68. package/docs/api/module-ai_aggregation.html +3 -0
  69. package/docs/api/module-ai_breakdown-TaskBreakdown.html +5 -0
  70. package/docs/api/module-ai_breakdown.TaskBreakdown.html +3 -0
  71. package/docs/api/module-ai_breakdown.html +3 -0
  72. package/docs/api/module-ai_classifier-Classifier.html +6 -0
  73. package/docs/api/module-ai_classifier.Classifier.html +3 -0
  74. package/docs/api/module-ai_classifier.html +3 -0
  75. package/docs/api/module-ai_council-Council.html +6 -0
  76. package/docs/api/module-ai_council.Council.html +3 -0
  77. package/docs/api/module-ai_council.html +3 -0
  78. package/docs/api/module-ai_embeddings-Embeddings.html +5 -0
  79. package/docs/api/module-ai_embeddings.Embeddings.html +3 -0
  80. package/docs/api/module-ai_embeddings.html +3 -0
  81. package/docs/api/module-ai_federation-ai-FederationAdvisor.html +6 -0
  82. package/docs/api/module-ai_federation-ai.FederationAdvisor.html +3 -0
  83. package/docs/api/module-ai_federation-ai.html +3 -0
  84. package/docs/api/module-ai_h3-ai-H3AI.html +6 -0
  85. package/docs/api/module-ai_h3-ai.H3AI.html +3 -0
  86. package/docs/api/module-ai_h3-ai.html +3 -0
  87. package/docs/api/module-ai_json-ops-JSONOps.html +5 -0
  88. package/docs/api/module-ai_json-ops.JSONOps.html +3 -0
  89. package/docs/api/module-ai_json-ops.html +3 -0
  90. package/docs/api/module-ai_llm-service-LLMService.html +5 -0
  91. package/docs/api/module-ai_llm-service.LLMService.html +3 -0
  92. package/docs/api/module-ai_llm-service.html +3 -0
  93. package/docs/api/module-ai_nl-query-NLQuery.html +5 -0
  94. package/docs/api/module-ai_nl-query.NLQuery.html +3 -0
  95. package/docs/api/module-ai_nl-query.html +3 -0
  96. package/docs/api/module-ai_relationships-RelationshipDiscovery.html +6 -0
  97. package/docs/api/module-ai_relationships.RelationshipDiscovery.html +3 -0
  98. package/docs/api/module-ai_relationships.html +3 -0
  99. package/docs/api/module-ai_schema-extractor-SchemaExtractor.html +5 -0
  100. package/docs/api/module-ai_schema-extractor.SchemaExtractor.html +3 -0
  101. package/docs/api/module-ai_schema-extractor.html +3 -0
  102. package/docs/api/module-ai_spatial-SpatialAnalysis.html +6 -0
  103. package/docs/api/module-ai_spatial.SpatialAnalysis.html +3 -0
  104. package/docs/api/module-ai_spatial.html +3 -0
  105. package/docs/api/module-ai_tts-TTS.html +5 -0
  106. package/docs/api/module-ai_tts.TTS.html +3 -0
  107. package/docs/api/module-ai_tts.html +3 -0
  108. package/docs/api/module-content_social-protocols.html +3 -0
  109. package/docs/api/module-core_holosphere-HoloSphere.html +6 -0
  110. package/docs/api/module-core_holosphere.HoloSphere.html +3 -0
  111. package/docs/api/module-core_holosphere.html +3 -0
  112. package/docs/api/module-crypto_nostr-utils.html +3 -0
  113. package/docs/api/module-crypto_secp256k1.html +3 -0
  114. package/docs/api/module-federation_hologram.html +3 -0
  115. package/docs/api/module-hierarchical_upcast.html +3 -0
  116. package/docs/api/module-holosphere-HoloSphereBase.html +3 -0
  117. package/docs/api/module-holosphere.html +3 -0
  118. package/docs/api/module-lib_ai-methods.html +3 -0
  119. package/docs/api/module-lib_contract-methods.html +3 -0
  120. package/docs/api/module-lib_errors-AuthorizationError.html +3 -0
  121. package/docs/api/module-lib_errors-ValidationError.html +3 -0
  122. package/docs/api/module-lib_errors.AuthorizationError.html +3 -0
  123. package/docs/api/module-lib_errors.ValidationError.html +3 -0
  124. package/docs/api/module-lib_errors.html +3 -0
  125. package/docs/api/module-lib_federation-methods.html +3 -0
  126. package/docs/api/module-lib_index.html +3 -0
  127. package/docs/api/module-schema_validator-ValidationError.html +3 -0
  128. package/docs/api/module-schema_validator.ValidationError.html +3 -0
  129. package/docs/api/module-schema_validator.html +3 -0
  130. package/docs/api/module-spatial_h3-operations.html +4 -0
  131. package/docs/api/module-storage_backend-factory.BackendFactory.html +3 -0
  132. package/docs/api/module-storage_backend-factory.html +3 -0
  133. package/docs/api/module-storage_backend-interface-StorageBackend.html +3 -0
  134. package/docs/api/module-storage_backend-interface.StorageBackend.html +3 -0
  135. package/docs/api/module-storage_backend-interface.html +3 -0
  136. package/docs/api/module-storage_backends_activitypub-backend-ActivityPubBackend.html +7 -0
  137. package/docs/api/module-storage_backends_activitypub-backend.ActivityPubBackend.html +3 -0
  138. package/docs/api/module-storage_backends_activitypub-backend.html +3 -0
  139. package/docs/api/module-storage_backends_activitypub_server-ActivityPubServer.html +8 -0
  140. package/docs/api/module-storage_backends_activitypub_server.ActivityPubServer.html +3 -0
  141. package/docs/api/module-storage_backends_activitypub_server.html +3 -0
  142. package/docs/api/module-storage_backends_gundb-backend-GunDBBackend.html +7 -0
  143. package/docs/api/module-storage_backends_gundb-backend.GunDBBackend.html +3 -0
  144. package/docs/api/module-storage_backends_gundb-backend.html +3 -0
  145. package/docs/api/module-storage_backends_nostr-backend-NostrBackend.html +8 -0
  146. package/docs/api/module-storage_backends_nostr-backend.NostrBackend.html +3 -0
  147. package/docs/api/module-storage_backends_nostr-backend.html +3 -0
  148. package/docs/api/module-storage_filesystem-storage-FileSystemStorage.html +5 -0
  149. package/docs/api/module-storage_filesystem-storage-browser-FileSystemStorage.html +3 -0
  150. package/docs/api/module-storage_filesystem-storage-browser.FileSystemStorage.html +3 -0
  151. package/docs/api/module-storage_filesystem-storage-browser.html +3 -0
  152. package/docs/api/module-storage_filesystem-storage.FileSystemStorage.html +3 -0
  153. package/docs/api/module-storage_filesystem-storage.html +3 -0
  154. package/docs/api/module-storage_global-tables.html +3 -0
  155. package/docs/api/module-storage_gun-async.html +3 -0
  156. package/docs/api/module-storage_gun-auth-GunAuth.html +5 -0
  157. package/docs/api/module-storage_gun-auth.GunAuth.html +3 -0
  158. package/docs/api/module-storage_gun-auth.html +3 -0
  159. package/docs/api/module-storage_gun-federation.html +3 -0
  160. package/docs/api/module-storage_gun-references-GunReferenceHandler.html +5 -0
  161. package/docs/api/module-storage_gun-references.GunReferenceHandler.html +3 -0
  162. package/docs/api/module-storage_gun-references.html +3 -0
  163. package/docs/api/module-storage_gun-schema-GunSchemaValidator.html +5 -0
  164. package/docs/api/module-storage_gun-schema.GunSchemaValidator.html +3 -0
  165. package/docs/api/module-storage_gun-schema.html +3 -0
  166. package/docs/api/module-storage_gun-wrapper.html +11 -0
  167. package/docs/api/module-storage_indexeddb-storage-IndexedDBStorage.html +5 -0
  168. package/docs/api/module-storage_indexeddb-storage.IndexedDBStorage.html +3 -0
  169. package/docs/api/module-storage_indexeddb-storage.html +3 -0
  170. package/docs/api/module-storage_key-storage-simple.html +3 -0
  171. package/docs/api/module-storage_key-storage.html +4 -0
  172. package/docs/api/module-storage_memory-storage-MemoryStorage.html +5 -0
  173. package/docs/api/module-storage_memory-storage.MemoryStorage.html +3 -0
  174. package/docs/api/module-storage_memory-storage.html +3 -0
  175. package/docs/api/module-storage_migration-MigrationTool.html +6 -0
  176. package/docs/api/module-storage_migration.MigrationTool.html +3 -0
  177. package/docs/api/module-storage_migration.html +3 -0
  178. package/docs/api/module-storage_nostr-async.html +18 -0
  179. package/docs/api/module-storage_nostr-client-LRUCache.html +3 -0
  180. package/docs/api/module-storage_nostr-client-NostrClient.html +7 -0
  181. package/docs/api/module-storage_nostr-client.NostrClient.html +15 -0
  182. package/docs/api/module-storage_nostr-client.html +6 -0
  183. package/docs/api/module-storage_nostr-wrapper.html +3 -0
  184. package/docs/api/module-storage_outbox-queue-OutboxQueue.html +4 -0
  185. package/docs/api/module-storage_outbox-queue.OutboxQueue.html +3 -0
  186. package/docs/api/module-storage_outbox-queue.html +3 -0
  187. package/docs/api/module-storage_persistent-storage-PersistentStorage.html +3 -0
  188. package/docs/api/module-storage_persistent-storage.html +4 -0
  189. package/docs/api/module-storage_sync-service-SyncService.html +5 -0
  190. package/docs/api/module-storage_sync-service.SyncService.html +3 -0
  191. package/docs/api/module-storage_sync-service.html +3 -0
  192. package/docs/api/module-storage_unified-storage.html +3 -0
  193. package/docs/api/module-subscriptions_manager.SubscriptionRegistry.html +3 -0
  194. package/docs/api/module-subscriptions_manager.html +3 -0
  195. package/docs/api/schema_validator.js.html +113 -0
  196. package/docs/api/scripts/core.js +726 -0
  197. package/docs/api/scripts/core.min.js +23 -0
  198. package/docs/api/scripts/resize.js +90 -0
  199. package/docs/api/scripts/search.js +265 -0
  200. package/docs/api/scripts/search.min.js +6 -0
  201. package/docs/api/scripts/third-party/Apache-License-2.0.txt +202 -0
  202. package/docs/api/scripts/third-party/fuse.js +9 -0
  203. package/docs/api/scripts/third-party/hljs-line-num-original.js +369 -0
  204. package/docs/api/scripts/third-party/hljs-line-num.js +1 -0
  205. package/docs/api/scripts/third-party/hljs-original.js +5171 -0
  206. package/docs/api/scripts/third-party/hljs.js +1 -0
  207. package/docs/api/scripts/third-party/popper.js +5 -0
  208. package/docs/api/scripts/third-party/tippy.js +1 -0
  209. package/docs/api/scripts/third-party/tocbot.js +672 -0
  210. package/docs/api/scripts/third-party/tocbot.min.js +1 -0
  211. package/docs/api/spatial_h3-operations.js.html +129 -0
  212. package/docs/api/storage_backend-factory.js.html +133 -0
  213. package/docs/api/storage_backend-interface.js.html +164 -0
  214. package/docs/api/storage_backends_activitypub-backend.js.html +298 -0
  215. package/docs/api/storage_backends_activitypub_server.js.html +678 -0
  216. package/docs/api/storage_backends_gundb-backend.js.html +878 -0
  217. package/docs/api/storage_backends_nostr-backend.js.html +254 -0
  218. package/docs/api/storage_filesystem-storage-browser.js.html +83 -0
  219. package/docs/api/storage_filesystem-storage.js.html +207 -0
  220. package/docs/api/storage_global-tables.js.html +116 -0
  221. package/docs/api/storage_gun-async.js.html +344 -0
  222. package/docs/api/storage_gun-auth.js.html +376 -0
  223. package/docs/api/storage_gun-federation.js.html +788 -0
  224. package/docs/api/storage_gun-references.js.html +212 -0
  225. package/docs/api/storage_gun-schema.js.html +309 -0
  226. package/docs/api/storage_gun-wrapper.js.html +645 -0
  227. package/docs/api/storage_indexeddb-storage.js.html +224 -0
  228. package/docs/api/storage_key-storage-simple.js.html +102 -0
  229. package/docs/api/storage_key-storage.js.html +171 -0
  230. package/docs/api/storage_memory-storage.js.html +128 -0
  231. package/docs/api/storage_migration.js.html +354 -0
  232. package/docs/api/storage_nostr-async.js.html +1076 -0
  233. package/docs/api/storage_nostr-client.js.html +1598 -0
  234. package/docs/api/storage_nostr-wrapper.js.html +218 -0
  235. package/docs/api/storage_outbox-queue.js.html +248 -0
  236. package/docs/api/storage_persistent-storage.js.html +160 -0
  237. package/docs/api/storage_sync-service.js.html +201 -0
  238. package/docs/api/storage_unified-storage.js.html +157 -0
  239. package/docs/api/styles/clean-jsdoc-theme-base.css +1159 -0
  240. package/docs/api/styles/clean-jsdoc-theme-dark.css +412 -0
  241. package/docs/api/styles/clean-jsdoc-theme-light.css +482 -0
  242. package/docs/api/styles/clean-jsdoc-theme-scrollbar.css +30 -0
  243. package/docs/api/styles/clean-jsdoc-theme-without-scrollbar.min.css +1 -0
  244. package/docs/api/styles/clean-jsdoc-theme.min.css +1 -0
  245. package/docs/api/subscriptions_manager.js.html +162 -0
  246. package/examples/holosphere-widget.js +1242 -0
  247. package/examples/widget-demo.html +274 -0
  248. package/examples/widget.html +703 -0
  249. package/jsdoc.json +26 -0
  250. package/package.json +16 -3
  251. package/src/ai/aggregation.js +13 -2
  252. package/src/ai/breakdown.js +12 -2
  253. package/src/ai/classifier.js +14 -3
  254. package/src/ai/council.js +22 -7
  255. package/src/ai/embeddings.js +37 -15
  256. package/src/ai/federation-ai.js +13 -2
  257. package/src/ai/h3-ai.js +14 -2
  258. package/src/ai/index.js +16 -7
  259. package/src/ai/json-ops.js +18 -5
  260. package/src/ai/llm-service.js +62 -31
  261. package/src/ai/nl-query.js +12 -2
  262. package/src/ai/relationships.js +13 -2
  263. package/src/ai/schema-extractor.js +24 -10
  264. package/src/ai/spatial.js +13 -2
  265. package/src/ai/tts.js +25 -8
  266. package/src/cdn-entry.js +22 -0
  267. package/src/content/social-protocols.js +34 -25
  268. package/src/contracts/chain-manager.js +68 -40
  269. package/src/contracts/deployer.js +70 -42
  270. package/src/contracts/event-listener.js +61 -29
  271. package/src/contracts/holon-contracts.js +46 -31
  272. package/src/contracts/index.js +5 -6
  273. package/src/contracts/networks.js +19 -14
  274. package/src/contracts/operations.js +58 -41
  275. package/src/contracts/queries.js +70 -21
  276. package/src/core/holosphere.js +37 -8
  277. package/src/crypto/nostr-utils.js +105 -65
  278. package/src/crypto/secp256k1.js +7 -2
  279. package/src/federation/handshake.js +23 -11
  280. package/src/federation/hologram.js +9 -1
  281. package/src/hierarchical/upcast.js +34 -20
  282. package/src/index.js +671 -7
  283. package/src/lib/ai-methods.js +352 -3
  284. package/src/lib/contract-methods.js +152 -3
  285. package/src/lib/errors.js +31 -1
  286. package/src/lib/federation-methods.js +110 -3
  287. package/src/lib/index.js +9 -5
  288. package/src/schema/validator.js +22 -3
  289. package/src/spatial/h3-operations.js +17 -1
  290. package/src/storage/backend-factory.js +7 -2
  291. package/src/storage/backend-interface.js +21 -2
  292. package/src/storage/backends/activitypub/server.js +25 -3
  293. package/src/storage/backends/activitypub-backend.js +25 -2
  294. package/src/storage/backends/gundb-backend.js +322 -11
  295. package/src/storage/backends/nostr-backend.js +116 -1
  296. package/src/storage/filesystem-storage-browser.js +42 -2
  297. package/src/storage/filesystem-storage.js +72 -5
  298. package/src/storage/global-tables.js +7 -2
  299. package/src/storage/gun-async.js +20 -11
  300. package/src/storage/gun-auth.js +15 -4
  301. package/src/storage/gun-federation.js +14 -5
  302. package/src/storage/gun-references.js +16 -5
  303. package/src/storage/gun-schema.js +25 -10
  304. package/src/storage/gun-wrapper.js +160 -49
  305. package/src/storage/indexeddb-storage.js +65 -4
  306. package/src/storage/key-storage-simple.js +32 -9
  307. package/src/storage/key-storage.js +45 -13
  308. package/src/storage/memory-storage.js +65 -4
  309. package/src/storage/migration.js +20 -7
  310. package/src/storage/nostr-async.js +195 -90
  311. package/src/storage/nostr-client.js +173 -49
  312. package/src/storage/nostr-wrapper.js +6 -2
  313. package/src/storage/outbox-queue.js +55 -18
  314. package/src/storage/persistent-storage.js +56 -13
  315. package/src/storage/sync-service.js +51 -17
  316. package/src/storage/unified-storage.js +38 -3
  317. package/src/subscriptions/manager.js +33 -16
  318. package/vite.config.cdn.js +60 -0
  319. package/dist/index-Bvwyvd0T.cjs +0 -5
  320. package/dist/index-Bvwyvd0T.cjs.map +0 -1
  321. package/dist/index-d6f4RJBM.js.map +0 -1
  322. package/dist/indexeddb-storage-D8kOl0oK.js.map +0 -1
  323. package/dist/indexeddb-storage-a8GipaDr.cjs.map +0 -1
  324. package/dist/memory-storage-DBQK622V.js.map +0 -1
  325. package/dist/memory-storage-gfRovk2O.cjs.map +0 -1
  326. /package/{cleanup-test-data.js → scripts/cleanup-test-data.js} +0 -0
  327. /package/{test-ai-real-api.js → scripts/test-ai-real-api.js} +0 -0
@@ -0,0 +1,1159 @@
1
+ @font-face {
2
+ font-display: swap;
3
+ font-family: 'heading';
4
+ src: url('../fonts/WorkSans-Bold.ttf') format('truetype');
5
+
6
+ }
7
+
8
+ @font-face {
9
+ font-display: swap;
10
+ font-family: 'body';
11
+ src: url('../fonts/OpenSans-Regular.ttf') format('truetype');
12
+
13
+ }
14
+
15
+ @font-face {
16
+ font-display: swap;
17
+ font-family: 'code';
18
+ src: url('../fonts/Inconsolata-Regular.ttf') format('truetype');
19
+
20
+ }
21
+
22
+ :root {
23
+ --outer-wrapper-max-width: 65rem;
24
+
25
+ }
26
+
27
+ * {
28
+ box-sizing: border-box;
29
+ margin: 0;
30
+ padding: 0;
31
+
32
+ }
33
+
34
+ html,
35
+ body {
36
+ line-height: 1.75;
37
+ min-height: 100%;
38
+ width: 100%;
39
+
40
+ }
41
+
42
+ body {
43
+ font-family: 'body';
44
+ overflow-x: hidden;
45
+ position: relative;
46
+
47
+ }
48
+
49
+ b {
50
+ font-family: heading;
51
+
52
+ }
53
+
54
+ h1,
55
+ h2,
56
+ h3,
57
+ h4,
58
+ h5,
59
+ h6 {
60
+ font-family: 'heading';
61
+ font-weight: normal;
62
+ line-height: 1.75;
63
+
64
+ }
65
+
66
+ h1 {
67
+ font-size: 3.5rem;
68
+ margin: 0;
69
+
70
+ }
71
+
72
+ h2 {
73
+ font-size: 2.25rem;
74
+ margin: 2rem 0 0;
75
+
76
+ }
77
+
78
+ h3 {
79
+ font-size: 1.5rem;
80
+
81
+ }
82
+
83
+ h4 {
84
+ font-size: 1.25rem;
85
+
86
+ }
87
+
88
+ h5 {
89
+ font-size: 1rem;
90
+
91
+ }
92
+
93
+ h6 {
94
+ font-size: 1rem;
95
+
96
+ }
97
+
98
+ img {
99
+ max-width: 100%;
100
+
101
+ }
102
+
103
+ a {
104
+ text-decoration: none;
105
+
106
+ }
107
+
108
+ a:hover {
109
+ text-decoration: underline;
110
+
111
+ }
112
+
113
+ /* badges */
114
+
115
+ a img {
116
+ margin-right: 0.5rem;
117
+
118
+ }
119
+
120
+ p {
121
+ margin: 1rem 0;
122
+
123
+ }
124
+
125
+ article ul {
126
+ list-style: disc;
127
+ }
128
+
129
+ article ul li,
130
+ article ol li {
131
+ padding: 0.5rem 0;
132
+
133
+ }
134
+
135
+ article ol,
136
+ article ul {
137
+ padding-left: 2rem;
138
+
139
+ }
140
+
141
+ article ol p,
142
+ article ul p {
143
+ margin: 0;
144
+
145
+ }
146
+
147
+ /* stylelint-disable-next-line */
148
+
149
+ .variation {
150
+ display: none;
151
+
152
+ }
153
+
154
+ .signature-attributes {
155
+ font-style: italic;
156
+ font-weight: lighter;
157
+
158
+ }
159
+
160
+ .ancestors a {
161
+ text-decoration: none;
162
+
163
+ }
164
+
165
+ .important {
166
+ font-weight: bold;
167
+
168
+ }
169
+
170
+ .signature {
171
+ font-family: 'code';
172
+
173
+ }
174
+
175
+ .name {
176
+ font-family: 'code';
177
+ font-weight: bold;
178
+
179
+ }
180
+
181
+ blockquote {
182
+ border-radius: 1rem;
183
+ font-size: 0.875rem;
184
+ margin: 0.5rem 0;
185
+ padding: 0.0625rem 1.25rem;
186
+
187
+ }
188
+
189
+ .details {
190
+ border-radius: 1rem;
191
+ margin: 1rem 0;
192
+
193
+ }
194
+
195
+ .details .details-item-container {
196
+ display: flex;
197
+ padding: 1rem 2rem;
198
+
199
+ }
200
+
201
+ dt {
202
+ font-family: heading;
203
+
204
+ }
205
+
206
+ .details dt {
207
+ float: left;
208
+ min-width: 11rem;
209
+
210
+ }
211
+
212
+ .details ul {
213
+ display: inline-flex;
214
+ list-style-type: none;
215
+ margin: 0;
216
+
217
+ }
218
+
219
+ .details ul li {
220
+ display: inline-flex;
221
+ margin-right: 0.6125rem;
222
+ padding: 0;
223
+ word-break: break-word;
224
+
225
+ }
226
+
227
+ /* stylelint-disable-next-line */
228
+ .details ul li p {
229
+ margin: 0;
230
+
231
+ }
232
+
233
+ /* stylelint-disable */
234
+ .details pre.prettyprint {
235
+ margin: 0;
236
+
237
+ }
238
+
239
+ /* stylelint-enable */
240
+
241
+ .details .object-value {
242
+ padding-top: 0;
243
+
244
+ }
245
+
246
+ .description {
247
+ margin-bottom: 2rem;
248
+
249
+ }
250
+
251
+ .method-member-container table {
252
+ margin-top: 1rem;
253
+
254
+ }
255
+
256
+ .pre-div .hljs-ln {
257
+ margin: 0;
258
+
259
+ }
260
+
261
+ .code-caption {
262
+ font-size: 0.875rem;
263
+
264
+ }
265
+
266
+ .prettyprint {
267
+ font-size: 0.875rem;
268
+ overflow: auto;
269
+
270
+ }
271
+
272
+ /* stylelint-disable-next-line selector-no-qualifying-type,rule-empty-line-before */
273
+ pre.prettyprint {
274
+ margin-top: 3rem;
275
+
276
+ }
277
+
278
+ .prettyprint.source {
279
+ width: inherit;
280
+
281
+ }
282
+
283
+ .prettyprint code {
284
+ display: block;
285
+ font-size: 1rem;
286
+ line-height: 1.75;
287
+ padding: 0 0 1rem;
288
+
289
+ }
290
+
291
+ .prettyprint .compact {
292
+ padding: 0;
293
+
294
+ }
295
+
296
+ /* stylelint-disable-next-line selector-no-qualifying-type,rule-empty-line-before */
297
+ h4.name {
298
+ margin-top: 0.5rem;
299
+
300
+ }
301
+
302
+ .params,
303
+ .props,
304
+ table {
305
+ border-collapse: separate;
306
+ border-radius: 0.5rem;
307
+ border-spacing: 0 0.5rem;
308
+ font-size: 0.875rem;
309
+ margin: 0;
310
+ width: 100%;
311
+
312
+ }
313
+
314
+ table td:first-child,
315
+ .params td:first-child,
316
+ table thead th:first-child,
317
+ .params thead th:first-child,
318
+ .props thead th:first-child {
319
+ border-bottom-left-radius: 1rem;
320
+ border-top-left-radius: 1rem;
321
+
322
+ }
323
+
324
+ table td:last-child,
325
+ .params td:last-child,
326
+ table thead th:last-child,
327
+ .params thead th:last-child,
328
+ .props thead th:last-child {
329
+ border-bottom-right-radius: 1rem;
330
+ border-top-right-radius: 1rem;
331
+
332
+ }
333
+
334
+ table th,
335
+ .params th {
336
+ position: sticky;
337
+ top: 0;
338
+
339
+ }
340
+
341
+ .params .name,
342
+ .props .name,
343
+ .name code {
344
+ font-family: 'code';
345
+ font-size: 1rem;
346
+
347
+ }
348
+
349
+ .params td,
350
+ .params th,
351
+ .props td,
352
+ .props th,
353
+ th,
354
+ td {
355
+ display: table-cell;
356
+ margin: 0;
357
+ padding: 1rem 2rem;
358
+ text-align: left;
359
+ vertical-align: top;
360
+
361
+ }
362
+
363
+ .params thead tr,
364
+ .props thead tr {
365
+ font-weight: bold;
366
+
367
+ }
368
+
369
+ /* stylelint-disable */
370
+ .params .params thead tr,
371
+ .props .props thead tr {
372
+ font-weight: bold;
373
+
374
+ }
375
+
376
+ .params td.description > p:first-child,
377
+ .props td.description > p:first-child {
378
+ margin-top: 0;
379
+ padding-top: 0;
380
+
381
+ }
382
+
383
+ .params td.description > p:last-child,
384
+ .props td.description > p:last-child {
385
+ margin-bottom: 0;
386
+ padding-bottom: 0;
387
+
388
+ }
389
+
390
+ dl.param-type {
391
+ margin-bottom: 1rem;
392
+ padding-bottom: 1rem;
393
+
394
+ }
395
+
396
+ /* stylelint-enable */
397
+
398
+ .param-type dt,
399
+ .param-type dd {
400
+ display: inline-block;
401
+
402
+ }
403
+
404
+ .param-type dd {
405
+ font-family: 'code';
406
+ font-size: 1rem;
407
+
408
+ }
409
+
410
+ code {
411
+ border-radius: 0.3rem;
412
+ font-family: 'code';
413
+ font-size: 1rem;
414
+ padding: 0.1rem 0.4rem;
415
+
416
+ }
417
+
418
+ .mt-20 {
419
+ margin-top: 1.5rem;
420
+
421
+ }
422
+
423
+ .codepen-form {
424
+ bottom: 0;
425
+ position: absolute;
426
+ right: 0.6125rem;
427
+
428
+ }
429
+
430
+ .body-wrapper {
431
+ display: flex;
432
+ flex-direction: column;
433
+ height: 100vh;
434
+ position: relative;
435
+
436
+ }
437
+
438
+ .sidebar-container {
439
+ bottom: 0;
440
+ display: flex;
441
+ left: 0;
442
+ padding: 1rem;
443
+ position: fixed;
444
+ top: 0;
445
+ width: 25rem;
446
+ z-index: 10;
447
+
448
+ }
449
+
450
+ .sidebar {
451
+ border-radius: 1rem;
452
+ display: flex;
453
+ flex: 1;
454
+ flex-direction: column;
455
+ overflow: hidden;
456
+ padding: 1.5rem 0;
457
+
458
+ }
459
+
460
+ .sidebar-title {
461
+ font-family: heading;
462
+ font-size: 1.5rem;
463
+ margin: 0 0 2rem;
464
+ padding: 0 2rem;
465
+ text-decoration: none;
466
+
467
+ }
468
+
469
+ .sidebar-title:hover {
470
+ text-decoration: none;
471
+
472
+ }
473
+
474
+ .sidebar-items-container {
475
+ flex: 1;
476
+ overflow: auto;
477
+ position: relative;
478
+
479
+ }
480
+
481
+ .sidebar-section-title {
482
+ border-radius: 1rem;
483
+ font-family: heading;
484
+ font-size: 1.25rem;
485
+ padding: 0.5rem 2rem;
486
+
487
+ }
488
+
489
+ .with-arrow {
490
+ align-items: center;
491
+ cursor: pointer;
492
+ display: flex;
493
+
494
+ }
495
+
496
+ .with-arrow div {
497
+ flex: 1;
498
+
499
+ }
500
+
501
+ .with-arrow svg {
502
+ height: 1rem;
503
+ transition: transform 0.3s;
504
+ width: 1rem;
505
+
506
+ }
507
+
508
+ .with-arrow[data-isopen='true'] svg {
509
+ transform: rotate(180deg);
510
+
511
+ }
512
+
513
+ .sidebar-section-children-container {
514
+ border-radius: 0.5rem;
515
+ overflow: hidden;
516
+
517
+ }
518
+
519
+ .sidebar-section-children a {
520
+ display: block;
521
+ padding: 0.25rem 2rem;
522
+ width: 100%;
523
+
524
+ }
525
+
526
+ .sidebar-section-children a {
527
+ text-decoration: none;
528
+
529
+ }
530
+
531
+ .with-arrow[data-isopen='false'] + .sidebar-section-children-container {
532
+ height: 0;
533
+ overflow: hidden;
534
+
535
+ }
536
+
537
+ .with-arrow[data-isopen='true'] + .sidebar-section-children-container {
538
+ height: auto;
539
+
540
+ }
541
+
542
+ .toc-container {
543
+ bottom: 0;
544
+ position: fixed;
545
+ right: 4rem;
546
+ top: 0;
547
+ width: 16rem;
548
+ z-index: 10;
549
+
550
+ }
551
+
552
+ .toc-content {
553
+ display: flex;
554
+ flex-direction: column;
555
+ height: 100%;
556
+ padding-top: 10rem;
557
+
558
+ }
559
+
560
+ /* stylelint-disable-next-line selector-max-id,rule-empty-line-before */
561
+ #eed4d2a0bfd64539bb9df78095dec881 {
562
+ flex: 1;
563
+ margin: 2rem 0;
564
+ overflow: auto;
565
+
566
+ }
567
+
568
+ .toc-list {
569
+ list-style: none;
570
+ padding-left: 1rem;
571
+
572
+ }
573
+
574
+ .toc-link {
575
+ display: block;
576
+ overflow: hidden;
577
+ text-overflow: ellipsis;
578
+ white-space: nowrap;
579
+ width: 100%;
580
+
581
+ }
582
+
583
+ .toc-link.is-active-link {
584
+ font-family: heading;
585
+
586
+ }
587
+
588
+ .has-anchor {
589
+ position: relative;
590
+
591
+ }
592
+
593
+ .link-anchor {
594
+ padding: 0 0.5rem;
595
+
596
+ }
597
+
598
+ .has-anchor .link-anchor {
599
+ left: 0;
600
+ position: absolute;
601
+ text-decoration: none;
602
+ top: 0;
603
+ transform: translateX(-100%);
604
+ visibility: hidden;
605
+
606
+ }
607
+
608
+ .has-anchor:hover .link-anchor {
609
+ visibility: visible;
610
+
611
+ }
612
+
613
+ .navbar-container {
614
+ display: flex;
615
+ height: 7rem;
616
+ justify-content: center;
617
+ left: 25rem;
618
+ padding-top: 1rem;
619
+ position: fixed;
620
+ right: 25rem;
621
+ top: 0;
622
+ z-index: 10;
623
+
624
+ }
625
+
626
+ .navbar {
627
+ display: flex;
628
+ flex: 1;
629
+ max-width: var(--outer-wrapper-max-width);
630
+ padding: 1rem 4rem 1rem 2rem;
631
+
632
+ }
633
+
634
+ .navbar-left-items {
635
+ display: flex;
636
+ flex: 1;
637
+
638
+ }
639
+
640
+ .navbar-right-items {
641
+ display: flex;
642
+
643
+ }
644
+
645
+ .icon-button svg {
646
+ height: 1rem;
647
+ width: 1rem;
648
+
649
+ }
650
+
651
+ .icon-button {
652
+ background: transparent;
653
+ border: 0;
654
+ border-radius: 50%;
655
+ cursor: pointer;
656
+ display: inline-flex;
657
+ padding: 0.5rem;
658
+ position: relative;
659
+ transition: background 0.3s;
660
+
661
+ }
662
+
663
+ .navbar-right-item {
664
+ align-items: center;
665
+ display: flex;
666
+ justify-content: center;
667
+ margin: 0 0.25rem;
668
+
669
+ }
670
+
671
+ .navbar-item {
672
+ border-radius: 0.5rem;
673
+ overflow: hidden;
674
+
675
+ }
676
+
677
+ .navbar-item a {
678
+ display: inline-block;
679
+ padding: 1rem 2rem;
680
+ text-decoration: none;
681
+ transition: 0.3s;
682
+
683
+ }
684
+
685
+ .font-size-tooltip {
686
+ align-items: center;
687
+ display: flex;
688
+ margin: 0 -0.5rem;
689
+
690
+ }
691
+
692
+ .font-size-tooltip .icon-button.disabled {
693
+ pointer-events: none;
694
+
695
+ }
696
+
697
+ .main-content {
698
+ align-items: center;
699
+ display: flex;
700
+ flex: 1;
701
+ flex-direction: column;
702
+ overflow: auto;
703
+ padding: 7rem 25rem 0;
704
+ position: relative;
705
+
706
+ }
707
+
708
+ .main-wrapper {
709
+ max-width: var(--outer-wrapper-max-width);
710
+ padding: 0 4rem 1rem;
711
+ width: 100%;
712
+
713
+ }
714
+
715
+ .p-h-n {
716
+ padding: 0.4rem 1rem;
717
+
718
+ }
719
+
720
+ .footer {
721
+ border-radius: 1rem;
722
+ display: flex;
723
+ font-size: 0.875rem;
724
+ justify-content: center;
725
+ margin-top: 5rem;
726
+ width: 100%;
727
+
728
+ }
729
+
730
+ .source-page + .footer {
731
+ margin-top: 3rem;
732
+
733
+ }
734
+
735
+ .footer .wrapper {
736
+ flex: 1;
737
+ max-width: var(--outer-wrapper-max-width);
738
+ padding: 1rem 2rem;
739
+
740
+ }
741
+
742
+ pre {
743
+ position: relative;
744
+
745
+ }
746
+
747
+ .hljs table td {
748
+ background: transparent;
749
+ border-radius: 0;
750
+ line-height: 1.5;
751
+ padding: 0 0.6125rem;
752
+
753
+ }
754
+
755
+ .hljs .hljs-ln-numbers {
756
+ padding-left: 1.5rem;
757
+ user-select: none;
758
+ white-space: nowrap;
759
+ width: 2rem;
760
+
761
+ }
762
+
763
+ .hljs-ln-line.hljs-ln-numbers::before {
764
+ content: attr(data-line-number);
765
+
766
+ }
767
+
768
+ .pre-div {
769
+ border-radius: 1rem;
770
+ margin: 2rem 0;
771
+ overflow: hidden;
772
+ position: relative;
773
+
774
+ }
775
+
776
+ .pre-top-bar-container {
777
+ align-items: center;
778
+ display: flex;
779
+ justify-content: space-between;
780
+ left: 0;
781
+ padding: 0.3125rem 1.5rem;
782
+ position: absolute;
783
+ right: 0;
784
+ top: 0;
785
+
786
+ }
787
+
788
+ .code-copy-icon-container {
789
+ align-items: center;
790
+ border-radius: 50%;
791
+ cursor: pointer;
792
+ display: flex;
793
+ height: 1.875rem;
794
+ justify-content: center;
795
+ transition: 0.3s;
796
+ width: 1.875rem;
797
+
798
+ }
799
+
800
+ .code-copy-icon-container > div {
801
+ margin-top: 0.25rem;
802
+ position: relative;
803
+
804
+ }
805
+
806
+ .sm-icon {
807
+ height: 1rem;
808
+ width: 1rem;
809
+
810
+ }
811
+
812
+ .code-lang-name {
813
+ font-family: 'body';
814
+ font-size: 0.75rem;
815
+
816
+ }
817
+
818
+ .tooltip {
819
+ border-radius: 0.3125rem;
820
+ opacity: 0;
821
+ padding: 0.1875rem 0.5rem;
822
+ position: absolute;
823
+ right: 2rem;
824
+ top: 0.3125rem;
825
+ transform: scale(0);
826
+ transition: 0.3s;
827
+
828
+ }
829
+
830
+ .show-tooltip {
831
+ opacity: 1;
832
+ transform: scale(1);
833
+
834
+ }
835
+
836
+ .allow-overflow {
837
+ overflow: auto;
838
+
839
+ }
840
+
841
+ .bold {
842
+ font-family: heading;
843
+
844
+ }
845
+
846
+ .search-container {
847
+ align-items: flex-start;
848
+ bottom: 0;
849
+ justify-content: center;
850
+ left: 0;
851
+ position: fixed;
852
+ right: 0;
853
+ top: 0;
854
+ z-index: 50;
855
+
856
+ }
857
+
858
+ .search-container .wrapper {
859
+ border-radius: 1rem;
860
+ margin: 3rem 25rem;
861
+ max-width: 60rem;
862
+ padding: 4rem 2rem 2rem;
863
+ position: relative;
864
+ width: 100%;
865
+
866
+ }
867
+
868
+ .search-close-button {
869
+ position: absolute;
870
+ right: 1rem;
871
+ top: 1rem;
872
+
873
+ }
874
+
875
+ .search-result-c-text {
876
+ display: flex;
877
+ justify-content: center;
878
+ user-select: none;
879
+
880
+ }
881
+
882
+ .search-result-c {
883
+ max-height: 40rem;
884
+ min-height: 20rem;
885
+ overflow: auto;
886
+ padding: 2rem 0;
887
+
888
+ }
889
+
890
+ .search-box-c {
891
+ align-items: center;
892
+ display: flex;
893
+ position: relative;
894
+ width: 100%;
895
+
896
+ }
897
+
898
+ .search-box-c svg {
899
+ height: 1.5rem;
900
+ left: 1.5rem;
901
+ position: absolute;
902
+ width: 1.5rem;
903
+
904
+ }
905
+
906
+ .search-input {
907
+ border: 0;
908
+ border-radius: 1rem;
909
+ flex: 1;
910
+ font-family: body;
911
+ font-size: 1.25rem;
912
+ padding: 1rem 2rem 1rem 4rem;
913
+ width: 100%;
914
+
915
+ }
916
+
917
+ .search-result-item {
918
+ border-radius: 1rem;
919
+ display: block;
920
+ margin: 1rem 0;
921
+ padding: 1rem;
922
+ text-decoration: none;
923
+
924
+ }
925
+
926
+ .search-result-item:hover {
927
+ text-decoration: none;
928
+
929
+ }
930
+
931
+ .search-result-item:active {
932
+ text-decoration: none;
933
+
934
+ }
935
+
936
+ .search-result-item-title {
937
+ font-family: heading;
938
+ font-size: 1.5rem;
939
+ margin: 0;
940
+
941
+ }
942
+
943
+ .search-result-item-p {
944
+ font-size: 0.875rem;
945
+ margin: 0;
946
+
947
+ }
948
+
949
+ .mobile-menu-icon-container {
950
+ bottom: 1.5rem;
951
+ display: none;
952
+ position: fixed;
953
+ right: 2rem;
954
+ z-index: 30;
955
+
956
+ }
957
+
958
+ .mobile-menu-icon-container .icon-button svg {
959
+ height: 2rem;
960
+ width: 2rem;
961
+
962
+ }
963
+
964
+ .mobile-sidebar-container {
965
+ bottom: 0;
966
+ display: none;
967
+ left: 0;
968
+ padding: 1rem;
969
+ position: fixed;
970
+ right: 0;
971
+ top: 0;
972
+ z-index: 25;
973
+
974
+ }
975
+
976
+ .mobile-sidebar-container.show {
977
+ display: block;
978
+
979
+ }
980
+
981
+ .mobile-sidebar-wrapper {
982
+ border-radius: 1rem;
983
+ display: flex;
984
+ flex-direction: column;
985
+ height: 100%;
986
+ padding-top: 2rem;
987
+ width: 100%;
988
+
989
+ }
990
+
991
+ .mobile-nav-links {
992
+ display: flex;
993
+ flex-wrap: wrap;
994
+ padding-top: 2rem;
995
+
996
+ }
997
+
998
+ .mobile-sidebar-items-c {
999
+ flex: 1;
1000
+ overflow: auto;
1001
+
1002
+ }
1003
+
1004
+ .mobile-navbar-actions {
1005
+ display: flex;
1006
+ padding: 1rem;
1007
+
1008
+ }
1009
+
1010
+ .rel {
1011
+ position: relative;
1012
+
1013
+ }
1014
+
1015
+ .icon-button.codepen-button svg {
1016
+ height: 1.5rem;
1017
+ width: 1.5rem;
1018
+
1019
+ }
1020
+
1021
+ .table-div {
1022
+ overflow: auto;
1023
+ width: 100%;
1024
+
1025
+ }
1026
+
1027
+ .tag-default {
1028
+ overflow: auto;
1029
+
1030
+ }
1031
+
1032
+ @media screen and (max-width: 100em) {
1033
+
1034
+ .toc-container {
1035
+ display: none;
1036
+
1037
+ }
1038
+
1039
+ .main-content {
1040
+ padding: 7rem 0 0 25rem;
1041
+
1042
+ }
1043
+
1044
+ .search-container .wrapper {
1045
+ margin-right: 1rem;
1046
+
1047
+ }
1048
+
1049
+ .navbar-container {
1050
+ /* For scrollbar */
1051
+ right: 1rem;
1052
+
1053
+ }
1054
+
1055
+ }
1056
+
1057
+ @media screen and (min-width: 65em) {
1058
+
1059
+ .mobile-sidebar-container.show {
1060
+ display: none;
1061
+
1062
+ }
1063
+
1064
+ }
1065
+
1066
+ @media screen and (max-width: 65em) {
1067
+
1068
+ h1 {
1069
+ font-size: 3rem;
1070
+
1071
+ }
1072
+
1073
+ h2 {
1074
+ font-size: 2rem;
1075
+
1076
+ }
1077
+
1078
+ h3 {
1079
+ font-size: 1.875;
1080
+
1081
+ }
1082
+
1083
+ h4,
1084
+ h5,
1085
+ h6 {
1086
+ font-size: 1rem;
1087
+
1088
+ }
1089
+
1090
+ .main-wrapper {
1091
+ padding: 0 1rem 1rem;
1092
+
1093
+ }
1094
+
1095
+ .search-result-c {
1096
+ max-height: 25rem;
1097
+
1098
+ }
1099
+
1100
+ .mobile-menu-icon-container {
1101
+ display: block;
1102
+
1103
+ }
1104
+
1105
+ .sidebar-container {
1106
+ display: none;
1107
+
1108
+ }
1109
+
1110
+ .search-container .wrapper {
1111
+ margin-left: 1rem;
1112
+
1113
+ }
1114
+
1115
+ .main-content {
1116
+ padding-left: 0;
1117
+ padding-top: 1rem;
1118
+
1119
+ }
1120
+
1121
+ .navbar-container {
1122
+ display: none;
1123
+
1124
+ }
1125
+
1126
+ .source-page + .footer,
1127
+ .footer {
1128
+ margin-top: 2rem;
1129
+
1130
+ }
1131
+
1132
+ .has-anchor:hover .link-anchor {
1133
+ visibility: hidden;
1134
+
1135
+ }
1136
+
1137
+ }
1138
+
1139
+ .child-tutorial-container {
1140
+ display: flex;
1141
+ flex-direction: row;
1142
+ flex-wrap: wrap;
1143
+
1144
+ }
1145
+
1146
+ .child-tutorial {
1147
+ border: 1px solid;
1148
+ border-radius: 10px;
1149
+ display: block;
1150
+ margin: 5px;
1151
+ padding: 10px 16px;
1152
+
1153
+ }
1154
+
1155
+ .child-tutorial:hover {
1156
+ text-decoration: none;
1157
+
1158
+ }
1159
+