diff --git a/documents/glossary.md b/documents/glossary.md
index 12d6141..293a8fa 100644
--- a/documents/glossary.md
+++ b/documents/glossary.md
@@ -18,7 +18,7 @@ A data structure that consists of a *block header* and a *merkle tree* of transa
### Block Header
-A data structure containing a previous block hash, a hash of a merkle tree of transactions, a timestamp, a *difficulty* and a *nonce*.
+A data structure containing a previous block hash, a hash of a Merkle tree of transactions, a timestamp, a *difficulty* and a *nonce*.
### Block Height
@@ -90,7 +90,7 @@ Stands for *Elliptic Curve Digital Signature Algorithm*. Used to verify transact
### Elliptic Curve Arithmetic
-A set of mathematical operations defined on a group of points on a 2D elliptic curve. LBRY, similar to the Bitcoin protocol, uses predefined curve [secp256k1](https://en.bitcoin.it/wiki/Secp256k1). Here's the simplest possible explanation of the operations: you can add and subtract points and multiply them by an integer. Dividing by an integer is computationally infeasible (otherwise cryptographic signatures won't work). The private key is a 256-bit integer and the public key is a product of a predefined point G ("generator") by that integer: A = G * a. Associativity law allows implementing interesting cryptographic schemes like Diffie-Hellman key exchange (ECDH): two parties with private keys *a* and *b* may exchange their public keys *A* and *B* to compute a shared secret point C: C = A * b = B * a because (G * a) * b == (G * b) * a. Then this point C can be used as an AES encryption key to protect their communication channel.
+A set of mathematical operations defined on a group of points on a 2D elliptic curve. LBRY, similar to the Bitcoin protocol, uses predefined curve [secp256k1](https://en.bitcoin.it/wiki/Secp256k1). Here's the simplest possible explanation of the operations: you can add and subtract points and multiply them by an integer. Dividing by an integer is computationally infeasible (otherwise cryptographic signatures won't work). The private key is a 256-bit integer and the public key is a product of a predefined point G ("generator") by that integer: A = G * a. Associativity law allows implementing interesting cryptographic schemes like Diffie-Hellman key exchange (ECDH): two parties with private keys *a* and *b* may exchange their public keys *A* and *B* to compute a shared secret point `C: C = A * b = B * a` because `(G * a) * b == (G * b) * a`. Then this point C can be used as an AES encryption key to protect their communication channel.
### Fork
@@ -128,11 +128,15 @@ The content price, set by the publisher, in order to download a claim. The key f
The currency code for 1 LBRY Credit (defined as 100 000 000 *deweys*).
+### LBRYCrd
+
+LBRYcrd uses a blockchain similar to bitcoin's to implement an index and payment system for content on the LBRY network. It is a fork of Core.
+
### LBRY Credits
LBRY Credits (LBC) is the cryptocurrency used to make digital transactions (payments, tips, claims) on the LBRY blockchain.
-## LBRY Daemon
+### LBRY Daemon
The daemon combines various components to provide a single API across the LBRY ecosystem in order to interact with the blockchain and datanetwork.
@@ -148,10 +152,6 @@ LBRY is an open-source protocol providing distribution, discovery, and purchase
For most users, LBRY will be a place where they can find great videos, music, ebooks, and more. A vast digital library that is available on all of your devices. But LBRY is many components working together. The LBRY app is a graphical browser for the decentralized content marketplace provided by the LBRY protocol. It is essentially the lbry daemon bundled with an UI using Electron.
-### LBRYCrd
-
-LBRYcrd uses a blockchain similar to bitcoin's to implement an index and payment system for content on the LBRY network. It is a fork of Core.
-
### LbryumX Server
A LbryumX-server for the LbryumX client. LbryumX is an extension of electrumx that provides the server side of LBRY Electrum Protocol. It sits between the LBRY daemon and LBRYCrd to provide SPV access to/from clients.
@@ -164,6 +164,10 @@ A LbryumX-server for the LbryumX client. LbryumX is an extension of electrumx th
Comparing to a *full node*, lightweight node does not store the whole blockchain and thus cannot fully verify any transaction. There are two kinds of lightweight nodes: those fully trusting an external service to determine wallet balance and validity of transactions (e.g. *blockchain.info*) and the apps implementing *Simplified Payment Verification* (SPV). SPV clients do not need to trust any particular service, but are more vulnerable to a *51% attack* than full nodes. See *Simplified Payment Verification* for more info.
+### M-of-N Multi-signature Transaction
+
+A transaction that can be spent using M signatures when N public keys are required (M is less or equal to N). Multi-signature transactions that only contain one *OP_CHECKMULTISIG* opcode and N is 3, 2 or 1 are considered *standard*.
+
### Mainnet
Main LBRY network and its blockchain. The term is mostly used in comparison to *testnet*.
@@ -180,6 +184,10 @@ Merkle tree is an abstract data structure that organizes a list of data items in
A technical term for a collection of unconfirmed transactions stored by a node until they either expire or get included in the main chain. When *reorganization* happens, transactions from orphaned blocks either become invalid (if already included in the *main chain*) or moved to a pool of unconfirmed transactions. By default, *bitcoind* nodes throw away unconfirmed transactions after 24 hours.
+### Miner
+
+A person, a software or a hardware that performs *mining*.
+
### Mining
A process of finding valid *hashes* of a block header by iterating millions of variants of block headers (using *nonce* and *extra nonce*) in order to find a hash lower than the *target* (see also *difficulty*). The process needs to determine a single global history of all transactions (grouped in blocks). Mining consumes time and electricity and nowadays the difficulty is so big, that energy-wise it's not even profitable to mine using video graphics cards. Mining is paid for by *transaction fees* and by block *rewards* (newly generated coins, hence the term "mining").
@@ -188,14 +196,6 @@ A process of finding valid *hashes* of a block header by iterating millions of v
A service that allows separate owners of mining hardware to split the reward proportionally to submitted work. Since probability of finding a valid block hash is proportional to miner's *hashrate*, small individual miners may work for months before finding a big per-block reward. Mining pools allow more steady stream of smaller income. Pool owner determines the block contents and distributes ranges of *nonce* values between its workers. Normally, mining pools are centralized. P2Pool is a fully decentralized pool.
-### Miner
-
-A person, a software or a hardware that performs *mining*.
-
-### M-of-N Multi-signature Transaction
-
-A transaction that can be spent using M signatures when N public keys are required (M is less or equal to N). Multi-signature transactions that only contain one *OP_CHECKMULTISIG* opcode and N is 3, 2 or 1 are considered *standard*.
-
### Node
Node, or client, is a computer on the network that speaks LBRY message protocol (exchanging transactions and blocks). There are *full nodes* that are capable of validating the entire blockchain and *lightweight nodes*, with reduced functionality. Wallet applications that speak to a server are not considered nodes.
@@ -206,27 +206,31 @@ Stands for "number used once". A 32-bit number in a *block header* which is iter
### Opcode
-8-bit code of a *script* operation. Codes from 0x01 to 0x4B (decimal 75) are interpreted as a length of data to be pushed on the stack of the interpreter (data bytes follow the opcode). Other codes are either do something interesting, or disabled and cause transaction verification to fail, or do nothing (reserved for future use). LBRY implemented special op codes for storing and updating of claim data.
+8-bit code of a *script* operation. Codes from `0x01` to `0x4B` (decimal 75) are interpreted as a length of data to be pushed on the stack of the interpreter (data bytes follow the opcode). Other codes are either do something interesting, or disabled and cause transaction verification to fail, or do nothing (reserved for future use). LBRY implemented special op codes for storing and updating of claim data.
### Orphan, Orphaned Block
-A valid block that is no longer a part of a *main chain*. Usually happens when two or more blocks of the same *height* are produced at the same time. When one of them becomes a part of the main chain, others are considered "orphaned". Orphans also may happen when the blockchain is *forked* due to an attack (see *51% attack*) or a bug. Then a chain of several blocks may become abandoned. Usually a transaction is included in all blocks of the same height, so its *confirmation* is not delayed and there is no *double spend*. See also *Fork*.
+A valid block that is no longer a part of a *main chain*. Usually happens when two or more blocks of the same *height* are produced at the same time. When one of them becomes a part of the main chain, others are considered "orphaned". Orphans also may happen when the blockchain is *forked* due to an attack (see *[51% attack](#_51-attack)*) or a bug. Then a chain of several blocks may become abandoned. Usually a transaction is included in all blocks of the same height, so its *confirmation* is not delayed and there is no *double spend*. See also *Fork*.
### Outpoint
An outpoint, as referenced in API documentation and elsewhere, is the most specific identification for a particular version of a claim (a claim may be updated and will be referenced by a new outpoint). The outpoint is the concatenation of the transaction id and nout (position in the transaction). Outpoint example: `f6dea4ad26fd526b77935969a17b081342fc92d68b3a1daf69d4a3378657c2fc:0`
-### Peer
+### Paper Wallet
-A peer is one instance of a client running on a computer on the Internet to which other clients connect and transfer data. Depending on context, "peer" can refer either to any client in the swarm or more specifically to a downloader, a client that has only parts of the file.
+A form of *cold storage* where a *private key* for LBRY Credits *address* is printed on a piece of paper (with or without encryption) and then all traces of the key are removed from the computer where it was generated. To redeem bitcoins, a key must be imported in the wallet application so it can sign a transaction. See also *Casascius Coins*.
### Pay-to-Script Hash
A type of the *script* and *address* that allows sending bitcoins to arbitrary complex scripts using a compact hash of that script. This allows payer to pay much smaller *transaction fees* and not wait very long for a *non-standard* transaction to get included in the blockchain. Then the actual script matching the hash must be provided by the payee when redeeming the funds. P2SH addresses are encoded in *Base58Check* just like regular public keys and start with number "3".
-### Paper Wallet
+### Peer
-A form of *cold storage* where a *private key* for LBRY Credits *address* is printed on a piece of paper (with or without encryption) and then all traces of the key are removed from the computer where it was generated. To redeem bitcoins, a key must be imported in the wallet application so it can sign a transaction. See also *Casascius Coins*.
+A peer is one instance of a client running on a computer on the Internet to which other clients connect and transfer data. Depending on context, "peer" can refer either to any client in the swarm or more specifically to a downloader, a client that has only parts of the file.
+
+### Private Key (Privkey)
+
+A 256-bit number used in *ECDSA* algorithm to create transaction *signatures* in order to prove ownership of certain amount of credits. Can also be used in arbitrary *elliptic curve arithmetic* operations. Private keys are stored within *wallet* applications and are usually encrypted with a pass phrase. Private keys may be completely random (see *Key Pool*) or generated from a single secret number ("seed"). See also *Deterministic Wallet*.
### Proof-of-Work (PoW)
@@ -236,17 +240,13 @@ Proof-of-work is not the only requirement, but an important one to make sure tha
Note that owning a very large amount of computational power does not override other rules enforced by every client. Ill-formed blocks or blocks containing invalid transactions are rejected no matter how difficult they were to produce.
-### Private Key (Privkey)
-
-A 256-bit number used in *ECDSA* algorithm to create transaction *signatures* in order to prove ownership of certain amount of credits. Can also be used in arbitrary *elliptic curve arithmetic* operations. Private keys are stored within *wallet* applications and are usually encrypted with a pass phrase. Private keys may be completely random (see *Key Pool*) or generated from a single secret number ("seed"). See also *Deterministic Wallet*.
-
### Public Key (Pubkey)
A 2D point on an elliptic curve [secp256k1](https://en.bitcoin.it/wiki/Secp256k1) that is produced by multiplying a predefined "generator" point by a *private key*. Usually it is represented by a pair of 256-bit numbers ("uncompressed public key"), but can also be compressed to just one 256-bit number (at the slight expense of CPU time to decode an uncompressed number). A special hash of a public key is called *address*. Typical LBRY transactions contain public keys or addresses in the output scripts and *signatures* in the input scripts.
### Reflector
-A reflector cluster to accept LBRY content for hosting en masse, rehost the content, and make money on data fees (currently disabled). This code includes Go implementations of the LBRY peer protocol, reflector protocol, and DHT.
+A reflector cluster to accept LBRY content for hosting en masse, re-host the content, and make money on data fees (currently disabled). This code includes Go implementations of the LBRY peer protocol, reflector protocol, and DHT.
### Reorg, Reorganization
@@ -260,14 +260,14 @@ The resolve API command returns all available information about a claim or chann
Amount of newly generated LBRY credits that a *miner* may claim in a new block. The first transaction in the block allows miner to claim currently allowed reward as well as all *transaction fees* from all transactions in the block. For security reasons, rewards cannot be *spent* before 100 blocks built on top of the current block.
-### Stream Descriptor (SD) Blob
-
-The initial blob of a stream, which contains encryption information as well as points to other blobs required for a stream.
-
### Script
A compact turing-incomplete programming language used in transaction *inputs* and *outputs*. Scripts are interpreted by a Forth-like stack machine: each operation manipulates data on the stack. Most scripts follow the standard pattern and verify the digital *signature* provided in the transaction *input* against a *public key* provided in the previous transaction's *output*. Both signatures and public keys are provided using scripts. Scripts may contain complex conditions, but can never change amounts being transferred. Amount is stored in a separate field in a *transaction output*.
+### Secret key
+
+Either the *Private Key* or an encryption key used in encrypted *wallets*. LBRY protocol does not use encryption anywhere, so *secret key* typically means a *private key* used for signing transactions.
+
### Signature
A sequence of bytes that proves that a piece of data is acknowledged by a person holding a certain *public key*. LBRY, like Bitcoin, uses *ECDSA* for signing transactions. Amounts of credits are sent through a chain of transactions: from one to another. Every transaction must provide a signature matching a public key defined in the previous transaction. This way only a proper owner of a secret *private key* associated with a given public key can spend credits further.
@@ -276,10 +276,6 @@ A sequence of bytes that proves that a piece of data is acknowledged by a person
A scheme to validate transactions without storing the whole blockchain (only block headers) and without trusting any external service. Every transaction must be present with all its parent and sibling hashes in a *merkle tree* up to the root. SPV client trusts the most *difficult* chain of block headers and can validate if the transaction indeed belongs to a certain block header. Since SPV does not validate all transactions, a *51% attack* may not only cause a *double spend* (like with *full nodes*), but also make a completely invalid payment with credits created from nowhere. However, this kind of attack is very costly and probably more expensive than a product in question.
-### Secret key
-
-Either the *Private Key* or an encryption key used in encrypted *wallets*. LBRY protocol does not use encryption anywhere, so *secret key* typically means a *private key* used for signing transactions.
-
### Soft Fork
Sometimes the *soft fork* refers to an important change of software behavior that is not a *hard fork* (e.g. changing *mining fee* policy). See also *Hard Fork* and *Fork*.
@@ -296,21 +292,25 @@ A transaction *output* can be spent only once: when another valid transaction ma
Streaming media is multimedia that is constantly received by and presented to an end-user while being delivered by a provider. In LBRY, streams as associated with claim data in order to provide the capability to download files over a Peer to Peer network.
-### Target
+### Stream Descriptor (SD) Blob
-A 256-bit number that puts an upper limit for a block header hash to be valid. The lower the target is, the higher the *difficulty* to find a valid hash. The maximum (easiest) target is 0x00000000FFFF0000000000000000000000000000000000000000000000000000. The difficulty and the target are adjusted every 2016 blocks (approx. 2 weeks) to keep interval between the blocks close to 10 minutes.
+The initial blob of a stream, which contains encryption information as well as points to other blobs required for a stream.
### Takeover Period
In order to take over a claim at an existing vanity URL, the bid must be higher and takeover period must pass. In simple terms, the longer the claim is held, the longer the takeover period. For each month held, a day is added to the take over period for a maximum of 7 days. See [Claimtrie Bid States section here](https://lbry.io/faq/claimtrie-implementation) for more information.
+### Target
+
+A 256-bit number that puts an upper limit for a block header hash to be valid. The lower the target is, the higher the *difficulty* to find a valid hash. The maximum (easiest) target is `0x00000000FFFF0000000000000000000000000000000000000000000000000000`. The difficulty and the target are adjusted every 2016 blocks (approx. 2 weeks) to keep interval between the blocks close to 10 minutes.
+
### Testnet
A set of parameters used for testing a LBRY network. Testnet is like *mainnet*, but has a different genesis block (it was reset several times, the latest testnet is *testnet3*). Testnet uses slightly different *address* format to avoid confusion with main LBRY addresses and all nodes are relaying and mining non-standard transactions.
### Transaction
-A chunk of binary data that describes how credits are moved from one owner to another. Transactions are stored in the *blockchain*. Every transaction (except for *coinbase* transactions) has a reference to one or more previous transactions (*inputs*) and one or more rules on how to spend these credits further (*outputs*). See *Transaction Input* and *Transaction Output* for more info.
+A chunk of binary data that describes how credits are moved from one owner to another. Transactions are stored in the *[blockchain](#blockchain)*. Every transaction (except for *coinbase* transactions) has a reference to one or more previous transactions (*inputs*) and one or more rules on how to spend these credits further (*outputs*). See *Transaction Input* and *Transaction Output* for more info.
### Transaction Fee
@@ -340,6 +340,8 @@ An application or a service that helps keeping private keys for signing transact
Also known as >50% attack or a *double spend* attack. An attacker can make a payment, wait till the merchant accepts some number of *confirmations* and provides the service, then starts mining a parallel chain of blocks starting with a block before the transaction. This parallel blockchain then includes another transaction that spends the same *outputs* on some other address. When the parallel chain becomes more *difficult*, it is considered a *main chain* by all nodes and the original transaction becomes invalid. Having more than a half of total *hashrate* guarantees possibility to overtake chain of any length, hence the name of an attack (strictly speaking, it is "more than 50%", not 51%). Also, even 40% of hashrate allows making a double spend, but the chances are less than 100% and are diminishing exponentially with the number of confirmations that the merchant requires.
-About
------
+---
+
+## About
+
Portions of this glossary originated from: [https://github.com/oleganza/bitcoin-papers/blob/master/BitcoinGlossary.md](https://github.com/oleganza/bitcoin-papers/blob/master/BitcoinGlossary.md)
diff --git a/public/css/style.css b/public/css/style.css
index 625d98b..d0d3aa1 100644
--- a/public/css/style.css
+++ b/public/css/style.css
@@ -1 +1 @@
-html{box-sizing:border-box;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}*,*::before,*::after{margin:0;padding:0;box-sizing:inherit;outline:0 !important}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:currentColor;text-decoration:none}*[readonly]{cursor:not-allowed}textarea[disabled]{resize:none}textarea:not[disabled]{resize:vertical}button:not(:disabled){cursor:pointer}button,input,select,textarea{border:none;border-radius:0;font-family:inherit;font-size:inherit;-moz-appearance:none;-webkit-appearance:none}button:focus,input:focus,select:focus,textarea:focus{outline:none}input,select,textarea{background-color:transparent}input[type=submit]{cursor:pointer}.left{float:left}.right{float:right}iframe{border:0}img{font-size:0;max-width:100%}img::after{width:100%;height:100%;top:-100%;left:0;background-color:#fcfcfc;background-image:url("../media/images/missing.png");background-size:cover;box-shadow:0 0 1px 0 rgba(34,34,34,.3);content:"";display:block;position:relative}@media print{pre,blockquote{border:1px solid #999 !important;page-break-inside:avoid !important}tr,img{page-break-inside:avoid !important}img{max-width:100% !important}@page{margin:.5cm !important}p,h2,h3{orphans:3 !important;widows:3 !important}h2,h3{page-break-after:avoid !important}thead{display:table-header-group !important}*{background:transparent !important;color:#000 !important;text-shadow:none !important;filter:none !important}p a[href]::after{content:" (" attr(href) ")" !important}p abbr[title]::after{content:" (" attr(title) ")" !important}p a[href^="javascript:"]::after,p a[href^="#"]::after{content:"" !important}p a,p abbr{word-wrap:break-word !important;text-decoration:underline !important}}input::-moz-focus-inner,button::-moz-focus-inner{display:none}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fcfcfc inset !important}input:-webkit-autofill:focus{outline:none}.clear{clear:both;content:"";display:block}.hide-text{border:0;color:transparent;font:0/0 a;text-shadow:none}.__button-base,.__button-gray,.__button-white,.__button-black,.hook__page__content__meme__uploader,.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta,.home .features .home__feature__cta,.__button-plain,.__button-basic,.newsletter-cta__submit{border:1px solid;font-size:1rem;letter-spacing:.025rem;position:relative;transition:all .2s}.__button-plain{background-color:transparent;border-color:transparent}.__button-plain::after{width:100%;height:2px;bottom:2px;left:0;content:"";display:block;transition:background-color .2s}.__button-plain:not(:hover)::after{background-color:transparent}.__button-plain:hover::after{background-color:#222}.__button-black:not(:hover),.hook__page__content__meme__uploader:not(:hover),.home .intro .cta:not(:hover),.home .docs .cta:not(:hover),.home .contribute .cta:not(:hover),.home .develop .cta:not(:hover),.home .community .cta:not(:hover),.home .features .home__feature__cta:not(:hover){background-color:#222;border-color:#fcfcfc;box-shadow:2px 2px 0 #fcfcfc;color:#fcfcfc}.__button-black:hover,.hook__page__content__meme__uploader:hover,.home .intro .cta:hover,.home .docs .cta:hover,.home .contribute .cta:hover,.home .develop .cta:hover,.home .community .cta:hover,.home .features .home__feature__cta:hover{background-color:#fcfcfc;border-color:#222;box-shadow:2px 2px 0 #222;color:inherit}.__button-white:not(:hover){background-color:#fcfcfc;border-color:transparent;box-shadow:2px 2px 0 #222;color:inherit}.__button-white:hover{background-color:#222;border-color:#fcfcfc;box-shadow:2px 2px 0 #fcfcfc;color:#fcfcfc}.__button-gray{background-color:#fcfcfc}.__button-gray:not(:hover){border-color:transparent;box-shadow:2px 2px 0 #222}.__button-gray:hover{border-color:#3abf7d;box-shadow:2px 2px 0 #3abf7d;color:#3abf7d}.__button-padding-vertical,.newsletter-cta__submit,.__button-black,.hook__page__content__meme__uploader,.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta,.home .features .home__feature__cta,.__button-white,.__button-gray{padding-top:.5rem;padding-bottom:.5rem}.__button-padding-horizontal,.newsletter-cta__input,.newsletter-cta__submit,.__button-black,.hook__page__content__meme__uploader,.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta,.home .features .home__feature__cta,.__button-white,.__button-gray{padding-right:1rem;padding-left:1rem}.__grid:first-of-type{cursor:default;font-size:.8rem;font-weight:600;letter-spacing:.2rem;text-transform:uppercase}.__grid:not(:first-of-type){border-left:1px solid #a3b7ad}.__grid:not(:first-of-type) .col{border-bottom-style:solid;border-bottom-width:1px}.__grid:not(:first-of-type) .col:last-of-type{border-right-style:solid;border-right-width:1px}.__grid:not(:first-of-type) .col:not(.red):not(.orange):not(.yellow):not(.green){border-color:#a3b7ad}@media(min-width: 600px){.__grid{display:table;table-layout:fixed;width:100%}.__grid .col{display:table-cell}}.col{padding:.5rem 1rem;width:100%}.col:not(:first-of-type){text-align:right}@media(min-width: 600px){.grid-padded{margin-right:-1rem;margin-left:-1rem}.grid-padded .grid{border-spacing:1rem 0}}.grid-align-middle .col{vertical-align:middle}.grid-reverse{direction:rtl}.grid-reverse .col{direction:ltr}@font-face{font-family:"Karla";font-style:normal;font-weight:400;src:local("Karla Regular"),url(//brick.freetls.fastly.net/fonts/karla/400.woff) format("woff")}@font-face{font-family:"Karla";font-style:italic;font-weight:400;src:local("Karla Italic"),url(//brick.freetls.fastly.net/fonts/karla/400i.woff) format("woff")}@font-face{font-family:"Karla";font-style:normal;font-weight:700;src:local("Karla Bold"),url(//brick.freetls.fastly.net/fonts/karla/700.woff) format("woff")}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes slide-down{0%{transform:translateY(-4rem)}10%{transform:translateY(2rem)}90%{transform:translateY(2rem)}100%{transform:translateY(-4rem)}}.ecosystem{margin-bottom:2rem;padding-top:1rem;display:grid;font-size:1rem;grid-gap:1rem}.ecosystem:not(.expand-left):not(.expand-right){grid-template-columns:144px auto 144px}.ecosystem:not(.expand-left):not(.expand-right) .ecosystem__submodules{padding-top:2.5rem}.ecosystem.expand-left{grid-template-columns:50% auto}.ecosystem.expand-left .ecosystem__submodules:last-of-type,.ecosystem.expand-left .ecosystem__submodule:not(.active){display:none}.ecosystem.expand-right{grid-template-columns:auto 50%}.ecosystem.expand-right .ecosystem__submodules:first-of-type,.ecosystem.expand-right .ecosystem__submodule:not(.active){display:none}.ecosystem__module{position:relative;width:100%}.ecosystem__module > *{z-index:1}.ecosystem__module h2{position:relative;width:100%}.ecosystem__module h2 > div{float:right;font-size:1rem;padding-top:1.95rem;padding-right:3rem;position:relative;text-align:right}.ecosystem__module h2 > div::before{font-family:Georgia,serif;top:.9rem;right:3rem;content:"explore";font-size:80%;font-style:italic;opacity:.3;position:absolute;text-align:right;width:100%}.ecosystem__module h2 > div span{cursor:pointer;display:inline-block;position:relative}.ecosystem__module h2 > div span:not(:last-of-type){margin-right:1rem}.ecosystem__module h2 > div span:not(:last-of-type)::after{top:0;right:-0.7rem;color:rgba(163,183,173,.3);content:"/";font-style:italic;position:absolute}.ecosystem__module h3{position:relative}.ecosystem__module::before{width:100%;height:100%;top:0;left:0;content:"";position:absolute;z-index:0}.ecosystem__module:not(.active){align-items:center;display:inline-flex;justify-content:center}.ecosystem__module:not(.active) h2{font-size:1.5rem;text-align:center}.ecosystem__module:not(.active) h2 > span{cursor:pointer;display:block;padding:1.9rem 2rem}.ecosystem__module:not(.active) h2 > span em{display:block;font-size:70%;font-weight:normal}.ecosystem__module:not(.active) h2 > div{display:none}.ecosystem__module:not(.active) .ecosystem__module__details{display:none}.ecosystem__module:not(.active) .__close{top:2rem;transform:rotate(45deg);z-index:0}.ecosystem__module.active{padding:1.9rem 2rem}.ecosystem__module.active h2{font-size:3rem;margin-bottom:1rem}.ecosystem__module.active h2 > span{cursor:default}.ecosystem__module.active h2 > span em{display:none}.ecosystem__module.active::before{background-color:#fcfcfc}.ecosystem__module.active .__close{top:2.35rem;z-index:3}.ecosystem__module.lbrycrd,.ecosystem__module.lbry{margin-bottom:1rem}.ecosystem__module.lbry:not(.active) h2,.ecosystem__module.applications:not(.active) h2{margin-bottom:.5rem}.ecosystem__module.lbry:not(.active) h2::after,.ecosystem__module.applications:not(.active) h2::after{bottom:1rem;left:0;font-size:.5rem;letter-spacing:.1rem;position:absolute;width:100%;z-index:-1}.ecosystem__module.lbrycrd:not(.active)::before{background-color:#db3e3e}.ecosystem__module.lbrycrd.active::before{border:2px solid #db3e3e}.ecosystem__module.lbry:not(.active)::before{background-color:#3e8cdb}.ecosystem__module.lbry:not(.active) h2::after{content:"◼︎◼︎"}.ecosystem__module.lbry.active::before{border:2px solid #3e8cdb}.ecosystem__module.applications:not(.active)::before{background-color:#3edb3e}.ecosystem__module.applications:not(.active) h2::after{content:"◼︎◼︎◼︎◼︎◼︎"}.ecosystem__module.applications.active::before{border:2px solid #3edb3e}.ecosystem__module__piece{background-color:#fcfcfc;left:10%;line-height:2;position:relative;width:80%}.ecosystem__module__piece:not(:last-of-type){margin-bottom:.5rem}.ecosystem__submodule{border-width:2px;cursor:default;position:relative;transition:border-color .2s;z-index:2}.ecosystem__submodule:not(:last-of-type){margin-bottom:1rem}.ecosystem__submodule:not(.on):not(.active){color:transparent}.ecosystem__submodule:not(.active){align-items:center;display:inline-flex;justify-content:center;width:144px;height:144px;border-radius:50%;border-style:dashed}.ecosystem__submodule:not(.active) .ecosystem__submodule__title{width:100%;height:100%;line-height:140px;text-align:center}.ecosystem__submodule:not(.active) .ecosystem__submodule__description{display:none}.ecosystem__submodule.active{width:100%;height:100%;max-height:378px;border-style:solid;overflow-y:auto;padding:2rem}.ecosystem__submodule.active .ecosystem__submodule__title{line-height:1.33;margin-bottom:1rem}.ecosystem__submodule:not(.blue):not(.green):not(.red){border-color:rgba(163,183,173,.3)}.ecosystem__submodule.blue:not(.active),.ecosystem__submodule.green:not(.active),.ecosystem__submodule.red:not(.active){cursor:pointer}.ecosystem__submodule.blue{background-color:rgba(62,140,219,.025);border-color:#3e8cdb}.ecosystem__submodule.green{background-color:rgba(62,219,62,.025);border-color:#3edb3e}.ecosystem__submodule.red{background-color:rgba(219,62,62,.025);border-color:#db3e3e}.ecosystem__submodule__title{font-size:1.15rem}.ecosystem__submodule__description{margin-bottom:2rem}.ecosystem__submodule__description .__close{top:-0.7rem;right:-2rem}.ecosystem__submodule__description__title{color:rgba(34,34,34,.3);letter-spacing:.1rem;text-transform:uppercase}.__parents{top:2rem;right:4rem;font-size:1.15rem;line-height:1.33;list-style-type:none;padding-right:1rem;position:absolute;z-index:1}.__parents::before,.__parents::after{position:absolute}.__parents::before{font-family:Georgia,serif;top:.3rem;left:-3.4rem;color:rgba(34,34,34,.3);content:"back to";font-size:.8rem;font-style:italic;font-weight:700}.__parents::after{width:2px;height:100%;top:0;right:0;background-color:rgba(34,34,34,.3);content:""}.__parent{font-weight:700}.__parent:not(.active){display:none}.__parent.active{cursor:pointer}.__close{cursor:pointer;font-size:2rem;position:absolute;right:2rem;transition:all .2s}.newsletter-cta{background-color:rgba(34,34,34,.2);padding-top:1rem;padding-bottom:1rem;text-align:center}.newsletter-cta > div:first-of-type{margin-right:auto;margin-left:auto}@media(min-width: 551px){.newsletter-cta > div:first-of-type{width:500px}}@media(max-width: 550px){.newsletter-cta > div:first-of-type{width:90%}}.newsletter-cta::after{clear:both;content:"";display:block}.newsletter-cta__title{font-size:.8rem;letter-spacing:.05rem;margin-bottom:.75rem;text-transform:uppercase}.newsletter-cta__input,.newsletter-cta__submit{border-style:solid;border-width:1px}@media(max-width: 550px){.newsletter-cta__input,.newsletter-cta__submit{width:100%}}.newsletter-cta__input{background-color:#fcfcfc;font-size:1rem;height:38px;transition:border .2s}@media(min-width: 551px){.newsletter-cta__input{float:left;width:calc(100% - 112px)}}@media(max-width: 550px){.newsletter-cta__input{text-align:center}}.newsletter-cta__input:not(:focus){border-top-color:#222;border-left-color:#222}@media(min-width: 551px){.newsletter-cta__input:not(:focus){border-bottom-color:#222;border-right-color:transparent}}@media(max-width: 550px){.newsletter-cta__input:not(:focus){border-bottom-color:transparent;border-right-color:#222}}.newsletter-cta__input:focus{border-top-color:#35a06b;border-left-color:#35a06b}@media(min-width: 551px){.newsletter-cta__input:focus{border-bottom-color:#35a06b;border-right-color:transparent}}@media(max-width: 550px){.newsletter-cta__input:focus{border-bottom-color:transparent;border-right-color:#35a06b}}.newsletter-cta__submit{color:#fcfcfc}@media(min-width: 551px){.newsletter-cta__submit{width:112px;height:38px;float:right;left:-1px}}@media(max-width: 550px){.newsletter-cta__submit{display:block;top:-1px}}.newsletter-cta__submit:not(:hover){background-color:#222;border-color:#222}.newsletter-cta__submit:hover{background-color:#3abf7d;border-color:#35a06b}.newsletter-cta__message{clear:both;content:"";display:block;color:#db3e3e;padding-top:1rem}.feature-links{display:grid;grid-gap:2rem;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));list-style-type:none;padding-top:.5rem}.feature-link{width:320px;min-height:135px;background-color:#fcfcfc;border:1px solid rgba(34,34,34,.1);border-radius:3px;cursor:pointer;display:inline-block;position:relative;transition:box-shadow .2s;vertical-align:top}.feature-link > div:first-of-type{top:85px;left:5%;position:relative;text-align:center;width:90%;z-index:1}.feature-link:not(:hover) .feature-link__background{filter:brightness(0.5)}.feature-link:hover{box-shadow:0 0 15px rgba(34,34,34,.15)}.feature-link:hover .feature-link__title{color:#3abf7d}.feature-link__title{background-color:#fcfcfc;border:1px solid rgba(128,128,128,.1);box-shadow:0 2px 5px rgba(34,34,34,.025);border-radius:3px;box-decoration-break:clone;display:inline;font-size:1rem;line-height:1.7;padding:.25rem .5rem;transition:color .2s;position:relative}.feature-link__background{width:calc(100% + 2px);height:100px;top:-1px;left:-1px;background-color:#3abf7d;border-top-right-radius:3px;border-top-left-radius:3px;transition:filter .2s;overflow:hidden;position:absolute;z-index:0}.feature-link__background img{width:100%;height:100%;object-fit:cover;object-position:center}.flashes{top:4rem;right:0;position:absolute;width:100%;z-index:9}.flash{border:2px solid;border-radius:3px;font-size:1rem;line-height:1.33;padding:.5rem 1rem;position:absolute;right:2rem}.flash:not(.error):not(.info):not(.warning){background-color:#e9f6ef;border-color:#3abf7d}.flash:not(.active){transform:translateY(-4rem)}.flash.active{animation:slide-down 2s linear;transform:translateY(-4rem)}.flash.error{background-color:#f9e9e9;border-color:#db3e3e}.flash.info{background-color:#f3f5f4;border-color:#a3b7ad}.flash.warning{background-color:#f9f9e9;border-color:#dbdb3e}.footer{background-color:#222;color:rgba(252,252,252,.15);font-size:1rem;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);position:relative}@media(max-width: 980px){.footer::before{width:3rem;height:100%;bottom:0;right:0;background-image:linear-gradient(90deg, rgba(34, 34, 34, 0), #222 50%, #222);content:"";position:absolute;z-index:2}}@media(max-width: 980px){.footer > div:first-of-type{overflow:auto;overflow-scrolling:touch;white-space:nowrap;width:100%}}.footer ul{list-style-type:none;padding-top:2rem;padding-bottom:2rem}@media(min-width: 981px){.footer ul{align-items:stretch;display:flex;flex-flow:row wrap}}.footer ul li{padding-right:.5rem;padding-left:.5rem;vertical-align:bottom}@media(max-width: 980px){.footer ul li{display:inline-block;transform:translate3d(0, 0, 0);transition:opacity .2s .2s ease,transform .4s .2s cubic-bezier(0.215, 0.61, 0.355, 1)}.footer ul li:last-of-type{margin-right:3rem}}.footer ul li:first-of-type{flex:1}.footer a{transition:color .2s}.footer a:not(:hover){color:#fcfcfc}.footer a:hover{color:#3abf7d}.github-feed{border-bottom:1px solid rgba(34,34,34,.05);border-left:1px solid rgba(34,34,34,.05);font-size:.8rem;grid-area:github;position:relative}@media(min-width: 1301px){.github-feed{padding-top:3.7rem}}@media(min-width: 1001px)and (max-width: 1300px){.github-feed{padding-top:2.95rem}}@media(min-width: 1001px){.github-feed{padding-bottom:2rem;padding-right:10%;padding-left:2rem}}@media(max-width: 1000px){.github-feed{padding-top:2rem;padding-bottom:2rem}}@media(min-width: 901px){.github-feed{padding-right:1rem;padding-left:1rem}}@media(max-width: 900px){.github-feed{padding-right:2rem;padding-left:2rem}}@media(max-width: 700px){.github-feed{overflow-x:auto;overflow-y:hidden;white-space:nowrap}}@media(min-width: 1001px){.github-feed h3,.github-feed h5{text-align:center}}.github-feed h3{letter-spacing:.1rem;line-height:1;text-transform:uppercase;width:100%}@media(min-width: 1301px){.github-feed h3{top:2.15rem;left:0;color:rgba(34,34,34,.045);font-size:4rem;position:absolute}}@media(max-width: 1300px){.github-feed h3{color:#222}}@media(min-width: 901px)and (max-width: 1300px){.github-feed h3{font-size:3rem}}@media(max-width: 900px){.github-feed h3{font-size:2rem;margin-bottom:1rem}}.github-feed h5{font-style:italic;font-weight:normal}@media(min-width: 1001px){.github-feed h5{margin-bottom:3rem}}@media(min-width: 901px)and (max-width: 1000px){.github-feed h5{margin-bottom:2rem}}@media(max-width: 900px){.github-feed h5{margin-bottom:.5rem;position:relative;top:-1rem}}.github-feed__event{line-height:1.55}@media(max-width: 700px){.github-feed__event{display:inline-block;margin-right:1.25rem;vertical-align:top;width:200px}}@media(min-width: 701px){.github-feed__event:not(:last-of-type){margin-bottom:1.25rem}}.github-feed__event > a:first-of-type{font-weight:700;margin-bottom:.5rem;width:100%}@media(max-width: 700px){.github-feed__event > p:first-of-type{box-shadow:0 2px 5px rgba(34,34,34,.025)}}.github-feed__event > p:first-of-type code{background-color:#222;border-radius:3px;color:#fcfcfc;font-size:80%;letter-spacing:.05rem;padding:.2rem .5rem;position:relative;top:-1px}.github-feed__event > p:first-of-type em:not(.github-feed__event__time){text-decoration:underline}@media(min-width: 701px){.github-feed__event > p:first-of-type{display:inline-block;margin-left:.5rem;vertical-align:top;width:calc(100% - 4.5rem)}}@media(max-width: 700px){.github-feed__event > p:first-of-type{top:-3.5rem;left:5%;background-color:#fcfcfc;border:1px solid rgba(163,183,173,.1);border-radius:3px;padding:1rem;position:relative;white-space:normal;width:90%}}.github-feed__event__avatar{border:1px solid rgba(163,183,173,.1);border-radius:3px;object-position:center;object-fit:cover}@media(min-width: 701px){.github-feed__event__avatar{width:2.5rem;height:2.5rem}}@media(max-width: 700px){.github-feed__event__avatar{width:100%;height:100%}}.github-feed__event__time{color:#a3b7ad;display:block}@media(max-width: 700px){.github-feed__event__time{padding-top:1rem}}.component--glossary-toc{width:150px;height:80vh;top:calc(10vh + 2rem);left:2rem;background-color:#fcfcfc;border:1px solid #a3b7ad;border-radius:3px;position:fixed;z-index:1}.navigation{top:0;left:0;background-color:#fcfcfc;box-shadow:0 1px 5px rgba(34,34,34,.1);padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);position:fixed;width:100%;z-index:10}.navigation > div:first-of-type{position:relative}@media(min-width: 701px){.navigation > div:first-of-type{align-items:stretch;display:flex;flex-flow:row wrap}}@media(max-width: 700px){.navigation > div:first-of-type{overflow:auto;overflow-scrolling:touch;white-space:nowrap;width:100%}.navigation > div:first-of-type::before{width:2rem;height:4rem;top:0;right:0;background-image:linear-gradient(90deg, rgba(252, 252, 252, 0), #fcfcfc 50%, #fcfcfc);content:"";position:fixed;z-index:2}}.navigation__item{overflow:hidden;position:relative}@media(max-width: 700px){.navigation__item{display:inline-block;transform:translate3d(0, 0, 0);transition:opacity .2s .2s ease,transform .4s .2s cubic-bezier(0.215, 0.61, 0.355, 1);vertical-align:top}.navigation__item:last-of-type{margin-right:3rem}}.navigation__item:first-of-type{border:0;color:transparent;font:0/0 a;text-shadow:none;width:10rem;height:3rem;background-image:url("../media/svg/logo.svg");background-repeat:no-repeat;background-size:contain;flex:1;top:.5rem}.navigation__item:not(:first-of-type):not([href="https://lbry.io"])::after{width:100%;height:3px;background-color:#3abf7d;content:"";left:0;position:absolute;transition:bottom .2s}.navigation__item:not(:first-of-type):not([href="https://lbry.io"]):not(:hover)::after{bottom:-3px}.navigation__item:not(:first-of-type):not([href="https://lbry.io"]):hover::after,.navigation__item:not(:first-of-type):not([href="https://lbry.io"]).active::after{bottom:0}.navigation__item:not(:first-of-type){color:inherit;font-size:1rem;line-height:4rem}.navigation__item:not([href="https://lbry.io"]){padding-right:.5rem;padding-left:.5rem}.navigation__item[href="https://lbry.io"]{color:#fcfcfc;margin-right:.5rem;padding-right:1rem;padding-left:1rem}.navigation__item[href="https://lbry.io"]:not(:hover)::after{background-color:#222}.navigation__item[href="https://lbry.io"]:hover::after{background-color:#3abf7d}.navigation__item[href="https://lbry.io"]::after{width:100%;height:2rem;top:1rem;left:0;border-radius:3px;content:"";position:absolute;transition:background-color .2s;z-index:-1}.component--mission-statement{margin-bottom:1.5rem;padding:1rem 1rem 1rem 1.25rem;background-color:rgba(58,191,125,.1);border-left:.5rem solid #3abf7d;line-height:1.55;position:relative}@media(min-width: 901px){.component--mission-statement{font-size:1.25rem}}@media(max-width: 900px){.component--mission-statement{font-size:1.05rem}}.component--mission-statement__title{color:#3abf7d;display:block;letter-spacing:.025rem;text-transform:uppercase}.modal{align-items:center;display:inline-flex;justify-content:center;top:0;left:0;bottom:0;right:0;background-color:rgba(34,34,34,.5);position:fixed;z-index:10}@media(min-width: 901px){.modal h3{font-size:1.5rem;margin-bottom:.25rem}}@media(max-width: 900px){.modal h3{font-size:1.25rem}}.modal p{margin-bottom:1rem}@media(min-width: 901px){.modal p{font-size:1.15rem;line-height:1.33}}@media(max-width: 900px){.modal p{font-size:1.05rem;line-height:1.55}}.modal p a{color:#3abf7d}.modal-wrap{background-color:#fcfcfc;padding:2rem 1.5rem}@media(min-width: 501px){.modal-wrap{width:500px}}@media(max-width: 500px){.modal-wrap{width:100%}}html,body{width:100%;height:100%}html{background-color:#fcfcfc}body{font-family:Karla,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";color:#222;font-size:12px;min-width:320px;overflow-x:hidden;position:relative;z-index:0}body:not(.home) main > div:first-of-type{flex:1}@media(min-width: 1001px){body.home main > div:first-of-type{display:grid;grid-gap:0;grid-template-areas:"header header header" "features features features" "intro intro github" "docs docs github" "contribute contribute contribute" "develop develop develop" "community community community"}}main{display:flex;flex-direction:column;min-height:100vh;padding-top:4rem}.inner-wrap{margin-right:auto;margin-left:auto;max-width:1200px}@media(min-width: 901px){.inner-wrap{padding-right:1rem;padding-left:1rem}}@media(max-width: 900px){.inner-wrap{padding-right:2rem;padding-left:2rem}}.inner-wrap::after{clear:both;content:"";display:block}h1 .header-anchor,h2 .header-anchor,h3 .header-anchor,h4 .header-anchor,h5 .header-anchor{display:none}.alert{bottom:0;left:0;background-color:#dbdb3e;line-height:1.33;padding-top:1rem;padding-right:env(safe-area-inset-right);padding-bottom:1rem;padding-left:env(safe-area-inset-left);position:fixed;text-align:left;width:100%;z-index:3}.alert > div:first-of-type{position:relative}@media(min-width: 901px){.alert{font-size:1rem}}@media(max-width: 900px){.alert{font-size:.8rem}}.alert p,.alert button{display:inline-block}.alert p{padding-right:1rem;width:calc(100% - 2.25rem)}.alert a{font-weight:600;text-decoration:underline}.alert button{width:1.25rem;height:1.25rem;top:0;right:0;background-color:#fcfcfc;border-radius:50%;display:block;font-size:1rem;line-height:1;margin-right:1rem;margin-left:1rem;position:absolute;text-align:center}.home{padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}.home h2{font-weight:normal;margin-bottom:4rem;text-align:center}@media(min-width: 851px){.home h2{font-size:1.75rem}}@media(max-width: 850px){.home h2{font-size:1.25rem}}.home hr{width:100%;height:1px;background-color:rgba(34,34,34,.1);border:none;margin-bottom:4rem}.home .hero{align-items:center;background-color:#222;background-image:url("../media/svg/text-logo--white.svg");background-position:center;background-repeat:no-repeat;display:flex;grid-area:header;height:calc(50vh - 4rem);min-height:300px;justify-content:center}@media(max-width: 850px){.home .hero{background-size:cover}}.home .hero h1{background-color:#fcfcfc;border:1px solid rgba(34,34,34,.1);box-decoration-break:clone;display:inline;font-weight:normal;line-height:2;padding:.4rem 1rem}@media(min-width: 851px){.home .hero h1{font-size:1.75rem}}@media(max-width: 850px){.home .hero h1{font-size:1.25rem}}.home .features{grid-area:features}.home .features .home__features{align-content:center;border-bottom:1px solid rgba(34,34,34,.05);display:flex;flex-flow:row wrap;list-style-type:none;padding-top:2rem;padding-bottom:2rem}.home .features .home__feature{position:relative;text-align:center;vertical-align:top}@media(min-width: 651px){.home .features .home__feature{width:50%}}@media(max-width: 650px){.home .features .home__feature{width:100%}.home .features .home__feature:first-of-type{padding-bottom:1rem}.home .features .home__feature:last-of-type{padding-top:1rem}}.home .features .home__feature__title{font-size:2rem;margin-bottom:.5rem}.home .features .home__feature__description{font-size:1rem;left:10%;margin-bottom:1rem;position:relative;width:80%}.home .features .home__feature__cta{display:inline-block;font-size:1rem;position:relative}.home .intro,.home .docs,.home .contribute,.home .develop,.home .community{padding-top:3rem;padding-bottom:3.5rem}.home .intro .inner-wrap,.home .docs .inner-wrap,.home .contribute .inner-wrap,.home .develop .inner-wrap,.home .community .inner-wrap{position:relative}.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{letter-spacing:.1rem;line-height:1;text-transform:uppercase}@media(min-width: 1301px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{top:-0.85rem;left:-2rem;color:rgba(34,34,34,.045);font-size:4rem;position:absolute}}@media(max-width: 1300px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{color:#222}}@media(min-width: 901px)and (max-width: 1300px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{font-size:3rem}}@media(max-width: 900px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{font-size:2rem;margin-bottom:1rem}}.home .intro p,.home .docs p,.home .contribute p,.home .develop p,.home .community p{margin-bottom:1.5rem;max-width:1000px}@media(min-width: 901px){.home .intro p,.home .docs p,.home .contribute p,.home .develop p,.home .community p{font-size:1.5rem;line-height:1.55}}@media(max-width: 900px){.home .intro p,.home .docs p,.home .contribute p,.home .develop p,.home .community p{font-size:1.25rem;line-height:1.33}}.home .intro p:first-of-type,.home .docs p:first-of-type,.home .contribute p:first-of-type,.home .develop p:first-of-type,.home .community p:first-of-type{padding-top:.5rem}.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta{top:.5rem}.home .intro,.home .docs,.home .contribute,.home .develop{border-bottom:1px solid rgba(34,34,34,.05)}@media(min-width: 1301px){.home .intro,.home .docs{padding-left:10%}}.home .intro{grid-area:intro}.home .docs{grid-area:docs}@media(min-width: 1301px){.home .community p,.home .contribute p{margin-right:auto;margin-left:auto;text-align:center}}.home .community ul,.home .contribute ul{list-style-type:none;padding-top:1rem}.home .community ul::after,.home .contribute ul::after{clear:both;content:"";display:block}@media(min-width: 901px){.home .community ul,.home .contribute ul{font-size:1.5rem}}@media(min-width: 751px)and (max-width: 900px){.home .community ul,.home .contribute ul{font-size:1.25rem}}@media(max-width: 750px){.home .community ul,.home .contribute ul{font-size:1rem}}.home .community ul li,.home .contribute ul li{float:left;position:relative;text-align:center}@media(max-width: 750px){.home .community ul li,.home .contribute ul li{margin-bottom:2rem;min-width:8rem}}.home .community ul li a,.home .contribute ul li a{display:block;position:relative;padding-top:4rem;transition:color .2s}.home .community ul li a::before,.home .contribute ul li a::before{width:100%;height:100%;background-position:center 0;background-repeat:no-repeat;content:"";left:0;position:absolute}.home .community ul li a:not(:hover),.home .contribute ul li a:not(:hover){color:inherit}.home .community ul li a:hover,.home .contribute ul li a:hover{color:#3abf7d}.home .contribute{grid-area:contribute}@media(min-width: 701px){.home .contribute ul li{width:calc(100% / 5)}}@media(max-width: 700px){.home .contribute ul li{width:50%}}@media(min-width: 901px){.home .contribute ul li a::before{background-size:4rem;top:-1rem}}@media(max-width: 900px){.home .contribute ul li a::before{background-size:3rem;top:0}}.home .contribute ul li:nth-child(1) a::before{background-image:url("../media/svg/flag.svg")}.home .contribute ul li:nth-child(2) a::before{background-image:url("../media/svg/keyboard.svg")}.home .contribute ul li:nth-child(3) a::before{background-image:url("../media/svg/anchor.svg")}.home .contribute ul li:nth-child(4) a::before{background-image:url("../media/svg/chat.svg")}.home .contribute ul li:nth-child(5) a::before{background-image:url("../media/svg/monitor.svg")}.home .develop{grid-area:develop}.home .community{grid-area:community}@media(min-width: 701px){.home .community ul li{width:50%}}@media(max-width: 700px){.home .community ul li{width:50%}}@media(min-width: 901px){.home .community ul li a::before{background-size:6rem;top:-2rem}}@media(max-width: 900px){.home .community ul li a::before{background-size:4rem;top:-0.5rem}}.home .community ul li:nth-child(1) a::before{background-image:url("../media/svg/discord.svg")}.home .community ul li:nth-child(2) a::before{background-image:url("../media/svg/reddit.svg")}.home .community ul li:nth-child(3) a::before{background-image:url("../media/svg/slack.svg")}.contributing table th:first-of-type{width:30%}.contributing table th:nth-of-type(2){width:20%}.documentation ol + h1,.documentation ul + h1{padding-top:2rem}.documentation h4 + h2{padding-top:2rem}.documentation .blog-posts{list-style-type:none}.documentation .blog-post{position:relative}.documentation .blog-post::before{background-color:#222;border-radius:50%;content:"";line-height:0;position:absolute}@media(min-width: 901px){.documentation .blog-post::before{width:7px;height:7px;top:14px;left:-1.05rem}}@media(max-width: 900px){.documentation .blog-post::before{width:6px;height:6px;top:11px;left:-0.95rem}}.documentation .blog-post__title{line-height:1.33}.documentation .blog-post__title::after{content:"";display:block}.documentation .blog-post__meta{font-size:80%;line-height:1;margin-bottom:1rem}.documentation .blog-post__meta__author::before{content:"by"}@media(min-width: 901px){.documentation .blog-post__meta__author::before{left:-1.2rem}}@media(max-width: 900px){.documentation .blog-post__meta__author::before{left:-1rem}}@media(min-width: 901px){.documentation .blog-post__meta__date{margin-right:1.4rem;margin-left:3.1rem}}@media(max-width: 900px){.documentation .blog-post__meta__date{margin-right:1.2rem;margin-left:2.6rem}}.documentation .blog-post__meta__date::before{content:"posted"}@media(min-width: 901px){.documentation .blog-post__meta__date::before{left:-3.1rem}}@media(max-width: 900px){.documentation .blog-post__meta__date::before{left:-2.6rem}}.documentation .blog-post__meta__author,.documentation .blog-post__meta__date{display:inline-block;position:relative}.documentation .blog-post__meta__author::before,.documentation .blog-post__meta__date::before{color:rgba(34,34,34,.5);font-style:italic;position:absolute;vertical-align:bottom}.page{display:flex;flex:1;flex-direction:column;height:100%}.page__header-wrap{width:100%}.page__header{align-items:center;display:inline-flex;justify-content:center;background-position:center;background-repeat:no-repeat;background-size:cover;color:#fcfcfc;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);position:relative;width:100%}.page__header__title{font-weight:300;text-shadow:1px 1px 2px rgba(34,34,34,.3)}@media(min-width: 901px){.page__header__title{font-size:3rem;line-height:6.5rem}}@media(max-width: 900px){.page__header__title{font-size:2rem;line-height:1;padding-top:1rem;padding-bottom:1rem}}.page__content,.hook__page{background-repeat:repeat;background-size:32px;flex:1;padding-top:2rem;padding-bottom:2rem;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}.page__content h1,.hook__page h1{margin-bottom:.25rem}@media(min-width: 901px){.page__content h1,.hook__page h1{font-size:3rem}}@media(max-width: 900px){.page__content h1,.hook__page h1{font-size:2rem}}.page__content h1 + h2,.hook__page h1 + h2{margin-bottom:2rem}@media(min-width: 901px){.page__content h2:not(.__title),.hook__page h2:not(.__title){font-size:2rem}}@media(max-width: 900px){.page__content h2:not(.__title),.hook__page h2:not(.__title){font-size:1.5rem}}.page__content h2:not(.__title) + h3,.hook__page h2:not(.__title) + h3{margin-bottom:1rem;padding-top:.25rem}@media(min-width: 901px){.page__content h3:not(.ecosystem__submodule__title),.hook__page h3:not(.ecosystem__submodule__title){font-size:1.5rem}}@media(max-width: 900px){.page__content h3:not(.ecosystem__submodule__title),.hook__page h3:not(.ecosystem__submodule__title){font-size:1.25rem}}.page__content h3:not(.ecosystem__submodule__title) + table,.hook__page h3:not(.ecosystem__submodule__title) + table{top:.25rem}.page__content h4:not(.ecosystem__submodule__description__title),.hook__page h4:not(.ecosystem__submodule__description__title){letter-spacing:.05rem;text-transform:uppercase}@media(min-width: 901px){.page__content h4:not(.ecosystem__submodule__description__title),.hook__page h4:not(.ecosystem__submodule__description__title){font-size:1.25rem}}@media(max-width: 900px){.page__content h4:not(.ecosystem__submodule__description__title),.hook__page h4:not(.ecosystem__submodule__description__title){font-size:1.15rem}}.page__content h5,.hook__page h5{font-size:1rem}.page__content sup,.hook__page sup{font-family:"Courier New",monospace}.page__content blockquote,.hook__page blockquote{left:2px;line-height:1.5;margin-bottom:.5rem;position:relative}@media(min-width: 601px){.page__content blockquote,.hook__page blockquote{margin-left:15%;padding:.5rem 0 .05rem 2rem;font-size:1.5rem;width:70%}}@media(max-width: 600px){.page__content blockquote,.hook__page blockquote{font-size:1.25rem;padding:.5rem 0 .05rem 0}}@media(min-width: 376px)and (max-width: 600px){.page__content blockquote,.hook__page blockquote{margin-left:5%;width:90%}}.page__content blockquote p,.hook__page blockquote p{font-size:inherit;line-height:inherit}.page__content blockquote::before,.hook__page blockquote::before{font-family:Georgia,serif;width:150px;height:100px;top:3rem;left:-2rem;color:rgba(58,191,125,.2);content:"“";font-size:20rem;line-height:.5;position:absolute}.page__content p code,.hook__page p code,.page__content ol code,.hook__page ol code,.page__content ul:not(.overview__ecosystem__module) code,.hook__page ul:not(.overview__ecosystem__module) code,.page__content table code,.hook__page table code{background-color:#222;border-radius:3px;color:#fcfcfc;font-size:60%;letter-spacing:.05rem;padding:.3rem .5rem;vertical-align:middle}@media(max-width: 900px){.page__content p code,.hook__page p code,.page__content ol code,.hook__page ol code,.page__content ul:not(.overview__ecosystem__module) code,.hook__page ul:not(.overview__ecosystem__module) code,.page__content table code,.hook__page table code{position:relative;top:-1px}}.page__content p,.hook__page p,.page__content ol,.hook__page ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents),.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){margin-bottom:1rem;position:relative}@media(min-width: 901px){.page__content p,.hook__page p,.page__content ol,.hook__page ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents),.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){font-size:1.25rem;line-height:1.6}}@media(max-width: 900px){.page__content p,.hook__page p,.page__content ol,.hook__page ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents),.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){font-size:1.05rem;line-height:1.55}}.page__content ol,.hook__page ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents),.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){padding-top:.5rem}.page__content ol li:not(:last-of-type),.hook__page ol li:not(:last-of-type),.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) li:not(:last-of-type),.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) li:not(:last-of-type){margin-bottom:.25rem}.page__content ol + h2,.hook__page ol + h2,.page__content ol + h3,.hook__page ol + h3,.page__content ol + h4,.hook__page ol + h4,.page__content ol + h5,.hook__page ol + h5,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h2,.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h2,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h3,.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h3,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h4,.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h4,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h5,.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h5{padding-top:2rem}.page__content ol,.hook__page ol{list-style-type:lower-roman;padding-left:1.6rem}.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents),.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){padding-left:1.25rem}.page__content p img,.hook__page p img{float:right}.page__content a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit),.hook__page a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit){background-image:linear-gradient(#fcfcfc, #fcfcfc),linear-gradient(#fcfcfc, #fcfcfc),linear-gradient(#3abf7d, #3abf7d);background-position:0 88%,100% 88%,0 88%;background-repeat:no-repeat,no-repeat,repeat-x;background-size:.05rem 1px,.05rem 1px,1px 1px;box-decoration-break:clone;display:inline;text-decoration:none;text-shadow:.03rem 0 #fcfcfc,-0.03rem 0 #fcfcfc,0 .03rem #fcfcfc,0 -0.03rem #fcfcfc,.06rem 0 #fcfcfc,-0.06rem 0 #fcfcfc,.09rem 0 #fcfcfc,-0.09rem 0 #fcfcfc,.12rem 0 #fcfcfc,-0.12rem 0 #fcfcfc,.15rem 0 #fcfcfc,-0.15rem 0 #fcfcfc;color:#3abf7d}.page__content a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit)::selection,.hook__page a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit)::selection{background-color:#3abf7d;color:#fcfcfc;text-shadow:none}.page__content a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit)::-moz-selection,.hook__page a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit)::-moz-selection{background-color:#3abf7d;color:#fcfcfc;text-shadow:none}@-moz-document url-prefix(){.page__content a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit),.hook__page a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit){background-position:0 90%,100% 90%,0 90%}}.page__content pre,.hook__page pre{margin-bottom:2rem;padding:2rem;border-radius:3px;font-size:1rem;line-height:1.33;overflow-x:auto;overflow-y:hidden}.page__content pre:not([class]),.hook__page pre:not([class]),.page__content pre.language-text,.hook__page pre.language-text{background-color:#222;color:#fcfcfc}.page__content pre.language-yaml,.hook__page pre.language-yaml{background-color:#27273f;color:#ffe066}.page__content pre.language-yaml .atrule,.hook__page pre.language-yaml .atrule{color:#f083ac}.page__content pre.language-yaml .important,.hook__page pre.language-yaml .important{color:#ffa94d}.page__content pre.language-yaml .punctuation,.hook__page pre.language-yaml .punctuation{color:#fcfcfc}.page__content table,.hook__page table{background-color:#fcfcfc;border:1px solid rgba(163,183,173,.3);border-spacing:0;margin-bottom:2rem;position:relative;width:100%}@media(max-width: 1030px){.page__content table,.hook__page table{display:inline-grid}.page__content table thead,.hook__page table thead{display:none}.page__content table tbody,.hook__page table tbody,.page__content table tr,.hook__page table tr,.page__content table td,.hook__page table td{display:block}.page__content table tbody tr:last-of-type td:not(:last-of-type),.hook__page table tbody tr:last-of-type td:not(:last-of-type){border-bottom:1px solid rgba(163,183,173,.3)}}.page__content table thead,.hook__page table thead{background-color:#222;color:#fcfcfc;cursor:default;position:relative}.page__content table thead tr,.hook__page table thead tr{position:relative;z-index:1}.page__content table thead:not(*:root)::after,.hook__page table thead:not(*:root)::after{z-index:-1}.page__content table thead::after,.hook__page table thead::after{width:calc(100% + 2px);height:calc(100% + 2px);top:-1px;left:-1px;background-color:#222;content:"";position:absolute;z-index:0}.page__content table tbody,.hook__page table tbody{line-height:1.55}.page__content table tr:nth-of-type(even),.hook__page table tr:nth-of-type(even){background-color:rgba(34,34,34,.025)}.page__content table th,.hook__page table th,.page__content table td,.hook__page table td{padding:.5rem 1rem}.page__content table th,.hook__page table th{font-size:.8rem;letter-spacing:.1rem;text-transform:uppercase}.page__content table tbody tr:not(:last-of-type) td,.hook__page table tbody tr:not(:last-of-type) td{border-bottom:1px solid rgba(163,183,173,.3)}.page__content table td,.hook__page table td{font-size:1rem}.page__header{background-image:url("../media/images/background-a.jpg")}.page__content,.hook__page{background-image:url("../media/images/grid.png")}.hook .loader{animation:spin 2s linear infinite;border-radius:50%;border-style:solid;border-top-color:#3abf7d}.hook .loader:not(.small):not(.tiny){width:4rem;height:4rem;border-width:6px;margin-right:auto;margin-left:auto}.hook .loader.small{width:2rem;height:2rem;border-width:3px}.hook .loader.tiny{width:1rem;height:1rem;border-width:2px}.hook__navigation{background-color:#222;color:#fcfcfc;font-size:1rem;padding-top:1rem;padding-bottom:1rem;text-align:center}@media(min-width: 501px){.hook__navigation__step{display:inline-block}.hook__navigation__step:not(:last-of-type){margin-right:1rem}.hook__navigation__step span{width:3rem;height:3rem;display:block;font-size:1.25rem;line-height:3rem}}@media(max-width: 500px){.hook__navigation__step{display:block}.hook__navigation__step span{width:1rem;height:1rem;display:inline-block;font-size:.7rem;line-height:.9rem;position:relative;top:2px;vertical-align:top}}.hook__navigation__step:not(.active) span{border-color:rgba(252,252,252,.1)}.hook__navigation__step.active{color:#3abf7d}.hook__navigation__step.active span{border-color:rgba(58,191,125,.3)}.hook__navigation__step span{border:1px solid;border-radius:50%;margin:0 auto .5rem}.hook__page__hero{margin-bottom:2rem;border-bottom:1px solid rgba(34,34,34,.05)}.hook__page__hero h1,.hook__page__hero p{text-align:center}.hook__page__hero__claim,.hook__page__hero__support{margin-bottom:3rem;padding-left:1rem;background-color:#fcfcfc;border:1px solid rgba(163,183,173,.7);font-size:1rem}@media(min-width: 501px){.hook__page__hero__claim,.hook__page__hero__support{margin-right:auto;margin-left:auto;width:80%}}.hook__page__hero__claim::after,.hook__page__hero__support::after{clear:both;content:"";display:block}.hook__page__hero__claim button,.hook__page__hero__claim input,.hook__page__hero__support button,.hook__page__hero__support input{line-height:3rem}.hook__page__hero__claim span,.hook__page__hero__support span{color:rgba(34,34,34,.3)}.hook__page__hero__claim button,.hook__page__hero__support button{border-left:1px solid rgba(163,183,173,.7);color:#fcfcfc;float:right;position:relative;text-align:center;transition:all .2s;width:6rem}.hook__page__hero__claim button::after,.hook__page__hero__support button::after{width:calc(100% + 2px);height:calc(100% + 2px);top:-1px;left:-1px;border:1px solid;content:"";position:absolute;transition:inherit}.hook__page__hero__claim button:not(:hover),.hook__page__hero__support button:not(:hover){background-color:#222}.hook__page__hero__claim button:not(:hover)::after,.hook__page__hero__support button:not(:hover)::after{border-color:#222}.hook__page__hero__claim button:hover,.hook__page__hero__support button:hover{background-color:#3abf7d}.hook__page__hero__claim button:hover::after,.hook__page__hero__support button:hover::after{border-color:#3abf7d}.hook__page__hero__claim input{width:calc(100% - 10rem)}.hook__page__hero__support input[type=number]{width:3rem}.hook__page__hero__support input[type=text]{width:calc(100% - 11.5rem)}.hook__page__hero__support span{line-height:3rem}.hook__page__hero__support a{margin-left:.5rem}.hook__page__content::after{clear:both;content:"";display:block}.hook__page__content__card{margin-bottom:1rem;padding:1rem;cursor:pointer}.hook__page__content__card img{margin-bottom:.5rem}@media(min-width: 501px){.hook__page__content__card{float:left;vertical-align:top;width:50%}}@media(max-width: 500px){.hook__page__content__card{width:100%}}.hook__page__content__meme{margin-bottom:2rem;padding-right:1rem;padding-left:1rem}@media(min-width: 701px){.hook__page__content__meme{width:50%}}@media(max-width: 700px){.hook__page__content__meme{width:100%}}.hook__page__content__meme canvas{width:100%;height:100%;background-color:rgba(58,191,125,.3);margin-bottom:1rem}.hook__page__content__meme h2.__metadata{margin-top:3rem}.hook__page__content__meme fieldset{border:none}.hook__page__content__meme fieldset:not(:last-of-type){margin-bottom:1rem}.hook__page__content__meme label{color:rgba(34,34,34,.3);display:block;font-size:.8rem;font-weight:600;letter-spacing:.05rem;margin-bottom:.025rem;text-transform:uppercase;width:100%}@media(min-width: 901px){.hook__page__content__meme input:not([type=checkbox]):not([type=submit]),.hook__page__content__meme select,.hook__page__content__meme textarea{font-size:1.25rem}}@media(max-width: 900px){.hook__page__content__meme input:not([type=checkbox]):not([type=submit]),.hook__page__content__meme select,.hook__page__content__meme textarea{font-size:1.05rem}}.hook__page__content__meme input:not([type=checkbox]):not([type=file]):not([type=submit]){border-bottom:2px solid;padding-bottom:.15rem;transition:all .2s;width:100%}.hook__page__content__meme input:not([type=file]):not([type=submit]):not(:hover):not(:active){border-color:#222}.hook__page__content__meme input:not([type=file]):not([type=submit]):hover,.hook__page__content__meme input:not([type=file]):not([type=submit]):active{border-color:#3abf7d}.hook__page__content__meme input[type=checkbox]{width:1.25rem;height:1.25rem;border:2px solid;margin-right:.5rem;position:relative;top:.35rem}.hook__page__content__meme input[type=checkbox]::after{width:100%;height:100%;content:"✓";font-size:1.5rem;line-height:1rem;position:absolute}.hook__page__content__meme input[type=checkbox]:not(:checked)::after{color:transparent}.hook__page__content__meme input[type=checkbox]:checked::after{color:#3abf7d}.hook__page__content__meme select,.hook__page__content__meme textarea{border-bottom:2px solid;width:100%}.hook__page__content__meme select:not(:hover):not(:active),.hook__page__content__meme textarea:not(:hover):not(:active){border-color:#222}.hook__page__content__meme select:hover,.hook__page__content__meme select:active,.hook__page__content__meme textarea:hover,.hook__page__content__meme textarea:active{border-color:#3abf7d}.hook__page__content__meme select{background-image:url("../../media/svg/down.svg");background-position:99% center;background-repeat:no-repeat;background-size:1rem}.hook__page__content__meme textarea{min-height:100px;resize:vertical}.hook__page__content__meme__thumbnail{width:5rem;height:5rem;border-style:solid;border-width:2px;margin-bottom:1rem;object-fit:contain;object-position:center}.hook__page__content__meme__thumbnail:not(:last-of-type){margin-right:1rem}.hook__page__content__meme__thumbnail:not(.selected){border-color:transparent}.hook__page__content__meme__thumbnail.selected{border-color:#222}.hook__page__content__meme__uploader{text-align:center;width:11rem}.hook__page__content__meme__uploader > div:first-of-type{width:100%;height:100%;top:0;left:0;position:absolute}.hook__page__content__meme__uploader input{top:0;left:0;bottom:0;right:0;cursor:pointer;opacity:0;position:absolute;width:100%;z-index:10}/*# sourceMappingURL=style.css.map */
+html{box-sizing:border-box;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}*,*::before,*::after{margin:0;padding:0;box-sizing:inherit;outline:0 !important}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:currentColor;text-decoration:none}*[readonly]{cursor:not-allowed}textarea[disabled]{resize:none}textarea:not[disabled]{resize:vertical}button:not(:disabled){cursor:pointer}button,input,select,textarea{border:none;border-radius:0;font-family:inherit;font-size:inherit;-moz-appearance:none;-webkit-appearance:none}button:focus,input:focus,select:focus,textarea:focus{outline:none}input,select,textarea{background-color:transparent}input[type=submit]{cursor:pointer}.left{float:left}.right{float:right}iframe{border:0}img{font-size:0;max-width:100%}img::after{width:100%;height:100%;top:-100%;left:0;background-color:#fcfcfc;background-image:url("../media/images/missing.png");background-size:cover;box-shadow:0 0 1px 0 rgba(34,34,34,.3);content:"";display:block;position:relative}@media print{pre,blockquote{border:1px solid #999 !important;page-break-inside:avoid !important}tr,img{page-break-inside:avoid !important}img{max-width:100% !important}@page{margin:.5cm !important}p,h2,h3{orphans:3 !important;widows:3 !important}h2,h3{page-break-after:avoid !important}thead{display:table-header-group !important}*{background:transparent !important;color:#000 !important;text-shadow:none !important;filter:none !important}p a[href]::after{content:" (" attr(href) ")" !important}p abbr[title]::after{content:" (" attr(title) ")" !important}p a[href^="javascript:"]::after,p a[href^="#"]::after{content:"" !important}p a,p abbr{word-wrap:break-word !important;text-decoration:underline !important}}input::-moz-focus-inner,button::-moz-focus-inner{display:none}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fcfcfc inset !important}input:-webkit-autofill:focus{outline:none}.clear{clear:both;content:"";display:block}.hide-text{border:0;color:transparent;font:0/0 a;text-shadow:none}.__button-base,.__button-gray,.__button-white,.__button-black,.hook__page__content__meme__uploader,.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta,.home .features .home__feature__cta,.__button-plain,.__button-basic,.newsletter-cta__submit{border:1px solid;font-size:1rem;letter-spacing:.025rem;position:relative;transition:all .2s}.__button-plain{background-color:transparent;border-color:transparent}.__button-plain::after{width:100%;height:2px;bottom:2px;left:0;content:"";display:block;transition:background-color .2s}.__button-plain:not(:hover)::after{background-color:transparent}.__button-plain:hover::after{background-color:#222}.__button-black:not(:hover),.hook__page__content__meme__uploader:not(:hover),.home .intro .cta:not(:hover),.home .docs .cta:not(:hover),.home .contribute .cta:not(:hover),.home .develop .cta:not(:hover),.home .community .cta:not(:hover),.home .features .home__feature__cta:not(:hover){background-color:#222;border-color:#fcfcfc;box-shadow:2px 2px 0 #fcfcfc;color:#fcfcfc}.__button-black:hover,.hook__page__content__meme__uploader:hover,.home .intro .cta:hover,.home .docs .cta:hover,.home .contribute .cta:hover,.home .develop .cta:hover,.home .community .cta:hover,.home .features .home__feature__cta:hover{background-color:#fcfcfc;border-color:#222;box-shadow:2px 2px 0 #222;color:inherit}.__button-white:not(:hover){background-color:#fcfcfc;border-color:transparent;box-shadow:2px 2px 0 #222;color:inherit}.__button-white:hover{background-color:#222;border-color:#fcfcfc;box-shadow:2px 2px 0 #fcfcfc;color:#fcfcfc}.__button-gray{background-color:#fcfcfc}.__button-gray:not(:hover){border-color:transparent;box-shadow:2px 2px 0 #222}.__button-gray:hover{border-color:#3abf7d;box-shadow:2px 2px 0 #3abf7d;color:#3abf7d}.__button-padding-vertical,.newsletter-cta__submit,.__button-black,.hook__page__content__meme__uploader,.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta,.home .features .home__feature__cta,.__button-white,.__button-gray{padding-top:.5rem;padding-bottom:.5rem}.__button-padding-horizontal,.newsletter-cta__input,.newsletter-cta__submit,.__button-black,.hook__page__content__meme__uploader,.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta,.home .features .home__feature__cta,.__button-white,.__button-gray{padding-right:1rem;padding-left:1rem}.__grid:first-of-type{cursor:default;font-size:.8rem;font-weight:600;letter-spacing:.2rem;text-transform:uppercase}.__grid:not(:first-of-type){border-left:1px solid #a3b7ad}.__grid:not(:first-of-type) .col{border-bottom-style:solid;border-bottom-width:1px}.__grid:not(:first-of-type) .col:last-of-type{border-right-style:solid;border-right-width:1px}.__grid:not(:first-of-type) .col:not(.red):not(.orange):not(.yellow):not(.green){border-color:#a3b7ad}@media(min-width: 600px){.__grid{display:table;table-layout:fixed;width:100%}.__grid .col{display:table-cell}}.col{padding:.5rem 1rem;width:100%}.col:not(:first-of-type){text-align:right}@media(min-width: 600px){.grid-padded{margin-right:-1rem;margin-left:-1rem}.grid-padded .grid{border-spacing:1rem 0}}.grid-align-middle .col{vertical-align:middle}.grid-reverse{direction:rtl}.grid-reverse .col{direction:ltr}@font-face{font-family:"Karla";font-style:normal;font-weight:400;src:local("Karla Regular"),url(//brick.freetls.fastly.net/fonts/karla/400.woff) format("woff")}@font-face{font-family:"Karla";font-style:italic;font-weight:400;src:local("Karla Italic"),url(//brick.freetls.fastly.net/fonts/karla/400i.woff) format("woff")}@font-face{font-family:"Karla";font-style:normal;font-weight:700;src:local("Karla Bold"),url(//brick.freetls.fastly.net/fonts/karla/700.woff) format("woff")}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes slide-down{0%{transform:translateY(-4rem)}10%{transform:translateY(2rem)}90%{transform:translateY(2rem)}100%{transform:translateY(-4rem)}}.ecosystem{margin-bottom:2rem;padding-top:1rem;display:grid;font-size:1rem;grid-gap:1rem}.ecosystem:not(.expand-left):not(.expand-right){grid-template-columns:144px auto 144px}.ecosystem:not(.expand-left):not(.expand-right) .ecosystem__submodules{padding-top:2.5rem}.ecosystem.expand-left{grid-template-columns:50% auto}.ecosystem.expand-left .ecosystem__submodules:last-of-type,.ecosystem.expand-left .ecosystem__submodule:not(.active){display:none}.ecosystem.expand-right{grid-template-columns:auto 50%}.ecosystem.expand-right .ecosystem__submodules:first-of-type,.ecosystem.expand-right .ecosystem__submodule:not(.active){display:none}.ecosystem__module{position:relative;width:100%}.ecosystem__module > *{z-index:1}.ecosystem__module h2{position:relative;width:100%}.ecosystem__module h2 > div{float:right;font-size:1rem;padding-top:1.95rem;padding-right:3rem;position:relative;text-align:right}.ecosystem__module h2 > div::before{font-family:Georgia,serif;top:.9rem;right:3rem;content:"explore";font-size:80%;font-style:italic;opacity:.3;position:absolute;text-align:right;width:100%}.ecosystem__module h2 > div span{cursor:pointer;display:inline-block;position:relative}.ecosystem__module h2 > div span:not(:last-of-type){margin-right:1rem}.ecosystem__module h2 > div span:not(:last-of-type)::after{top:0;right:-0.7rem;color:rgba(163,183,173,.3);content:"/";font-style:italic;position:absolute}.ecosystem__module h3{position:relative}.ecosystem__module::before{width:100%;height:100%;top:0;left:0;content:"";position:absolute;z-index:0}.ecosystem__module:not(.active){align-items:center;display:inline-flex;justify-content:center}.ecosystem__module:not(.active) h2{font-size:1.5rem;text-align:center}.ecosystem__module:not(.active) h2 > span{cursor:pointer;display:block;padding:1.9rem 2rem}.ecosystem__module:not(.active) h2 > span em{display:block;font-size:70%;font-weight:normal}.ecosystem__module:not(.active) h2 > div{display:none}.ecosystem__module:not(.active) .ecosystem__module__details{display:none}.ecosystem__module:not(.active) .__close{top:2rem;transform:rotate(45deg);z-index:0}.ecosystem__module.active{padding:1.9rem 2rem}.ecosystem__module.active h2{font-size:3rem;margin-bottom:1rem}.ecosystem__module.active h2 > span{cursor:default}.ecosystem__module.active h2 > span em{display:none}.ecosystem__module.active::before{background-color:#fcfcfc}.ecosystem__module.active .__close{top:2.35rem;z-index:3}.ecosystem__module.lbrycrd,.ecosystem__module.lbry{margin-bottom:1rem}.ecosystem__module.lbry:not(.active) h2,.ecosystem__module.applications:not(.active) h2{margin-bottom:.5rem}.ecosystem__module.lbry:not(.active) h2::after,.ecosystem__module.applications:not(.active) h2::after{bottom:1rem;left:0;font-size:.5rem;letter-spacing:.1rem;position:absolute;width:100%;z-index:-1}.ecosystem__module.lbrycrd:not(.active)::before{background-color:#db3e3e}.ecosystem__module.lbrycrd.active::before{border:2px solid #db3e3e}.ecosystem__module.lbry:not(.active)::before{background-color:#3e8cdb}.ecosystem__module.lbry:not(.active) h2::after{content:"◼︎◼︎"}.ecosystem__module.lbry.active::before{border:2px solid #3e8cdb}.ecosystem__module.applications:not(.active)::before{background-color:#3edb3e}.ecosystem__module.applications:not(.active) h2::after{content:"◼︎◼︎◼︎◼︎◼︎"}.ecosystem__module.applications.active::before{border:2px solid #3edb3e}.ecosystem__module__piece{background-color:#fcfcfc;left:10%;line-height:2;position:relative;width:80%}.ecosystem__module__piece:not(:last-of-type){margin-bottom:.5rem}.ecosystem__submodule{border-width:2px;cursor:default;position:relative;transition:border-color .2s;z-index:2}.ecosystem__submodule:not(:last-of-type){margin-bottom:1rem}.ecosystem__submodule:not(.on):not(.active){color:transparent}.ecosystem__submodule:not(.active){align-items:center;display:inline-flex;justify-content:center;width:144px;height:144px;border-radius:50%;border-style:dashed}.ecosystem__submodule:not(.active) .ecosystem__submodule__title{width:100%;height:100%;line-height:140px;text-align:center}.ecosystem__submodule:not(.active) .ecosystem__submodule__description{display:none}.ecosystem__submodule.active{width:100%;height:100%;max-height:378px;border-style:solid;overflow-y:auto;padding:2rem}.ecosystem__submodule.active .ecosystem__submodule__title{line-height:1.33;margin-bottom:1rem}.ecosystem__submodule:not(.blue):not(.green):not(.red){border-color:rgba(163,183,173,.3)}.ecosystem__submodule.blue:not(.active),.ecosystem__submodule.green:not(.active),.ecosystem__submodule.red:not(.active){cursor:pointer}.ecosystem__submodule.blue{background-color:rgba(62,140,219,.025);border-color:#3e8cdb}.ecosystem__submodule.green{background-color:rgba(62,219,62,.025);border-color:#3edb3e}.ecosystem__submodule.red{background-color:rgba(219,62,62,.025);border-color:#db3e3e}.ecosystem__submodule__title{font-size:1.15rem}.ecosystem__submodule__description{margin-bottom:2rem}.ecosystem__submodule__description .__close{top:-0.7rem;right:-2rem}.ecosystem__submodule__description__title{color:rgba(34,34,34,.3);letter-spacing:.1rem;text-transform:uppercase}.__parents{top:2rem;right:4rem;font-size:1.15rem;line-height:1.33;list-style-type:none;padding-right:1rem;position:absolute;z-index:1}.__parents::before,.__parents::after{position:absolute}.__parents::before{font-family:Georgia,serif;top:.3rem;left:-3.4rem;color:rgba(34,34,34,.3);content:"back to";font-size:.8rem;font-style:italic;font-weight:700}.__parents::after{width:2px;height:100%;top:0;right:0;background-color:rgba(34,34,34,.3);content:""}.__parent{font-weight:700}.__parent:not(.active){display:none}.__parent.active{cursor:pointer}.__close{cursor:pointer;font-size:2rem;position:absolute;right:2rem;transition:all .2s}.newsletter-cta{background-color:rgba(34,34,34,.2);padding-top:1rem;padding-bottom:1rem;text-align:center}.newsletter-cta > div:first-of-type{margin-right:auto;margin-left:auto}@media(min-width: 551px){.newsletter-cta > div:first-of-type{width:500px}}@media(max-width: 550px){.newsletter-cta > div:first-of-type{width:90%}}.newsletter-cta::after{clear:both;content:"";display:block}.newsletter-cta__title{font-size:.8rem;letter-spacing:.05rem;margin-bottom:.75rem;text-transform:uppercase}.newsletter-cta__input,.newsletter-cta__submit{border-style:solid;border-width:1px}@media(max-width: 550px){.newsletter-cta__input,.newsletter-cta__submit{width:100%}}.newsletter-cta__input{background-color:#fcfcfc;font-size:1rem;height:38px;transition:border .2s}@media(min-width: 551px){.newsletter-cta__input{float:left;width:calc(100% - 112px)}}@media(max-width: 550px){.newsletter-cta__input{text-align:center}}.newsletter-cta__input:not(:focus){border-top-color:#222;border-left-color:#222}@media(min-width: 551px){.newsletter-cta__input:not(:focus){border-bottom-color:#222;border-right-color:transparent}}@media(max-width: 550px){.newsletter-cta__input:not(:focus){border-bottom-color:transparent;border-right-color:#222}}.newsletter-cta__input:focus{border-top-color:#35a06b;border-left-color:#35a06b}@media(min-width: 551px){.newsletter-cta__input:focus{border-bottom-color:#35a06b;border-right-color:transparent}}@media(max-width: 550px){.newsletter-cta__input:focus{border-bottom-color:transparent;border-right-color:#35a06b}}.newsletter-cta__submit{color:#fcfcfc}@media(min-width: 551px){.newsletter-cta__submit{width:112px;height:38px;float:right;left:-1px}}@media(max-width: 550px){.newsletter-cta__submit{display:block;top:-1px}}.newsletter-cta__submit:not(:hover){background-color:#222;border-color:#222}.newsletter-cta__submit:hover{background-color:#3abf7d;border-color:#35a06b}.newsletter-cta__message{clear:both;content:"";display:block;color:#db3e3e;padding-top:1rem}.feature-links{display:grid;grid-gap:2rem;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));list-style-type:none;padding-top:.5rem}.feature-link{width:320px;min-height:135px;background-color:#fcfcfc;border:1px solid rgba(34,34,34,.1);border-radius:3px;cursor:pointer;display:inline-block;position:relative;transition:box-shadow .2s;vertical-align:top}.feature-link > div:first-of-type{top:85px;left:5%;position:relative;text-align:center;width:90%;z-index:1}.feature-link:not(:hover) .feature-link__background{filter:brightness(0.5)}.feature-link:hover{box-shadow:0 0 15px rgba(34,34,34,.15)}.feature-link:hover .feature-link__title{color:#3abf7d}.feature-link__title{background-color:#fcfcfc;border:1px solid rgba(128,128,128,.1);box-shadow:0 2px 5px rgba(34,34,34,.025);border-radius:3px;box-decoration-break:clone;display:inline;font-size:1rem;line-height:1.7;padding:.25rem .5rem;transition:color .2s;position:relative}.feature-link__background{width:calc(100% + 2px);height:100px;top:-1px;left:-1px;background-color:#3abf7d;border-top-right-radius:3px;border-top-left-radius:3px;transition:filter .2s;overflow:hidden;position:absolute;z-index:0}.feature-link__background img{width:100%;height:100%;object-fit:cover;object-position:center}.flashes{top:4rem;right:0;position:absolute;width:100%;z-index:9}.flash{border:2px solid;border-radius:3px;font-size:1rem;line-height:1.33;padding:.5rem 1rem;position:absolute;right:2rem}.flash:not(.error):not(.info):not(.warning){background-color:#e9f6ef;border-color:#3abf7d}.flash:not(.active){transform:translateY(-4rem)}.flash.active{animation:slide-down 2s linear;transform:translateY(-4rem)}.flash.error{background-color:#f9e9e9;border-color:#db3e3e}.flash.info{background-color:#f3f5f4;border-color:#a3b7ad}.flash.warning{background-color:#f9f9e9;border-color:#dbdb3e}.footer{background-color:#222;color:rgba(252,252,252,.15);font-size:1rem;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);position:relative}@media(max-width: 980px){.footer::before{width:3rem;height:100%;bottom:0;right:0;background-image:linear-gradient(90deg, rgba(34, 34, 34, 0), #222 50%, #222);content:"";position:absolute;z-index:2}}@media(max-width: 980px){.footer > div:first-of-type{overflow:auto;overflow-scrolling:touch;white-space:nowrap;width:100%}}.footer ul{list-style-type:none;padding-top:2rem;padding-bottom:2rem}@media(min-width: 981px){.footer ul{align-items:stretch;display:flex;flex-flow:row wrap}}.footer ul li{padding-right:.5rem;padding-left:.5rem;vertical-align:bottom}@media(max-width: 980px){.footer ul li{display:inline-block;transform:translate3d(0, 0, 0);transition:opacity .2s .2s ease,transform .4s .2s cubic-bezier(0.215, 0.61, 0.355, 1)}.footer ul li:last-of-type{margin-right:3rem}}.footer ul li:first-of-type{flex:1}.footer a{transition:color .2s}.footer a:not(:hover){color:#fcfcfc}.footer a:hover{color:#3abf7d}.github-feed{border-bottom:1px solid rgba(34,34,34,.05);border-left:1px solid rgba(34,34,34,.05);font-size:.8rem;grid-area:github;position:relative}@media(min-width: 1301px){.github-feed{padding-top:3.7rem}}@media(min-width: 1001px)and (max-width: 1300px){.github-feed{padding-top:2.95rem}}@media(min-width: 1001px){.github-feed{padding-bottom:2rem;padding-right:10%;padding-left:2rem}}@media(max-width: 1000px){.github-feed{padding-top:2rem;padding-bottom:2rem}}@media(min-width: 901px){.github-feed{padding-right:1rem;padding-left:1rem}}@media(max-width: 900px){.github-feed{padding-right:2rem;padding-left:2rem}}@media(max-width: 700px){.github-feed{overflow-x:auto;overflow-y:hidden;white-space:nowrap}}@media(min-width: 1001px){.github-feed h3,.github-feed h5{text-align:center}}.github-feed h3{letter-spacing:.1rem;line-height:1;text-transform:uppercase;width:100%}@media(min-width: 1301px){.github-feed h3{top:2.15rem;left:0;color:rgba(34,34,34,.045);font-size:4rem;position:absolute}}@media(max-width: 1300px){.github-feed h3{color:#222}}@media(min-width: 901px)and (max-width: 1300px){.github-feed h3{font-size:3rem}}@media(max-width: 900px){.github-feed h3{font-size:2rem;margin-bottom:1rem}}.github-feed h5{font-style:italic;font-weight:normal}@media(min-width: 1001px){.github-feed h5{margin-bottom:3rem}}@media(min-width: 901px)and (max-width: 1000px){.github-feed h5{margin-bottom:2rem}}@media(max-width: 900px){.github-feed h5{margin-bottom:.5rem;position:relative;top:-1rem}}.github-feed__event{line-height:1.55}@media(max-width: 700px){.github-feed__event{display:inline-block;margin-right:1.25rem;vertical-align:top;width:200px}}@media(min-width: 701px){.github-feed__event:not(:last-of-type){margin-bottom:1.25rem}}.github-feed__event > a:first-of-type{font-weight:700;margin-bottom:.5rem;width:100%}@media(max-width: 700px){.github-feed__event > p:first-of-type{box-shadow:0 2px 5px rgba(34,34,34,.025)}}.github-feed__event > p:first-of-type code{background-color:#222;border-radius:3px;color:#fcfcfc;font-size:80%;letter-spacing:.05rem;padding:.2rem .5rem;position:relative;top:-1px}.github-feed__event > p:first-of-type em:not(.github-feed__event__time){text-decoration:underline}@media(min-width: 701px){.github-feed__event > p:first-of-type{display:inline-block;margin-left:.5rem;vertical-align:top;width:calc(100% - 4.5rem)}}@media(max-width: 700px){.github-feed__event > p:first-of-type{top:-3.5rem;left:5%;background-color:#fcfcfc;border:1px solid rgba(163,183,173,.1);border-radius:3px;padding:1rem;position:relative;white-space:normal;width:90%}}.github-feed__event__avatar{border:1px solid rgba(163,183,173,.1);border-radius:3px;object-position:center;object-fit:cover}@media(min-width: 701px){.github-feed__event__avatar{width:2.5rem;height:2.5rem}}@media(max-width: 700px){.github-feed__event__avatar{width:100%;height:100%}}.github-feed__event__time{color:#a3b7ad;display:block}@media(max-width: 700px){.github-feed__event__time{padding-top:1rem}}.glossary main{margin-left:200px;width:calc(100vw - 200px)}.glossary .page__header-wrap .inner-wrap,.glossary .page__content .inner-wrap,.glossary .hook__page .inner-wrap{margin-left:1rem;max-width:initial}.component--glossary-toc{width:200px;height:calc(100vh - 4rem);top:4rem;left:0;background-color:#fcfcfc;border-right:1px solid rgba(163,183,173,.3);font-size:.8rem !important;overflow-x:hidden;overflow-y:auto;padding-top:1rem !important;position:fixed !important;z-index:1}.component--glossary-toc li:last-of-type{margin-bottom:1rem}.navigation{top:0;left:0;background-color:#fcfcfc;box-shadow:0 1px 5px rgba(34,34,34,.1);padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);position:fixed;width:100%;z-index:10}.navigation > div:first-of-type{position:relative}@media(min-width: 701px){.navigation > div:first-of-type{align-items:stretch;display:flex;flex-flow:row wrap}}@media(max-width: 700px){.navigation > div:first-of-type{overflow:auto;overflow-scrolling:touch;white-space:nowrap;width:100%}.navigation > div:first-of-type::before{width:2rem;height:4rem;top:0;right:0;background-image:linear-gradient(90deg, rgba(252, 252, 252, 0), #fcfcfc 50%, #fcfcfc);content:"";position:fixed;z-index:2}}.navigation__item{overflow:hidden;position:relative}@media(max-width: 700px){.navigation__item{display:inline-block;transform:translate3d(0, 0, 0);transition:opacity .2s .2s ease,transform .4s .2s cubic-bezier(0.215, 0.61, 0.355, 1);vertical-align:top}.navigation__item:last-of-type{margin-right:3rem}}.navigation__item:first-of-type{border:0;color:transparent;font:0/0 a;text-shadow:none;width:10rem;height:3rem;background-image:url("../media/svg/logo.svg");background-repeat:no-repeat;background-size:contain;flex:1;top:.5rem}.navigation__item:not(:first-of-type):not([href="https://lbry.io"])::after{width:100%;height:3px;background-color:#3abf7d;content:"";left:0;position:absolute;transition:bottom .2s}.navigation__item:not(:first-of-type):not([href="https://lbry.io"]):not(:hover)::after{bottom:-3px}.navigation__item:not(:first-of-type):not([href="https://lbry.io"]):hover::after,.navigation__item:not(:first-of-type):not([href="https://lbry.io"]).active::after{bottom:0}.navigation__item:not(:first-of-type){color:inherit;font-size:1rem;line-height:4rem}.navigation__item:not([href="https://lbry.io"]){padding-right:.5rem;padding-left:.5rem}.navigation__item[href="https://lbry.io"]{color:#fcfcfc;margin-right:.5rem;padding-right:1rem;padding-left:1rem}.navigation__item[href="https://lbry.io"]:not(:hover)::after{background-color:#222}.navigation__item[href="https://lbry.io"]:hover::after{background-color:#3abf7d}.navigation__item[href="https://lbry.io"]::after{width:100%;height:2rem;top:1rem;left:0;border-radius:3px;content:"";position:absolute;transition:background-color .2s;z-index:-1}.component--mission-statement{margin-bottom:1.5rem;padding:1rem 1rem 1rem 1.25rem;background-color:rgba(58,191,125,.1);border-left:.5rem solid #3abf7d;line-height:1.55;position:relative}@media(min-width: 901px){.component--mission-statement{font-size:1.25rem}}@media(max-width: 900px){.component--mission-statement{font-size:1.05rem}}.component--mission-statement__title{color:#3abf7d;display:block;letter-spacing:.025rem;text-transform:uppercase}.modal{align-items:center;display:inline-flex;justify-content:center;top:0;left:0;bottom:0;right:0;background-color:rgba(34,34,34,.5);position:fixed;z-index:10}@media(min-width: 901px){.modal h3{font-size:1.5rem;margin-bottom:.25rem}}@media(max-width: 900px){.modal h3{font-size:1.25rem}}.modal p{margin-bottom:1rem}@media(min-width: 901px){.modal p{font-size:1.15rem;line-height:1.33}}@media(max-width: 900px){.modal p{font-size:1.05rem;line-height:1.55}}.modal p a{color:#3abf7d}.modal-wrap{background-color:#fcfcfc;padding:2rem 1.5rem}@media(min-width: 501px){.modal-wrap{width:500px}}@media(max-width: 500px){.modal-wrap{width:100%}}html,body{width:100%;height:100%}html{background-color:#fcfcfc}body{font-family:Karla,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";color:#222;font-size:12px;min-width:320px;overflow-x:hidden;position:relative;z-index:0}body:not(.home) main > div:first-of-type{flex:1}@media(min-width: 1001px){body.home main > div:first-of-type{display:grid;grid-gap:0;grid-template-areas:"header header header" "features features features" "intro intro github" "docs docs github" "contribute contribute contribute" "develop develop develop" "community community community"}}main{display:flex;flex-direction:column;min-height:100vh;padding-top:4rem}.inner-wrap{margin-right:auto;margin-left:auto;max-width:1200px}@media(min-width: 901px){.inner-wrap{padding-right:1rem;padding-left:1rem}}@media(max-width: 900px){.inner-wrap{padding-right:2rem;padding-left:2rem}}.inner-wrap::after{clear:both;content:"";display:block}h1 .header-anchor,h2 .header-anchor,h3 .header-anchor,h4 .header-anchor,h5 .header-anchor{display:none}hr{width:100%;height:1px;background-color:rgba(163,183,173,.3);border:none;margin-bottom:1rem}.alert{bottom:0;left:0;background-color:#dbdb3e;line-height:1.33;padding-top:1rem;padding-right:env(safe-area-inset-right);padding-bottom:1rem;padding-left:env(safe-area-inset-left);position:fixed;text-align:left;width:100%;z-index:3}.alert > div:first-of-type{position:relative}@media(min-width: 901px){.alert{font-size:1rem}}@media(max-width: 900px){.alert{font-size:.8rem}}.alert p,.alert button{display:inline-block}.alert p{padding-right:1rem;width:calc(100% - 2.25rem)}.alert a{font-weight:600;text-decoration:underline}.alert button{width:1.25rem;height:1.25rem;top:0;right:0;background-color:#fcfcfc;border-radius:50%;display:block;font-size:1rem;line-height:1;margin-right:1rem;margin-left:1rem;position:absolute;text-align:center}.home{padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}.home h2{font-weight:normal;margin-bottom:4rem;text-align:center}@media(min-width: 851px){.home h2{font-size:1.75rem}}@media(max-width: 850px){.home h2{font-size:1.25rem}}.home hr{width:100%;height:1px;background-color:rgba(34,34,34,.1);border:none;margin-bottom:4rem}.home .hero{align-items:center;background-color:#222;background-image:url("../media/svg/text-logo--white.svg");background-position:center;background-repeat:no-repeat;display:flex;grid-area:header;height:calc(50vh - 4rem);min-height:300px;justify-content:center}@media(max-width: 850px){.home .hero{background-size:cover}}.home .hero h1{background-color:#fcfcfc;border:1px solid rgba(34,34,34,.1);box-decoration-break:clone;display:inline;font-weight:normal;line-height:2;padding:.4rem 1rem}@media(min-width: 851px){.home .hero h1{font-size:1.75rem}}@media(max-width: 850px){.home .hero h1{font-size:1.25rem}}.home .features{grid-area:features}.home .features .home__features{align-content:center;border-bottom:1px solid rgba(34,34,34,.05);display:flex;flex-flow:row wrap;list-style-type:none;padding-top:2rem;padding-bottom:2rem}.home .features .home__feature{position:relative;text-align:center;vertical-align:top}@media(min-width: 651px){.home .features .home__feature{width:50%}}@media(max-width: 650px){.home .features .home__feature{width:100%}.home .features .home__feature:first-of-type{padding-bottom:1rem}.home .features .home__feature:last-of-type{padding-top:1rem}}.home .features .home__feature__title{font-size:2rem;margin-bottom:.5rem}.home .features .home__feature__description{font-size:1rem;left:10%;margin-bottom:1rem;position:relative;width:80%}.home .features .home__feature__cta{display:inline-block;font-size:1rem;position:relative}.home .intro,.home .docs,.home .contribute,.home .develop,.home .community{padding-top:3rem;padding-bottom:3.5rem}.home .intro .inner-wrap,.home .docs .inner-wrap,.home .contribute .inner-wrap,.home .develop .inner-wrap,.home .community .inner-wrap{position:relative}.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{letter-spacing:.1rem;line-height:1;text-transform:uppercase}@media(min-width: 1301px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{top:-0.85rem;left:-2rem;color:rgba(34,34,34,.045);font-size:4rem;position:absolute}}@media(max-width: 1300px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{color:#222}}@media(min-width: 901px)and (max-width: 1300px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{font-size:3rem}}@media(max-width: 900px){.home .intro h3,.home .docs h3,.home .contribute h3,.home .develop h3,.home .community h3{font-size:2rem;margin-bottom:1rem}}.home .intro p,.home .docs p,.home .contribute p,.home .develop p,.home .community p{margin-bottom:1.5rem;max-width:1000px}@media(min-width: 901px){.home .intro p,.home .docs p,.home .contribute p,.home .develop p,.home .community p{font-size:1.5rem;line-height:1.55}}@media(max-width: 900px){.home .intro p,.home .docs p,.home .contribute p,.home .develop p,.home .community p{font-size:1.25rem;line-height:1.33}}.home .intro p:first-of-type,.home .docs p:first-of-type,.home .contribute p:first-of-type,.home .develop p:first-of-type,.home .community p:first-of-type{padding-top:.5rem}.home .intro .cta,.home .docs .cta,.home .contribute .cta,.home .develop .cta,.home .community .cta{top:.5rem}.home .intro,.home .docs,.home .contribute,.home .develop{border-bottom:1px solid rgba(34,34,34,.05)}@media(min-width: 1301px){.home .intro,.home .docs{padding-left:10%}}.home .intro{grid-area:intro}.home .docs{grid-area:docs}@media(min-width: 1301px){.home .community p,.home .contribute p{margin-right:auto;margin-left:auto;text-align:center}}.home .community ul,.home .contribute ul{list-style-type:none;padding-top:1rem}.home .community ul::after,.home .contribute ul::after{clear:both;content:"";display:block}@media(min-width: 901px){.home .community ul,.home .contribute ul{font-size:1.5rem}}@media(min-width: 751px)and (max-width: 900px){.home .community ul,.home .contribute ul{font-size:1.25rem}}@media(max-width: 750px){.home .community ul,.home .contribute ul{font-size:1rem}}.home .community ul li,.home .contribute ul li{float:left;position:relative;text-align:center}@media(max-width: 750px){.home .community ul li,.home .contribute ul li{margin-bottom:2rem;min-width:8rem}}.home .community ul li a,.home .contribute ul li a{display:block;position:relative;padding-top:4rem;transition:color .2s}.home .community ul li a::before,.home .contribute ul li a::before{width:100%;height:100%;background-position:center 0;background-repeat:no-repeat;content:"";left:0;position:absolute}.home .community ul li a:not(:hover),.home .contribute ul li a:not(:hover){color:inherit}.home .community ul li a:hover,.home .contribute ul li a:hover{color:#3abf7d}.home .contribute{grid-area:contribute}@media(min-width: 701px){.home .contribute ul li{width:calc(100% / 5)}}@media(max-width: 700px){.home .contribute ul li{width:50%}}@media(min-width: 901px){.home .contribute ul li a::before{background-size:4rem;top:-1rem}}@media(max-width: 900px){.home .contribute ul li a::before{background-size:3rem;top:0}}.home .contribute ul li:nth-child(1) a::before{background-image:url("../media/svg/flag.svg")}.home .contribute ul li:nth-child(2) a::before{background-image:url("../media/svg/keyboard.svg")}.home .contribute ul li:nth-child(3) a::before{background-image:url("../media/svg/anchor.svg")}.home .contribute ul li:nth-child(4) a::before{background-image:url("../media/svg/chat.svg")}.home .contribute ul li:nth-child(5) a::before{background-image:url("../media/svg/monitor.svg")}.home .develop{grid-area:develop}.home .community{grid-area:community}@media(min-width: 701px){.home .community ul li{width:50%}}@media(max-width: 700px){.home .community ul li{width:50%}}@media(min-width: 901px){.home .community ul li a::before{background-size:6rem;top:-2rem}}@media(max-width: 900px){.home .community ul li a::before{background-size:4rem;top:-0.5rem}}.home .community ul li:nth-child(1) a::before{background-image:url("../media/svg/discord.svg")}.home .community ul li:nth-child(2) a::before{background-image:url("../media/svg/reddit.svg")}.home .community ul li:nth-child(3) a::before{background-image:url("../media/svg/slack.svg")}.contributing table th:first-of-type{width:30%}.contributing table th:nth-of-type(2){width:20%}.documentation ol + h1,.documentation ul + h1{padding-top:2rem}.documentation h4 + h2{padding-top:2rem}.documentation .blog-posts{list-style-type:none}.documentation .blog-post{position:relative}.documentation .blog-post::before{background-color:#222;border-radius:50%;content:"";line-height:0;position:absolute}@media(min-width: 901px){.documentation .blog-post::before{width:7px;height:7px;top:14px;left:-1.05rem}}@media(max-width: 900px){.documentation .blog-post::before{width:6px;height:6px;top:11px;left:-0.95rem}}.documentation .blog-post__title{line-height:1.33}.documentation .blog-post__title::after{content:"";display:block}.documentation .blog-post__meta{font-size:80%;line-height:1;margin-bottom:1rem}.documentation .blog-post__meta__author::before{content:"by"}@media(min-width: 901px){.documentation .blog-post__meta__author::before{left:-1.2rem}}@media(max-width: 900px){.documentation .blog-post__meta__author::before{left:-1rem}}@media(min-width: 901px){.documentation .blog-post__meta__date{margin-right:1.4rem;margin-left:3.1rem}}@media(max-width: 900px){.documentation .blog-post__meta__date{margin-right:1.2rem;margin-left:2.6rem}}.documentation .blog-post__meta__date::before{content:"posted"}@media(min-width: 901px){.documentation .blog-post__meta__date::before{left:-3.1rem}}@media(max-width: 900px){.documentation .blog-post__meta__date::before{left:-2.6rem}}.documentation .blog-post__meta__author,.documentation .blog-post__meta__date{display:inline-block;position:relative}.documentation .blog-post__meta__author::before,.documentation .blog-post__meta__date::before{color:rgba(34,34,34,.5);font-style:italic;position:absolute;vertical-align:bottom}.page{display:flex;flex:1;flex-direction:column;height:100%}.page__header-wrap{width:100%}.page__header{align-items:center;display:inline-flex;justify-content:center;background-position:center;background-repeat:no-repeat;background-size:cover;color:#fcfcfc;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);position:relative;width:100%}.page__header__title{font-weight:300;text-shadow:1px 1px 2px rgba(34,34,34,.3)}@media(min-width: 901px){.page__header__title{font-size:3rem;line-height:6.5rem}}@media(max-width: 900px){.page__header__title{font-size:2rem;line-height:1;padding-top:1rem;padding-bottom:1rem}}.page__content,.hook__page{background-repeat:repeat;background-size:32px;flex:1;padding-top:2rem;padding-bottom:2rem;padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}.page__content h1,.hook__page h1{margin-bottom:.25rem}@media(min-width: 901px){.page__content h1,.hook__page h1{font-size:3rem}}@media(max-width: 900px){.page__content h1,.hook__page h1{font-size:2rem}}.page__content h1 + h2,.hook__page h1 + h2{margin-bottom:2rem}@media(min-width: 901px){.page__content h2:not(.__title),.hook__page h2:not(.__title){font-size:2rem}}@media(max-width: 900px){.page__content h2:not(.__title),.hook__page h2:not(.__title){font-size:1.5rem}}.page__content h2:not(.__title) + h3,.hook__page h2:not(.__title) + h3{margin-bottom:1rem;padding-top:.25rem}@media(min-width: 901px){.page__content h3:not(.ecosystem__submodule__title),.hook__page h3:not(.ecosystem__submodule__title){font-size:1.5rem}}@media(max-width: 900px){.page__content h3:not(.ecosystem__submodule__title),.hook__page h3:not(.ecosystem__submodule__title){font-size:1.25rem}}.page__content h3:not(.ecosystem__submodule__title) + table,.hook__page h3:not(.ecosystem__submodule__title) + table{top:.25rem}.page__content h4:not(.ecosystem__submodule__description__title),.hook__page h4:not(.ecosystem__submodule__description__title){letter-spacing:.05rem;text-transform:uppercase}@media(min-width: 901px){.page__content h4:not(.ecosystem__submodule__description__title),.hook__page h4:not(.ecosystem__submodule__description__title){font-size:1.25rem}}@media(max-width: 900px){.page__content h4:not(.ecosystem__submodule__description__title),.hook__page h4:not(.ecosystem__submodule__description__title){font-size:1.15rem}}.page__content h5,.hook__page h5{font-size:1rem}.page__content sup,.hook__page sup{font-family:"Courier New",monospace}.page__content blockquote,.hook__page blockquote{left:2px;line-height:1.5;margin-bottom:.5rem;position:relative}@media(min-width: 601px){.page__content blockquote,.hook__page blockquote{margin-left:15%;padding:.5rem 0 .05rem 2rem;font-size:1.5rem;width:70%}}@media(max-width: 600px){.page__content blockquote,.hook__page blockquote{font-size:1.25rem;padding:.5rem 0 .05rem 0}}@media(min-width: 376px)and (max-width: 600px){.page__content blockquote,.hook__page blockquote{margin-left:5%;width:90%}}.page__content blockquote p,.hook__page blockquote p{font-size:inherit;line-height:inherit}.page__content blockquote::before,.hook__page blockquote::before{font-family:Georgia,serif;width:150px;height:100px;top:3rem;left:-2rem;color:rgba(58,191,125,.2);content:"“";font-size:20rem;line-height:.5;position:absolute}.page__content p code,.hook__page p code,.page__content ol code,.hook__page ol code,.page__content ul:not(.overview__ecosystem__module) code,.hook__page ul:not(.overview__ecosystem__module) code,.page__content table code,.hook__page table code{background-color:#222;border-radius:3px;color:#fcfcfc;font-size:60%;letter-spacing:.05rem;padding:.3rem .5rem;vertical-align:middle}@media(max-width: 900px){.page__content p code,.hook__page p code,.page__content ol code,.hook__page ol code,.page__content ul:not(.overview__ecosystem__module) code,.hook__page ul:not(.overview__ecosystem__module) code,.page__content table code,.hook__page table code{position:relative;top:-1px}}.page__content p,.hook__page p,.page__content ol,.hook__page ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents),.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){margin-bottom:1rem;position:relative}@media(min-width: 901px){.page__content p,.hook__page p,.page__content ol,.hook__page ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents),.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){font-size:1.25rem;line-height:1.6}}@media(max-width: 900px){.page__content p,.hook__page p,.page__content ol,.hook__page ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents),.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){font-size:1.05rem;line-height:1.55}}.page__content ol,.hook__page ol,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents),.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){padding-top:.5rem}.page__content ol li:not(:last-of-type),.hook__page ol li:not(:last-of-type),.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) li:not(:last-of-type),.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) li:not(:last-of-type){margin-bottom:.25rem}.page__content ol + h2,.hook__page ol + h2,.page__content ol + h3,.hook__page ol + h3,.page__content ol + h4,.hook__page ol + h4,.page__content ol + h5,.hook__page ol + h5,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h2,.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h2,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h3,.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h3,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h4,.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h4,.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h5,.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents) + h5{padding-top:2rem}.page__content ol,.hook__page ol{list-style-type:lower-roman;padding-left:1.6rem}.page__content ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents),.hook__page ul:not(.feature-links):not(.overview__ecosystem__module):not(.__parents){padding-left:1.25rem}.page__content p img,.hook__page p img{float:right}.page__content a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit),.hook__page a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit){background-image:linear-gradient(#fcfcfc, #fcfcfc),linear-gradient(#fcfcfc, #fcfcfc),linear-gradient(#3abf7d, #3abf7d);background-position:0 88%,100% 88%,0 88%;background-repeat:no-repeat,no-repeat,repeat-x;background-size:.05rem 1px,.05rem 1px,1px 1px;box-decoration-break:clone;display:inline;text-decoration:none;text-shadow:.03rem 0 #fcfcfc,-0.03rem 0 #fcfcfc,0 .03rem #fcfcfc,0 -0.03rem #fcfcfc,.06rem 0 #fcfcfc,-0.06rem 0 #fcfcfc,.09rem 0 #fcfcfc,-0.09rem 0 #fcfcfc,.12rem 0 #fcfcfc,-0.12rem 0 #fcfcfc,.15rem 0 #fcfcfc,-0.15rem 0 #fcfcfc;color:#3abf7d}.page__content a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit)::selection,.hook__page a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit)::selection{background-color:#3abf7d;color:#fcfcfc;text-shadow:none}.page__content a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit)::-moz-selection,.hook__page a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit)::-moz-selection{background-color:#3abf7d;color:#fcfcfc;text-shadow:none}@-moz-document url-prefix(){.page__content a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit),.hook__page a:not(.__button-black):not(.hook__page__content__meme__uploader):not(.button):not(.feature-link__title):not(.header-anchor):not(.newsletter-standalone__submit){background-position:0 90%,100% 90%,0 90%}}.page__content pre,.hook__page pre{margin-bottom:2rem;padding:2rem;border-radius:3px;font-size:1rem;line-height:1.33;overflow-x:auto;overflow-y:hidden}.page__content pre:not([class]),.hook__page pre:not([class]),.page__content pre.language-text,.hook__page pre.language-text{background-color:#222;color:#fcfcfc}.page__content pre.language-yaml,.hook__page pre.language-yaml{background-color:#27273f;color:#ffe066}.page__content pre.language-yaml .atrule,.hook__page pre.language-yaml .atrule{color:#f083ac}.page__content pre.language-yaml .important,.hook__page pre.language-yaml .important{color:#ffa94d}.page__content pre.language-yaml .punctuation,.hook__page pre.language-yaml .punctuation{color:#fcfcfc}.page__content table,.hook__page table{background-color:#fcfcfc;border:1px solid rgba(163,183,173,.3);border-spacing:0;margin-bottom:2rem;position:relative;width:100%}@media(max-width: 1030px){.page__content table,.hook__page table{display:inline-grid}.page__content table thead,.hook__page table thead{display:none}.page__content table tbody,.hook__page table tbody,.page__content table tr,.hook__page table tr,.page__content table td,.hook__page table td{display:block}.page__content table tbody tr:last-of-type td:not(:last-of-type),.hook__page table tbody tr:last-of-type td:not(:last-of-type){border-bottom:1px solid rgba(163,183,173,.3)}}.page__content table thead,.hook__page table thead{background-color:#222;color:#fcfcfc;cursor:default;position:relative}.page__content table thead tr,.hook__page table thead tr{position:relative;z-index:1}.page__content table thead:not(*:root)::after,.hook__page table thead:not(*:root)::after{z-index:-1}.page__content table thead::after,.hook__page table thead::after{width:calc(100% + 2px);height:calc(100% + 2px);top:-1px;left:-1px;background-color:#222;content:"";position:absolute;z-index:0}.page__content table tbody,.hook__page table tbody{line-height:1.55}.page__content table tr:nth-of-type(even),.hook__page table tr:nth-of-type(even){background-color:rgba(34,34,34,.025)}.page__content table th,.hook__page table th,.page__content table td,.hook__page table td{padding:.5rem 1rem}.page__content table th,.hook__page table th{font-size:.8rem;letter-spacing:.1rem;text-transform:uppercase}.page__content table tbody tr:not(:last-of-type) td,.hook__page table tbody tr:not(:last-of-type) td{border-bottom:1px solid rgba(163,183,173,.3)}.page__content table td,.hook__page table td{font-size:1rem}.page__header{background-image:url("../media/images/background-a.jpg")}.page__content,.hook__page{background-image:url("../media/images/grid.png")}.hook .loader{animation:spin 2s linear infinite;border-radius:50%;border-style:solid;border-top-color:#3abf7d}.hook .loader:not(.small):not(.tiny){width:4rem;height:4rem;border-width:6px;margin-right:auto;margin-left:auto}.hook .loader.small{width:2rem;height:2rem;border-width:3px}.hook .loader.tiny{width:1rem;height:1rem;border-width:2px}.hook__navigation{background-color:#222;color:#fcfcfc;font-size:1rem;padding-top:1rem;padding-bottom:1rem;text-align:center}@media(min-width: 501px){.hook__navigation__step{display:inline-block}.hook__navigation__step:not(:last-of-type){margin-right:1rem}.hook__navigation__step span{width:3rem;height:3rem;display:block;font-size:1.25rem;line-height:3rem}}@media(max-width: 500px){.hook__navigation__step{display:block}.hook__navigation__step span{width:1rem;height:1rem;display:inline-block;font-size:.7rem;line-height:.9rem;position:relative;top:2px;vertical-align:top}}.hook__navigation__step:not(.active) span{border-color:rgba(252,252,252,.1)}.hook__navigation__step.active{color:#3abf7d}.hook__navigation__step.active span{border-color:rgba(58,191,125,.3)}.hook__navigation__step span{border:1px solid;border-radius:50%;margin:0 auto .5rem}.hook__page__hero{margin-bottom:2rem;border-bottom:1px solid rgba(34,34,34,.05)}.hook__page__hero h1,.hook__page__hero p{text-align:center}.hook__page__hero__claim,.hook__page__hero__support{margin-bottom:3rem;padding-left:1rem;background-color:#fcfcfc;border:1px solid rgba(163,183,173,.7);font-size:1rem}@media(min-width: 501px){.hook__page__hero__claim,.hook__page__hero__support{margin-right:auto;margin-left:auto;width:80%}}.hook__page__hero__claim::after,.hook__page__hero__support::after{clear:both;content:"";display:block}.hook__page__hero__claim button,.hook__page__hero__claim input,.hook__page__hero__support button,.hook__page__hero__support input{line-height:3rem}.hook__page__hero__claim span,.hook__page__hero__support span{color:rgba(34,34,34,.3)}.hook__page__hero__claim button,.hook__page__hero__support button{border-left:1px solid rgba(163,183,173,.7);color:#fcfcfc;float:right;position:relative;text-align:center;transition:all .2s;width:6rem}.hook__page__hero__claim button::after,.hook__page__hero__support button::after{width:calc(100% + 2px);height:calc(100% + 2px);top:-1px;left:-1px;border:1px solid;content:"";position:absolute;transition:inherit}.hook__page__hero__claim button:not(:hover),.hook__page__hero__support button:not(:hover){background-color:#222}.hook__page__hero__claim button:not(:hover)::after,.hook__page__hero__support button:not(:hover)::after{border-color:#222}.hook__page__hero__claim button:hover,.hook__page__hero__support button:hover{background-color:#3abf7d}.hook__page__hero__claim button:hover::after,.hook__page__hero__support button:hover::after{border-color:#3abf7d}.hook__page__hero__claim input{width:calc(100% - 10rem)}.hook__page__hero__support input[type=number]{width:3rem}.hook__page__hero__support input[type=text]{width:calc(100% - 11.5rem)}.hook__page__hero__support span{line-height:3rem}.hook__page__hero__support a{margin-left:.5rem}.hook__page__content::after{clear:both;content:"";display:block}.hook__page__content__card{margin-bottom:1rem;padding:1rem;cursor:pointer}.hook__page__content__card img{margin-bottom:.5rem}@media(min-width: 501px){.hook__page__content__card{float:left;vertical-align:top;width:50%}}@media(max-width: 500px){.hook__page__content__card{width:100%}}.hook__page__content__meme{margin-bottom:2rem;padding-right:1rem;padding-left:1rem}@media(min-width: 701px){.hook__page__content__meme{width:50%}}@media(max-width: 700px){.hook__page__content__meme{width:100%}}.hook__page__content__meme canvas{width:100%;height:100%;background-color:rgba(58,191,125,.3);margin-bottom:1rem}.hook__page__content__meme h2.__metadata{margin-top:3rem}.hook__page__content__meme fieldset{border:none}.hook__page__content__meme fieldset:not(:last-of-type){margin-bottom:1rem}.hook__page__content__meme label{color:rgba(34,34,34,.3);display:block;font-size:.8rem;font-weight:600;letter-spacing:.05rem;margin-bottom:.025rem;text-transform:uppercase;width:100%}@media(min-width: 901px){.hook__page__content__meme input:not([type=checkbox]):not([type=submit]),.hook__page__content__meme select,.hook__page__content__meme textarea{font-size:1.25rem}}@media(max-width: 900px){.hook__page__content__meme input:not([type=checkbox]):not([type=submit]),.hook__page__content__meme select,.hook__page__content__meme textarea{font-size:1.05rem}}.hook__page__content__meme input:not([type=checkbox]):not([type=file]):not([type=submit]){border-bottom:2px solid;padding-bottom:.15rem;transition:all .2s;width:100%}.hook__page__content__meme input:not([type=file]):not([type=submit]):not(:hover):not(:active){border-color:#222}.hook__page__content__meme input:not([type=file]):not([type=submit]):hover,.hook__page__content__meme input:not([type=file]):not([type=submit]):active{border-color:#3abf7d}.hook__page__content__meme input[type=checkbox]{width:1.25rem;height:1.25rem;border:2px solid;margin-right:.5rem;position:relative;top:.35rem}.hook__page__content__meme input[type=checkbox]::after{width:100%;height:100%;content:"✓";font-size:1.5rem;line-height:1rem;position:absolute}.hook__page__content__meme input[type=checkbox]:not(:checked)::after{color:transparent}.hook__page__content__meme input[type=checkbox]:checked::after{color:#3abf7d}.hook__page__content__meme select,.hook__page__content__meme textarea{border-bottom:2px solid;width:100%}.hook__page__content__meme select:not(:hover):not(:active),.hook__page__content__meme textarea:not(:hover):not(:active){border-color:#222}.hook__page__content__meme select:hover,.hook__page__content__meme select:active,.hook__page__content__meme textarea:hover,.hook__page__content__meme textarea:active{border-color:#3abf7d}.hook__page__content__meme select{background-image:url("../../media/svg/down.svg");background-position:99% center;background-repeat:no-repeat;background-size:1rem}.hook__page__content__meme textarea{min-height:100px;resize:vertical}.hook__page__content__meme__thumbnail{width:5rem;height:5rem;border-style:solid;border-width:2px;margin-bottom:1rem;object-fit:contain;object-position:center}.hook__page__content__meme__thumbnail:not(:last-of-type){margin-right:1rem}.hook__page__content__meme__thumbnail:not(.selected){border-color:transparent}.hook__page__content__meme__thumbnail.selected{border-color:#222}.hook__page__content__meme__uploader{text-align:center;width:11rem}.hook__page__content__meme__uploader > div:first-of-type{width:100%;height:100%;top:0;left:0;position:absolute}.hook__page__content__meme__uploader input{top:0;left:0;bottom:0;right:0;cursor:pointer;opacity:0;position:absolute;width:100%;z-index:10}/*# sourceMappingURL=style.css.map */
diff --git a/public/css/style.css.map b/public/css/style.css.map
index 5ecd8d8..51dbd6c 100755
--- a/public/css/style.css.map
+++ b/public/css/style.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../../sass/init/_base.scss","../../sass/init/_colors.scss","../../sass/init/_mixins.scss","../../sass/init/_extends.scss","../../sass/type/_karla.scss","../../sass/partials/_animation.scss","../../sass/partials/_ecosystem.scss","../../sass/partials/_email-subscribe.scss","../../sass/partials/_feature-links.scss","../../sass/partials/_flash.scss","../../sass/partials/_footer.scss","../../sass/partials/_github-feed.scss","../../sass/partials/_glossary.scss","../../sass/partials/_navigation.scss","../../sass/partials/_mission-statement.scss","../../sass/partials/_modal.scss","../../sass/_layout.scss","../../sass/pages/_home.scss","../../sass/pages/_contributing.scss","../../sass/pages/_documentation.scss","../../sass/pages/_page.scss","../../sass/pages/_tour.scss"],"names":[],"mappings":"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","file":"style.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../sass/init/_base.scss","../../sass/init/_colors.scss","../../sass/init/_mixins.scss","../../sass/init/_extends.scss","../../sass/type/_karla.scss","../../sass/partials/_animation.scss","../../sass/partials/_ecosystem.scss","../../sass/partials/_email-subscribe.scss","../../sass/partials/_feature-links.scss","../../sass/partials/_flash.scss","../../sass/partials/_footer.scss","../../sass/partials/_github-feed.scss","../../sass/partials/_glossary.scss","../../sass/partials/_navigation.scss","../../sass/partials/_mission-statement.scss","../../sass/partials/_modal.scss","../../sass/_layout.scss","../../sass/pages/_home.scss","../../sass/pages/_contributing.scss","../../sass/pages/_documentation.scss","../../sass/pages/_page.scss","../../sass/pages/_tour.scss"],"names":[],"mappings":"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","file":"style.css"}
\ No newline at end of file
diff --git a/sass/_layout.scss b/sass/_layout.scss
index d16beab..366d646 100644
--- a/sass/_layout.scss
+++ b/sass/_layout.scss
@@ -73,6 +73,14 @@ h1, h2, h3, h4, h5 {
}
}
+hr {
+ width: 100%; height: 1px;
+
+ background-color: rgba($gray, 0.3);
+ border: none;
+ margin-bottom: 1rem;
+}
+
.alert {
bottom: 0; left: 0;
diff --git a/sass/partials/_glossary.scss b/sass/partials/_glossary.scss
index 3187dbf..fefa346 100644
--- a/sass/partials/_glossary.scss
+++ b/sass/partials/_glossary.scss
@@ -1,10 +1,34 @@
+.glossary {
+ main {
+ margin-left: 200px;
+ width: calc(100vw - 200px);
+ }
+
+ .page__header-wrap,
+ .page__content {
+ .inner-wrap {
+ margin-left: 1rem;
+ max-width: initial;
+ }
+ }
+}
+
+
+
.component--glossary-toc {
- width: 150px; height: 80vh;
- top: calc(10vh + 2rem); left: 2rem;
+ width: 200px; height: calc(100vh - 4rem);
+ top: 4rem; left: 0;
background-color: $white;
- border: 1px solid $gray;
- border-radius: 3px;
- position: fixed;
+ border-right: 1px solid rgba($gray, 0.3);
+ font-size: 0.8rem !important;
+ overflow-x: hidden;
+ overflow-y: auto;
+ padding-top: 1rem !important;
+ position: fixed !important;
z-index: 1;
+
+ li:last-of-type {
+ margin-bottom: 1rem;
+ }
}
diff --git a/views/pages/page.js b/views/pages/page.js
index 7c186a0..8ba8725 100644
--- a/views/pages/page.js
+++ b/views/pages/page.js
@@ -11,12 +11,27 @@ const fm = require("front-matter");
const fs = require("graceful-fs");
const html = require("choo-async/html");
const local = require("app-root-path").require;
+const numberRegex = /^[0-9]/g;
const md = require("markdown-it")({
html: true,
typographer: true
}).use(require("markdown-it-sup"))
- .use(require("markdown-it-anchor"))
+ .use(require("markdown-it-anchor"), {
+ slugify: stringToSlugify => {
+ let finalString = stringToSlugify
+ .toLowerCase()
+ .replace(/\s\/\s/g, "-")
+ .replace(/\s/g, "-")
+ .replace(/%/g, "")
+ .replace(/\(/g, "")
+ .replace(/\)/g, "")
+ .replace(/,/g, "");
+
+ if (finalString.match(numberRegex)) finalString = `_${finalString}`;
+ return finalString;
+ }
+ })
.use(require("markdown-it-wikilinks")({
makeAllLinksAbsolute: true,
baseURL: "/glossary#",
@@ -61,6 +76,7 @@ module.exports = exports = () => async state => {
let pageScript = "";
if (path === "overview") pageScript = "";
+ if (path === "glossary") pageScript = "";
return html`
diff --git a/views/pages/tour.js b/views/pages/tour.js
index 86483e9..a6072e3 100644
--- a/views/pages/tour.js
+++ b/views/pages/tour.js
@@ -4,7 +4,6 @@
// P A C K A G E
-// const dedent = require("dedent");
const fs = require("graceful-fs");
const html = require("choo-async/html");
const raw = require("nanohtml/raw");
diff --git a/views/partials/glossary-scripts.js b/views/partials/glossary-scripts.js
new file mode 100644
index 0000000..4637542
--- /dev/null
+++ b/views/partials/glossary-scripts.js
@@ -0,0 +1,5 @@
+/* global document */ "use strict";
+
+
+
+document.getElementsByTagName("body")[0].classList.add("glossary");
diff --git a/views/partials/glossary-toc.js b/views/partials/glossary-toc.js
index 3a3166c..f7632e8 100644
--- a/views/partials/glossary-toc.js
+++ b/views/partials/glossary-toc.js
@@ -2,10 +2,16 @@
+// V A R I A B L E S
+
+const headerRegex = /###.+/g;
+const numberRegex = /^[0-9]/g;
+
+
+
// E X P O R T
module.exports = exports = (state, emit, markdown) => {
- const headerRegex = /###.+/g;
const tocElements = markdown.match(headerRegex);
const collectionOfTocElements = [];
@@ -23,12 +29,16 @@ module.exports = exports = (state, emit, markdown) => {
// H E L P E R
function slugify(stringToSlugify) {
- return stringToSlugify
+ let finalString = stringToSlugify
.toLowerCase()
- .replace(/ \/ /g, "-")
+ .replace(/###\s/g, "")
+ .replace(/\s\/\s/g, "-")
.replace(/\s/g, "-")
+ .replace(/%/g, "")
.replace(/\(/g, "")
.replace(/\)/g, "")
- .replace(/,/g, "")
- .replace(/###-/g, "#");
+ .replace(/,/g, "");
+
+ if (finalString.match(numberRegex)) finalString = `_${finalString}`;
+ return `#${finalString}`;
}