From d81db84aa0c1bb3685420787fcb1dc71045ea565 Mon Sep 17 00:00:00 2001 From: "Elliot." Date: Fri, 11 Apr 2025 16:29:44 -0700 Subject: [PATCH 01/41] Update tec-codes.md In certain cases, future `tec` codes may have other side effects on the ledger. For example, `tecWASM_REJECTED` is expected to be able to modify the value of the (new) "Data" field in the Escrow ledger entry. --- .../transactions/transaction-results/tec-codes.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/references/protocol/transactions/transaction-results/tec-codes.md b/docs/references/protocol/transactions/transaction-results/tec-codes.md index f04e28bcfc..602d8f086d 100644 --- a/docs/references/protocol/transactions/transaction-results/tec-codes.md +++ b/docs/references/protocol/transactions/transaction-results/tec-codes.md @@ -2,18 +2,18 @@ html: tec-codes.html parent: transaction-results.html seo: - description: tec codes indicate that the transaction failed, but it was applied to a ledger to deduct the transaction cost. + description: tec codes indicate that the transaction did not succeed, but it deducted the transaction cost and it was applied to a ledger. labels: - Transaction Sending --- # tec Codes [[Source]](https://github.com/XRPLF/rippled/blob/master/src/ripple/protocol/impl/TER.cpp "Source") -These codes indicate that the transaction failed, but it was applied to a ledger to apply the [transaction cost](../../../../concepts/transactions/transaction-cost.md). They have numerical values in the range 100 to 199. It is recommended to use the text code, not the numeric value. +These codes indicate that the transaction did not succeed, but it was applied to a ledger to apply the [transaction cost](../../../../concepts/transactions/transaction-cost.md) and may have had other side effects to the ledger. The `tec` codes have numerical values in the range 100 to 199. It is recommended to use the text code, not the numeric value. -Transactions with `tec` codes destroy the XRP paid as a [transaction cost](../../../../concepts/transactions/transaction-cost.md), and consume a [sequence number](../../data-types/basic-data-types.md#account-sequence). For the most part, the transactions take no other action, but there are some exceptions. For example, a transaction that results in `tecOVERSIZE` still cleans up some [unfunded offers](../../../../concepts/tokens/decentralized-exchange/offers.md#lifecycle-of-an-offer). Always look at the [transaction metadata](../metadata.md) to see precisely what a transaction did. +Transactions with `tec` codes destroy the XRP paid as a [transaction cost](../../../../concepts/transactions/transaction-cost.md), and consume a [sequence number](../../data-types/basic-data-types.md#account-sequence). Although the transactions did not succeed, they sometimes have some other effect. For example, a transaction that results in `tecOVERSIZE` still cleans up some [unfunded offers](../../../../concepts/tokens/decentralized-exchange/offers.md#lifecycle-of-an-offer). Always look at the [transaction metadata](../metadata.md) to see precisely what a transaction did. -{% admonition type="warning" name="Caution" %}A transaction that provisionally failed with a `tec` code may still succeed or fail with a different code after being reapplied. The result is final when it appears in a validated ledger version. For more information, see [Finality of Results](../../../../concepts/transactions/finality-of-results/index.md) and [Reliable Transaction Submission](../../../../concepts/transactions/reliable-transaction-submission.md).{% /admonition %} +{% admonition type="warning" name="Caution" %}A transaction that provisionally failed with a `tec` code may still succeed or fail with a different code after being reapplied. The result is final when it appears in a fully validated ledger version. For more information, see [Finality of Results](../../../../concepts/transactions/finality-of-results/index.md) and [Reliable Transaction Submission](../../../../concepts/transactions/reliable-transaction-submission.md).{% /admonition %} | Code | Value | Explanation | |:---------------------------|:------|:----------------------------------------| From 59cade452ab4ede488232b51b614b91ef48a3cc9 Mon Sep 17 00:00:00 2001 From: nabe3m Date: Thu, 26 Jun 2025 21:27:48 +0900 Subject: [PATCH 02/41] Create batch pages, Update common-fields.md --- .../transactions/batch-transactions.md | 161 +++++++ .../protocol/transactions/common-fields.md | 3 +- .../protocol/transactions/types/batch.md | 393 ++++++++++++++++++ 3 files changed, 556 insertions(+), 1 deletion(-) create mode 100644 @l10n/ja/docs/concepts/transactions/batch-transactions.md create mode 100644 @l10n/ja/docs/references/protocol/transactions/types/batch.md diff --git a/@l10n/ja/docs/concepts/transactions/batch-transactions.md b/@l10n/ja/docs/concepts/transactions/batch-transactions.md new file mode 100644 index 0000000000..4844c8b628 --- /dev/null +++ b/@l10n/ja/docs/concepts/transactions/batch-transactions.md @@ -0,0 +1,161 @@ +--- +seo: + description: バッチは最大8つのトランザクションを単一のユニットとして送信できます。 +labels: + - Batch + - Transactions +status: not_enabled +--- +# バッチ + +`Batch`では、複数のトランザクションをまとめてパッケージ化し、単一のユニットとして実行できます。部分的な完了や予期しない結果のリスクを排除し、複雑な操作をより信頼性が高く予測可能な方法で実行できます。1つのバッチで最大8つのトランザクションを送信できます。 + +`Batch`の潜在的な使用例は以下の通りです。 +- 全て成功か全て失敗:NFTをミントして同時にオファーを作成できます。オファー作成が失敗した場合、NFTミントも取り消されます。 +- 複数のオファーの試行:異なるスリッページ量で複数のオファーを送信しますが、成功するのは1つだけです。 +- プラットフォーム手数料:プラットフォーム手数料をトランザクション自体に含めることで、プロセスを簡素化できます。 +- スワップ(マルチアカウント):複数のアカウント間でのトラストレスなトークン/NFTスワップ。 +- アカウント引き出し(マルチアカウント):当座預金からの引き出しを試行し、失敗した場合は代わりに普通預金から引き出します。 + +`Batch`トランザクションは、ラッパーである`Batch`トランザクション自体の_外部トランザクション_と、それぞれがアトミックに実行される_内部トランザクション_で構成されます。内部トランザクションの正確な処理方法は、バッチ_モード_によって決まります。 + +## バッチのモード + +`Batch`には4つのモードがあります:`ALLORNOTHING`、`ONLYONE`、`UNTILFAILURE`、`INDEPENDENT`。 + +### All or Nothing(全て成功か全て失敗) + +`ALLORNOTHING`モードでは、いずれかのトランザクションが成功するには、全ての内部トランザクションが成功する必要があります。 + +### Only One(1つだけ) + +`ONLYONE`モードでは、最初に成功したトランザクションのみが成功します。他の全てのトランザクションは失敗するか、実行されません。 + +### Until Failure(失敗まで) + +`UNTILFAILURE`は失敗するまで全てのトランザクションを適用します。最初の失敗後の全てのトランザクションは適用されません。 + +### Independent(独立) + +1つ以上の内部トランザクションが失敗しても、全てのトランザクションが適用されます。 + +## Raw Transactions + +`RawTransactions`オブジェクトは、実行するトランザクションのリストを格納するコンテナです。1つのバッチには最大8つのトランザクションを含めることができます。トランザクションは単一のアカウントまたは複数のアカウントからのものを混在させることができます。 + +各内部トランザクションは以下の要件を満たす必要があります。 + +- `tfInnerBatchTxn`フラグを設定する必要があります。 +- 手数料を持ってはいけません。手数料の値は_0_を使用する必要があります。 +- 署名されてはいけません(グローバルトランザクションは既に関連する全ての当事者によって署名されています)。代わりに`SigningPubKey`と`TxnSignature`フィールドに空文字列("")を持つ必要があります。 + +`tesSUCCESS`以外の結果を受け取った場合、トランザクションは失敗と見なされます。 + +### 共通のフラグ + +`Batch`はグローバルトランザクションフラグを追加します。 + +| フラグ名 | 値 | +|------------------|------------| +| `tfInnerBatchTxn`| 0x40000000 | + +このフラグは、トランザクションがバッチトランザクションの内部トランザクションである場合にのみ使用されます。これは、トランザクションが署名されていないことを示します。このフラグを含む通常のトランザクションは拒否されます。 + +### BatchSigners + +このフィールドは、アカウントがマルチサインで署名している場合(単一署名とは対照的に)に含まれます。標準トランザクションのマルチサインで使用される`Signers`フィールドと同等に動作します。このフィールドは`Flags`フィールドと`RawTransactions`内のトランザクションのハッシュの署名を保持します。このフィールドは、複数のアカウントのトランザクションが`Batch`トランザクションに含まれている場合にのみ必要となります。それ以外の場合は、通常のトランザクション署名が同じセキュリティを保証します。 + +このフィールドは、1つ以上のアカウントが内部トランザクションをバッチに含める場合に提供する必要があります。その場合、外部トランザクションに署名するアカウント(該当する場合)を除き、内部トランザクションを含む全てのアカウントからの署名を含める必要があります。 + +この配列内の各オブジェクトには、以下のフィールドが含まれます。 + +| フィールド | 必須? | JSONの型 | 内部の型 | +|-----------------|-----------|-----------|---------------| +| Account | はい | string | STAccount | +| SigningPubKey | いいえ | string | STBlob | +| TxnSignature | いいえ | string | STBlob | +| Signers | いいえ | array | STArray | + +`SigningPubKey`と`TxnSignature`フィールド、または`Signers`フィールドのいずれかを含める必要があります。 + +#### Account + +これは、少なくとも1つの内部トランザクションを持つアカウントです。 + +#### SigningPubKeyとTxnSignature + +これらのフィールドは、アカウントが単一署名で署名している場合(マルチサインとは対照的に)に含まれます。これらは`Flags`フィールドと`RawTransactions`内のトランザクションのハッシュに署名します。 + +#### Signers + +このフィールドは、アカウントがマルチサインで署名している場合(単一署名とは対照的に)に含まれます。標準トランザクションのマルチサインで使用される`Signers`フィールドと同等に動作します。このフィールドは`Flags`フィールドと`RawTransactions`内のトランザクションのハッシュの署名を保持します。 + +## 手数料 + +外部トランザクションの手数料は、ベース手数料の2倍(手数料エスカレーションがない場合は合計20 drop)に、全ての内部トランザクションのトランザクション手数料の合計(`multisign`や`AMMCreate`などのより高い手数料などの要因を組み込む)を加え、さらにトランザクション内の各追加署名(例:`BatchSigners`から)に対する追加のベース手数料金額を加えたものです。式で表すと以下の通りです。 + +2 * (ベース手数料) + SUM(内部トランザクション手数料) + 各追加署名に対する追加のベース手数料 + +個々の内部トランザクションの手数料は、内部トランザクション自体ではなく外部トランザクションで支払われます。これにより、手数料エスカレーションがオーバーヘッドのみではなくバッチトランザクション全体のコストに基づいて計算されることが保証されます。 + +## メタデータ + +内部トランザクションは台帳に個別にコミットされるため、個別のメタデータを持ちます。これにより、レガシーシステムがシステムの変更を必要とせずに`Batch`トランザクションをサポートできるよう、より良い後方互換性が保証されます。 + +例えば、2つの内部トランザクションを含む1つの`Batch`トランザクションのみを持つ台帳は、次のようになります。 + +``` +[ + OuterTransaction, + InnerTransaction1, + InnerTransaction2 +] +``` + +### 外部トランザクション + +各外部トランザクションには、内部トランザクション処理ではなく、シーケンスと手数料処理のメタデータが含まれます。エラーコードは外部トランザクション処理(例:シーケンスと手数料)のみに基づいており、内部トランザクション処理が失敗してもtesSUCCESSエラーを返します。 + +### 内部トランザクション + +各内部トランザクションには、独自の処理のメタデータが含まれます。実際に台帳にコミットされた内部トランザクションのみが含まれます。これにより、レガシーシステムが`Batch`トランザクションを通常のトランザクションのように処理することが容易になります。 + +親の外部トランザクション(`ParentBatchID`)への逆ポインタもあります。 + +## 共通のフィールド + +この標準はトランザクション共通フィールドに新しいフィールドを追加しませんが、別のグローバルトランザクションフラグを追加します: + +| フラグ名 | 値 | +|------------------|------------| +| tfInnerBatchTxn | 0x40000000 | + +このフラグは、トランザクションが`Batch`トランザクションの内部トランザクションである場合にのみ使用すべきです。これは、トランザクションが署名されるべきでないことを示します。このフラグを含む通常のトランザクションは拒否されるべきです。 + +## セキュリティ + +バッチトランザクションには追加のセキュリティ考慮事項があります。 + +### 信頼の前提 + +`Batch`トランザクションに含まれるアカウントのトランザクション数に関係なく、全てのアカウントがトランザクションのコレクションに署名する必要があります。 + +#### 単一アカウント + +単一アカウントの場合、その単一アカウントは送信する全てのトランザクションを承認する必要があります。他のアカウントは関与しません。 + +#### マルチアカウント + +マルチアカウントの場合はより複雑で、例で最もよく説明できます。 + +アリスとボブがマルチアカウント`Batch`を介してトラストレススワップを行っており、アリスが1000 XRPを提供し、ボブが1000 USDを提供します。ボブが`Batch`トランザクションを送信するため、アリスは彼女の部分のスワップをボブに提供する必要があります。 + +アリスが完全に自動入力され署名されたトランザクションをボブに提供した場合、ボブは自分のトランザクションを送信せずに台帳上でアリスのトランザクションを送信し、1000 USDを失うことなく1000 XRPを受け取ることができます。したがって、内部トランザクションは署名されていない必要があります。 + +アリスがバッチトランザクションの彼女の部分のみに署名した場合、ボブは自分のトランザクションを1 USDのみを提供するように変更でき、それによってはるかに安い価格で1000 XRPを取得できます。したがって、バッチトランザクション全体(とその全ての内部トランザクション)は全ての当事者によって署名される必要があります。 + +### 内部トランザクションの安全性 + +内部バッチトランザクションは特殊なケースです。署名や手数料を含みません(これらは両方とも外部トランザクションに含まれているため)。したがって、誰かが外部トランザクションに含めることなく、内部`Batch`トランザクションを直接送信できないことを保証するために、慎重に処理する必要があります。 + +内部トランザクションはブロードキャストできません(例えば悪意のあるノードからブロードキャストされた場合、受け入れられません)。代わりに`Batch`の外部トランザクションから生成される必要があります。内部トランザクションは、submit RPCを介して直接送信することはできません。 \ No newline at end of file diff --git a/@l10n/ja/docs/references/protocol/transactions/common-fields.md b/@l10n/ja/docs/references/protocol/transactions/common-fields.md index 68791a3dfa..2492b2d0eb 100644 --- a/@l10n/ja/docs/references/protocol/transactions/common-fields.md +++ b/@l10n/ja/docs/references/protocol/transactions/common-fields.md @@ -71,11 +71,12 @@ AccountTxnIDを使用するには、アカウントの1つ前のトランザク ### グローバルフラグ -すべてのトランザクションにグローバルに適用される唯一のフラグは、以下のとおりです。 +すべてのトランザクションにグローバルに適用されるフラグは、以下のとおりです。 | フラグの名前 | 16進値 | 10進値 | 説明 | |:--------------------|:-----------|:--------------|:--------------------------| | tfFullyCanonicalSig | 0x80000000 | 2147483648 | _(使用を強く推奨)_ 完全に正規である署名を要求します。 | +| tfInnerBatchTxn | 0x40000000 | 1073741824 | このフラグはバッチトランザクションの内部トランザクションである場合にのみ使用されます。これは、トランザクションが署名されていないことを示します。このフラグを含む通常のトランザクションは拒否されます。 | [signメソッド][](または「署名と送信」モードの[submitメソッド][])を使用すると、`rippled`は、`Flags`フィールドがすでに存在している場合を除き、`tfFullyCanonicalSig`フラグを有効にした状態で`Flags`フィールドを追加します。`tfFullyCanonicalSig`フラグは、`Flags`が明示的に指定されている場合、自動的には有効に***なりません***。また、[sign_forメソッド][]を使用してマルチシグトランザクションに署名を追加する場合も、自動的には有効に***なりません***。 diff --git a/@l10n/ja/docs/references/protocol/transactions/types/batch.md b/@l10n/ja/docs/references/protocol/transactions/types/batch.md new file mode 100644 index 0000000000..0a6ab62d20 --- /dev/null +++ b/@l10n/ja/docs/references/protocol/transactions/types/batch.md @@ -0,0 +1,393 @@ +--- +html: batch.html +seo: + description: 最大8つのトランザクションのバッチを作成・送信する。 +labels: + - Batch + - Transactions +status: not_enabled +--- +# Batch +[[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Batch.cpp "Source") + +`Batch`トランザクションは、最大8つのトランザクションを単一のバッチで送信します。各トランザクションは、4つのモードのいずれかでアトミックに実行されます。全て成功または全て失敗(All or Nothing)、一つのみ成功(Only One)、失敗まで継続(Until Failure)、および独立実行(Independent)。 + +## Batch JSONの例 + +以下の例は、ユーザーがDEX UIを使って取引する中でオファーを作成し、2番目のトランザクションがプラットフォーム手数料となっています。内部トランザクションは署名されておらず、関与するアカウントが1つのみのため、外部トランザクションに`BatchSigners`フィールドは不要です。 + +```json +{ + "TransactionType": "Batch", + "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", + "Flags": "0x00010000", + "RawTransactions": [ + { + "RawTransaction": { + "TransactionType": "OfferCreate", + "Flags": 1073741824, + "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", + "TakerGets": "6000000", + "TakerPays": { + "currency": "GKO", + "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc", + "value": "2" + }, + "Sequence": 4, + "Fee": "0", + "SigningPubKey": "" + } + }, + { + "RawTransaction": { + "TransactionType": "Payment", + "Flags": 1073741824, + "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", + "Destination": "rDEXfrontEnd23E44wKL3S6dj9FaXv", + "Amount": "1000", + "Sequence": 5, + "Fee": "0", + "SigningPubKey": "" + } + } + ], + "Sequence": 3, + "Fee": "40", + "SigningPubKey": "022D40673B44C82DEE1DDB8B9BB53DCCE4F97B27404DB850F068DD91D685E337EA", + "TxnSignature": "3045022100EC5D367FAE2B461679AD446FBBE7BA260506579AF4ED5EFC3EC25F4DD1885B38022018C2327DB281743B12553C7A6DC0E45B07D3FC6983F261D7BCB474D89A0EC5B8" +} +``` + +### レジャー確認のサンプル + +この例は、トランザクション確認後のレジャーの状態を示しています。 +内部トランザクションが通常のトランザクションとしてコミットされていることに注意してください。 + +```json +[ + { + "TransactionType": "Batch", + "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", + "Flags": "0x00010000", + "RawTransactions": [ + { + "RawTransaction": { + "TransactionType": "OfferCreate", + "Flags": 1073741824, + "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", + "TakerGets": "6000000", + "TakerPays": { + "currency": "GKO", + "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc", + "value": "2" + }, + "Sequence": 4, + "Fee": "0", + "SigningPubKey": "" + } + }, + { + "RawTransaction": { + "TransactionType": "Payment", + "Flags": 1073741824, + "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", + "Destination": "rDEXfrontEnd23E44wKL3S6dj9FaXv", + "Amount": "1000", + "Sequence": 5, + "Fee": "0", + "SigningPubKey": "" + } + } + ], + "Sequence": 3, + "Fee": "40", + "SigningPubKey": "022D40673B44C82DEE1DDB8B9BB53DCCE4F97B27404DB850F068DD91D685E337EA", + "TxnSignature": "3045022100EC5D367FAE2B461679AD446FBBE7BA260506579AF4ED5EFC3EC25F4DD1885B38022018C2327DB281743B12553C7A6DC0E45B07D3FC6983F261D7BCB474D89A0EC5B8" + }, + { + "TransactionType": "OfferCreate", + "Flags": 1073741824, + "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", + "TakerGets": "6000000", + "TakerPays": { + "currency": "GKO", + "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc", + "value": "2" + }, + "Sequence": 4, + "Fee": "0", + "SigningPubKey": "" + }, + { + "TransactionType": "Payment", + "Flags": 1073741824, + "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", + "Destination": "rDEXfrontEnd23E44wKL3S6dj9FaXv", + "Amount": "1000", + "Sequence": 5, + "Fee": "0", + "SigningPubKey": "" + } +] +``` + +### レジャーのサンプル + +この例は、トランザクション確認後のレジャーの状態を示しています。内部トランザクションが通常のトランザクションとしてコミットされ、外部トランザクションの検証済みバージョンには`RawTransactions`フィールドが含まれていないことに注意してください。 + +```json +[ + { + "TransactionType": "Batch", + "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", + "Flags": "1", + "TxnIDs": [ + "7EB435C800D7DC10EAB2ADFDE02EE5667C0A63AA467F26F90FD4CBCD6903E15E", + "EAE6B33078075A7BA958434691B896CCA4F532D618438DE6DDC7E3FB7A4A0AAB" + ], + "Sequence": 3, + "Fee": "40", + "SigningPubKey": "022D40673B44C82DEE1DDB8B9BB53DCCE4F97B27404DB850F068DD91D685E337EA", + "TxnSignature": "3045022100EC5D367FAE2B461679AD446FBBE7BA260506579AF4ED5EFC3EC25F4DD1885B38022018C2327DB281743B12553C7A6DC0E45B07D3FC6983F261D7BCB474D89A0EC5B8" + }, + { + "TransactionType": "OfferCreate", + "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", + "TakerGets": "6000000", + "TakerPays": { + "currency": "GKO", + "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc", + "value": "2" + }, + "BatchTxn": { + "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", + "OuterSequence": 3, + "BatchIndex": 0 + }, + "Sequence": 0, + "Fee": "0", + "SigningPubKey": "", + "TxnSignature": "" + }, + { + "TransactionType": "Payment", + "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", + "Destination": "rDEXfrontEnd23E44wKL3S6dj9FaXv", + "Amount": "1000", + "BatchTxn": { + "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", + "OuterSequence": 3, + "BatchIndex": 1 + }, + "Sequence": 0, + "Fee": "0", + "SigningPubKey": "", + "TxnSignature": "" + } +] +``` + +### Batchのフィールド + + + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:----------------|:--------------------|:------------------|:-------------------| +| TransactionType | string | UInt16 | | +| Account | string | STAccount | | +| Fee | string | STAmount | 手数料は基本手数料の2倍(手数料エスカレーションがない場合は合計20 drops)に、すべての内部トランザクションのトランザクション手数料の合計を加えたものです(マルチサインやAMMCreateなどの高い手数料も含む)。個々の内部トランザクションの手数料は、内部トランザクション自体ではなくここで支払われ、手数料エスカレーションがオーバーヘッドだけでなくトランザクションの総コストで計算されることを保証します。 | +| Flags | number | UInt32 | `Flags`フィールドはトランザクションのバッチモードを表します。`Batch`トランザクションでは正確に1つを指定する必要があります。[Batchのフラグ](#batchのフラグ)を参照してください。| +| RawTransactions | array | STArray | 適用されるトランザクションのリストを含みます。[RawTransactions](#rawtransactions)を参照してください。 | +| TxnIDs | array | Vector256 | `TxnIDs`は`RawTransactions`に含まれるすべてのトランザクションのトランザクションハッシュ/IDのリストを含みます。これは内部トランザクションの`Batch`トランザクション内でレジャーの一部として保存される唯一の部分です。内部トランザクション自体はレジャー上で独自のトランザクションであるためです。TxnIDsのハッシュは`RawTransactions`の生トランザクションと同じ順序である必要があります。 | +| BatchSigners | array | STArray | _オプション_。`Batch`に複数のアカウントのトランザクションが含まれる場合のみ必要です。[BatchSigners](#batchsigners)を参照してください。 | + +### Batchのフラグ + +`Batch`型のトランザクションは、`Flags`フィールドで以下の追加値をサポートしています。 + +| フラグ名 | 16進値 | 10進値 | 説明 | +|:-------------------|:-------------| ------------: |:------------------------------| +| `ALLORNOTHING` | 0x00000001 | 1 | 全て成功または全て失敗。すべてのトランザクションが成功しなければ、どれも成功しません。 | +| `ONLYONE` | 0x00000002 | 2 | 最初に成功したトランザクションのみが成功し、他のすべてのトランザクションは失敗するか実行されません。 | +| `UNTILFAILURE` | 0x00000004 | 4 | 最初の失敗まですべてのトランザクションが処理され、最初の失敗後のすべてのトランザクションは処理されません。 | +| `INDEPENDENT` | 0x00000008 | 8 | 失敗に関係なく、すべてのトランザクションが処理されます。 | + +### RawTransactions + +`RawTransactions`は実行されるトランザクションのリストを含みます。最大8つのトランザクションを含めることができます。これらのトランザクションは1つのアカウントまたは複数のアカウントからのものである可能性があります。 + +内部の各トランザクションは以下の要件を満たす必要があります。 + +- BatchTxnフィールドを含む必要があります。 +- シーケンス番号を持ってはいけません。シーケンス番号値0を使用する必要があります。 +- 手数料を持ってはいけません。手数料値"0"を使用する必要があります。 +- 署名されてはいけません(グローバルトランザクションはすでにすべての関連当事者によって署名されています)。代わりに`SigningPubKey`および`TxnSignature`フィールドに空文字列("")を持つ必要があります。 + +トランザクションは`tesSUCCESS`でない結果を受け取った場合、失敗と見なされます。 + +このフィールドは検証済みトランザクションには含まれず、すべてのトランザクションがレジャーの一部として個別に含まれるため、外部トランザクション署名の計算にも使用されません。 + +### BatchSigners + +このフィールドはXRPLのマルチサインと同様に動作します。複数のアカウントのトランザクションがBatchトランザクションに含まれる場合のみ必要です。そうでなければ、通常のトランザクション署名が同じセキュリティ保証を提供します。 + +少なくとも1つの内部トランザクションを持つすべてのアカウント(該当する場合は外部アカウントを除く)は、BatchSignersフィールドを持つ必要があります。 + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:----------------|:--------------------|:------------------|:-------------------| +| Account | string | STAccount | 少なくとも1つの内部トランザクションを持つアカウント。 | +| SigningPubKey | string | STBlob | アカウントが単一署名で署名している場合に含まれます。 | +| Signature | string | STBlob | アカウントが単一署名で署名している場合に含まれます。 | +| Signers | array | STArray | アカウントがマルチサイン(単一署名の代わりに)で署名している場合にこのフィールドが含まれます。標準トランザクションマルチサインで使用されるSignersフィールドと同等に動作します。このフィールドはFlagsおよびTxnIDsフィールドの署名を保持します。 | + +## BatchTxn + +`BatchTxn`内部オブジェクトは、`Batch`トランザクションのすべての内部トランザクションに含める必要があります。 +含めることで、以下の効果があります。 + +- 同一トランザクション間のハッシュ衝突を防ぎます(シーケンス番号が含まれていないため)。 +- すべてのトランザクションがシーケンス番号を関連付けることを保証し、ID生成でそれを使用する作成されたレジャーオブジェクトが引き続き動作できるようにします。 +- ユーザーがトランザクションを正しい順序でより簡単に整理できるようにします。 + +このオブジェクトに含まれるフィールドは以下の通りです。 + +| フィールド | JSONの型 | [内部の型][] | 説明 | +|:---------------------|:-----------------|:------------------|:-----------------| +| `Account` | string | AccountID | 外部`Batch`トランザクションを送信するアカウント。 | +| `OuterSequence` | number | UInt32 | 外部`Batch`トランザクションのシーケンス番号。他の`Batch`トランザクションとのハッシュ衝突がないことを保証します。 | +| `Sequence` | number | UInt32 | _(オプション)_ 内部トランザクションのアカウントの次の利用可能なシーケンス番号。マルチアカウントBatchトランザクションでのみ含める必要があります。 | +| `BatchIndex` | number | UInt8 | 既存の`Batch`トランザクション内での内部トランザクションの(0から始まる)インデックス。最初の内部トランザクションはBatchIndex値0、2番目は1、以下同様です。同じ`Batch`トランザクション内の他の内部トランザクションとのハッシュ衝突がないことを保証し、すべてのトランザクションが正しい順序で配置されることを保証します。 | + +## 複数アカウントでのBatch JSONの例 + +この例では、2人のユーザーがトークンをアトミックに交換しており、XRPをGKOと交換しています。内部トランザクションは依然として署名されていませんが、この`Batch`トランザクションには2つのアカウントの内部トランザクションがあるため、外部トランザクションに`BatchSigners`フィールドが必要です。 + +```json +{ + "TransactionType": "Batch", + "Account": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", + "Flags": "0x00010000", + "RawTransactions": [ + { + "RawTransaction": { + "TransactionType": "Payment", + "Flags": 1073741824, + "Account": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", + "Destination": "rUser2fDds782Bd6eK15RDnGMtxf7m", + "Amount": "6000000", + "Sequence": 5, + "Fee": "0", + "SigningPubKey": "" + } + }, + { + "RawTransaction": { + "TransactionType": "Payment", + "Flags": 1073741824, + "Account": "rUser2fDds782Bd6eK15RDnGMtxf7m", + "Destination": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", + "Amount": { + "currency": "GKO", + "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc", + "value": "2" + }, + "Sequence": 20, + "Fee": "0", + "SigningPubKey": "" + } + } + ], + "BatchSigners": [ + { + "BatchSigner": { + "Account": "rUser2fDds782Bd6eK15RDnGMtxf7m", + "SigningPubKey": "03C6AE25CD44323D52D28D7DE95598E6ABF953EECC9ABF767F13C21D421C034FAB", + "TxnSignature": "304502210083DF12FA60E2E743643889195DC42C10F62F0DE0A362330C32BBEC4D3881EECD022010579A01E052C4E587E70E5601D2F3846984DB9B16B9EBA05BAD7B51F912B899" + } + } + ], + "Sequence": 4, + "Fee": "60", + "SigningPubKey": "03072BBE5F93D4906FC31A690A2C269F2B9A56D60DA9C2C6C0D88FB51B644C6F94", + "TxnSignature": "30440220702ABC11419AD4940969CC32EB4D1BFDBFCA651F064F30D6E1646D74FBFC493902204E5B451B447B0F69904127F04FE71634BD825A8970B9467871DA89EEC4B021F8" +} +``` + +#### レジャーレスポンスの例 + +```json +[ + { + "TransactionType": "Batch", + "Account": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", + "Flags": "0x00010000", + "RawTransactions": [ + { + "RawTransaction": { + "TransactionType": "Payment", + "Flags": 1073741824, + "Account": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", + "Destination": "rUser2fDds782Bd6eK15RDnGMtxf7m", + "Amount": "6000000", + "Sequence": 5, + "Fee": "0", + "SigningPubKey": "" + } + }, + { + "RawTransaction": { + "TransactionType": "Payment", + "Flags": 1073741824, + "Account": "rUser2fDds782Bd6eK15RDnGMtxf7m", + "Destination": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", + "Amount": { + "currency": "GKO", + "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc", + "value": "2" + }, + "Sequence": 20, + "Fee": "0", + "SigningPubKey": "" + } + } + ], + "BatchSigners": [ + { + "BatchSigner": { + "Account": "rUser2fDds782Bd6eK15RDnGMtxf7m", + "SigningPubKey": "03C6AE25CD44323D52D28D7DE95598E6ABF953EECC9ABF767F13C21D421C034FAB", + "TxnSignature": "304502210083DF12FA60E2E743643889195DC42C10F62F0DE0A362330C32BBEC4D3881EECD022010579A01E052C4E587E70E5601D2F3846984DB9B16B9EBA05BAD7B51F912B899" + } + } + ], + "Sequence": 4, + "Fee": "60", + "SigningPubKey": "03072BBE5F93D4906FC31A690A2C269F2B9A56D60DA9C2C6C0D88FB51B644C6F94", + "TxnSignature": "30440220702ABC11419AD4940969CC32EB4D1BFDBFCA651F064F30D6E1646D74FBFC493902204E5B451B447B0F69904127F04FE71634BD825A8970B9467871DA89EEC4B021F8" + }, + { + "TransactionType": "Payment", + "Flags": 1073741824, + "Account": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", + "Destination": "rUser2fDds782Bd6eK15RDnGMtxf7m", + "Amount": "6000000", + "Sequence": 5, + "Fee": "0", + "SigningPubKey": "" + }, + { + "TransactionType": "Payment", + "Flags": 1073741824, + "Account": "rUser2fDds782Bd6eK15RDnGMtxf7m", + "Destination": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", + "Amount": { + "currency": "GKO", + "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc", + "value": "2" + }, + "Sequence": 20, + "Fee": "0", + "SigningPubKey": "" + } +] +``` From 6ff137fd880b0afb6fc86dcc6a24aaaad0927fa0 Mon Sep 17 00:00:00 2001 From: nabe3m Date: Sat, 28 Jun 2025 13:10:02 +0900 Subject: [PATCH 03/41] Fix word --- @l10n/ja/docs/concepts/transactions/batch-transactions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/@l10n/ja/docs/concepts/transactions/batch-transactions.md b/@l10n/ja/docs/concepts/transactions/batch-transactions.md index 4844c8b628..0560e6b537 100644 --- a/@l10n/ja/docs/concepts/transactions/batch-transactions.md +++ b/@l10n/ja/docs/concepts/transactions/batch-transactions.md @@ -152,7 +152,7 @@ status: not_enabled アリスが完全に自動入力され署名されたトランザクションをボブに提供した場合、ボブは自分のトランザクションを送信せずに台帳上でアリスのトランザクションを送信し、1000 USDを失うことなく1000 XRPを受け取ることができます。したがって、内部トランザクションは署名されていない必要があります。 -アリスがバッチトランザクションの彼女の部分のみに署名した場合、ボブは自分のトランザクションを1 USDのみを提供するように変更でき、それによってはるかに安い価格で1000 XRPを取得できます。したがって、バッチトランザクション全体(とその全ての内部トランザクション)は全ての当事者によって署名される必要があります。 +アリスがバッチトランザクションの自身の部分のみに署名した場合、ボブは自分のトランザクションを1 USDのみを提供するように変更でき、それによってはるかに安い価格で1000 XRPを取得できます。したがって、バッチトランザクション全体(とその全ての内部トランザクション)は全ての当事者によって署名される必要があります。 ### 内部トランザクションの安全性 From 762d48e43f153f03e4119103bc766b27ac8de4fe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Jul 2025 10:27:19 +0000 Subject: [PATCH 04/41] Bump electron in /_code-samples/build-a-desktop-wallet/js Bumps [electron](https://github.com/electron/electron) from 22.3.25 to 28.3.2. - [Release notes](https://github.com/electron/electron/releases) - [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md) - [Commits](https://github.com/electron/electron/compare/v22.3.25...v28.3.2) --- updated-dependencies: - dependency-name: electron dependency-version: 28.3.2 dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- _code-samples/build-a-desktop-wallet/js/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_code-samples/build-a-desktop-wallet/js/package.json b/_code-samples/build-a-desktop-wallet/js/package.json index 009036e61a..6e742dbf62 100644 --- a/_code-samples/build-a-desktop-wallet/js/package.json +++ b/_code-samples/build-a-desktop-wallet/js/package.json @@ -23,6 +23,6 @@ "xrpl": "^4.0.0" }, "devDependencies": { - "electron": "22.3.25" + "electron": "28.3.2" } } From b841a8ce0bd88bc1339eab6eec10bc561ca1d8a1 Mon Sep 17 00:00:00 2001 From: Darius Tumas Date: Wed, 2 Jul 2025 11:34:59 +0300 Subject: [PATCH 05/41] Update run-rippled-as-a-validator.md Updated list of official peering hub. Added a note where up to date list could be found. --- .../server-modes/run-rippled-as-a-validator.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/infrastructure/configuration/server-modes/run-rippled-as-a-validator.md b/docs/infrastructure/configuration/server-modes/run-rippled-as-a-validator.md index 5bf3c7a168..41d7aca8d6 100644 --- a/docs/infrastructure/configuration/server-modes/run-rippled-as-a-validator.md +++ b/docs/infrastructure/configuration/server-modes/run-rippled-as-a-validator.md @@ -207,14 +207,20 @@ This configuration connects your validator to the network using three [public hu _**To connect your validator to the network using public hubs:**_ -1. In your validator's `rippled.cfg` file, include the following `[ips_fixed]` stanza. The two values, `r.ripple.com 51235`, and `sahyadri.isrdc.in 51235`, are default public hubs. This stanza tells `rippled` to always attempt to maintain peer connections with these public hubs. +1. In your validator's `rippled.cfg` file, include the following `[ips_fixed]` stanza. The two values, `r.ripple.com 51235`, and `sahyadri.isrdc.in 51235`, are default public hubs. This stanza tells `rippled` to always attempt to maintain peer connections with these public hubs. ``` [ips_fixed] r.ripple.com 51235 sahyadri.isrdc.in 51235 + hubs.xrpkuwait.com 51235 + hub.xrpl-commons.org 51235 ``` +> **Note:** The above list may evolve over time. To ensure you're using the most current set of public hubs, refer to the official `rippled-example.cfg` maintained by XRPLF: +> [https://github.com/XRPLF/rippled/blob/develop/cfg/rippled-example.cfg](https://github.com/XRPLF/rippled/blob/develop/cfg/rippled-example.cfg) + + {% admonition type="warning" name="Caution" %}This configuration connects your validator to the network using default public hubs. Because these are the _default_ public hubs, they may sometimes be too busy to provide your validator with a connection to the network. To help avoid this issue, connect to more public hubs and, even better, connect to non-default public hubs.{% /admonition %} You can include the IP addresses of other `rippled` servers here, but _**only**_ if you can expect them to: From 96f18b048b69279a2844f9aab18430c0ca062aa7 Mon Sep 17 00:00:00 2001 From: "Elliot." Date: Thu, 3 Jul 2025 08:43:29 -0700 Subject: [PATCH 06/41] Apply suggestions from code review Co-authored-by: Rome Reginelli --- .../protocol/transactions/transaction-results/tec-codes.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/references/protocol/transactions/transaction-results/tec-codes.md b/docs/references/protocol/transactions/transaction-results/tec-codes.md index 602d8f086d..8cea3a03d4 100644 --- a/docs/references/protocol/transactions/transaction-results/tec-codes.md +++ b/docs/references/protocol/transactions/transaction-results/tec-codes.md @@ -2,7 +2,7 @@ html: tec-codes.html parent: transaction-results.html seo: - description: tec codes indicate that the transaction did not succeed, but it deducted the transaction cost and it was applied to a ledger. + description: A tec result code indicates that the transaction did not succeed, but it deducted the transaction cost and it was applied to a ledger. labels: - Transaction Sending --- @@ -11,9 +11,9 @@ labels: These codes indicate that the transaction did not succeed, but it was applied to a ledger to apply the [transaction cost](../../../../concepts/transactions/transaction-cost.md) and may have had other side effects to the ledger. The `tec` codes have numerical values in the range 100 to 199. It is recommended to use the text code, not the numeric value. -Transactions with `tec` codes destroy the XRP paid as a [transaction cost](../../../../concepts/transactions/transaction-cost.md), and consume a [sequence number](../../data-types/basic-data-types.md#account-sequence). Although the transactions did not succeed, they sometimes have some other effect. For example, a transaction that results in `tecOVERSIZE` still cleans up some [unfunded offers](../../../../concepts/tokens/decentralized-exchange/offers.md#lifecycle-of-an-offer). Always look at the [transaction metadata](../metadata.md) to see precisely what a transaction did. +A transaction that fails with a `tec` code destroys the XRP paid as a [transaction cost](../../../../concepts/transactions/transaction-cost.md) and consumes a [sequence number](../../data-types/basic-data-types.md#account-sequence). Although the transaction did not succeed, it may also cause some bookkeeping or cleanup work to be done. For example, a transaction that results in `tecOVERSIZE` still removes some [unfunded offers](../../../../concepts/tokens/decentralized-exchange/offers.md#lifecycle-of-an-offer). Always look at the [transaction metadata](../metadata.md) to see precisely what a transaction did. -{% admonition type="warning" name="Caution" %}A transaction that provisionally failed with a `tec` code may still succeed or fail with a different code after being reapplied. The result is final when it appears in a fully validated ledger version. For more information, see [Finality of Results](../../../../concepts/transactions/finality-of-results/index.md) and [Reliable Transaction Submission](../../../../concepts/transactions/reliable-transaction-submission.md).{% /admonition %} +{% admonition type="warning" name="Caution" %}A transaction that provisionally failed with a `tec` code may still succeed or fail with a different code after being reapplied. The result is final when it appears in a validated ledger version. For more information, see [Finality of Results](../../../../concepts/transactions/finality-of-results/index.md) and [Reliable Transaction Submission](../../../../concepts/transactions/reliable-transaction-submission.md).{% /admonition %} | Code | Value | Explanation | |:---------------------------|:------|:----------------------------------------| From 243ddcbb7c2ff06d8839c43825ae6c80b78a350a Mon Sep 17 00:00:00 2001 From: nabe3m Date: Sun, 6 Jul 2025 09:58:52 +0900 Subject: [PATCH 07/41] Refactor code based on review and English documentation updates --- .../transactions/batch-transactions.md | 20 +- .../protocol/transactions/common-fields.md | 2 +- .../protocol/transactions/types/batch.md | 351 ++++-------------- 3 files changed, 76 insertions(+), 297 deletions(-) diff --git a/@l10n/ja/docs/concepts/transactions/batch-transactions.md b/@l10n/ja/docs/concepts/transactions/batch-transactions.md index 0560e6b537..4dffd488dd 100644 --- a/@l10n/ja/docs/concepts/transactions/batch-transactions.md +++ b/@l10n/ja/docs/concepts/transactions/batch-transactions.md @@ -17,15 +17,15 @@ status: not_enabled - スワップ(マルチアカウント):複数のアカウント間でのトラストレスなトークン/NFTスワップ。 - アカウント引き出し(マルチアカウント):当座預金からの引き出しを試行し、失敗した場合は代わりに普通預金から引き出します。 -`Batch`トランザクションは、ラッパーである`Batch`トランザクション自体の_外部トランザクション_と、それぞれがアトミックに実行される_内部トランザクション_で構成されます。内部トランザクションの正確な処理方法は、バッチ_モード_によって決まります。 +`Batch`トランザクションは、ラッパーである`Batch`トランザクション自体の _外部トランザクション_ と、それぞれがアトミックに実行される _内部トランザクション_ で構成されます。内部トランザクションの正確な処理方法は、バッチ _モード_ によって決まります。 ## バッチのモード -`Batch`には4つのモードがあります:`ALLORNOTHING`、`ONLYONE`、`UNTILFAILURE`、`INDEPENDENT`。 +`Batch`には`ALLORNOTHING`、`ONLYONE`、`UNTILFAILURE`、`INDEPENDENT`の4つのモードがあります。 ### All or Nothing(全て成功か全て失敗) -`ALLORNOTHING`モードでは、いずれかのトランザクションが成功するには、全ての内部トランザクションが成功する必要があります。 +`ALLORNOTHING`モードでは、いずれかの内部トランザクションが成功するには、全ての内部トランザクションが成功する必要があります。 ### Only One(1つだけ) @@ -33,11 +33,11 @@ status: not_enabled ### Until Failure(失敗まで) -`UNTILFAILURE`は失敗するまで全てのトランザクションを適用します。最初の失敗後の全てのトランザクションは適用されません。 +`UNTILFAILURE`では、全ての内部トランザクションをいずれかが失敗するまで適用します。最初の失敗後の全てのトランザクションは適用されません。 ### Independent(独立) -1つ以上の内部トランザクションが失敗しても、全てのトランザクションが適用されます。 +`INDEPENDENT`では、1つ以上の内部トランザクションが失敗しても、全てのトランザクションが適用されます。 ## Raw Transactions @@ -46,14 +46,14 @@ status: not_enabled 各内部トランザクションは以下の要件を満たす必要があります。 - `tfInnerBatchTxn`フラグを設定する必要があります。 -- 手数料を持ってはいけません。手数料の値は_0_を使用する必要があります。 -- 署名されてはいけません(グローバルトランザクションは既に関連する全ての当事者によって署名されています)。代わりに`SigningPubKey`と`TxnSignature`フィールドに空文字列("")を持つ必要があります。 +- 手数料を設定してはいけません。手数料の値は _0_ を使用する必要があります。 +- 署名されてはいけません(グローバルトランザクションは既に関連する全ての当事者によって署名されています)。代わりに`SigningPubKey`フィールドに空文字列("")を設定する必要があります。(`TxnSignature`フィールドは設定してはいけません。) `tesSUCCESS`以外の結果を受け取った場合、トランザクションは失敗と見なされます。 ### 共通のフラグ -`Batch`はグローバルトランザクションフラグを追加します。 +`Batch`は次のグローバルなトランザクションフラグを追加します。 | フラグ名 | 値 | |------------------|------------| @@ -114,7 +114,7 @@ status: not_enabled ### 外部トランザクション -各外部トランザクションには、内部トランザクション処理ではなく、シーケンスと手数料処理のメタデータが含まれます。エラーコードは外部トランザクション処理(例:シーケンスと手数料)のみに基づいており、内部トランザクション処理が失敗してもtesSUCCESSエラーを返します。 +各外部トランザクションには、内部トランザクション処理ではなく、シーケンスと手数料処理のメタデータが含まれます。エラーコードは外部トランザクション処理(例:シーケンスと手数料)のみに基づいており、内部トランザクション処理が失敗しても`tesSUCCESS`エラーを返します。 ### 内部トランザクション @@ -156,6 +156,6 @@ status: not_enabled ### 内部トランザクションの安全性 -内部バッチトランザクションは特殊なケースです。署名や手数料を含みません(これらは両方とも外部トランザクションに含まれているため)。したがって、誰かが外部トランザクションに含めることなく、内部`Batch`トランザクションを直接送信できないことを保証するために、慎重に処理する必要があります。 +バッチの内部トランザクションは特殊なケースです。署名や手数料を含みません(これらは両方とも外部トランザクションに含まれているため)。したがって、誰かが外部トランザクションに含めることなく、`Batch`の内部トランザクションを直接送信できないことを保証するために、慎重に処理する必要があります。 内部トランザクションはブロードキャストできません(例えば悪意のあるノードからブロードキャストされた場合、受け入れられません)。代わりに`Batch`の外部トランザクションから生成される必要があります。内部トランザクションは、submit RPCを介して直接送信することはできません。 \ No newline at end of file diff --git a/@l10n/ja/docs/references/protocol/transactions/common-fields.md b/@l10n/ja/docs/references/protocol/transactions/common-fields.md index 2492b2d0eb..e8e2312ea4 100644 --- a/@l10n/ja/docs/references/protocol/transactions/common-fields.md +++ b/@l10n/ja/docs/references/protocol/transactions/common-fields.md @@ -76,7 +76,7 @@ AccountTxnIDを使用するには、アカウントの1つ前のトランザク | フラグの名前 | 16進値 | 10進値 | 説明 | |:--------------------|:-----------|:--------------|:--------------------------| | tfFullyCanonicalSig | 0x80000000 | 2147483648 | _(使用を強く推奨)_ 完全に正規である署名を要求します。 | -| tfInnerBatchTxn | 0x40000000 | 1073741824 | このフラグはバッチトランザクションの内部トランザクションである場合にのみ使用されます。これは、トランザクションが署名されていないことを示します。このフラグを含む通常のトランザクションは拒否されます。 | +| tfInnerBatchTxn | 0x40000000 | 1073741824 | このフラグは [バッチトランザクション][batch] の内部トランザクションである場合にのみ使用されます。これは、トランザクションが署名されていないことを示します。このフラグを含む通常のトランザクションは拒否されます。 | [signメソッド][](または「署名と送信」モードの[submitメソッド][])を使用すると、`rippled`は、`Flags`フィールドがすでに存在している場合を除き、`tfFullyCanonicalSig`フラグを有効にした状態で`Flags`フィールドを追加します。`tfFullyCanonicalSig`フラグは、`Flags`が明示的に指定されている場合、自動的には有効に***なりません***。また、[sign_forメソッド][]を使用してマルチシグトランザクションに署名を追加する場合も、自動的には有効に***なりません***。 diff --git a/@l10n/ja/docs/references/protocol/transactions/types/batch.md b/@l10n/ja/docs/references/protocol/transactions/types/batch.md index 0a6ab62d20..5b70710e6c 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/batch.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/batch.md @@ -1,26 +1,28 @@ --- html: batch.html seo: - description: 最大8つのトランザクションのバッチを作成・送信する。 + description: 最大8件のトランザクションをまとめて作成・送信し、、それらがすべて成功するか、すべて失敗するようにアトミックに処理されるようにします。 labels: - Batch - - Transactions + - Transaction Sending status: not_enabled --- # Batch [[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Batch.cpp "Source") -`Batch`トランザクションは、最大8つのトランザクションを単一のバッチで送信します。各トランザクションは、4つのモードのいずれかでアトミックに実行されます。全て成功または全て失敗(All or Nothing)、一つのみ成功(Only One)、失敗まで継続(Until Failure)、および独立実行(Independent)。 +`Batch`トランザクションは、最大8つのトランザクションを単一のバッチで送信します。各トランザクションは、4つのモード(全て成功または全て失敗(All or Nothing)、一つのみ成功(Only One)、失敗まで継続(Until Failure)、および独立実行(Independent))のいずれかでアトミックに実行されます。 -## Batch JSONの例 +## {% $frontmatter.seo.title %} JSONの例 -以下の例は、ユーザーがDEX UIを使って取引する中でオファーを作成し、2番目のトランザクションがプラットフォーム手数料となっています。内部トランザクションは署名されておらず、関与するアカウントが1つのみのため、外部トランザクションに`BatchSigners`フィールドは不要です。 +### 単一アカウントの場合 + +この例では、ユーザーがDEX UIを使って取引する中でオファーを作成し、2番目のトランザクションでプラットフォーム手数料を支払っています。内部トランザクションは署名されておらず、関与するアカウントが1つのみのため、外部トランザクションに`BatchSigners`フィールドは不要です。 ```json { "TransactionType": "Batch", "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", - "Flags": "0x00010000", + "Flags": "65536", "RawTransactions": [ { "RawTransaction": { @@ -58,215 +60,15 @@ status: not_enabled } ``` -### レジャー確認のサンプル +### 複数アカウントの場合 -この例は、トランザクション確認後のレジャーの状態を示しています。 -内部トランザクションが通常のトランザクションとしてコミットされていることに注意してください。 - -```json -[ - { - "TransactionType": "Batch", - "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", - "Flags": "0x00010000", - "RawTransactions": [ - { - "RawTransaction": { - "TransactionType": "OfferCreate", - "Flags": 1073741824, - "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", - "TakerGets": "6000000", - "TakerPays": { - "currency": "GKO", - "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc", - "value": "2" - }, - "Sequence": 4, - "Fee": "0", - "SigningPubKey": "" - } - }, - { - "RawTransaction": { - "TransactionType": "Payment", - "Flags": 1073741824, - "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", - "Destination": "rDEXfrontEnd23E44wKL3S6dj9FaXv", - "Amount": "1000", - "Sequence": 5, - "Fee": "0", - "SigningPubKey": "" - } - } - ], - "Sequence": 3, - "Fee": "40", - "SigningPubKey": "022D40673B44C82DEE1DDB8B9BB53DCCE4F97B27404DB850F068DD91D685E337EA", - "TxnSignature": "3045022100EC5D367FAE2B461679AD446FBBE7BA260506579AF4ED5EFC3EC25F4DD1885B38022018C2327DB281743B12553C7A6DC0E45B07D3FC6983F261D7BCB474D89A0EC5B8" - }, - { - "TransactionType": "OfferCreate", - "Flags": 1073741824, - "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", - "TakerGets": "6000000", - "TakerPays": { - "currency": "GKO", - "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc", - "value": "2" - }, - "Sequence": 4, - "Fee": "0", - "SigningPubKey": "" - }, - { - "TransactionType": "Payment", - "Flags": 1073741824, - "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", - "Destination": "rDEXfrontEnd23E44wKL3S6dj9FaXv", - "Amount": "1000", - "Sequence": 5, - "Fee": "0", - "SigningPubKey": "" - } -] -``` - -### レジャーのサンプル - -この例は、トランザクション確認後のレジャーの状態を示しています。内部トランザクションが通常のトランザクションとしてコミットされ、外部トランザクションの検証済みバージョンには`RawTransactions`フィールドが含まれていないことに注意してください。 - -```json -[ - { - "TransactionType": "Batch", - "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", - "Flags": "1", - "TxnIDs": [ - "7EB435C800D7DC10EAB2ADFDE02EE5667C0A63AA467F26F90FD4CBCD6903E15E", - "EAE6B33078075A7BA958434691B896CCA4F532D618438DE6DDC7E3FB7A4A0AAB" - ], - "Sequence": 3, - "Fee": "40", - "SigningPubKey": "022D40673B44C82DEE1DDB8B9BB53DCCE4F97B27404DB850F068DD91D685E337EA", - "TxnSignature": "3045022100EC5D367FAE2B461679AD446FBBE7BA260506579AF4ED5EFC3EC25F4DD1885B38022018C2327DB281743B12553C7A6DC0E45B07D3FC6983F261D7BCB474D89A0EC5B8" - }, - { - "TransactionType": "OfferCreate", - "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", - "TakerGets": "6000000", - "TakerPays": { - "currency": "GKO", - "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc", - "value": "2" - }, - "BatchTxn": { - "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", - "OuterSequence": 3, - "BatchIndex": 0 - }, - "Sequence": 0, - "Fee": "0", - "SigningPubKey": "", - "TxnSignature": "" - }, - { - "TransactionType": "Payment", - "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", - "Destination": "rDEXfrontEnd23E44wKL3S6dj9FaXv", - "Amount": "1000", - "BatchTxn": { - "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", - "OuterSequence": 3, - "BatchIndex": 1 - }, - "Sequence": 0, - "Fee": "0", - "SigningPubKey": "", - "TxnSignature": "" - } -] -``` - -### Batchのフィールド - - - -| フィールド | JSONの型 | [内部の型][] | 説明 | -|:----------------|:--------------------|:------------------|:-------------------| -| TransactionType | string | UInt16 | | -| Account | string | STAccount | | -| Fee | string | STAmount | 手数料は基本手数料の2倍(手数料エスカレーションがない場合は合計20 drops)に、すべての内部トランザクションのトランザクション手数料の合計を加えたものです(マルチサインやAMMCreateなどの高い手数料も含む)。個々の内部トランザクションの手数料は、内部トランザクション自体ではなくここで支払われ、手数料エスカレーションがオーバーヘッドだけでなくトランザクションの総コストで計算されることを保証します。 | -| Flags | number | UInt32 | `Flags`フィールドはトランザクションのバッチモードを表します。`Batch`トランザクションでは正確に1つを指定する必要があります。[Batchのフラグ](#batchのフラグ)を参照してください。| -| RawTransactions | array | STArray | 適用されるトランザクションのリストを含みます。[RawTransactions](#rawtransactions)を参照してください。 | -| TxnIDs | array | Vector256 | `TxnIDs`は`RawTransactions`に含まれるすべてのトランザクションのトランザクションハッシュ/IDのリストを含みます。これは内部トランザクションの`Batch`トランザクション内でレジャーの一部として保存される唯一の部分です。内部トランザクション自体はレジャー上で独自のトランザクションであるためです。TxnIDsのハッシュは`RawTransactions`の生トランザクションと同じ順序である必要があります。 | -| BatchSigners | array | STArray | _オプション_。`Batch`に複数のアカウントのトランザクションが含まれる場合のみ必要です。[BatchSigners](#batchsigners)を参照してください。 | - -### Batchのフラグ - -`Batch`型のトランザクションは、`Flags`フィールドで以下の追加値をサポートしています。 - -| フラグ名 | 16進値 | 10進値 | 説明 | -|:-------------------|:-------------| ------------: |:------------------------------| -| `ALLORNOTHING` | 0x00000001 | 1 | 全て成功または全て失敗。すべてのトランザクションが成功しなければ、どれも成功しません。 | -| `ONLYONE` | 0x00000002 | 2 | 最初に成功したトランザクションのみが成功し、他のすべてのトランザクションは失敗するか実行されません。 | -| `UNTILFAILURE` | 0x00000004 | 4 | 最初の失敗まですべてのトランザクションが処理され、最初の失敗後のすべてのトランザクションは処理されません。 | -| `INDEPENDENT` | 0x00000008 | 8 | 失敗に関係なく、すべてのトランザクションが処理されます。 | - -### RawTransactions - -`RawTransactions`は実行されるトランザクションのリストを含みます。最大8つのトランザクションを含めることができます。これらのトランザクションは1つのアカウントまたは複数のアカウントからのものである可能性があります。 - -内部の各トランザクションは以下の要件を満たす必要があります。 - -- BatchTxnフィールドを含む必要があります。 -- シーケンス番号を持ってはいけません。シーケンス番号値0を使用する必要があります。 -- 手数料を持ってはいけません。手数料値"0"を使用する必要があります。 -- 署名されてはいけません(グローバルトランザクションはすでにすべての関連当事者によって署名されています)。代わりに`SigningPubKey`および`TxnSignature`フィールドに空文字列("")を持つ必要があります。 - -トランザクションは`tesSUCCESS`でない結果を受け取った場合、失敗と見なされます。 - -このフィールドは検証済みトランザクションには含まれず、すべてのトランザクションがレジャーの一部として個別に含まれるため、外部トランザクション署名の計算にも使用されません。 - -### BatchSigners - -このフィールドはXRPLのマルチサインと同様に動作します。複数のアカウントのトランザクションがBatchトランザクションに含まれる場合のみ必要です。そうでなければ、通常のトランザクション署名が同じセキュリティ保証を提供します。 - -少なくとも1つの内部トランザクションを持つすべてのアカウント(該当する場合は外部アカウントを除く)は、BatchSignersフィールドを持つ必要があります。 - -| フィールド | JSONの型 | [内部の型][] | 説明 | -|:----------------|:--------------------|:------------------|:-------------------| -| Account | string | STAccount | 少なくとも1つの内部トランザクションを持つアカウント。 | -| SigningPubKey | string | STBlob | アカウントが単一署名で署名している場合に含まれます。 | -| Signature | string | STBlob | アカウントが単一署名で署名している場合に含まれます。 | -| Signers | array | STArray | アカウントがマルチサイン(単一署名の代わりに)で署名している場合にこのフィールドが含まれます。標準トランザクションマルチサインで使用されるSignersフィールドと同等に動作します。このフィールドはFlagsおよびTxnIDsフィールドの署名を保持します。 | - -## BatchTxn - -`BatchTxn`内部オブジェクトは、`Batch`トランザクションのすべての内部トランザクションに含める必要があります。 -含めることで、以下の効果があります。 - -- 同一トランザクション間のハッシュ衝突を防ぎます(シーケンス番号が含まれていないため)。 -- すべてのトランザクションがシーケンス番号を関連付けることを保証し、ID生成でそれを使用する作成されたレジャーオブジェクトが引き続き動作できるようにします。 -- ユーザーがトランザクションを正しい順序でより簡単に整理できるようにします。 - -このオブジェクトに含まれるフィールドは以下の通りです。 - -| フィールド | JSONの型 | [内部の型][] | 説明 | -|:---------------------|:-----------------|:------------------|:-----------------| -| `Account` | string | AccountID | 外部`Batch`トランザクションを送信するアカウント。 | -| `OuterSequence` | number | UInt32 | 外部`Batch`トランザクションのシーケンス番号。他の`Batch`トランザクションとのハッシュ衝突がないことを保証します。 | -| `Sequence` | number | UInt32 | _(オプション)_ 内部トランザクションのアカウントの次の利用可能なシーケンス番号。マルチアカウントBatchトランザクションでのみ含める必要があります。 | -| `BatchIndex` | number | UInt8 | 既存の`Batch`トランザクション内での内部トランザクションの(0から始まる)インデックス。最初の内部トランザクションはBatchIndex値0、2番目は1、以下同様です。同じ`Batch`トランザクション内の他の内部トランザクションとのハッシュ衝突がないことを保証し、すべてのトランザクションが正しい順序で配置されることを保証します。 | - -## 複数アカウントでのBatch JSONの例 - -この例では、2人のユーザーがトークンをアトミックに交換しており、XRPをGKOと交換しています。内部トランザクションは依然として署名されていませんが、この`Batch`トランザクションには2つのアカウントの内部トランザクションがあるため、外部トランザクションに`BatchSigners`フィールドが必要です。 +この例では、2人のユーザーがトークン(XRPとGKO)をアトミックに交換しています。 ```json { "TransactionType": "Batch", "Account": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", - "Flags": "0x00010000", + "Flags": "65536", "RawTransactions": [ { "RawTransaction": { @@ -313,81 +115,58 @@ status: not_enabled } ``` -#### レジャーレスポンスの例 +{% raw-partial file="/@l10n/ja/docs/_snippets/tx-fields-intro.md" /%} -```json -[ - { - "TransactionType": "Batch", - "Account": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", - "Flags": "0x00010000", - "RawTransactions": [ - { - "RawTransaction": { - "TransactionType": "Payment", - "Flags": 1073741824, - "Account": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", - "Destination": "rUser2fDds782Bd6eK15RDnGMtxf7m", - "Amount": "6000000", - "Sequence": 5, - "Fee": "0", - "SigningPubKey": "" - } - }, - { - "RawTransaction": { - "TransactionType": "Payment", - "Flags": 1073741824, - "Account": "rUser2fDds782Bd6eK15RDnGMtxf7m", - "Destination": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", - "Amount": { - "currency": "GKO", - "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc", - "value": "2" - }, - "Sequence": 20, - "Fee": "0", - "SigningPubKey": "" - } - } - ], - "BatchSigners": [ - { - "BatchSigner": { - "Account": "rUser2fDds782Bd6eK15RDnGMtxf7m", - "SigningPubKey": "03C6AE25CD44323D52D28D7DE95598E6ABF953EECC9ABF767F13C21D421C034FAB", - "TxnSignature": "304502210083DF12FA60E2E743643889195DC42C10F62F0DE0A362330C32BBEC4D3881EECD022010579A01E052C4E587E70E5601D2F3846984DB9B16B9EBA05BAD7B51F912B899" - } - } - ], - "Sequence": 4, - "Fee": "60", - "SigningPubKey": "03072BBE5F93D4906FC31A690A2C269F2B9A56D60DA9C2C6C0D88FB51B644C6F94", - "TxnSignature": "30440220702ABC11419AD4940969CC32EB4D1BFDBFCA651F064F30D6E1646D74FBFC493902204E5B451B447B0F69904127F04FE71634BD825A8970B9467871DA89EEC4B021F8" - }, - { - "TransactionType": "Payment", - "Flags": 1073741824, - "Account": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", - "Destination": "rUser2fDds782Bd6eK15RDnGMtxf7m", - "Amount": "6000000", - "Sequence": 5, - "Fee": "0", - "SigningPubKey": "" - }, - { - "TransactionType": "Payment", - "Flags": 1073741824, - "Account": "rUser2fDds782Bd6eK15RDnGMtxf7m", - "Destination": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", - "Amount": { - "currency": "GKO", - "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc", - "value": "2" - }, - "Sequence": 20, - "Fee": "0", - "SigningPubKey": "" - } -] -``` +| フィールド | JSONの型 | [内部の型][] | 必須? | 説明 | +| :---------------- | :--------- | :--------- | :----- | :----------------------------------------------------------- | +| `Flags` | 数値 | UInt32 | はい | このトランザクションのビットフラグです。トランザクションのバッチモードを表すために、正確に1つ指定する必要があります。[バッチのフラグ](#バッチのフラグ)をご覧ください。 | +| `RawTransactions` | 配列 | STArray | はい | 適用するトランザクションのリストです。 | +| `BatchSigners` | 配列 | STArray | いいえ | 複数アカウントの`Batch`トランザクションを承認する署名です。 | + +### RawTransactions + +`RawTransactions` には、適用される**内部トランザクションのリスト**が含まれます。最大8つのトランザクションを含めることができます。単一のアカウントからでも、複数のアカウントからでも構いません。 + +各内部トランザクションは以下の条件を満たす必要があります。 + +* `tfInnerBatchTxn` (10進数値: `1073741824`、または16進数値: `0x40000000`) フラグを含める必要があります。 +* `fee` の値が `0` である必要があります。 +* 署名されていてはなりません(グローバルトランザクションはすべての関係者によってすでに署名されています)。代わりに、`SigningPubKey` には空の文字列 (`""`) を含み、`TxnSignature` フィールドは省略する必要があります。 +* `TicketSequence` または `Sequence` の値がゼロより大きい必要があります。 + +### BatchSigners + +このフィールドは、XRPLにおけるマルチシグ機能と同様の仕組みで動作します。複数のアカウントのトランザクションが`Batch`トランザクションに含まれている場合にのみ必要で、それ以外の場合は通常のトランザクション署名で同じセキュリティが保証されます。 + +| フィールド | JSONの型 | [内部の型][] | 必須? | 説明 | +| :-------------- | :--------- | :--------- | :----- | :----------------------------------------------------------- | +| `Account` | 文字列 | STAccount | はい | 少なくとも1つの内部トランザクションを持つアカウント。 | +| `SigningPubKey` | 文字列 | STBlob | いいえ | このトランザクションの署名に使用された秘密鍵に対応する公開鍵の16進数表現。 | +| `TxnSignature` | 文字列 | STBlob | いいえ | このトランザクションが、それが由来するとされるアカウントからのものであることを検証する署名。 | +| `Signers` | 配列 | STArray | いいえ | このトランザクションを承認するマルチシグを表すオブジェクトの配列。 | + +{% admonition type="info" name="Note" %} +`Batch`トランザクションを送信するアカウントが単一署名を使用する場合、`Flags`フィールドと内部トランザクションのハッシュに署名します。この場合、含まれるのは SigningPubKey と TxnSignature のみです。一方で、複数署名を使用する場合は代わりに`Signers`フィールドが使用され、そこに`Flags`フィールドおよび内部トランザクションのハッシュに対する署名が格納されます。 +{% /admonition %} + + +## バッチのフラグ + +`Batch`タイプのトランザクションは、[`Flags`フィールド](../common-fields.md#flags-field)に追加の値をサポートしており、以下のとおりです。 + +| フラグ名 | 16進数値 | 10進数値 | 説明 | +| :--------------- | :--------- | :------- | :--------------------------------- | +| `tfAllOrNothing` | `0x00010000` | 65536 | すべてのトランザクションが成功しなければ、バッチ全体が失敗します。 | +| `tfOnlyOne` | `0x00020000` | 131072 | 最初に成功したトランザクションのみ適用され、それ以降はすべて失敗またはスキップされます。 | +| `tfUntilFailure` | `0x00040000` | 262144 | 最初の失敗が発生するまで、すべてのトランザクションが順に適用されます。失敗以降のトランザクションはスキップされます。 | +| `tfIndependent` | `0x00080000` | 524288 | 各トランザクションは、成功・失敗に関係なくすべて適用されます。 | + +トランザクションは`tesSUCCESS`を結果として返す場合、成功とみなされます。 + + +## エラーケース + +| エラーコード | 説明 | +|:--------------------------|:--------------------------------------------------| +| `temINVALID_INNER_BATCH` | 内部トランザクションの形式が不正です。 | +| `temSEQ_AND_TICKET` | トランザクションに`TicketSequence`フィールドと、0以外の`Sequence`フィールドの両方が含まれています。両方を同時に指定することはできませんが、いずれか一方は必須です。 | From 238d5f329196bafa8fe5c090afc2653e0a23b35d Mon Sep 17 00:00:00 2001 From: nabe3m Date: Mon, 7 Jul 2025 22:30:00 +0900 Subject: [PATCH 08/41] Fix review 2 --- @l10n/ja/docs/concepts/transactions/batch-transactions.md | 2 +- .../references/protocol/transactions/common-fields.md | 2 +- .../docs/references/protocol/transactions/types/batch.md | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/@l10n/ja/docs/concepts/transactions/batch-transactions.md b/@l10n/ja/docs/concepts/transactions/batch-transactions.md index 4dffd488dd..3d5b9e1f41 100644 --- a/@l10n/ja/docs/concepts/transactions/batch-transactions.md +++ b/@l10n/ja/docs/concepts/transactions/batch-transactions.md @@ -148,7 +148,7 @@ status: not_enabled マルチアカウントの場合はより複雑で、例で最もよく説明できます。 -アリスとボブがマルチアカウント`Batch`を介してトラストレススワップを行っており、アリスが1000 XRPを提供し、ボブが1000 USDを提供します。ボブが`Batch`トランザクションを送信するため、アリスは彼女の部分のスワップをボブに提供する必要があります。 +アリスとボブがマルチアカウント`Batch`を介してトラストレススワップを行っており、アリスが1000 XRPを提供し、ボブが1000 USDを提供します。ボブが`Batch`トランザクションを送信するため、アリスはボブに対する1000 XRP送信の情報をボブに提供する必要があります。 アリスが完全に自動入力され署名されたトランザクションをボブに提供した場合、ボブは自分のトランザクションを送信せずに台帳上でアリスのトランザクションを送信し、1000 USDを失うことなく1000 XRPを受け取ることができます。したがって、内部トランザクションは署名されていない必要があります。 diff --git a/@l10n/ja/docs/references/protocol/transactions/common-fields.md b/@l10n/ja/docs/references/protocol/transactions/common-fields.md index e8e2312ea4..26f8da38ec 100644 --- a/@l10n/ja/docs/references/protocol/transactions/common-fields.md +++ b/@l10n/ja/docs/references/protocol/transactions/common-fields.md @@ -76,7 +76,7 @@ AccountTxnIDを使用するには、アカウントの1つ前のトランザク | フラグの名前 | 16進値 | 10進値 | 説明 | |:--------------------|:-----------|:--------------|:--------------------------| | tfFullyCanonicalSig | 0x80000000 | 2147483648 | _(使用を強く推奨)_ 完全に正規である署名を要求します。 | -| tfInnerBatchTxn | 0x40000000 | 1073741824 | このフラグは [バッチトランザクション][batch] の内部トランザクションである場合にのみ使用されます。これは、トランザクションが署名されていないことを示します。このフラグを含む通常のトランザクションは拒否されます。 | +| tfInnerBatchTxn | 0x40000000 | 1073741824 | このフラグは [バッチトランザクション][] の内部トランザクションである場合にのみ使用されます。これは、トランザクションが署名されていないことを示します。このフラグを含む通常のトランザクションは拒否されます。 | [signメソッド][](または「署名と送信」モードの[submitメソッド][])を使用すると、`rippled`は、`Flags`フィールドがすでに存在している場合を除き、`tfFullyCanonicalSig`フラグを有効にした状態で`Flags`フィールドを追加します。`tfFullyCanonicalSig`フラグは、`Flags`が明示的に指定されている場合、自動的には有効に***なりません***。また、[sign_forメソッド][]を使用してマルチシグトランザクションに署名を追加する場合も、自動的には有効に***なりません***。 diff --git a/@l10n/ja/docs/references/protocol/transactions/types/batch.md b/@l10n/ja/docs/references/protocol/transactions/types/batch.md index 5b70710e6c..326ce6e88d 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/batch.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/batch.md @@ -1,7 +1,7 @@ --- html: batch.html seo: - description: 最大8件のトランザクションをまとめて作成・送信し、、それらがすべて成功するか、すべて失敗するようにアトミックに処理されるようにします。 + description: 最大8件のトランザクションをまとめて作成・送信し、それらがすべて成功するか、すべて失敗するようにアトミックに処理されるようにします。 labels: - Batch - Transaction Sending @@ -22,7 +22,7 @@ status: not_enabled { "TransactionType": "Batch", "Account": "rUserBSM7T3b6nHX3Jjua62wgX9unH8s9b", - "Flags": "65536", + "Flags": 65536, "RawTransactions": [ { "RawTransaction": { @@ -68,7 +68,7 @@ status: not_enabled { "TransactionType": "Batch", "Account": "rUser1fcu9RJa5W1ncAuEgLJF2oJC6", - "Flags": "65536", + "Flags": 65536, "RawTransactions": [ { "RawTransaction": { @@ -146,7 +146,7 @@ status: not_enabled | `Signers` | 配列 | STArray | いいえ | このトランザクションを承認するマルチシグを表すオブジェクトの配列。 | {% admonition type="info" name="Note" %} -`Batch`トランザクションを送信するアカウントが単一署名を使用する場合、`Flags`フィールドと内部トランザクションのハッシュに署名します。この場合、含まれるのは SigningPubKey と TxnSignature のみです。一方で、複数署名を使用する場合は代わりに`Signers`フィールドが使用され、そこに`Flags`フィールドおよび内部トランザクションのハッシュに対する署名が格納されます。 +`Batch`トランザクションを送信するアカウントが単一署名を使用する場合、`Flags`フィールドと内部トランザクションのハッシュに署名します。この場合、含まれるのは`SigningPubKey`と`TxnSignature`のみです。一方で、複数署名を使用する場合は代わりに`Signers`フィールドが使用され、そこに`Flags`フィールドおよび内部トランザクションのハッシュに対する署名が格納されます。 {% /admonition %} From 697e513db64b975dc034a22b53122ab282c8b7a2 Mon Sep 17 00:00:00 2001 From: nabe3m Date: Mon, 7 Jul 2025 22:32:15 +0900 Subject: [PATCH 09/41] Fix common-fields.md --- @l10n/ja/docs/references/protocol/transactions/common-fields.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/@l10n/ja/docs/references/protocol/transactions/common-fields.md b/@l10n/ja/docs/references/protocol/transactions/common-fields.md index 26f8da38ec..088b8f5d49 100644 --- a/@l10n/ja/docs/references/protocol/transactions/common-fields.md +++ b/@l10n/ja/docs/references/protocol/transactions/common-fields.md @@ -76,7 +76,7 @@ AccountTxnIDを使用するには、アカウントの1つ前のトランザク | フラグの名前 | 16進値 | 10進値 | 説明 | |:--------------------|:-----------|:--------------|:--------------------------| | tfFullyCanonicalSig | 0x80000000 | 2147483648 | _(使用を強く推奨)_ 完全に正規である署名を要求します。 | -| tfInnerBatchTxn | 0x40000000 | 1073741824 | このフラグは [バッチトランザクション][] の内部トランザクションである場合にのみ使用されます。これは、トランザクションが署名されていないことを示します。このフラグを含む通常のトランザクションは拒否されます。 | +| tfInnerBatchTxn | 0x40000000 | 1073741824 | このフラグは [Batchトランザクション][] の内部トランザクションである場合にのみ使用されます。これは、トランザクションが署名されていないことを示します。このフラグを含む通常のトランザクションは拒否されます。 | [signメソッド][](または「署名と送信」モードの[submitメソッド][])を使用すると、`rippled`は、`Flags`フィールドがすでに存在している場合を除き、`tfFullyCanonicalSig`フラグを有効にした状態で`Flags`フィールドを追加します。`tfFullyCanonicalSig`フラグは、`Flags`が明示的に指定されている場合、自動的には有効に***なりません***。また、[sign_forメソッド][]を使用してマルチシグトランザクションに署名を追加する場合も、自動的には有効に***なりません***。 From e45f5a09ae7be8f523329acbf1df1ec79648df1c Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Wed, 25 Jun 2025 16:16:35 -0700 Subject: [PATCH 10/41] Update internal types in tables, etc. - Improve consistency of amendment notices in transaction reference - Clarify availability of tokens in payment channels - Other minor fixes --- .../references/protocol/data-types/nftoken.md | 2 +- .../protocol/ledger-data/common-fields.md | 2 +- .../ledger-entry-types/accountroot.md | 8 ++-- .../ledger-entry-types/amendments.md | 6 +-- .../ledger-data/ledger-entry-types/amm.md | 8 ++-- .../ledger-data/ledger-entry-types/check.md | 4 +- .../ledger-entry-types/credential.md | 2 +- .../ledger-entry-types/depositpreauth.md | 2 +- .../ledger-data/ledger-entry-types/did.md | 2 +- .../ledger-entry-types/directorynode.md | 14 +++--- .../ledger-data/ledger-entry-types/escrow.md | 2 +- .../ledger-entry-types/feesettings.md | 2 +- .../ledger-data/ledger-entry-types/mptoken.md | 2 +- .../ledger-entry-types/mptokenissuance.md | 2 +- .../ledger-entry-types/negativeunl.md | 2 +- .../ledger-entry-types/nftokenoffer.md | 4 +- .../ledger-entry-types/nftokenpage.md | 6 +-- .../ledger-data/ledger-entry-types/offer.md | 4 +- .../ledger-entry-types/paychannel.md | 2 +- .../ledger-entry-types/ripplestate.md | 2 +- .../ledger-entry-types/signerlist.md | 4 +- .../ledger-data/ledger-entry-types/ticket.md | 2 +- .../ledger-entry-types/xchainownedclaimid.md | 2 +- .../xchainownedcreateaccountclaimid.md | 2 +- .../protocol/ledger-data/ledger-header.md | 8 ++-- .../protocol/transactions/common-fields.md | 4 +- .../enableamendment.md | 2 +- .../protocol/transactions/types/accountset.md | 2 +- .../protocol/transactions/types/ammbid.md | 2 +- .../transactions/types/checkcancel.md | 2 +- .../protocol/transactions/types/checkcash.md | 2 +- .../transactions/types/checkcreate.md | 2 +- .../transactions/types/depositpreauth.md | 4 +- .../transactions/types/nftokenacceptoffer.md | 4 +- .../transactions/types/nftokenburn.md | 2 +- .../transactions/types/nftokencreateoffer.md | 2 +- .../transactions/types/nftokenmodify.md | 2 +- .../protocol/transactions/types/payment.md | 2 +- .../transactions/types/paymentchannelclaim.md | 2 +- .../transactions/types/paymentchannelfund.md | 2 +- .../references/protocol/data-types/nftoken.md | 2 +- .../protocol/ledger-data/common-fields.md | 2 +- .../ledger-entry-types/accountroot.md | 10 ++--- .../ledger-entry-types/amendments.md | 6 +-- .../ledger-data/ledger-entry-types/amm.md | 16 +++---- .../ledger-data/ledger-entry-types/check.md | 4 +- .../ledger-entry-types/credential.md | 4 +- .../ledger-entry-types/depositpreauth.md | 2 +- .../ledger-data/ledger-entry-types/did.md | 2 +- .../ledger-entry-types/directorynode.md | 16 +++---- .../ledger-data/ledger-entry-types/escrow.md | 2 +- .../ledger-entry-types/feesettings.md | 2 +- .../ledger-data/ledger-entry-types/mptoken.md | 2 +- .../ledger-entry-types/mptokenissuance.md | 2 +- .../ledger-entry-types/negativeunl.md | 2 +- .../ledger-entry-types/nftokenoffer.md | 24 +++++----- .../ledger-entry-types/nftokenpage.md | 6 +-- .../ledger-data/ledger-entry-types/offer.md | 6 +-- .../ledger-entry-types/paychannel.md | 2 +- .../ledger-entry-types/permissioneddomain.md | 4 +- .../ledger-entry-types/ripplestate.md | 2 +- .../ledger-entry-types/signerlist.md | 4 +- .../ledger-data/ledger-entry-types/ticket.md | 16 +++---- .../ledger-entry-types/xchainownedclaimid.md | 18 ++++---- .../xchainownedcreateaccountclaimid.md | 20 ++++----- .../protocol/ledger-data/ledger-header.md | 8 ++-- .../protocol/transactions/common-fields.md | 36 +++++++-------- .../enableamendment.md | 4 +- .../transactions/types/accountdelete.md | 4 +- .../protocol/transactions/types/accountset.md | 20 +++++---- .../protocol/transactions/types/ammbid.md | 10 ++--- .../transactions/types/ammclawback.md | 26 +++++------ .../protocol/transactions/types/ammcreate.md | 4 +- .../protocol/transactions/types/ammdelete.md | 8 ++-- .../protocol/transactions/types/ammdeposit.md | 8 ++-- .../protocol/transactions/types/ammvote.md | 8 ++-- .../transactions/types/ammwithdraw.md | 8 ++-- .../protocol/transactions/types/batch.md | 2 + .../transactions/types/checkcancel.md | 6 +-- .../protocol/transactions/types/checkcash.md | 6 +-- .../transactions/types/checkcreate.md | 6 +-- .../protocol/transactions/types/clawback.md | 8 ++-- .../transactions/types/credentialaccept.md | 2 +- .../transactions/types/credentialcreate.md | 14 +++--- .../transactions/types/credentialdelete.md | 12 ++--- .../transactions/types/delegateset.md | 2 +- .../transactions/types/depositpreauth.md | 10 ++--- .../protocol/transactions/types/diddelete.md | 4 +- .../protocol/transactions/types/didset.md | 5 +-- .../transactions/types/escrowcancel.md | 14 +++--- .../transactions/types/escrowcreate.md | 6 +-- .../transactions/types/escrowfinish.md | 18 ++++---- .../transactions/types/ledgerstatefix.md | 6 +-- .../transactions/types/mptokenauthorize.md | 4 +- .../types/mptokenissuancecreate.md | 34 ++++++-------- .../types/mptokenissuancedestroy.md | 9 ++-- .../transactions/types/mptokenissuanceset.md | 20 ++++----- .../transactions/types/nftokenacceptoffer.md | 4 +- .../transactions/types/nftokenburn.md | 2 +- .../transactions/types/nftokencanceloffer.md | 2 +- .../transactions/types/nftokencreateoffer.md | 2 +- .../transactions/types/nftokenmint.md | 18 ++++---- .../transactions/types/nftokenmodify.md | 14 +++--- .../transactions/types/offercreate.md | 2 +- .../transactions/types/oracledelete.md | 2 + .../protocol/transactions/types/oracleset.md | 4 +- .../protocol/transactions/types/payment.md | 4 +- .../transactions/types/paymentchannelclaim.md | 45 ++++++++++--------- .../types/paymentchannelcreate.md | 20 ++++----- .../transactions/types/paymentchannelfund.md | 15 +++---- .../types/permissioneddomaindelete.md | 2 +- .../types/permissioneddomainset.md | 2 +- .../transactions/types/signerlistset.md | 4 +- .../types/xchainaccountcreatecommit.md | 6 +-- .../xchainaddaccountcreateattestation.md | 14 +++--- .../types/xchainaddclaimattestation.md | 14 +++--- .../transactions/types/xchainclaim.md | 8 ++-- .../transactions/types/xchaincommit.md | 8 ++-- .../transactions/types/xchaincreatebridge.md | 6 +-- .../transactions/types/xchaincreateclaimid.md | 10 ++--- .../transactions/types/xchainmodifybridge.md | 6 +-- 121 files changed, 419 insertions(+), 435 deletions(-) diff --git a/@l10n/ja/docs/references/protocol/data-types/nftoken.md b/@l10n/ja/docs/references/protocol/data-types/nftoken.md index fce32c454b..f23d74ee6f 100644 --- a/@l10n/ja/docs/references/protocol/data-types/nftoken.md +++ b/@l10n/ja/docs/references/protocol/data-types/nftoken.md @@ -27,7 +27,7 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました。)_ ## NFTokenID -NFTokenID, 任意, 文字列, Hash256 +NFTokenID, 任意, 文字列, UInt256 この複合フィールドは、トークンを一意に識別するものであり、以下のセクションから構成されます。 diff --git a/@l10n/ja/docs/references/protocol/ledger-data/common-fields.md b/@l10n/ja/docs/references/protocol/ledger-data/common-fields.md index 69b1c99523..b0cb458ee1 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/common-fields.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/common-fields.md @@ -10,7 +10,7 @@ seo: | `Field` | JSONの型 | [内部の型][] | 必須? | 説明 | |:-------------------------|:--------|:------------|:------|:------------| -| `index` or `LedgerIndex` | 文字列 | Hash256 | いいえ | このレジャーエントリの一意のID。JSONでは、このフィールドはコンテキストやAPIメソッドによって異なる名前で表現されます。(コード上では"任意(optional)"と指定されていますが、XRP Ledgerの歴史のごく初期からのレガシーデータでない限り、すべてのレジャーエントリは一意であるべきです)。 | +| `index` or `LedgerIndex` | 文字列 | UInt256 | いいえ | このレジャーエントリの一意のID。JSONでは、このフィールドはコンテキストやAPIメソッドによって異なる名前で表現されます。(コード上では"任意(optional)"と指定されていますが、XRP Ledgerの歴史のごく初期からのレガシーデータでない限り、すべてのレジャーエントリは一意であるべきです)。 | | `LedgerEntryType` | 文字列 | UInt16 | はい | レジャーエントリのタイプ。有効な[レジャーエントリのタイプ](ledger-entry-types/index.md)には`AccountRoot`、`Offer`、`RippleState`などがあります。 | | `Flags` | 数値 | UInt32 | はい | このレジャーエントリのビットフラグのセット。 | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md index df098bb930..3b7a11618e 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md @@ -40,8 +40,8 @@ labels: | フィールド | JSONの型 | [内部の型][] | 必須? | 説明 | |:------------------------------|:---------|:------------------|:------|:------| | `Account` | 文字列 | AccountID | はい | この[アカウント](../../../../concepts/accounts/index.md)を識別するための(クラシック)アドレスです。 | -| `AccountTxnID` | 文字列 | Hash256 | いいえ | このアカウントから直近に送信されたトランザクションの識別ハッシュ。このフィールドは、[`AccountTxnID`トランザクションフィールド](../../transactions/common-fields.md#accounttxnid)を使うために有効になっていなければなりません。これを有効にするには、[`asfAccountTxnID`フラグを有効にしたAccountSetトランザクション](../../transactions/types/accountset.md#accountsetのフラグ)を送信してください。 | -| `AMMID` | 文字列 | Hash256 | いいえ | _([AMM amendment][]により追加されました。)_ 対応するAMMレジャーエントリのレジャーエントリID。アカウント作成時に設定します。AMM以外のアカウントでは常に省略されます。 | +| `AccountTxnID` | 文字列 | UInt256 | いいえ | このアカウントから直近に送信されたトランザクションの識別ハッシュ。このフィールドは、[`AccountTxnID`トランザクションフィールド](../../transactions/common-fields.md#accounttxnid)を使うために有効になっていなければなりません。これを有効にするには、[`asfAccountTxnID`フラグを有効にしたAccountSetトランザクション](../../transactions/types/accountset.md#accountsetのフラグ)を送信してください。 | +| `AMMID` | 文字列 | UInt256 | いいえ | _([AMM amendment][]により追加されました。)_ 対応するAMMレジャーエントリのレジャーエントリID。アカウント作成時に設定します。AMM以外のアカウントでは常に省略されます。 | | `Balance` | 文字列 | Amount | いいえ | アカウントの現在の[drop単位のXRP残高][XRP、drop単位]で、文字列で表現されます。 | | `BurnedNFTokens` | 数値 | UInt32 | いいえ | このアカウントで発行された [非代替性トークン](../../../../concepts/tokens/nfts/index.md) のうち、バーンしたトークンの総数を表します。この数値は常に `MintedNFTokens` と同じかそれ以下となります。 | | `Domain` | 文字列 | VariableLength | いいえ | このアカウントに関連付けられたドメイン。JSONでは、ドメインのASCII表現を16進数で表現します。[256バイトを超える長さは使用できません](https://github.com/xrplf/rippled/blob/55dc7a252e08a0b02cd5aa39e9b4777af3eafe77/src/ripple/app/tx/impl/SetAccount.h#L34) | @@ -52,14 +52,14 @@ labels: | `MintedNFTokens` | 数値 | UInt32 | いいえ | このアカウントによって、またはこのアカウントのためにMintされた[非代替性トークン](../../../../concepts/tokens/nfts/index.md) の合計数。 | | `NFTokenMinter` | 文字列 | AccountID | いいえ | このアカウントに代わって[非代替性トークン](../../../../concepts/tokens/nfts/index.md)をミントできる別のアカウントを表します。 | | `OwnerCount` | 数値 | UInt32 | はい | レジャーでこのアカウントが所有しており、アカウント所有者の準備金に資金を付与するオブジェクトの数。 | -| `PreviousTxnID` | 文字列 | Hash256 | はい | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnID` | 文字列 | UInt256 | はい | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | | `PreviousTxnLgrSeq` | 数値 | UInt32 | はい | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーインデックス][]。 | | `RegularKey` | 文字列 | AccountID | いいえ | このアカウントのトランザクションに署名するときにマスターキーの代わりに使用できる[キーペア](../../../../concepts/accounts/cryptographic-keys.md)のアドレス。この値を変更するには[SetRegularKeyトランザクション][]を使用してください。 | | `Sequence` | 数値 | UInt32 | はい | このアカウントの有効な次のトランザクションの[シーケンス番号](../../data-types/basic-data-types.md#アカウントシーケンス) を表します。 | | `TicketCount` | 数値 | UInt32 | いいえ | このアカウントが台帳に保有する[チケット](../../../../concepts/accounts/tickets.md)の数です。これは、アカウントが一度に250 チケットという上限以内に留まることを保証するために自動的に更新されます。このフィールドは、チケットの数がゼロの場合は省略されます。 _([TicketBatch amendment][]により追加されました)_ | | `TickSize` | 数値 | UInt8 | いいえ | このアドレスが発行した通貨が関わるオファーの為替レートに使用する有効桁数。有効な値は`3`以上`15`以下です。_([TickSize Amendment][]により追加されました。)_ | | `TransferRate` | 数値 | UInt32 | いいえ | このアカウントが発行した通貨を他のユーザが相互に送金する際に、これらのユーザに請求する[送金手数料](../../../../concepts/tokens/transfer-fees.md)。 | -| `WalletLocator` | 文字列 | Hash256 | いいえ | ユーザが設定できる任意の256bit値。 | +| `WalletLocator` | 文字列 | UInt256 | いいえ | ユーザが設定できる任意の256bit値。 | | `WalletSize` | 数値 | UInt32 | いいえ | 未使用。(コード上ではこのフィールドをサポートしていますが、設定する方法はありません)。 | ## AMMの特殊なAccountRootエントリ diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/amendments.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/amendments.md index c78a870aac..82f16a6c80 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/amendments.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/amendments.md @@ -53,15 +53,15 @@ labels: | `Amendments` | 配列 | VECTOR256 | いいえ | _(省略可)_ 現在有効なすべてのAmendmentの256ビット[Amendment ID](../../../../concepts/networks-and-servers/amendments.md)からなる配列。省略されている場合は、有効なAmendmentがありません。 | | `Flags` | 数値 | UInt32 | はい | ブール値フラグのビットマップ。Amendmentオブジェクトタイプにはフラグが定義されていないため、この値は常に`0`です。 | | `LedgerEntryType` | 文字列 | UInt16 | はい | 値が`0x0066`(文字列`Amendments`にマッピング)の場合は、このオブジェクトがXRP **Ledgerに対するAmendmentのステータスを記述していることを示します**。 | -| `Majorities` | 配列 | STArray | いいえ | _(省略可)_ 過半数の支持を得ているがまだ有効になっていないAmendmentのステータスを記述するオブジェクトの配列。省略されている場合は、過半数の支持を得ている保留中のAmendmentがありません。 | -| `PreviousTxnID` | 文字列 | Hash256 | いいえ | このエントリを最後に変更したトランザクションの識別ハッシュ。_([fixPreviousTxnID amendment][]により追加されました。)_ | +| `Majorities` | 配列 | Array | いいえ | _(省略可)_ 過半数の支持を得ているがまだ有効になっていないAmendmentのステータスを記述するオブジェクトの配列。省略されている場合は、過半数の支持を得ている保留中のAmendmentがありません。 | +| `PreviousTxnID` | 文字列 | UInt256 | いいえ | このエントリを最後に変更したトランザクションの識別ハッシュ。_([fixPreviousTxnID amendment][]により追加されました。)_ | | `PreviousTxnLgrSeq` | 数値 | UInt32 | いいえ | このエントリを最後に変更したトランザクションが含まれる[レジャーインデックス](../ledger-header.md)。_([fixPreviousTxnID amendment][]により追加されました。)_ | `Majorities`フィールドにメンバーが含まれている場合、各メンバーは`Majority`フィールドのみが含まれているオブジェクトです。このフィールドの内容は、以下のフィールドからなるネストオブジェクトです。 | 名前 | JSONの型 | [内部の型][] | 説明 | |-------------------|----------|--------------|-------------| -| `Amendment` | 文字列 | Hash256 | 保留中のAmendmentのAmendment ID。 | +| `Amendment` | 文字列 | UInt256 | 保留中のAmendmentのAmendment ID。 | | `CloseTime` | 数値 | UInt32 | このAmendmentが最後に過半数の支持を得たレジャーバージョンの[`close_time`フィールド](../ledger-header.md)。 | [Amendmentプロセス](../../../../concepts/networks-and-servers/amendments.md#amendmentプロセス)では、80%以上のバリデータが新しいAmendmentを支持してバリデータのコンセンサスが得られると、`tfGotMajority`フラグを指定した[EnableAmendment][]疑似トランザクションを使用してこの新しいAmendmentが`Majorities`フィールドに追加されます。保留中のAmendmentの支持が80%を下回ると、`tfLostMajority`フラグが指定された[EnableAmendment][]疑似トランザクションによりそのAmendmentが`Majorities`配列から削除されます。Amendmentが`Majorities`フィールドに含まれている状態が2週間以上継続している場合、フラグが指定されていない[EnableAmendment][]疑似トランザクションによってそのAmendmentは`Majorities`から削除され、`Amendments`フィールドに恒久的に追加されます。 diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/amm.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/amm.md index 707fab3854..f55322cfd0 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/amm.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/amm.md @@ -68,12 +68,12 @@ _([AMM amendment][]により追加されました。)_ | `Asset` | オブジェクト | STIssue | はい | このAMMが保有する2つのアセットのうちの1つの定義。JSONでは、`currency`と`issuer`フィールドを持つオブジェクトになります。 | | `Asset2` | オブジェクト | STIssue | はい | このAMMが保有するもう一つの資産の定義。JSONでは、`currency`と`issuer`フィールドを持つオブジェクトになります。 | | `Account` | 文字列 | AccountID | はい | このAMMの資産を保有する[特殊なアカウント](accountroot.md#ammの特殊なaccountrootエントリ)のアドレス。 | -| `AuctionSlot` | オブジェクト | STObject | いいえ | オークションスロットの現在の所有者の詳細。[オークションスロットオブジェクト](#オークションスロットオブジェクト)形式です。| +| `AuctionSlot` | オブジェクト | Object | いいえ | オークションスロットの現在の所有者の詳細。[オークションスロットオブジェクト](#オークションスロットオブジェクト)形式です。| | `LPTokenBalance` | [通貨額][] | Amount | はい | AMMインスタンスの流動性供給者トークンの発行残高の合計。このトークンの保有者は、保有量に比例してAMMの取引手数料に投票したり、取引手数料の徴収とともに増えていくAMMの資産の一部とトークンを交換したりすることができます。 | -| `PreviousTxnID` | 文字列 | Hash256 | いいえ | このエントリを最後に変更したトランザクションの識別ハッシュ。_([fixPreviousTxnID amendment][]により追加されました。)_ | +| `PreviousTxnID` | 文字列 | UInt256 | いいえ | このエントリを最後に変更したトランザクションの識別ハッシュ。_([fixPreviousTxnID amendment][]により追加されました。)_ | | `PreviousTxnLgrSeq` | 数値 | UInt32 | いいえ | このエントリを最後に変更したトランザクションが含まれる[レジャーインデックス](../ledger-header.md)。_([fixPreviousTxnID amendment][]により追加されました。)_ | | `TradingFee` | 数値 | UInt16 | はい | AMMインスタンスに対する取引に課される手数料のパーセンテージを1/100,000の単位で指定します。最大値は1000で、これは1%の手数料となります。 | -| `VoteSlots` | 配列 | STArray | いいえ | プールの取引手数料に関する投票を表す、投票オブジェクトのリスト。| +| `VoteSlots` | 配列 | Array | いいえ | プールの取引手数料に関する投票を表す、投票オブジェクトのリスト。| ### AuctionSlotオブジェクト @@ -83,7 +83,7 @@ _([AMM amendment][]により追加されました。)_ | フィールド | JSONの型 | [内部の型][] | 必須? | 説明 | |:----------------|:--------------------|:------------------|:----------|:--| | `Account` | 文字列 - アドレス | AccountID | はい | このオークションスロットの現在の所有者。 | -| `AuthAccounts` | 配列 | STArray | いいえ | AMMインスタンスに対して取引手数料を割引した価格で取引することを許可された、最大4つの追加アカウントのリスト。 | +| `AuthAccounts` | 配列 | Array | いいえ | AMMインスタンスに対して取引手数料を割引した価格で取引することを許可された、最大4つの追加アカウントのリスト。 | | `DiscountedFee` | 文字列 | UInt32 | はい | オークションスロットの所有者に請求される取引手数料で、`TradingFee`と同じフォーマットです。これは通常の取引手数料の1/10です。 | | `Price` | [通貨額][] | Amount | はい | オークションスロットの所有者がこのスロットを落札するために支払った金額(LPトークン)。 | | `Expiration` | 文字列 | UInt32 | はい | このスロットの有効期限が切れる[Rippleエポック以降の経過秒数][]で指定した時刻。 | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/check.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/check.md index 51f1b62caa..f04e2209a8 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/check.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/check.md @@ -45,10 +45,10 @@ _([Checks Amendment][]が必要です)_ | `DestinationNode` | 文字列 | UInt64 | いいえ | _(省略可)_ 送金先の所有者ディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。 | | `DestinationTag` | 数値 | UInt32 | いいえ | _(省略可)_ このCheckの送金先(送金先アドレスのホスティングされている受取人など)を詳しく指定するための任意のタグ。 | | `Expiration` | 数値 | UInt32 | いいえ | _(省略可)_ 経過後にこのCheckが有効期限切れとみなされる時刻を示します。詳細は[時間の指定][]をご覧ください。 | -| `InvoiceID` | 文字列 | Hash256 | いいえ | _(省略可)_ このCheckの具体的な理由または識別子として送金元が指定する任意の256ビットハッシュ。 | +| `InvoiceID` | 文字列 | UInt256 | いいえ | _(省略可)_ このCheckの具体的な理由または識別子として送金元が指定する任意の256ビットハッシュ。 | | `LedgerEntryType` | 文字列 | UInt16 | はい | 値`0x0043`が文字列`Check`にマッピングされている場合は、このオブジェクトがCheckオブジェクトであることを示します。 | | `OwnerNode` | 文字列 | UInt64 | はい | 送金元の所有者ディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。**注記:** このオブジェクトには、オブジェクトを含む所有者ディレクトリへの直接リンクは含まれていません。これは、その値を`Account`から取得できるためです。 | -| `PreviousTxnID` | 文字列 | Hash256 | はい | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnID` | 文字列 | UInt256 | はい | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | | `PreviousTxnLgrSeq` | 数値 | UInt32 | はい | 最後にこのオブジェクトを変更したトランザクションを含む[レジャーインデックス][]。 | | `SendMax` | 文字列またはオブジェクト | Amount | はい | このCheckで送金元から引き落とすことができる最大通貨額。Checkの換金が成功すると、送金先に同じ通貨で最大この額までの資金が入金されます。 | | `Sequence` | 数値 | UInt32 | はい | このCheckを作成した[CheckCreateトランザクション][]のシーケンス番号。 | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/credential.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/credential.md index 32b5059f78..c4625fd9d3 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/credential.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/credential.md @@ -36,7 +36,7 @@ status: not_enabled | `Expiration` | 数値 | UInt32 | いいえ | 資格情報が期限切れとなる時間([リップルエポックからの秒数][])。 | | `Issuer` | 文字列 - [アドレス][] | AccountID | はい | この資格情報を発行したアカウント。 | | `IssuerNode` | 文字列 | UInt64 | はい | ディレクトリが複数のページで構成される場合に、発行者のディレクトリのどのページがこのエントリにリンクしているかを示すヒント。 | -| `PreviousTxnID` | 文字列 - [ハッシュ][] | Hash256 | はい | このエントリを最後に変更したトランザクションの識別ハッシュ。 | +| `PreviousTxnID` | 文字列 - [ハッシュ][] | UInt256 | はい | このエントリを最後に変更したトランザクションの識別ハッシュ。 | | `PreviousTxnLgrSeq` | 数値 | UInt32 | はい | このオブジェクトを最後に変更したトランザクションを含む[レジャーインデックス][Ledger Index]。 | | `Subject` | 文字列 - [アドレス][] | AccountID | はい | この資格情報の対象となるアカウント。 | | `SubjectNode` | 文字列 | UInt64 | はい | ディレクトリが複数のページで構成される場合に、対象の所有者ディレクトリのどのページがこのエントリにリンクしているかを示すヒント。 | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/depositpreauth.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/depositpreauth.md index e4640906a5..56479b3a3f 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/depositpreauth.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/depositpreauth.md @@ -66,7 +66,7 @@ labels: | `AuthorizeCredentials` | 配列 | Array | いいえ | 事前承認を受けた資格情報のセット。(これらの資格情報を持つアカウントは事前承認されます。)この配列の長さは最小1、最大8です。 | | `LedgerEntryType` | 文字列 | UInt16 | はい | 値`0x0070`が文字列`DepositPreauth`にマッピングされている場合は、これがDepositPreauthオブジェクトであることを示します。 | | `OwnerNode` | 文字列 | UInt64 | はい | 送金元アドレスの所有者のディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。**注記:** このオブジェクトには、オブジェクトを含む所有者ディレクトリへの直接リンクは含まれていません。これは、その値を`Account`から取得できるためです。 | -| `PreviousTxnID` | 文字列 - [ハッシュ][] | Hash256 | はい | このオブジェクトを最後に変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnID` | 文字列 - [ハッシュ][] | UInt256 | はい | このオブジェクトを最後に変更したトランザクションの識別用ハッシュ。 | | `PreviousTxnLgrSeq` | 数値 | UInt32 | はい | このオブジェクトを最後に変更したトランザクションが記録された[レジャーインデックス][]。 | 各エントリには、`Authorize`フィールドまたは`AuthorizeCredentials`フィールドのいずれかが必要ですが、両方を持つことはできません。 diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/did.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/did.md index 032ed08ce8..ed0136374c 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/did.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/did.md @@ -42,7 +42,7 @@ _([DID Amendment][])_ | `Data` | 文字列 | Blob | いいえ | DIDに関連付けられたID情報の公開証明。`Data`フィールドの有効性はチェックされず、最大長は 256 バイトに制限されます。 | | `LedgerEntryType` | 文字列 | UInt16 | はい | 文字列`DID`にマップされる値`0x0049`は、このオブジェクトがDIDオブジェクトであることを示します。 | | `OwnerNode` | 文字列 | UInt64 | はい | ディレクトリが複数のページで構成されている場合に、送信者のオーナーディレクトリのどのページがこのエントリにリンクしているかを示すヒント。 | -| `PreviousTxnID` | 文字列 | Hash256 | はい | このオブジェクトを最近変更したトランザクションの識別ハッシュ。 | +| `PreviousTxnID` | 文字列 | UInt256 | はい | このオブジェクトを最近変更したトランザクションの識別ハッシュ。 | | `PreviousTxnLgrSeq` | 数値 | UInt32 | はい | このオブジェクトを最後に変更したトランザクションを含むレジャーインデックス。 | | `URI` | 文字列 | Blob | いいえ | 対応するDIDドキュメントまたはDIDに関連付けられたデータを指すユニバーサルリソース識別子。このフィールドにはHTTP(S)URLまたはIPFS URIを指定できます。このフィールドの有効性はチェックされず、最大長は256バイトに制限されます。 | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md index a05942db7c..3f6a7b3f2b 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md @@ -101,15 +101,15 @@ labels: | `IndexNext` | 数値 | UInt64 | いいえ | (省略可)このディレクトリに複数のページが含まれている場合、このIDはチェーン内の次のオブジェクトにリンクし、末尾でラップアラウンドします。 | | `IndexPrevious` | 数値 | UInt64 | いいえ | (省略可)このディレクトリに複数のページが含まれている場合、このIDはチェーン内の前のオブジェクトにリンクし、先頭でラップアラウンドします。 | | `LedgerEntryType` | 文字列 | UInt16 | はい | 値が`0x0064`(文字列`DirectoryNode`にマッピング)の場合は、このオブジェクトがディレクトリの一部であることを示します。 | -| `NFTokenID` | 文字列 | Hash256 | いいえ |(NFTオファーディレクトリのみ) 購入または売却オファーに紐づくNFTのID。. | +| `NFTokenID` | 文字列 | UInt256 | いいえ |(NFTオファーディレクトリのみ) 購入または売却オファーに紐づくNFTのID。. | | `Owner` | 文字列 | AccountID | いいえ | (所有者ディレクトリのみ)このディレクトリ内のオブジェクトを所有するアカウントのアドレス。 | -| `PreviousTxnID` | 文字列 | Hash256 | いいえ | このエントリを最後に変更したトランザクションの識別ハッシュ。_([fixPreviousTxnID amendment][]により追加されました。)_ | +| `PreviousTxnID` | 文字列 | UInt256 | いいえ | このエントリを最後に変更したトランザクションの識別ハッシュ。_([fixPreviousTxnID amendment][]により追加されました。)_ | | `PreviousTxnLgrSeq` | 数値 | UInt32 | いいえ | このエントリを最後に変更したトランザクションが含まれる[レジャーインデックス](../ledger-header.md)。_([fixPreviousTxnID amendment][]により追加されました。)_ | -| `RootIndex` | 文字列 | Hash256 | はい | このディレクトリのルートオブジェクトのID。 | -| `TakerGetsCurrency` | 文字列 | Hash160 | いいえ | (オファーディレクトリのみ)このディレクトリのオファーのTakerGetsの額の通貨コード。 | -| `TakerGetsIssuer` | 文字列 | Hash160 | いいえ | (オファーディレクトリのみ)このディレクトリのオファーのTakerGetsの額のイシュアー。 | -| `TakerPaysCurrency` | 文字列 | Hash160 | いいえ | (オファーディレクトリのみ)このディレクトリのオファーのTakerPaysの額の通貨コード。 | -| `TakerPaysIssuer` | 文字列 | Hash160 | いいえ | (オファーディレクトリのみ)このディレクトリのオファーのTakerPaysの額のイシュアー。 | +| `RootIndex` | 文字列 | UInt256 | はい | このディレクトリのルートオブジェクトのID。 | +| `TakerGetsCurrency` | 文字列 | UInt160 | いいえ | (オファーディレクトリのみ)このディレクトリのオファーのTakerGetsの額の通貨コード。 | +| `TakerGetsIssuer` | 文字列 | UInt160 | いいえ | (オファーディレクトリのみ)このディレクトリのオファーのTakerGetsの額のイシュアー。 | +| `TakerPaysCurrency` | 文字列 | UInt160 | いいえ | (オファーディレクトリのみ)このディレクトリのオファーのTakerPaysの額の通貨コード。 | +| `TakerPaysIssuer` | 文字列 | UInt160 | いいえ | (オファーディレクトリのみ)このディレクトリのオファーのTakerPaysの額のイシュアー。 | ## {% $frontmatter.seo.title %}のフラグ diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/escrow.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/escrow.md index ff30d08dbc..351399b79d 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/escrow.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/escrow.md @@ -51,7 +51,7 @@ _([Escrow Amendment][]により追加されました。)_ | `FinishAfter` | 数値 | UInt32 | いいえ | _(省略可)_ [Rippleエポック以降の経過秒数][]で示される時刻が経過した後、保留中の支払を完了できます。この時刻より前の[EscrowFinishトランザクション][]はすべて失敗します。(特にこれは、前の検証済みレジャーの閉鎖時刻と比較されます。) | | `LedgerEntryType` | 文字列 | UInt16 | はい | 値`0x0075`が文字列`Escrow`にマッピングされている場合は、このオブジェクトが`Escrow`オブジェクトであることを示します。 | | `OwnerNode` | 文字列 | UInt64 | はい | 所有者のディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。**注記:** このオブジェクトには、オブジェクトを含む所有者ディレクトリへの直接リンクは含まれていません。これは、その値を`Account`から取得できるためです。 | -| `PreviousTxnID` | 文字列 | Hash256 | はい | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnID` | 文字列 | UInt256 | はい | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | | `PreviousTxnLgrSeq` | 数値 | UInt32 | はい | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーインデックス][]。 | | `SourceTag` | 数値 | UInt32 | いいえ | _(省略可)_ この保留中の支払の支払元(所有者のアドレスにホスティングされている受取人など)を詳しく指定するための任意のタグ。 | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md index a13c11f327..66143d69a6 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md @@ -39,7 +39,7 @@ labels: | `ReferenceFeeUnits` | 数値 | UInt32 | 「手数料単位」に変換された`BaseFee` | | `ReserveBase` | 数値 | UInt32 | XRP Ledgerのアカウントの[基本準備金](../../../../concepts/accounts/reserves.md#基本準備金と所有者準備金)(XRPのdrop数)。 | | `ReserveIncrement` | 数値 | UInt32 | 所有するオブジェクトごとに増加する[所有者準備金](../../../../concepts/accounts/reserves.md#基本準備金と所有者準備金)(XRPのdrop数)。 | -| `PreviousTxnID` | 文字列 | Hash256 | このエントリを最後に変更したトランザクションの識別ハッシュ。_([fixPreviousTxnID amendment][]により追加されました。)_ | +| `PreviousTxnID` | 文字列 | UInt256 | このエントリを最後に変更したトランザクションの識別ハッシュ。_([fixPreviousTxnID amendment][]により追加されました。)_ | | `PreviousTxnLgrSeq` | 数値 | UInt32 | このエントリを最後に変更したトランザクションが含まれる[レジャーインデックス](../ledger-header.md)。_([fixPreviousTxnID amendment][]により追加されました。)_ | {% admonition type="danger" name="警告" %}このレジャーオブジェクトのJSONフォーマットは一般的ではありません。`BaseFee`、`ReserveBase`、および`ReserveIncrement`はXRPのdrop数を示しますが、通常の[XRP指定][通貨額]フォーマットでは***ありません*** 。{% /admonition %} diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md index a788cda42d..3b61e606b1 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md @@ -43,7 +43,7 @@ _([MPTokensV1_1 amendment][]により追加されました。)_ | `MPTokenIssuanceID` | 文字列 | UInt192 | `MPTokenIssuance`の識別子。 | | `MPTAmount` | 文字列 | UInt64 | この値は、所有者が現在保有しているトークンの正の数量を指定します。このフィールドの有効な値は0x0から0x7FFFFFFFFFFFFFFFの間です。 | | `Flags` | 数値 | UInt32 | (デフォルト) [MPTokenのフラグ](#mptokenのフラグ)をご覧ください。 | -| `PreviousTxnID` | 文字列 | Hash256 | このオブジェクトを最後に変更したトランザクションのトランザクションID。 | +| `PreviousTxnID` | 文字列 | UInt256 | このオブジェクトを最後に変更したトランザクションのトランザクションID。 | | `PreviousTxnLgrSeq` | 数値 | UInt32 | このオブジェクトを最後に変更したトランザクションを含むレジャーのシーケンス番号。 | | `OwnerNode` | 文字列 | UInt64 | (デフォルト) 所有者のディレクトリでこのアイテムが参照されているページ。 | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md index fe62b6278d..15c74e96b2 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md @@ -59,7 +59,7 @@ _([MPTokensV1_1 amendment][]により追加されました。)_ | `OutstandingAmount` | 文字列 | UInt64 | すべてのトークン保有者に発行されたトークン量の合計を指定します。この値は、値が0の場合にLedger上で少ないスペースを占めるように、デフォルトタイプとしてLedgerに保存されます。この値は、発行者が非発行者アカウントにMPTを支払うたびに増加し、非発行者が発行アカウントにMPTを支払うたびに減少します。 | | `TransferFee` | 数値 | UInt16 | この値は、トークンの二次販売が許可されている場合に、発行者が課す手数料をベーシスポイントの10分の1単位で指定します。このフィールドの有効な値は0から50,000までです。値1は1/10ベーシスポイントまたは0.001%に相当し、0%から50%までの手数料設定を可能にします。50,000の`TransferFee`は50%に相当します。このフィールドのデフォルト値は0です。転送手数料の小数点以下は切り捨てられます。支払いが小さい場合、手数料は0に切り捨てられる可能性があります。発行者は、MPTの`AssetScale`が十分に大きいことを確認する必要があります。 | | `MPTokenMetadata` | 文字列 | Blob | この発行に関する任意のメタデータで、16進数形式です。このフィールドの制限は1024バイトです。 | -| `PreviousTxnID` | 文字列 | Hash256 | このオブジェクトを最後に変更したトランザクションのトランザクションID。 | +| `PreviousTxnID` | 文字列 | UInt256 | このオブジェクトを最後に変更したトランザクションのトランザクションID。 | | `PreviousTxnLgrSeq` | 数値 | UInt32 | このオブジェクトを最後に変更したトランザクションを含むレジャーのシーケンス番号。 | | `OwnerNode` | 文字列 | UInt64 | このアイテムが参照されている所有者のディレクトリのページ。 | | `Sequence` | 数値 | UInt32 | 特定の送信者からの発行が、Issuanceが後で削除された場合でも一度しか存在できないことを保証するために使用される32ビットの符号なし整数。新しい発行が作成されるたびに、この値はアカウントの現在の`Sequence`番号と一致する必要があります。`Tickets`は通常の順序外でトランザクションを送信できるように、これらのルールから一部例外を設けています。`Tickets`は後で使用するために予約されたシーケンス番号を表します。トランザクションは通常のアカウントSequence番号の代わりに`Ticket`を使用できます。MPTを作成するトランザクションがレジャーに含まれるたびに、トランザクションが正常に実行されたか、tecクラスのエラーコードで失敗したかに関係なく、シーケンス番号(またはTicket)が使用されます。その他のトランザクションの失敗はレジャーに含まれないため、送信者のシーケンス番号は変更されません(また、他の影響もありません)。未確認のMPT作成トランザクションが同じIssuerとシーケンス番号を持つことは可能です。そのようなトランザクションは相互に排他的であり、検証済みレジャーに含まれるのは最大で1つだけです。(他のトランザクションは最終的に効果がありません。) | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md index 006d6f9855..89fcefb25d 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md @@ -42,7 +42,7 @@ _([NegativeUNL amendment][]により追加されました。)_ | `DisabledValidators` | 配列 | Array | いいえ | `DisabledValidator`オブジェクト(下記参照)は、現在無効になっている信頼できるバリデータを表すリストです。 | | `Flags` | 数値 | UInt32 | はい | 真偽値フラグのビットマップ。NegativeUNLオブジェクトタイプにはフラグが定義されていないため、この値は常に`0`となります。 | | `LedgerEntryType` | 文字列 | UInt16 | はい | `0x004E`は文字列`NegativeUNL`に対応し、このオブジェクトがNegativeUNLであることを意味します。 | -| `PreviousTxnID` | 文字列 | Hash256 | いいえ | このエントリを最後に変更したトランザクションの識別ハッシュ。_([fixPreviousTxnID amendment][]により追加されました。)_ | +| `PreviousTxnID` | 文字列 | UInt256 | いいえ | このエントリを最後に変更したトランザクションの識別ハッシュ。_([fixPreviousTxnID amendment][]により追加されました。)_ | | `PreviousTxnLgrSeq` | 数値 | UInt32 | いいえ | このエントリを最後に変更したトランザクションが含まれる[レジャーインデックス](../ledger-header.md)。_([fixPreviousTxnID amendment][]により追加されました。)_ | | `ValidatorToDisable` | 文字列 | Blob | いいえ | 次回のフラグレジャーで無効化される予定の信頼できるバリデータの公開鍵を表します。 | | `ValidatorToReEnable` | 文字列 | Blob | いいえ | 次回のフラグレジャーで再有効化される予定のネガティブUNLの信頼できるバリデータの公開鍵を表します。 | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md index 70bda9604b..867195201e 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md @@ -39,11 +39,11 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました)_ | `Expiration` | 数値 | UInt32 | いいえ | オファーが有効でなくなる時刻。値は、リップルエポックからの秒数です。 | | `Flags` | 数値 | UInt32 | はい | このオブジェクトに関連付けられたフラグのセットで、様々なオプションや設定を指定するために使用されます。フラグは、以下の表に示すとおりです。 | | `LedgerEntryType` | 文字列 | UInt16 | はい | レジャーオブジェクトの種類を示します(0x0074)。 | -| `NFTokenID` | 文字列 | Hash256 | はい | このオファーが参照するNFTokenオブジェクトのNFTokenID。 | +| `NFTokenID` | 文字列 | UInt256 | はい | このオファーが参照するNFTokenオブジェクトのNFTokenID。 | | `NFTokenOfferNode` | 文字列 | UInt64 | いいえ | トークン購入または売却のオファーディレクトリの中で、このトークンが記録されている内部的な台帳です。このフィールドを使用することで、オファーを効率的に削除することができます。 | | `Owner` | 文字列 | AccountID | はい | オファーの作成者であり、所有者であるアカウント。NFTokenの現在の所有者のみがNFTokenの売却オファーを作成できますが、NFTokenの購入オファーはどのアカウントでも作成できます。 | | `OwnerNode` | 文字列 | UInt64 | いいえ | このトークンが記録されているオーナーディレクトリ内のページを示す、内部的な台帳です。このフィールドを使用することで、オファーを効率的に削除することができます。 | -| `PreviousTxnID` | 文字列 | Hash256 | はい | このオブジェクトを最も最近更新したトランザクションの識別ハッシュ。 | +| `PreviousTxnID` | 文字列 | UInt256 | はい | このオブジェクトを最も最近更新したトランザクションの識別ハッシュ。 | | `PreviousTxnLgrSeq` | 数値 | UInt32 | はい | このオブジェクトを最も最近更新したトランザクションを含むレジャーのインデックス。 | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md index 64b4e72022..a5687f6085 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md @@ -47,10 +47,10 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました)_ | 名前 | JSONの型 | [内部の型][] | 必須? | 説明 | |:--------------------|:----------|:-----------|:----------|:------------| | `LedgerEntryType` | 文字列 | UInt16 | はい | レジャーオブジェクトのタイプを識別文字列です。予約されているレジャーの種類は、0x0050です。| -| `NextPageMin` | 文字列 | Hash256 | いいえ | 次のページの位置情報(もしあれば)。このフィールドの使用方法は、NFTokenオブジェクトの追加の項に記載しています。| +| `NextPageMin` | 文字列 | UInt256 | いいえ | 次のページの位置情報(もしあれば)。このフィールドの使用方法は、NFTokenオブジェクトの追加の項に記載しています。| | `NFTokens` | オブジェクト | TOKEN | はい | このNFTokenPageオブジェクトに含まれる`NFToken`オブジェクトのコレクション。本仕様では、1ページあたり32のNFTokenオブジェクトを上限としています。オブジェクトは、`NFTokenID`をソートパラメータとして使用して、低いものから高いものへとソートされた順序で格納されています。| -| `PreviousPageMin` | 文字列 | Hash256 | いいえ | 前のページの位置情報(もしあれば)。このフィールドの使用方法は、NFTokenオブジェクトの追加の項に記載しています。| -| `PreviousTxnID` | 文字列 | HASH256 | いいえ | このNFTokenPageオブジェクトを最も最近変更したトランザクションのトランザクションIDの情報を示します。| +| `PreviousPageMin` | 文字列 | UInt256 | いいえ | 前のページの位置情報(もしあれば)。このフィールドの使用方法は、NFTokenオブジェクトの追加の項に記載しています。| +| `PreviousTxnID` | 文字列 | UInt256 | いいえ | このNFTokenPageオブジェクトを最も最近変更したトランザクションのトランザクションIDの情報を示します。| | `PreviousTxnLgrSeq` | 数値 | UInt32 | いいえ | このNFTokenPageオブジェクトを最も最近変更したトランザクションを含むレジャーのシーケンスを示します。| diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/offer.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/offer.md index 404751115b..d38cd51b08 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/offer.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/offer.md @@ -43,13 +43,13 @@ labels: | 名前 | JSONの型 | [内部の型][] | 必須? | 説明 | |-------------------|-----------|-----------|------|-------| | `Account` | 文字列 | AccountID | はい | このオファーを所有するアカウントのアドレス。 | -| `BookDirectory` | 文字列 | Hash256 | はい | このオファーにリンクしている[オファーディレクトリー](directorynode.md)のID。 | +| `BookDirectory` | 文字列 | UInt256 | はい | このオファーにリンクしている[オファーディレクトリー](directorynode.md)のID。 | | `BookNode` | 文字列 | UInt64 | はい | Offerディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒント。 | | `Expiration` | 数値 | UInt32 | いいえ | (省略可)このオファーが資金不足とみなされる時刻。詳細は、[時間の指定][]をご覧ください。 | | `Flags` | 数値 | UInt32 | はい | このオファーに対して有効になっているブール値フラグのビットマップ。 | | `LedgerEntryType` | 文字列 | UInt16 | はい | 値が`0x006F`(文字列`Offer`にマッピング)の場合は、このオブジェクトが通貨取引オーダーを記述することを示す。 | | `OwnerNode` | 文字列 | UInt64 | はい | 所有者ディレクトリーが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒント。**注記:** このオファーには、オファーを含む所有者ディレクトリーへの直接リンクは含まれていません。これは、その値を`Account`から取得できるためです。 | -| `PreviousTxnID` | 文字列 | Hash256 | はい | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnID` | 文字列 | UInt256 | はい | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | | `Sequence` | 数値 | UInt32 | はい | `Offer`オブジェクトを作成した[OfferCreate][]トランザクションの`Sequence`値。`Account`とこのフィールドの組み合わせによってこのオファーが識別されます。 | | `PreviousTxnLgrSeq` | 数値 | UInt32 | はい | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーインデックス][]。 | | `TakerPays` | 文字列またはオブジェクト | Amount | はい | オファー作成者がリクエストする残額と通貨の種類。 | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md index de01b067ef..68f9ebd471 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md @@ -54,7 +54,7 @@ _([PayChan Amendment][]により追加されました。)_ | `Expiration` | 数値 | UInt32 | いいえ | _(省略可)_ このPayment Channelの変更可能な有効期限([Rippleエポック以降の経過秒数][])。この値が指定されており、前のレジャーの[`close_time`フィールド](../ledger-header.md)よりも小さい場合、Channelは有効期限切れです。詳細は、[Channel有効期限の設定](#channel有効期限の設定)をご覧ください。 | | `LedgerEntryType` | 文字列 | UInt16 | はい | 値`0x0078`が文字列`PayChannel`にマッピングされている場合は、このオブジェクトがPayment Channelオブジェクトであることを示します。 | | `OwnerNode` | 文字列 | UInt64 | はい | 支払元アドレスの所有者のディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。 | -| `PreviousTxnID` | 文字列 | Hash256 | はい | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnID` | 文字列 | UInt256 | はい | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | | `PreviousTxnLgrSeq` | 数値 | UInt32 | はい | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーインデックス][]。 | | `PublicKey` | 文字列 | PubKey | はい | このChannelに対するクレームの署名に使用できるキーペアの公開鍵(16進数)。有効なsecp256k1公開鍵またはEd25519公開鍵を指定できます。Channelを作成したトランザクションによって設定されます。Channelに対するクレームに使用される公開鍵と一致している必要があります。Channelの支払元アドレスは、署名付きクレームなしでこのChannelから宛先にXRPを送金することもできます。 | | `SettleDelay` | 数値 | UInt32 | はい | ChannelにXRPがまだある場合に、支払元アドレスがそのChannelを閉鎖するまでに待機する秒数。値が小さい場合、支払元アドレスがChannelの閉鎖を要求した後で、宛先アドレスが未処理のクレームを精算できる時間が短くなります。32ビットの符号なし整数に収まる値(0~2^32-1)であれば任意の値を指定できます。これは、Channelを作成するトランザクションにより設定されます。 | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md index 831bb9fe5c..ec71379437 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md @@ -64,7 +64,7 @@ labels: | `LowNode` | 文字列 | UInt64 | はい | (一部の履歴レジャーでは省略されます)低位アカウントの所有者ディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。 | | `LowQualityIn` | 数値 | UInt32 | いいえ | (省略可)暗黙の比率(LowQualityIn:1,000,000,000)で整数として低位アカウントにより設定された着信品質。値が0の場合は10億または額面価格と同等です。 | | `LowQualityOut` | 数値 | UInt32 | いいえ | (省略可)暗黙の比率(LowQualityOut:1,000,000,000)で整数として低位アカウントにより設定された発信品質。値が0の場合は10億または額面価格と同等です。 | -| `PreviousTxnID` | 文字列 | Hash256 | はい | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnID` | 文字列 | UInt256 | はい | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | | `PreviousTxnLgrSeq` | 数値 | UInt32 | はい | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーインデックス][]。 | ## RippleStateのフラグ diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md index 90e4280216..930a9a9907 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md @@ -57,7 +57,7 @@ _([MultiSign Amendment][]により追加されました。)_ |:--------------------|:----------|:--------------|:---------------------------| | `LedgerEntryType` | 文字列 | UInt16 | 値が`0x0053`(文字列`SignerList`にマッピング)の場合は、これがSignerListオブジェクトであることを示します。 | | `Flags` | 数値 | UInt32 | このSignerListに対して有効になっているブール値フラグのビットマップ。詳細は、[SignerListのフラグ](#signerlistのフラグ)をご覧ください。 | -| `PreviousTxnID` | 文字列 | Hash256 | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | +| `PreviousTxnID` | 文字列 | UInt256 | 最後にこのオブジェクトを変更したトランザクションの識別用ハッシュ。 | | `PreviousTxnLgrSeq` | 数値 | UInt32 | 最後にこのオブジェクトを変更したトランザクションが記録された[レジャーインデックス][]。 | | `OwnerNode` | 文字列 | UInt64 | 所有者ディレクトリーが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。 | | `SignerEntries` | 配列 | 配列 | この署名者リストに記載されている署名者を表すSignerEntryオブジェクトの配列。 | @@ -74,7 +74,7 @@ _([MultiSign Amendment][]により追加されました。)_ |:---------------|:----------|:--------------|:--------------------------------| | `Account` | 文字列 | AccountID | 署名がマルチシグに提供されるXRP Ledgerアドレス。レジャーの資金供給のあるアドレスである必要はありません。 | | `SignerWeight` | 数値 | UInt16 | この署名者による署名の重み。マルチシグは、付与された署名の重みの合計がSignerListの`SignerQuorum`値を超えている場合にのみ有効となります。 | -| `WalletLocator` | 文字列 | Hash256 | (省略可)任意の16進数データ。これは署名者を識別するため、または他の関連する目的のために使用することができます。[ExpandedSignerList amendment][]により追加されました。 | +| `WalletLocator` | 文字列 | UInt256 | (省略可)任意の16進数データ。これは署名者を識別するため、または他の関連する目的のために使用することができます。[ExpandedSignerList amendment][]により追加されました。 | マルチシグトランザクションを処理する際に、サーバはトランザクション実行時にレジャーに関する`Account`値を間接参照します。アドレスが資金供給のある[AccountRootオブジェクト](accountroot.md)に対応して _いない_ 場合、そのアドレスに関連付けられているマスターシークレットによってのみ有効な署名を生成できます。アカウントがレジャーに _確かに_ 存在している場合は、アカウントの状態により異なります。アカウントにレギュラーキーが設定されている場合はレギュラーキーを使用できます。アカウントのマスターキーが無効化されていない場合に限り、アカウントのマスターキーを使用できます。マルチシグを別のマルチシグの一部として使用することはできません。 diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md index 1eaa52ff30..4cdaee975e 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md @@ -37,7 +37,7 @@ _([TicketBatch amendment][]が必要です)_ | `Account` | 文字列 | AccountID | はい | このチケットを所有する[アカウント](../../../../concepts/accounts/index.md)です。 | | `LedgerEntryType` | 文字列 | UInt16 | はい | 文字列`Ticket`にマッピングされた値`0x0054`は、このオブジェクトが {% $frontmatter.seo.title %}エントリであることを示しています。 | | `OwnerNode` | 文字列 | UInt64 | はい | 送金元の所有者ディレクトリが複数ページで構成されている場合に、このオブジェクトにリンクしているページを示すヒントです。注記: このオブジェクトには、オブジェクトを含む所有者ディレクトリへの直接リンクは含まれていません。これは、その値を`Account`から取得できるためです。 | -| `PreviousTxnID` | 文字列 | Hash256 | はい | 最後にこのオブジェクトを変更した[トランザクション](../../../../concepts/transactions/index.md)の識別用ハッシュ。 | +| `PreviousTxnID` | 文字列 | UInt256 | はい | 最後にこのオブジェクトを変更した[トランザクション](../../../../concepts/transactions/index.md)の識別用ハッシュ。 | | `PreviousTxnLgrSeq` | 数値 | UInt32 | はい | 最後にこのオブジェクトを変更したトランザクションを含む[レジャーインデックス][Ledger Index]。 | | `TicketSequence` | 数値 | UInt32 | はい | 本チケットが設定する[シーケンス番号][]。 | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedclaimid.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedclaimid.md index 642a26540e..838e9eafcb 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedclaimid.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedclaimid.md @@ -74,7 +74,7 @@ _([XChainBridge Amendment][] {% not-enabled /%} が必要です)_ | フィールド | JSONの型 | [内部の型][] | 必須? | 説明 | |:--------------------------|:-------------|:--------------|:-----|:----| | `Account` | 文字列 | Account | はい | このオブジェクトを所有するアカウント。 | -| `LedgerIndex` | 文字列 | Hash256 | はい | レジャーインデックスは、`XChainOwnedClaimID`の一意な接頭辞、`XChainClaimID`の実際の値、`XChainBridge`のフィールドのハッシュです。 | +| `LedgerIndex` | 文字列 | UInt256 | はい | レジャーインデックスは、`XChainOwnedClaimID`の一意な接頭辞、`XChainClaimID`の実際の値、`XChainBridge`のフィールドのハッシュです。 | | `OtherChainSource` | 文字列 | Account | はい | 送信元チェーンで対応する`XChainCommit`を送信する必要があるアカウント。つまり、`OtherChainSource`が指定されていないと、別のアカウントが別の送信先を指定して資金を盗もうとする可能性があるということです。また、どのアカウントが`XChainCommit`トランザクションを送信するのかが分かるので、単一の署名セットのみを追跡することもできます。 | | `SignatureReward` | [通貨額][] | Amount | はい | Witnessサーバに支払う署名報酬の合計額。`Bridge`レジャー帳オブジェクトの`SignatureReward`の値以上でなければなりません。 | | `XChainBridge` | XChainBridge | XChain_Bridge | はい | このオブジェクトに紐づくブリッジのドアアカウントと資産。 | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedcreateaccountclaimid.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedcreateaccountclaimid.md index c62947aab8..f2f69edb5f 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedcreateaccountclaimid.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedcreateaccountclaimid.md @@ -59,7 +59,7 @@ _([XChainBridge Amendment][] {% not-enabled /%} が必要です)_ | フィールド | JSONの型 | [内部の型][] | 必須? | 説明 | |:----------------------------------|:-------------|:--------------|:------|:------------| | `Account` | 文字列 | Account | はい | このオブジェクトを所有するアカウント。 | -| `LedgerIndex` | 文字列 | Hash256 | はい | レジャーインデックスは、`XChainOwnedCreateAccountClaimID`の一意な接頭辞、`XChainAccountClaimCount`の実際の値、`XChainBridge`のフィールドのハッシュです。 | +| `LedgerIndex` | 文字列 | UInt256 | はい | レジャーインデックスは、`XChainOwnedCreateAccountClaimID`の一意な接頭辞、`XChainAccountClaimCount`の実際の値、`XChainBridge`のフィールドのハッシュです。 | | `XChainAccountCreateCount` | 数値 | UInt64 | はい | クロスチェーン送金で作成されたアカウントの実行順序を決める整数。小さい数字は大きい数字より先に実行されなければなりません。 | | `XChainBridge` | XChainBridge | XChain_Bridge | はい | このオブジェクトに紐づくブリッジのドアアカウントと資産。 | | `XChainCreateAccountAttestations` | 配列 | Array | はい | Witnessサーバから収集された証明。これには、署名されたメッセージの再作成に必要なパラメータが含まれます。これには、その署名の量、どのチェーン(ロックまたは発行)、任意の宛先、報酬アカウントなどが含まれます。 | diff --git a/@l10n/ja/docs/references/protocol/ledger-data/ledger-header.md b/@l10n/ja/docs/references/protocol/ledger-data/ledger-header.md index 1aa674535f..de6b766ae8 100644 --- a/@l10n/ja/docs/references/protocol/ledger-data/ledger-header.md +++ b/@l10n/ja/docs/references/protocol/ledger-data/ledger-header.md @@ -15,13 +15,13 @@ labels: | フィールド | JSONの型 | [内部の型][] | 説明 | |:-----------------------------|:----------|:------------------|:--------------| | `ledger_index` | 文字列 | UInt32 | レジャーの[レジャーインデックス][レジャーインデックス]。APIメソッドの中には、この番号を引用符で囲んだ整数として表示するメソッドと、ネイティブJSON数値として表示するメソッドがあります。 | -| `ledger_hash` | 文字列 | Hash256 | このレジャーバージョンの[SHA-512ハーフ][]。これは、このレジャーとそのすべての内容の一意のIDとして機能します。 | -| `account_hash` | 文字列 | Hash256 | このレジャーの状態ツリー情報の[SHA-512ハーフ][]。 | +| `ledger_hash` | 文字列 | UInt256 | このレジャーバージョンの[SHA-512ハーフ][]。これは、このレジャーとそのすべての内容の一意のIDとして機能します。 | +| `account_hash` | 文字列 | UInt256 | このレジャーの状態ツリー情報の[SHA-512ハーフ][]。 | | `close_time` | 数値 | UInt32 | このレジャーバージョンが閉鎖されたおおよその時刻。Rippleエポック(2000-01-01 00:00:00)以降の経過秒数として示されます。この値は、`close_time_resolution`に基づいて丸められます。 | | `closed` | ブール値 | ブール値 | `true`の場合、このレジャーバージョンはこれ以上新しいトランザクションを受け入れません。(ただし、このレジャーバージョンが未検証の場合は、一連の異なるトランザクションが記録されている別のレジャーバージョンに置き換えられることがあります。) | -| `parent_hash` | 文字列 | Hash256 | このバージョンの直前のレジャーバージョンの`ledger_hash`値。直前のレジャーインデックスの異なるバージョンが存在している場合、これはレジャーの生成元を示します。 | +| `parent_hash` | 文字列 | UInt256 | このバージョンの直前のレジャーバージョンの`ledger_hash`値。直前のレジャーインデックスの異なるバージョンが存在している場合、これはレジャーの生成元を示します。 | | `total_coins` | 文字列 | UInt64 | レジャーのアカウントが保有するXRPの[XRPのdrop数][]の合計。トランザクション手数料により消却されたXRPは除外されます。一部のアカウントは、そのキーを知っている人がいない「ブラックホール」アカウントであるため、流通している実際のXRPの量はこれよりも少なくなります。 | -| `transaction_hash` | 文字列 | Hash256 | このレジャーに記録されているトランザクションの[SHA-512ハーフ][]。 | +| `transaction_hash` | 文字列 | UInt256 | このレジャーに記録されているトランザクションの[SHA-512ハーフ][]。 | | `close_time_resolution` | 数値 | Uint8 | `close_time`を丸めるときの最大秒数を示す範囲[2,120]内の整数。 | | [`closeFlags`](#closeフラグ) | (省略) | UInt8 | このレジャーの閉鎖に関連するフラグのビットマップ。 | diff --git a/@l10n/ja/docs/references/protocol/transactions/common-fields.md b/@l10n/ja/docs/references/protocol/transactions/common-fields.md index 68791a3dfa..45ff14501e 100644 --- a/@l10n/ja/docs/references/protocol/transactions/common-fields.md +++ b/@l10n/ja/docs/references/protocol/transactions/common-fields.md @@ -16,7 +16,7 @@ labels: | TransactionType | 文字列 | UInt16 | _(必須)_ トランザクションのタイプ。有効なタイプは、`Payment`、`OfferCreate`、`OfferCancel`、`TrustSet`、`AccountSet`、`SetRegularKey`、`SignerListSet`、`EscrowCreate`、`EscrowFinish`、`EscrowCancel`、`PaymentChannelCreate`、`PaymentChannelFund`、`PaymentChannelClaim`、`DepositPreauth`です。 | | Fee | 文字列 | Amount | _(必須。[自動入力可能][])_ 整数で表したXRPの額(drop単位)。このトランザクションをネットワークに送信するためのコストとして消却されます。トランザクションのタイプによっては、最小要件が異なります。詳細は、[トランザクションコスト][]をご覧ください。 | | Sequence | 符号なし整数 | UInt32 | _(必須。[自動入力可能][])_ トランザクションを開始したアカウントに関連付けられた、トランザクションのシーケンス番号。トランザクションが有効とみなされるのは、その`Sequence`番号が、同一のアカウントの直前トランザクションよりも1大きい場合のみです。保留中のトランザクションを`Sequence`番号を使用して無効にする方法については、[トランザクションのキャンセルまたはスキップ](../../../concepts/transactions/finality-of-results/canceling-a-transaction.md)をご覧ください。 | -| [AccountTxnID][] | 文字列 | Hash256 | _(省略可)_ 別のトランザクションを識別するためのハッシュ値。このハッシュがある場合、このトランザクションが有効になるのは、送信側のアカウントの直前送信トランザクションがこのハッシュと一致しているときのみです。 | +| [AccountTxnID][] | 文字列 | UInt256 | _(省略可)_ 別のトランザクションを識別するためのハッシュ値。このハッシュがある場合、このトランザクションが有効になるのは、送信側のアカウントの直前送信トランザクションがこのハッシュと一致しているときのみです。 | | [Flags][] | 符号なし整数 | UInt32 | _(省略可)_ このトランザクションのビットフラグのセット。 | | LastLedgerSequence | 数値 | UInt32 | _(省略可。使用を強く推奨)_ このトランザクションを登録できるレジャーインデックスの最大値。このフィールドを指定することにより、トランザクションが検証または拒否されるのを待たなければならない期間の上限を設定することができます。詳細は、[信頼できるトランザクションの送信](../../../concepts/transactions/reliable-transaction-submission.md)をご覧ください。 | | [`NetworkID`](#networkidフィールド) | Number | UInt32 | _(Network-specific)_ The network ID of the chain this transaction is intended for. **MUST BE OMITTED** for Mainnet and some test networks. **REQUIRED** on chains whose network ID is 1025 or higher. | @@ -32,7 +32,7 @@ labels: [Memos]: #memosフィールド [Signers]: #signersフィールド -{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.28.0" %}削除: rippled 0.28.0{% /badge %}: トランザクションの`PreviousTxnID`フィールドは、[AccountTxnID][]フィールドに置き換えられました。この文字列/Hash256フィールドは、過去に発生したトランザクションの一部に記述されています。このフィールドは、一部の[レジャーオブジェクト](../ledger-data/index.md)にある`PreviousTxnID`という同じ名前のフィールドとは無関係です。 +{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.28.0" %}削除: rippled 0.28.0{% /badge %}: トランザクションの`PreviousTxnID`フィールドは、[AccountTxnID][]フィールドに置き換えられました。この文字列/UInt256フィールドは、過去に発生したトランザクションの一部に記述されています。このフィールドは、一部の[レジャーオブジェクト](../ledger-data/index.md)にある`PreviousTxnID`という同じ名前のフィールドとは無関係です。 ## AccountTxnID diff --git a/@l10n/ja/docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md b/@l10n/ja/docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md index ab748cc202..78779bb341 100644 --- a/@l10n/ja/docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md +++ b/@l10n/ja/docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md @@ -14,7 +14,7 @@ labels: | フィールド | JSONの型 | [内部の型][] | 説明 | |:---------------|:----------|:------------------|:----------------------------| -| Amendment | 文字列 | Hash256 | Amendmentの一意のID。人間が読み取れる形式の名前ではありません。既知のAmendmentのリストについては、[Amendment](../../../../concepts/networks-and-servers/amendments.md)をご覧ください。 | +| Amendment | 文字列 | UInt256 | Amendmentの一意のID。人間が読み取れる形式の名前ではありません。既知のAmendmentのリストについては、[Amendment](../../../../concepts/networks-and-servers/amendments.md)をご覧ください。 | | LedgerSequence | 数値 | UInt32 | Amendmentが含まれているレジャーバージョンのインデックス。これにより、この疑似トランザクションと別途発生する同様の変更が区別されます。 | ## EnableAmendment Flags diff --git a/@l10n/ja/docs/references/protocol/transactions/types/accountset.md b/@l10n/ja/docs/references/protocol/transactions/types/accountset.md index 70b0606201..aa629b5bab 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/accountset.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/accountset.md @@ -40,7 +40,7 @@ AccountSetトランザクションは、[XRP Ledgerのアカウント](../../led | [`SetFlag`](#accountsetのフラグ) | 数値 | UInt32 | _(省略可)_ このアカウントについてオプションを有効にするための整数フラグ。 | | [`TransferRate`](#transferrate) | 符号なし整数 | UInt32 | _(省略可)_ ユーザがこのアカウントのトークンを送金するときに請求される手数料。通貨単位の10億分の1で表現されます。手数料なしを意味する特殊なケースの`0`を除いて、`2000000000`より大きくしたり、`1000000000`より小さくしたりすることはできません。 | | [`TickSize`](../../../../concepts/tokens/decentralized-exchange/ticksize.md) | 符号なし整数 | UInt8 | _(省略可)_このアドレスによって発行されている通貨が関係するオファーに使用する為替レートの呼値の単位。それらのオファーの為替レートは、この有効桁数へと丸められます。有効な値は`3`から`15`、または無効にするための`0`です_([TickSize Amendment][]により追加されました)。_ | -| `WalletLocator` | 文字列 | Hash256 | _(省略可)_ 任意の256ビット値です。指定された場合、この値はアカウントの設定の一部として保存さ れますが、固有の定義や要件を持ちません。 | +| `WalletLocator` | 文字列 | UInt256 | _(省略可)_ 任意の256ビット値です。指定された場合、この値はアカウントの設定の一部として保存さ れますが、固有の定義や要件を持ちません。 | | `WalletSize` | 数値 | UInt32 | _(省略可)_ 使用されません。このフィールドはAccountSetトランザクションで有効ですが、何の機能もありません | これらのオプションがいずれも指定されていない場合、AccountSetトランザクションは(取引コストの消却以外に)意味がありません。詳細は、[トランザクションのキャンセルまたはスキップ](../../../../concepts/transactions/finality-of-results/canceling-a-transaction.md)をご覧ください。 diff --git a/@l10n/ja/docs/references/protocol/transactions/types/ammbid.md b/@l10n/ja/docs/references/protocol/transactions/types/ammbid.md index 11afc73b06..6a72a781ae 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/ammbid.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/ammbid.md @@ -60,7 +60,7 @@ AMMのLPトークンを使って落札すると、落札に利用したLPトー | `Asset2` | オブジェクト | STIssue | はい | AMMのプールにあるもう一つのアセットの定義です。JSONでは、`currency`と`issuer`フィールドを持つオブジェクトになります(XRPの場合は`issuer`を省略します)。 | | `BidMin` | [通貨額][] | Amount | いいえ | スロットに支払う最小の金額。この値を高く設定すると、他の人から競り落とされにくくなります。省略された場合は、落札に必要な最低額を支払います。 | | `BidMax` | [通貨額][] | Amount | いいえ | スロットに支払う最大の金額。落札するためのコストがこの金額より高い場合、取引は失敗します。省略された場合は、落札に必要な金額を支払います。 | -| `AuthAccounts` | 配列 | STArray | いいえ | 割引料金で取引を許可する最大4つの追加のアカウントのリスト。これには、トランザクション送信者のアドレスは含めることはできません。これらのオブジェクトはそれぞれ[Auth Accountオブジェクト](#auth-accountオブジェクト)である必要があります。. | +| `AuthAccounts` | 配列 | Array | いいえ | 割引料金で取引を許可する最大4つの追加のアカウントのリスト。これには、トランザクション送信者のアドレスは含めることはできません。これらのオブジェクトはそれぞれ[Auth Accountオブジェクト](#auth-accountオブジェクト)である必要があります。. | ### Auth Accountオブジェクト diff --git a/@l10n/ja/docs/references/protocol/transactions/types/checkcancel.md b/@l10n/ja/docs/references/protocol/transactions/types/checkcancel.md index 16bc89e775..3b0eb19bb1 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/checkcancel.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/checkcancel.md @@ -29,7 +29,7 @@ _([Checks Amendment][]が必要です)_ | フィールド | JSONの型 | [内部の型][] | 説明 | |:------------|:----------|:------------------|:-------------------------------| -| `CheckID` | 文字列 | Hash256 | 取り消す[Checkレジャーオブジェクト](../../ledger-data/ledger-entry-types/check.md)のID(64文字の16進文字列)。 | +| `CheckID` | 文字列 | UInt256 | 取り消す[Checkレジャーオブジェクト](../../ledger-data/ledger-entry-types/check.md)のID(64文字の16進文字列)。 | ## エラーケース diff --git a/@l10n/ja/docs/references/protocol/transactions/types/checkcash.md b/@l10n/ja/docs/references/protocol/transactions/types/checkcash.md index 6f1913186a..8d56f10004 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/checkcash.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/checkcash.md @@ -32,7 +32,7 @@ Checkに相当する資金があるとは保証されないため、送金元に | フィールド | JSONの型 | [内部の型][] | 説明 | |:-------------|:--------------------|:------------------|:--------------------| -| `CheckID` | 文字列 | Hash256 | 換金する[Checkレジャーオブジェクト](../../ledger-data/ledger-entry-types/check.md)のID(64文字の16進文字列)。 | +| `CheckID` | 文字列 | UInt256 | 換金する[Checkレジャーオブジェクト](../../ledger-data/ledger-entry-types/check.md)のID(64文字の16進文字列)。 | | `Amount` | [通貨額][] | Amount | _(省略可)_ 可能であればCheckを厳密にこの額で清算します。通貨は対応するCheckCreateトランザクションの`SendMax`の通貨と一致している必要があります。このフィールドまたは`DeliverMin`のいずれかを指定する必要があります。 | | `DeliverMin` | [通貨額][] | Amount | _(省略可)_ Checkをこの額以上の可能な限りの額で清算します。通貨は対応するCheckCreateトランザクションの`SendMax`の通貨と一致している必要があります。このフィールドまたは`Amount`のいずれかを指定する必要があります。 | diff --git a/@l10n/ja/docs/references/protocol/transactions/types/checkcreate.md b/@l10n/ja/docs/references/protocol/transactions/types/checkcreate.md index af6026cb05..856564ba41 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/checkcreate.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/checkcreate.md @@ -37,7 +37,7 @@ _([Checks Amendment][]が必要です)_ | `SendMax` | [通貨額][] | Amount | Checkで送金元から引き落とすことができる送金元通貨の最大額(XRP以外の通貨の[送金手数料](../../../../concepts/tokens/transfer-fees.md)を含む)。Checkは同一通貨の送金先にのみ入金可能です(XRP以外の通貨の場合は同一イシュアーから)。XRP以外の金額の場合、入れ子フィールドの名前にはアルファベットの小文字のみ使用してください。 | | `DestinationTag` | 数値 | UInt32 | _(省略可)_ Checkの理由を明確にする任意のタグ、または支払先となる、ホスティングされている受取人。 | | `Expiration` | 数値 | UInt32 | _(省略可)_ Checkが無効になる時刻([Rippleエポック以降の経過秒数][])。 | -| `InvoiceID` | 文字列 | Hash256 | _(省略可)_ このCheckの具体的な理由または識別子を表現する任意の256ビットハッシュ。 | +| `InvoiceID` | 文字列 | UInt256 | _(省略可)_ このCheckの具体的な理由または識別子を表現する任意の256ビットハッシュ。 | ## エラーケース diff --git a/@l10n/ja/docs/references/protocol/transactions/types/depositpreauth.md b/@l10n/ja/docs/references/protocol/transactions/types/depositpreauth.md index b4e2202f80..5d52401709 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/depositpreauth.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/depositpreauth.md @@ -58,9 +58,9 @@ DepositPreauthトランザクションは、あなたのアカウントへの支 | フィールド | JSONの型 | [内部の型][] | 必須? | 説明 | | :----------------------- | :-------------------- | :----------- | :----- | ---- | | `Authorize` | 文字列 - [アドレス][] | AccountID | いいえ | 事前承認するアカウント。 | -| `AuthorizeCredentials` | 配列 | STArray | いいえ | 承認する資格証明書のセット。 _([Credentials amendment][]が必要です。 {% not-enabled /%})_ | +| `AuthorizeCredentials` | 配列 | Array | いいえ | 承認する資格証明書のセット。 _([Credentials amendment][]が必要です。 {% not-enabled /%})_ | | `Unauthorize` | 文字列 | AccountID | いいえ | 事前承認を取り消すアカウント。 | -| `UnauthorizeCredentials` | 配列 | STArray | いいえ | 事前承認を取り消す資格証明書のセット。 _([Credentials amendment][]が必要です。 {% not-enabled /%})_ | +| `UnauthorizeCredentials` | 配列 | Array | いいえ | 事前承認を取り消す資格証明書のセット。 _([Credentials amendment][]が必要です。 {% not-enabled /%})_ | `Authorize`, `AuthorizeCredentials`, `Unauthorize`, or `UnauthorizeCredentials`の**いずれか**を提供する必要があります。 diff --git a/@l10n/ja/docs/references/protocol/transactions/types/nftokenacceptoffer.md b/@l10n/ja/docs/references/protocol/transactions/types/nftokenacceptoffer.md index 7373e760fc..6081d43deb 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/nftokenacceptoffer.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/nftokenacceptoffer.md @@ -76,8 +76,8 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました)_ | フィールド | JSONの型 | [内部の型][] | 説明 | |:-------------------|:--------------------|:------------------|:--------------| -| `NFTokenSellOffer` | 文字列 | Hash256 | _(省略可)_ `NFToken`の売却を提案する`NFTokenOffer`の識別情報です。 | -| `NFTokenBuyOffer` | 文字列 | Hash256 | _(省略可)_ `NFToken`の購入を提案する`NFTokenOffer`の識別情報です。 | +| `NFTokenSellOffer` | 文字列 | UInt256 | _(省略可)_ `NFToken`の売却を提案する`NFTokenOffer`の識別情報です。 | +| `NFTokenBuyOffer` | 文字列 | UInt256 | _(省略可)_ `NFToken`の購入を提案する`NFTokenOffer`の識別情報です。 | | `NFTokenBrokerFee` | [通貨額][] | Amount | _(省略可)_ このフィールドはブローカーモードでのみ有効であり、2つのオファーをまとめるための手数料としてブローカーが保持する金額を指定します。残りの金額は`NFToken`の販売者に送られます。指定する場合、発行者が課す送金手数料を考慮する前に、販売者が受け取る金額が少なくとも売却オファーで示された金額になるように手数料を設定しなければなりません。 | ダイレクトモードでは、`NFTokenSellOffer`または`NFTokenBuyOffer`フィールドの**いずれか**を指定する必要があります。ブローカーモードでは、**両方**のフィールドを指定する必要があります。 diff --git a/@l10n/ja/docs/references/protocol/transactions/types/nftokenburn.md b/@l10n/ja/docs/references/protocol/transactions/types/nftokenburn.md index fd35b90556..795e753ca8 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/nftokenburn.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/nftokenburn.md @@ -33,7 +33,7 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました)_ | フィールド | JSONの型 | [内部の型][] | 説明 | |:------------------|:----------|:------------------|:-------------------------| -| `NFTokenID` | 文字列 | Hash256 | このトランザクションによって削除される`NFToken`を指定します。 | +| `NFTokenID` | 文字列 | UInt256 | このトランザクションによって削除される`NFToken`を指定します。 | | `Owner` | 文字列 | AccountID | _(省略可)_ Burnする`NFToken`の所有者。所有者がこのトランザクションを送信するアカウントと異なる場合にのみ使用されます。発行者または許可された発行者は、`lsfBurnable`フラグが有効なNFTをBurnするために、このフィールドを使用することができます。 | diff --git a/@l10n/ja/docs/references/protocol/transactions/types/nftokencreateoffer.md b/@l10n/ja/docs/references/protocol/transactions/types/nftokencreateoffer.md index 87d1c1a2f7..cf9db3169c 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/nftokencreateoffer.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/nftokencreateoffer.md @@ -33,7 +33,7 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました)_ | フィールド | JSONの型 | [内部の型][] | 説明 | |:--------------|:--------------------|:------------------|:-------------------| | `Owner` | 文字列 | AccountID | _(省略可)_ 対応する`NFToken`の所有者を指定します。トークンの購入オファーである場合、このフィールドは必ず存在し、`Account`フィールドとは異なるものでなければなりません(すでに保有しているトークンの購入オファーは無意味)。トークンの売却オファーである場合、このフィールドは存在してはいけません。所有者は暗黙のうちに`Account`と同じになるからです(すでに保有していないトークンを売却するオファーは無意味)。 | -| `NFTokenID` | 文字列 | Hash256 | オファーが参照する`NFToken`オブジェクトを指定します。 | +| `NFTokenID` | 文字列 | UInt256 | オファーが参照する`NFToken`オブジェクトを指定します。 | | `Amount` | [通貨額][] | Amount | 対応する`NFToken`に対する売却希望額または売却提示額を表します。0を指定することは、トークンの現在の所有者が、誰でも、または`Destination`フィールドで指定されたアカウントに、トークンを無償で譲渡することを意味します。 | | `Expiration` | 数値 | UInt32 | _(省略可)_ オファーが無効となる時間を指定します。値は[Rippleエポック以降の経過秒数][]です。 | | `Destination` | 文字列 | AccountID | _(省略可)_ 存在する場合、このオファーは指定されたアカウントによってのみ受け入れることが可能であることを示します。他のアカウントによってこのオファーを受け入れることはできません。 | diff --git a/@l10n/ja/docs/references/protocol/transactions/types/nftokenmodify.md b/@l10n/ja/docs/references/protocol/transactions/types/nftokenmodify.md index 31b76c25b8..2a894c4e6e 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/nftokenmodify.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/nftokenmodify.md @@ -33,7 +33,7 @@ title: | `TransactionType` | 文字列 | UINT16 | `NFTokenModify` | | `Account` | 文字列 | AccountID | NFTの発行者または許可されたアカウントの一意のアドレス。 | | `Owner` | 文字列 | AccountID | _(任意)_ NFTの所有者のアドレス。`Account`と`Owner`が同じアドレスの場合、このフィールドは省略します。 | -| `NFTokenID` | 文字列 | Hash256 | NFTを識別する一意のID。 | +| `NFTokenID` | 文字列 | UInt256 | NFTを識別する一意のID。 | | `URI` | 文字列 | Blob | _(任意)_ 最大256バイトの任意のデータ。JSONでは、16進数の文字列としてエンコードされます。[`xrpl.convertStringToHex`](https://js.xrpl.org/modules.html#convertStringToHex)ユーティリティメソッドを使用してURIを16進数に変換できます。これは、NFTに関連するデータまたはメタデータを指すURIです。URIはHTTPまたはHTTPS URL、IPFS URI、マグネットリンク、[RFC 2379 "data" URL](https://datatracker.ietf.org/doc/html/rfc2397)としてエンコードされた即値データ、または発行者固有のエンコードをデコードできます。URIは検証されません。URIを指定しない場合、既存のURIは削除されます。 | ## エラーケース diff --git a/@l10n/ja/docs/references/protocol/transactions/types/payment.md b/@l10n/ja/docs/references/protocol/transactions/types/payment.md index 11c0e91a44..c7c9a9adda 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/payment.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/payment.md @@ -46,7 +46,7 @@ Paymentは、[アカウントを作成](#アカウントの作成)する唯一 | `DeliverMin` | [通貨額][] | Amount | _(省略可)_ このトランザクションで送金する、宛先通貨での最少金額。[Partial Payments](../../../../concepts/payment-types/partial-payments.md)の場合のみ有効になります。XRP以外の金額の場合、入れ子フィールドの名前では、アルファベットの小文字のみ使用してください。 | | `Destination` | 文字列 | AccountID | 支払いを受取るアカウントの一意アドレス。 | | `DestinationTag` | 数値 | UInt32 | _(省略可)_ 宛先(支払先となる、ホスティングされている受取人)への支払い理由を明確にするための任意のタグ。 | -| `InvoiceID` | 文字列 | Hash256 | _(省略可)_ この支払いの具体的な理由または識別子を表現する任意の256ビットハッシュ。 | +| `InvoiceID` | 文字列 | UInt256 | _(省略可)_ この支払いの具体的な理由または識別子を表現する任意の256ビットハッシュ。 | | `Paths` | パス配列の配列 | PathSet | (省略可。自動入力可能)このトランザクションに使用される[支払いパス](../../../../concepts/tokens/fungible-tokens/paths.md)の配列。XRP間のトランザクションでは省略する必要があります。 | | `SendMax` | [通貨額][] | Amount | _(省略可)_ [送金手数料](../../../../concepts/tokens/transfer-fees.md)、為替レート、[スリッページ](http://en.wikipedia.org/wiki/Slippage_%28finance%29)を含め、このトランザクションに関して支払い元通貨での負担を許容する上限額。[トランザクションの送信コストとしてバーンされるXRP](../../../../concepts/transactions/transaction-cost.md)は含めないでください。XRP以外の金額の場合、入れ子フィールドの名前では、アルファベットの小文字のみ使用してください。クロスカレンシー支払いまたは複数のトークンを伴う支払いについては、このフィールドを入力する必要があります。XRP間の支払いでは省略する必要があります。 | diff --git a/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelclaim.md b/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelclaim.md index e88ecb128d..b985ba9f9d 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelclaim.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelclaim.md @@ -52,7 +52,7 @@ Channelの**宛先アドレス**は以下の操作を実行できます。 | :-------------- | :----------- | :----------- | :----- | ---- | | `Amount` | 文字列 | Amount | いいえ | `Signature`により承認された[XRP、drop単位][通貨額]の額。これは、署名済みメッセージの額に一致している必要があります。これは、Channelが利用できるXRPの累計額であり、以前に精算されたXRPを含みます。 | | `Balance` | 文字列 | Amount | いいえ | このクレームの処理後にこのChannelから送金される[XRP、drop単位][通貨額]。XRPを送金する場合に必須です。Channelからこれまでに送金された総額よりも大きく、署名済みクレームの`Amount`よりも少ない額である必要があります。Channelを閉鎖する場合を除き、指定する必要があります。 | -| `Channel` | 文字列 | Hash256 | はい | Channelの一意のID(64文字の16進文字列) | +| `Channel` | 文字列 | UInt256 | はい | Channelの一意のID(64文字の16進文字列) | | `CredentialIDs` | 文字列の配列 | Vector256 | いいえ | このトランザクションによる入金を承認するための資格情報のセット。配列の各要素は、レジャーのCredentialエントリのレジャエントリIDでなければなりません。詳細は、[Credential ID](./payment.md#credential-id)をご覧ください。 | | `PublicKey` | 文字列 | Blob | いいえ | 署名に使用する公開鍵(16進数)。公開鍵はレジャーに保管されているこのChannelの`PublicKey`と一致している必要があります。トランザクションの送信者がChannelの支払元アドレスでない場合には必須です。また`Signature`フィールドは省略されます。(`rippled`がトランザクションをレジャーに適用する前に署名の有効性をチェックできるように、トランザクションにPubKeyが指定されています。) | | `Signature` | 文字列 | Blob | いいえ | クレームの署名(16進数)。署名付きメッセージには、Channel IDとクレームの額が含まれています。トランザクションの送信者がChannelの支払元アドレスでない場合には必須です。 | diff --git a/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelfund.md b/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelfund.md index ddd9b88531..e36f5a0f75 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelfund.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/paymentchannelfund.md @@ -30,7 +30,7 @@ PaymentChannelFundの例: | フィールド | JSONの型 | [内部の型][] | 説明 | |:-------------|:----------|:------------------|:------------------------------| -| `Channel` | 文字列 | Hash256 | 資金供給するChannelの一意のID(64文字の16進文字列)。 | +| `Channel` | 文字列 | UInt256 | 資金供給するChannelの一意のID(64文字の16進文字列)。 | | `Amount` | 文字列 | Amount | Channelに追加する[XRP、drop単位][通貨額]の正の額。 | | `Expiration` | 数値 | UInt32 | _(省略可)_ Channelに新たに設定する`Expiration`の時刻(Rippleエポック以降の経過秒数)。現行時刻にChannelの`SettleDelay`を加えた時刻よりも後であるか、またはChannelの既存の`Expiration`よりも後である必要があります。`Expiration`時刻の経過後には、トランザクションがそのChannelにアクセスするとChannelが閉鎖し、トランザクションの通常の処理は行われません。Channelの閉鎖時には未使用のXRPはすべて支払元アドレスに返金されます。(`Expiration`は、Channelの不変の`CancelAfter`時刻とは別のものです。)詳細は、[PayChannelレジャーオブジェクトタイプ](../../ledger-data/ledger-entry-types/paychannel.md)をご覧ください。 | diff --git a/docs/references/protocol/data-types/nftoken.md b/docs/references/protocol/data-types/nftoken.md index 6db41c1aa7..8c5d78deff 100644 --- a/docs/references/protocol/data-types/nftoken.md +++ b/docs/references/protocol/data-types/nftoken.md @@ -27,7 +27,7 @@ Unlike full-fledged [ledger entries](../ledger-data/ledger-entry-types/index.md) ## NFTokenID -`NFTokenID`, optional, string, Hash256 +`NFTokenID`, optional, string, UInt256 This composite field uniquely identifies a token, and consists of the following sections. diff --git a/docs/references/protocol/ledger-data/common-fields.md b/docs/references/protocol/ledger-data/common-fields.md index 04d03ec790..bc4d17fceb 100644 --- a/docs/references/protocol/ledger-data/common-fields.md +++ b/docs/references/protocol/ledger-data/common-fields.md @@ -10,7 +10,7 @@ Every entry in a [ledger](../../../concepts/ledgers/index.md)'s state data has t | Field | JSON Type | [Internal Type][] | Required? | Description | |:-------------------------|:----------|:------------------|:----------|:------------| -| `index` or `LedgerIndex` | String | Hash256 | No | The unique ID for this ledger entry. In JSON, this field is represented with different names depending on the context and API method. (Note, even though this is specified as "optional" in the code, every ledger entry should have one unless it's legacy data from very early in the XRP Ledger's history.) | +| `index` or `LedgerIndex` | String | UInt256 | No | The unique ID for this ledger entry. In JSON, this field is represented with different names depending on the context and API method. (Note, even though this is specified as "optional" in the code, every ledger entry should have one unless it's legacy data from very early in the XRP Ledger's history.) | | `LedgerEntryType` | String | UInt16 | Yes | The type of ledger entry. Valid [ledger entry types](ledger-entry-types/index.md) include `AccountRoot`, `Offer`, `RippleState`, and others. | | `Flags` | Number | UInt32 | Yes | Set of bit-flags for this ledger entry. | diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md b/docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md index bbf5c1b408..66616ba75f 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/accountroot.md @@ -38,26 +38,26 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e | Field | JSON Type | [Internal Type][] | Required? | Description | |:------------------------------|:----------|:------------------|:----------|:-------------| | `Account` | String | AccountID | Yes | The identifying (classic) address of this [account](../../../../concepts/accounts/index.md). | -| `AccountTxnID` | String | Hash256 | No | The identifying hash of the transaction most recently sent by this account. This field must be enabled to use the [`AccountTxnID` transaction field](../../transactions/common-fields.md#accounttxnid). To enable it, send an [AccountSet transaction with the `asfAccountTxnID` flag enabled](../../transactions/types/accountset.md#accountset-flags). | -| `AMMID` | String | Hash256 | No | _(Added by the [AMM amendment][])_ The ledger entry ID of the corresponding AMM ledger entry. Set during account creation; cannot be modified. If present, indicates that this is a special AMM AccountRoot; always omitted on non-AMM accounts. | +| `AccountTxnID` | String | UInt256 | No | The identifying hash of the transaction most recently sent by this account. This field must be enabled to use the [`AccountTxnID` transaction field](../../transactions/common-fields.md#accounttxnid). To enable it, send an [AccountSet transaction with the `asfAccountTxnID` flag enabled](../../transactions/types/accountset.md#accountset-flags). | +| `AMMID` | String | UInt256 | No | _(Added by the [AMM amendment][])_ The ledger entry ID of the corresponding AMM ledger entry. Set during account creation; cannot be modified. If present, indicates that this is a special AMM AccountRoot; always omitted on non-AMM accounts. | | `Balance` | String | Amount | No | The account's current [XRP balance in drops][XRP, in drops], represented as a string. | | `BurnedNFTokens` | Number | UInt32 | No | How many total of this account's issued [non-fungible tokens](../../../../concepts/tokens/nfts/index.md) have been burned. This number is always equal or less than `MintedNFTokens`. | | `Domain` | String | Blob | No | A domain associated with this account. In JSON, this is the hexadecimal for the ASCII representation of the domain. [Cannot be more than 256 bytes in length.](https://github.com/xrplf/rippled/blob/55dc7a252e08a0b02cd5aa39e9b4777af3eafe77/src/ripple/app/tx/impl/SetAccount.h#L34) | -| `EmailHash` | String | Hash128 | No | The md5 hash of an email address. Clients can use this to look up an avatar through services such as [Gravatar](https://en.gravatar.com/). | +| `EmailHash` | String | UInt128 | No | The md5 hash of an email address. Clients can use this to look up an avatar through services such as [Gravatar](https://en.gravatar.com/). | | `FirstNFTokenSequence` | Number | UInt32 | No | The account's [Sequence Number][] at the time it minted its first [non-fungible-token](../../../../concepts/tokens/nfts/index.md). _(Added by the [fixNFTokenRemint amendment][])_ | | `LedgerEntryType` | String | UInt16 | Yes | The value `0x0061`, mapped to the string `AccountRoot`, indicates that this is an AccountRoot object. | | `MessageKey` | String | Blob | No | A public key that may be used to send encrypted messages to this account. In JSON, uses hexadecimal. Must be exactly 33 bytes, with the first byte indicating the key type: `0x02` or `0x03` for secp256k1 keys, `0xED` for Ed25519 keys. | | `MintedNFTokens` | Number | UInt32 | No | How many total [non-fungible tokens](../../../../concepts/tokens/nfts/index.md) have been minted by and on behalf of this account. _(Added by the [NonFungibleTokensV1_1 amendment][])_ | | `NFTokenMinter` | String | AccountID | No | Another account that can mint [non-fungible tokens](../../../../concepts/tokens/nfts/index.md) on behalf of this account. _(Added by the [NonFungibleTokensV1_1 amendment][])_ | | `OwnerCount` | Number | UInt32 | Yes | The number of objects this account owns in the ledger, which contributes to its owner reserve. | -| `PreviousTxnID` | String | Hash256 | Yes | The identifying hash of the transaction that most recently modified this object. | +| `PreviousTxnID` | String | UInt256 | Yes | The identifying hash of the transaction that most recently modified this object. | | `PreviousTxnLgrSeq` | Number | UInt32 | Yes |The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this object. | | `RegularKey` | String | AccountID | No | The address of a [key pair](../../../../concepts/accounts/cryptographic-keys.md) that can be used to sign transactions for this account instead of the master key. Use a [SetRegularKey transaction][] to change this value. | | `Sequence` | Number | UInt32 | Yes | The [sequence number](../../data-types/basic-data-types.md#account-sequence) of the next valid transaction for this account. | | `TicketCount` | Number | UInt32 | No | How many [Tickets](../../../../concepts/accounts/tickets.md) this account owns in the ledger. This is updated automatically to ensure that the account stays within the hard limit of 250 Tickets at a time. This field is omitted if the account has zero Tickets. _(Added by the [TicketBatch amendment][].)_ | | `TickSize` | Number | UInt8 | No | How many significant digits to use for exchange rates of Offers involving currencies issued by this address. Valid values are `3` to `15`, inclusive. _(Added by the [TickSize amendment][].)_ | | `TransferRate` | Number | UInt32 | No | A [transfer fee](../../../../concepts/tokens/transfer-fees.md) to charge other users for sending currency issued by this account to each other. | -| `WalletLocator` | String | Hash256 | No | An arbitrary 256-bit value that users can set. | +| `WalletLocator` | String | UInt256 | No | An arbitrary 256-bit value that users can set. | | `WalletSize` | Number | UInt32 | No | Unused. (The code supports this field but there is no way to set it.) | ## Special AMM AccountRoot Entries diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/amendments.md b/docs/references/protocol/ledger-data/ledger-entry-types/amendments.md index 89bf252e24..e5f119600f 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/amendments.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/amendments.md @@ -51,15 +51,15 @@ In addition to the [common fields](../common-fields.md), the {% code-page-name / | `Amendments` | Array | Vector256 | No | Array of 256-bit [amendment IDs](../../../../concepts/networks-and-servers/amendments.md) for all currently enabled amendments. If omitted, there are no enabled amendments. | | `Flags` | Number | UInt32 | Yes | A bit-map of boolean flags enabled for this object. Currently, the protocol defines no flags for `Amendments` objects. The value is always `0`. | | `LedgerEntryType` | String | UInt16 | Yes | The value `0x0066`, mapped to the string `Amendments`, indicates that this object describes the status of amendments to the XRP Ledger. | -| `Majorities` | Array | STArray | No | Array of objects describing the status of amendments that have majority support but are not yet enabled. If omitted, there are no pending amendments with majority support. | -| `PreviousTxnID` | String | Hash256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | +| `Majorities` | Array | Array | No | Array of objects describing the status of amendments that have majority support but are not yet enabled. If omitted, there are no pending amendments with majority support. | +| `PreviousTxnID` | String | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | | `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | Each member of the `Majorities` field, if it is present, is an object with one field, `Majority`, whose contents are a nested object with the following fields: | Name | JSON Type | [Internal Type][] | Description | |-------------------|-----------|-------------------|-------------| -| `Amendment` | String | Hash256 | The Amendment ID of the pending amendment. | +| `Amendment` | String | UInt256 | The Amendment ID of the pending amendment. | | `CloseTime` | Number | UInt32 | The [`close_time` field](../ledger-header.md) of the ledger version where this amendment most recently gained a majority. | In the [amendment process](../../../../concepts/networks-and-servers/amendments.md#amendment-process), a consensus of validators adds a new amendment to the `Majorities` field using an [EnableAmendment][] pseudo-transaction with the `tfGotMajority` flag when 80% or more of validators support it. If support for a pending amendment goes below 80%, an [EnableAmendment][] pseudo-transaction with the `tfLostMajority` flag removes the amendment from the `Majorities` array. If an amendment remains in the `Majorities` field for at least 2 weeks, an [EnableAmendment][] pseudo-transaction with no flags removes it from `Majorities` and permanently adds it to the `Amendments` field. diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/amm.md b/docs/references/protocol/ledger-data/ledger-entry-types/amm.md index 91887f5e36..5c89e90325 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/amm.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/amm.md @@ -63,15 +63,15 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e | Field | JSON Type | [Internal Type][] | Required? | Description | |:-----------------|:--------------------|:------------------|:----------|--------------| -| `Asset` | Object | STIssue | Yes | The definition for one of the two assets this AMM holds. In JSON, this is an object with `currency` and `issuer` fields. | -| `Asset2` | Object | STIssue | Yes | The definition for the other asset this AMM holds. In JSON, this is an object with `currency` and `issuer` fields. | -| `Account` | String | AccountID | Yes | The address of the [special account](accountroot.md#special-amm-accountroot-entries) that holds this AMM's assets. | -| `AuctionSlot` | Object | STObject | No | Details of the current owner of the auction slot, as an [Auction Slot object](#auction-slot-object). | +| `Asset` | Object | Issue | Yes | The definition for one of the two assets this AMM holds. In JSON, this is an object with `currency` and `issuer` fields. | +| `Asset2` | Object | Issue | Yes | The definition for the other asset this AMM holds. In JSON, this is an object with `currency` and `issuer` fields. | +| `Account` | String - [Address][] | AccountID | Yes | The address of the [special account](accountroot.md#special-amm-accountroot-entries) that holds this AMM's assets. | +| `AuctionSlot` | Object | Object | No | Details of the current owner of the auction slot, as an [Auction Slot object](#auction-slot-object). | | `LPTokenBalance` | [Currency Amount][] | Amount | Yes | The total outstanding balance of liquidity provider tokens from this AMM instance. The holders of these tokens can vote on the AMM's trading fee in proportion to their holdings, or redeem the tokens for a share of the AMM's assets which grows with the trading fees collected. | -| `PreviousTxnID` | String | Hash256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | -| `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | +| `PreviousTxnID` | String - [Hash][] | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | +| `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | | `TradingFee` | Number | UInt16 | Yes | The percentage fee to be charged for trades against this AMM instance, in units of 1/100,000. The maximum value is 1000, for a 1% fee. | -| `VoteSlots` | Array | STArray | No | A list of vote objects, representing votes on the pool's trading fee. | +| `VoteSlots` | Array | Array | No | A list of vote objects, representing votes on the pool's trading fee. | ### Auction Slot Object @@ -81,7 +81,7 @@ The `AuctionSlot` field contains an object with the following nested fields: | Field | JSON Type | [Internal Type][] | Required? | Description | |:----------------|:--------------------|:------------------|:----------|:--| | `Account` | String - Address | AccountID | Yes | The current owner of this auction slot. | -| `AuthAccounts` | Array | STArray | No | A list of at most 4 additional accounts that are authorized to trade at the discounted fee for this AMM instance. | +| `AuthAccounts` | Array | Array | No | A list of at most 4 additional accounts that are authorized to trade at the discounted fee for this AMM instance. | | `DiscountedFee` | String | UInt32 | Yes | The trading fee to be charged to the auction owner, in the same format as `TradingFee`. Normally, this is 1/10 of the normal fee for this AMM. | | `Price` | [Currency Amount][] | Amount | Yes | The amount the auction owner paid to win this slot, in LP Tokens. | | `Expiration` | String | UInt32 | Yes | The time when this slot expires, in [seconds since the Ripple Epoch][]. | diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/check.md b/docs/references/protocol/ledger-data/ledger-entry-types/check.md index 0042ac338d..57e5e8ba65 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/check.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/check.md @@ -43,10 +43,10 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e | `DestinationNode` | String | UInt64 | No | A hint indicating which page of the destination's owner directory links to this object, in case the directory consists of multiple pages. | | `DestinationTag` | Number | UInt32 | No | An arbitrary tag to further specify the destination for this Check, such as a hosted recipient at the destination address. | | `Expiration` | Number | UInt32 | No | Indicates the time after which this Check is considered expired. See [Specifying Time][] for details. | -| `InvoiceID` | String | Hash256 | No | Arbitrary 256-bit hash provided by the sender as a specific reason or identifier for this Check. | +| `InvoiceID` | String | UInt256 | No | Arbitrary 256-bit hash provided by the sender as a specific reason or identifier for this Check. | | `LedgerEntryType` | String | UInt16 | Yes | The value `0x0043`, mapped to the string `Check`, indicates that this object is a Check object. | | `OwnerNode` | String | UInt64 | Yes | A hint indicating which page of the sender's owner directory links to this object, in case the directory consists of multiple pages. | -| `PreviousTxnID` | String | Hash256 | Yes | The identifying hash of the transaction that most recently modified this object. | +| `PreviousTxnID` | String | UInt256 | Yes | The identifying hash of the transaction that most recently modified this object. | | `PreviousTxnLgrSeq` | Number | UInt32 | Yes |The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this object. | | `SendMax` | String or Object | Amount | Yes | The maximum amount of currency this Check can debit the sender. If the Check is successfully cashed, the destination is credited in the same currency for up to this amount. | | `Sequence` | Number | UInt32 | Yes | The sequence number of the [CheckCreate transaction][] that created this check. | diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/credential.md b/docs/references/protocol/ledger-data/ledger-entry-types/credential.md index 00431bb301..87868f75f6 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/credential.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/credential.md @@ -38,11 +38,11 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e | `Expiration` | Number | UInt32 | No | Time after which the credential is expired, in [seconds since the Ripple Epoch][]. | `Issuer` | String - [Address][] | AccountID | Yes | The account that issued this credential. | | `IssuerNode` | String | UInt64 | Yes | A hint indicating which page of the issuer's directory links to this entry, in case the directory consists of multiple pages. | -| `PreviousTxnID` | String - [Hash][] | Hash256 | Yes | The identifying hash of the transaction that most recently modified this entry. | +| `PreviousTxnID` | String - [Hash][] | UInt256 | Yes | The identifying hash of the transaction that most recently modified this entry. | | `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. | | `Subject` | String - [Address][] | AccountID | Yes | The account that this credential is for. | | `SubjectNode` | String | UInt64 | Yes | A hint indicating which page of the subject's owner directory links to this entry, in case the directory consists of multiple pages. | -| `URI` | String - Hexadecimal | Blob | No | Arbitrary additional data about the credential, for example a URL where a W3C-formatted Verifiable Credential can be retrieved. | +| `URI` | String - Hexadecimal | Blob | No | Arbitrary additional data about the credential, for example a URL where a W3C-formatted Verifiable Credential can be retrieved. | ## Credential Flags diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/depositpreauth.md b/docs/references/protocol/ledger-data/ledger-entry-types/depositpreauth.md index eba9325cbd..169f020423 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/depositpreauth.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/depositpreauth.md @@ -64,7 +64,7 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e | `AuthorizeCredentials` | Array | Array | No | The set of credentials that received preauthorization. (Any account with these credentials is preauthorized.) This array has a minimum length of 1 and a maximum length of 8 credentials. | | `LedgerEntryType` | String | UInt16 | Yes | The value `0x0070`, mapped to the string `DepositPreauth`, indicates that this is a DepositPreauth object. | | `OwnerNode` | String | UInt64 | Yes | A hint indicating which page of the sender's owner directory links to this object, in case the directory consists of multiple pages. **Note:** The object does not contain a direct link to the owner directory containing it, since that value can be derived from the `Account`. | -| `PreviousTxnID` | String - [Hash][] | Hash256 | Yes | The identifying hash of the transaction that most recently modified this object. | +| `PreviousTxnID` | String - [Hash][] | UInt256 | Yes | The identifying hash of the transaction that most recently modified this object. | | `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this object. | Each entry must have _either_ the `Authorize` field or the `AuthorizeCredentials` field, but not both. diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/did.md b/docs/references/protocol/ledger-data/ledger-entry-types/did.md index 3dfde91db5..e79a529dab 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/did.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/did.md @@ -39,7 +39,7 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e | `Data` | String | Blob | No | The public attestations of identity credentials associated with the DID. The `Data` field isn't checked for validity and is limited to a maximum length of 256 bytes. | | `LedgerEntryType` | String | UInt16 | Yes | The value `0x0049`, mapped to the string `DID`, indicates that this object is a DID object. | | `OwnerNode` | String | UInt64 | Yes | A hint indicating which page of the sender's owner directory links to this entry, in case the directory consists of multiple pages. | -| `PreviousTxnID` | String | Hash256 | Yes | The identifying hash of the transaction that most recently modified this object. | +| `PreviousTxnID` | String | UInt256 | Yes | The identifying hash of the transaction that most recently modified this object. | | `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The index of the ledger that contains the transaction that most recently modified this object. | | `URI` | String | Blob | No | The Universal Resource Identifier that points to the corresponding DID document or the data associated with the DID. This field can be an HTTP(S) URL or IPFS URI. This field isn't checked for validity and is limited to a maximum length of 256 bytes. | diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md b/docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md index 284638129e..671c5b64c7 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/directorynode.md @@ -97,22 +97,22 @@ All types of directories are automatically updated by the protocol as necessary. | Name | JSON Type | [Internal Type][] | Required? | Description | |:--------------------|:----------|:------------------|:----------|:------------| -| `DomainID` | String | Hash256 | No | (Offer directories only) The ledger entry ID of a permissioned domain. If present, this order book belongs to the corresponding [Permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). Otherwise, this order book is part of the open DEX. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ | +| `DomainID` | String | UInt256 | No | (Offer directories only) The ledger entry ID of a permissioned domain. If present, this order book belongs to the corresponding [Permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). Otherwise, this order book is part of the open DEX. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ | | `ExchangeRate` | String | UInt64 | No | (Offer directories only) **DEPRECATED**. Do not use. | | `Flags` | Number | UInt32 | Yes | A bit-map of boolean flags enabled for this object. Currently, the protocol defines no flags for `DirectoryNode` objects. The value is always `0`. | | `Indexes` | Array | Vector256 | Yes | The contents of this directory: an array of IDs of other objects. | | `IndexNext` | Number | UInt64 | No | If this directory consists of multiple pages, this ID links to the next object in the chain, wrapping around at the end. | | `IndexPrevious` | Number | UInt64 | No | If this directory consists of multiple pages, this ID links to the previous object in the chain, wrapping around at the beginning. | | `LedgerEntryType` | String | UInt16 | Yes | The value `0x0064`, mapped to the string `DirectoryNode`, indicates that this object is part of a directory. | -| `NFTokenID` | String | Hash256 | No | (NFT offer directories only) ID of the NFT in a buy or sell offer. | +| `NFTokenID` | String | UInt256 | No | (NFT offer directories only) ID of the NFT in a buy or sell offer. | | `Owner` | String | AccountID | No | (Owner directories only) The address of the account that owns the objects in this directory. | -| `PreviousTxnID` | String | Hash256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | +| `PreviousTxnID` | String | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | | `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | -| `RootIndex` | String | Hash256 | Yes | The ID of root object for this directory. | -| `TakerGetsCurrency` | String | Hash160 | No | (Offer directories only) The currency code of the `TakerGets` amount from the offers in this directory. | -| `TakerGetsIssuer` | String | Hash160 | No | (Offer directories only) The issuer of the `TakerGets` amount from the offers in this directory. | -| `TakerPaysCurrency` | String | Hash160 | No | (Offer directories only) The currency code of the `TakerPays` amount from the offers in this directory. | -| `TakerPaysIssuer` | String | Hash160 | No | (Offer directories only) The issuer of the `TakerPays` amount from the offers in this directory. | +| `RootIndex` | String | UInt256 | Yes | The ID of root object for this directory. | +| `TakerGetsCurrency` | String | UInt160 | No | (Offer directories only) The currency code of the `TakerGets` amount from the offers in this directory. | +| `TakerGetsIssuer` | String | UInt160 | No | (Offer directories only) The issuer of the `TakerGets` amount from the offers in this directory. | +| `TakerPaysCurrency` | String | UInt160 | No | (Offer directories only) The currency code of the `TakerPays` amount from the offers in this directory. | +| `TakerPaysIssuer` | String | UInt160 | No | (Offer directories only) The issuer of the `TakerPays` amount from the offers in this directory. | ## {% $frontmatter.seo.title %} Flags diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/escrow.md b/docs/references/protocol/ledger-data/ledger-entry-types/escrow.md index f532e9962e..99f9a42125 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/escrow.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/escrow.md @@ -49,7 +49,7 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e | `FinishAfter` | Number | UInt32 | No | The time, in [seconds since the Ripple Epoch][], after which this escrow can be finished. Any [EscrowFinish transaction][] before this time fails. (Specifically, this is compared with the close time of the previous validated ledger.) | | `LedgerEntryType` | String | UInt16 | Yes | The value `0x0075`, mapped to the string `Escrow`, indicates that this is an `Escrow` entry. | | `OwnerNode` | String | UInt64 | Yes | A hint indicating which page of the sender's owner directory links to this entry, in case the directory consists of multiple pages. | -| `PreviousTxnID` | String | Hash256 | Yes | The identifying hash of the transaction that most recently modified this entry. | +| `PreviousTxnID` | String | UInt256 | Yes | The identifying hash of the transaction that most recently modified this entry. | | `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. | | `SourceTag` | Number | UInt32 | No | An arbitrary tag to further specify the source for this escrow, such as a hosted recipient at the owner's address. | | `TransferRate` | Number | UInt32 | No | The fee to charge when users finish an escrow, initially set on the creation of an escrow contract and updated on subsequent finish transactions. | diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md b/docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md index 416314fca3..869dbbef32 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/feesettings.md @@ -35,7 +35,7 @@ In addition to the [common fields](../common-fields.md), the {% code-page-name / | `ReferenceFeeUnits` | Number | UInt32 | Yes | The `BaseFee` translated into "fee units". | | `ReserveBase` | Number | UInt32 | Yes | The [base reserve](../../../../concepts/accounts/reserves.md#base-reserve-and-owner-reserve) for an account in the XRP Ledger, as drops of XRP. | | `ReserveIncrement` | Number | UInt32 | Yes | The incremental [owner reserve](../../../../concepts/accounts/reserves.md#base-reserve-and-owner-reserve) for owning objects, as drops of XRP. | -| `PreviousTxnID` | String | Hash256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | +| `PreviousTxnID` | String | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | | `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | {% admonition type="danger" name="Warning" %}The JSON format for this ledger entry type is unusual. The `BaseFee`, `ReserveBase`, and `ReserveIncrement` indicate drops of XRP but ***not*** in the usual format for [specifying XRP][Currency Amount].{% /admonition %} diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md b/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md index 1722684121..9fa3a70e67 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md @@ -43,7 +43,7 @@ The `MPTokenID` is the result of SHA512-Half of the following values, concatenat | `MPTokenIssuanceID` | string | UInt192 | The `MPTokenIssuance` identifier. | | `MPTAmount` | string | UInt64 | This value specifies a positive amount of tokens currently held by the owner. Valid values for this field are between 0x0 and 0x7FFFFFFFFFFFFFFF. | | `Flags` | number | UInt32 | (Default) See [MPToken Flags](#mptoken-flags) | -| `PreviousTxnID` | string | Hash256 | Transaction ID of the transaction that most recently modified this object. | +| `PreviousTxnID` | string | UInt256 | Transaction ID of the transaction that most recently modified this object. | | `PreviousTxnLgrSeq` | number | UInt32 | The sequence of the ledger that contains the transaction that most recently modified this object. | | `OwnerNode` | string | UInt64 | (Default) The page in the owner's directory where this item is referenced. | diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md b/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md index a0f0db3564..41747bb063 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md @@ -70,7 +70,7 @@ The `MPTokenIssuanceID` is a 192-bit integer, concatenated in order: | `OutstandingAmount` | string | UInt64 | Specifies the sum of all token amounts that have been minted to all token holders. This value can be stored on ledger as a default type so that when its value is 0 it takes up less space on ledger. This value is increased whenever an issuer pays MPTs to a non-issuer account, and decreased whenever a non-issuer pays MPTs into the issuing account. | | `TransferFee` | number | UInt16 | This value specifies the fee, in tenths of a basis point, charged by the issuer for secondary sales of the token, if such sales are allowed at all. Valid values for this field are between 0 and 50,000 inclusive. A value of 1 is equivalent to 1/10 of a basis point or 0.001%, allowing transfer rates between 0% and 50%. A `TransferFee` of 50,000 corresponds to 50%. The default value for this field is 0. Any decimals in the transfer fee are rounded down. The fee can be rounded down to zero if the payment is small. Issuers should make sure that their MPT's `AssetScale` is large enough. | | `MPTokenMetadata` | string | Blob | Arbitrary metadata about this issuance, in hex format. The limit for this field is 1024 bytes. | -| `PreviousTxnID` | string | Hash256 | Transaction ID of the transaction that most recently modified this object. | +| `PreviousTxnID` | string | UInt256 | Transaction ID of the transaction that most recently modified this object. | | `PreviousTxnLgrSeq` | number | UInt32 | The sequence of the ledger that contains the transaction that most recently modified this object. | | `OwnerNode` | string | UInt64 | The page in the owner's directory where this item is referenced. | | `Sequence` | number | UInt32 | A 32-bit unsigned integer that is used to ensure issuances from a given sender can only ever exist once, even if an issuance is later deleted. Whenever a new issuance is created, this value must match the account's current `Sequence` number. `Tickets` make some exceptions from these rules so that it is possible to send transactions out of the normal order. `Tickets` represent sequence numbers reserved for later use; a transaction can use a `Ticket` instead of a normal account Sequence number. Whenever a transaction to create an MPT is included in a ledger, it uses up a sequence number (or Ticket), regardless of whether the transaction executed successfully or failed with a tec-class error code. Other transaction failures don't get included in ledgers, so they don't change the sender's sequence number (or have any other effects). It is possible for multiple unconfirmed MPT-creation transactions to have the same Issuer and sequence number. Such transactions are mutually exclusive, and at most one of them can be included in a validated ledger. (Any others ultimately have no effect.) | diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md b/docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md index 8a20c49ad1..6ad068e259 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/negativeunl.md @@ -41,7 +41,7 @@ In addition to the [common fields](../common-fields.md), the {% code-page-name / |:----------------------|:----------|:------------------|:----------|:---------------------| | `DisabledValidators` | Array | Array | No | A list of `DisabledValidator` objects (see below), each representing a trusted validator that is currently disabled. | | `LedgerEntryType` | String | UInt16 | Yes | The value `0x004E`, mapped to the string `NegativeUNL`, indicates that this entry is the Negative UNL. | -| `PreviousTxnID` | String | Hash256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | +| `PreviousTxnID` | String | UInt256 | No | The identifying hash of the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | | `PreviousTxnLgrSeq` | Number | UInt32 | No | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. _(Added by the [fixPreviousTxnID amendment][].)_ | | `ValidatorToDisable` | String | Blob | No | The public key of a trusted validator that is scheduled to be disabled in the next flag ledger. | | `ValidatorToReEnable` | String | Blob | No | The public key of a trusted validator in the Negative UNL that is scheduled to be re-enabled in the next flag ledger. | diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md b/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md index 7a6458c122..ab21ade322 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md @@ -31,18 +31,18 @@ _(Added by the [NonFungibleTokensV1_1 amendment][].)_ ### {% $frontmatter.seo.title %} Fields -| Name |JSON Type | [Internal Type][] | Required? | Description | -|:--------------------|:-----------------|:------------------|:------------|:-----------| -| `Amount` | [Currency Amount][] | AMOUNT | Yes | Amount expected or offered for the NFToken. If the token has the `lsfOnlyXRP` flag set, the amount must be specified in XRP. Sell offers that specify assets other than XRP must specify a non-zero amount. Sell offers that specify XRP can be 'free' (that is, the Amount field can be equal to `"0"`). | -| `Destination` | string | AccountID | No | The AccountID for which this offer is intended. If present, only that account can accept the offer. | -| `Expiration` | number | UInt32 | No | The time after which the offer is no longer active. The value is the number of seconds since the Ripple Epoch. | -| `LedgerEntryType` | string | UInt16 | Yes | The value `0x0037`, mapped to the string `NFTokenOffer`, indicates that this is an offer to trade a `NFToken`. | -| `NFTokenID` | string | Hash256 | Yes | The `NFTokenID` of the NFToken object referenced by this offer. | -| `NFTokenOfferNode` | string | UInt64 | No | Internal bookkeeping, indicating the page inside the token buy or sell offer directory, as appropriate, where this token is being tracked. This field allows the efficient deletion of offers. | -| `Owner` | string | AccountID | Yes | Owner of the account that is creating and owns the offer. Only the current Owner of an NFToken can create an offer to sell an NFToken, but any account can create an offer to buy an NFToken. | -| `OwnerNode` | string | UInt64 | No | Internal bookkeeping, indicating the page inside the owner directory where this token is being tracked. This field allows the efficient deletion of offers. | -| `PreviousTxnID` | string | Hash256 | Yes | Identifying hash of the transaction that most recently modified this object. | -| `PreviousTxnLgrSeq` | number | UInt32 | Yes | Index of the ledger that contains the transaction that most recently modified this object. | +| Name |JSON Type | [Internal Type][] | Required? | Description | +|:--------------------|:---------------------|:------------------|:------------|:-----------| +| `Amount` | [Currency Amount][] | Amount | Yes | Amount expected or offered for the NFToken. If the token has the `lsfOnlyXRP` flag set, the amount must be specified in XRP. Sell offers that specify assets other than XRP must specify a non-zero amount. Sell offers that specify XRP can be 'free' (that is, the Amount field can be equal to `"0"`). | +| `Destination` | String - [Address][] | | AccountID | No | The AccountID for which this offer is intended. If present, only that account can accept the offer. | +| `Expiration` | Number | UInt32 | No | The time after which the offer is no longer active. The value is the number of seconds since the Ripple Epoch. | +| `LedgerEntryType` | String | UInt16 | Yes | The value `0x0037`, mapped to the string `NFTokenOffer`, indicates that this is an offer to trade a `NFToken`. | +| `NFTokenID` | String - Hexadecimal | UInt256 | Yes | The `NFTokenID` of the NFToken object referenced by this offer. | +| `NFTokenOfferNode` | String - Hexadecimal | UInt64 | No | Internal bookkeeping, indicating the page inside the token buy or sell offer directory, as appropriate, where this token is being tracked. This field allows the efficient deletion of offers. | +| `Owner` | String - [Address][] | AccountID | Yes | Owner of the account that is creating and owns the offer. Only the current Owner of an NFToken can create an offer to sell an NFToken, but any account can create an offer to buy an NFToken. | +| `OwnerNode` | String - Hexadecimal | UInt64 | No | Internal bookkeeping, indicating the page inside the owner directory where this token is being tracked. This field allows the efficient deletion of offers. | +| `PreviousTxnID` | String - [Hash][] | UInt256 | Yes | Identifying hash of the transaction that most recently modified this object. | +| `PreviousTxnLgrSeq` | Number | UInt32 | Yes | Index of the ledger that contains the transaction that most recently modified this object. | ## {% $frontmatter.seo.title %} Flags diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md b/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md index c5d8c1d0e9..22bd0f8773 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/nftokenpage.md @@ -46,10 +46,10 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e | Field Name | JSON Type | [Internal Type][] | Required? | Description | |:--------------------|:----------|:------------------|:----------|:------------| | `LedgerEntryType` | String | UInt16 | Yes | The value `0x0050`, mapped to the string `NFTokenPage`, indicates that this is a page containing `NFToken` objects.| -| `NextPageMin` | String | Hash256 | No | The locator of the next page, if any. Details about this field and how it should be used are outlined below. | +| `NextPageMin` | String | UInt256 | No | The locator of the next page, if any. Details about this field and how it should be used are outlined below. | | `NFTokens` | Array | Array | Yes | The collection of `NFToken` objects contained in this NFTokenPage object. This specification places an upper bound of 32 NFToken objects per page. Objects are sorted from low to high with the `NFTokenID` used as the sorting parameter.| -| `PreviousPageMin` | String | Hash256 | No | The locator of the previous page, if any. Details about this field and how it should be used are outlined below. | -| `PreviousTxnID` | String | Hash256 | No | Identifies the transaction ID of the transaction that most recently modified this NFTokenPage object. | +| `PreviousPageMin` | String | UInt256 | No | The locator of the previous page, if any. Details about this field and how it should be used are outlined below. | +| `PreviousTxnID` | String | UInt256 | No | Identifies the transaction ID of the transaction that most recently modified this NFTokenPage object. | | `PreviousTxnLgrSeq` | Number | UInt32 | No | The sequence of the ledger that contains the transaction that most recently modified this NFTokenPage object.| diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/offer.md b/docs/references/protocol/ledger-data/ledger-entry-types/offer.md index 947090c90b..51cdabfd32 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/offer.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/offer.md @@ -43,13 +43,13 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e |:--------------------|:---------------------|:------------------|:----------|:------------| | `Account` | String - [Address][] | AccountID | Yes | The account that owns this offer. | | `AdditionalBooks` | Array | Array | No | A list of additional offer directories that link to this offer. This field is only present if this is a hybrid offer in a [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). The array always contains exactly 1 entry. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ | -| `BookDirectory` | String - [Hash][] | Hash256 | Yes | The ID of the [offer directory](directorynode.md) that links to this offer. | +| `BookDirectory` | String - [Hash][] | UInt256 | Yes | The ID of the [offer directory](directorynode.md) that links to this offer. | | `BookNode` | String | UInt64 | Yes | A hint indicating which page of the offer directory links to this entry, in case the directory consists of multiple pages. | -| `DomainID` | String - [Hash][] | Hash256 | No | The ledger entry ID of a permissioned domain. If present, this offer belongs to the corresponding [Permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ | +| `DomainID` | String - [Hash][] | UInt256 | No | The ledger entry ID of a permissioned domain. If present, this offer belongs to the corresponding [Permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md). _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ | | `Expiration` | Number | UInt32 | No | Indicates the time after which this offer is considered unfunded. See [Specifying Time][] for details. | | `LedgerEntryType` | String | UInt16 | Yes | The value `0x006F`, mapped to the string `Offer`, indicates that this is an offer entry. | | `OwnerNode` | String | UInt64 | Yes | A hint indicating which page of the owner directory links to this entry, in case the directory consists of multiple pages. | -| `PreviousTxnID` | String - [Hash][] | Hash256 | Yes | The identifying hash of the transaction that most recently modified this entry. | +| `PreviousTxnID` | String - [Hash][] | UInt256 | Yes | The identifying hash of the transaction that most recently modified this entry. | | `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this object. | | `Sequence` | Number | UInt32 | Yes | The `Sequence` value of the [OfferCreate][] transaction that created this offer. Used in combination with the `Account` to identify this offer. | | `TakerPays` | [Currency Amount][] | Amount | Yes | The remaining amount and type of currency requested by the offer creator. | diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md b/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md index b1a58d1ddb..b129e3ffe0 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/paychannel.md @@ -51,7 +51,7 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e | `Expiration` | Number | UInt32 | No | The mutable expiration time for this payment channel, in [seconds since the Ripple Epoch][]. The channel is expired if this value is present and smaller than the previous ledger's [`close_time` field](../ledger-header.md). See [Channel Expiration](#channel-expiration) for more details. | | `LedgerEntryType` | String | UInt16 | Yes | The value `0x0078`, mapped to the string `PayChannel`, indicates that this is a payment channel entry. | | `OwnerNode` | String | UInt64 | Yes | A hint indicating which page of the source address's owner directory links to this entry, in case the directory consists of multiple pages. | -| `PreviousTxnID` | String | Hash256 | Yes | The identifying hash of the transaction that most recently modified this entry. | +| `PreviousTxnID` | String | UInt256 | Yes | The identifying hash of the transaction that most recently modified this entry. | | `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. | | `PublicKey` | String | Blob | Yes | Public key, in hexadecimal, of the key pair that can be used to sign claims against this channel. This can be any valid secp256k1 or Ed25519 public key. This is set by the transaction that created the channel and must match the public key used in claims against the channel. The channel source address can also send XRP from this channel to the destination without signed claims. | | `SettleDelay` | Number | UInt32 | Yes | Number of seconds the source address must wait to close the channel if it still has any XRP in it. Smaller values mean that the destination address has less time to redeem any outstanding claims after the source address requests to close the channel. Can be any value that fits in a 32-bit unsigned integer (0 to 2^32-1). This is set by the transaction that creates the channel. | diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/permissioneddomain.md b/docs/references/protocol/ledger-data/ledger-entry-types/permissioneddomain.md index b28a05ef21..ab451f19a6 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/permissioneddomain.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/permissioneddomain.md @@ -44,11 +44,11 @@ _(Requires the [PermissionedDomains amendment][] {% not-enabled /%})_ In addition to the [common fields](../common-fields.md), {% code-page-name /%} entries have the following fields: | Field | JSON Type | [Internal Type][] | Required? | Description | -|:----------------------|:----------|:------------------|:----------|--------------| +|:----------------------|:---------------------|:------------------|:----------|--------------| | `AcceptedCredentials` | Array | Array | Yes | A list of 1 to 10 [Credential](#acceptedcredentials-objects) objects that grant access to this domain. The array is stored sorted by issuer. | | `Owner` | String - [Address][] | AccountID | Yes | The address of the account that owns this domain. | | `OwnerNode` | String | UInt64 | Yes | A hint indicating which page of the owner directory links to this entry, in case the directory consists of multiple pages. | -| `PreviousTxnID` | String - [Hash][] | Hash256 | Yes | The identifying hash of the transaction that most recently modified this entry. | +| `PreviousTxnID` | String - [Hash][] | UInt256 | Yes | The identifying hash of the transaction that most recently modified this entry. | | `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this object. | | `Sequence` | Number | UInt32 | Yes | The `Sequence` value of the transaction that created this entry. | diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md b/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md index 974b684c22..85afdb7fcb 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/ripplestate.md @@ -64,7 +64,7 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e | `LowNode` | String | UInt64 | Yes | (Omitted in some historical ledgers) A hint indicating which page of the low account's owner directory links to this entry, in case the directory consists of multiple pages. | | `LowQualityIn` | Number | UInt32 | No | The inbound quality set by the low account, as an integer in the implied ratio `LowQualityIn`:1,000,000,000. As a special case, the value 0 is equivalent to 1 billion, or face value. | | `LowQualityOut` | Number | UInt32 | No | The outbound quality set by the low account, as an integer in the implied ratio `LowQualityOut`:1,000,000,000. As a special case, the value 0 is equivalent to 1 billion, or face value. | -| `PreviousTxnID` | String | Hash256 | Yes | The identifying hash of the transaction that most recently modified this entry. | +| `PreviousTxnID` | String | UInt256 | Yes | The identifying hash of the transaction that most recently modified this entry. | | `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. | ## RippleState Flags diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md b/docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md index 642d5a44dd..acce6a35af 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/signerlist.md @@ -54,7 +54,7 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e |:--------------------|:----------|:--------------|:----------|:---------------------------| | `LedgerEntryType` | String | UInt16 | Yes | The value `0x0053`, mapped to the string `SignerList`, indicates that this is a SignerList ledger entry. | | `OwnerNode` | String | UInt64 | Yes | A hint indicating which page of the owner directory links to this object, in case the directory consists of multiple pages. | -| `PreviousTxnID` | String | Hash256 | Yes | The identifying hash of the transaction that most recently modified this object. | +| `PreviousTxnID` | String | UInt256 | Yes | The identifying hash of the transaction that most recently modified this object. | | `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this object. | | `SignerEntries` | Array | Array | Yes | An array of Signer Entry objects representing the parties who are part of this signer list. | | `SignerListID` | Number | UInt32 | Yes | An ID for this signer list. Currently always set to `0`. If a future [amendment](../../../../concepts/networks-and-servers/amendments.md) allows multiple signer lists for an account, this may change. | @@ -70,7 +70,7 @@ Each member of the `SignerEntries` field is an object that describes that signer |:----------------|:----------|:--------------|:-------------------------------| | `Account` | String | AccountID | An XRP Ledger address whose signature contributes to the multi-signature. It does not need to be a funded address in the ledger. | | `SignerWeight` | Number | UInt16 | The weight of a signature from this signer. A multi-signature is only valid if the sum weight of the signatures provided meets or exceeds the signer list's `SignerQuorum` value. | -| `WalletLocator` | String | Hash256 | _(Optional)_ Arbitrary hexadecimal data. This can be used to identify the signer or for other, related purposes. _(Added by the [ExpandedSignerList amendment][].)_ | +| `WalletLocator` | String | UInt256 | _(Optional)_ Arbitrary hexadecimal data. This can be used to identify the signer or for other, related purposes. _(Added by the [ExpandedSignerList amendment][].)_ | When processing a multi-signed transaction, the server looks up the `Account` values with respect to the ledger at the time of transaction execution. If the address _does not_ correspond to a funded [AccountRoot ledger entry](accountroot.md), then only the [master private key](../../../../concepts/accounts/cryptographic-keys.md) associated with that address can be used to produce a valid signature. If the account _does_ exist in the ledger, then it depends on the state of that account. If the account has a Regular Key configured, the Regular Key can be used. The account's master key can only be used if it is not disabled. A multi-signature cannot be used as part of another multi-signature. diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md b/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md index d25a0e2c82..fdb6cbd34b 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/ticket.md @@ -32,14 +32,14 @@ _(Added by the [TicketBatch amendment][].)_ In addition to the [common fields](../common-fields.md), {% code-page-name /%} entries have the following fields: -| Name | JSON Type | [Internal Type][] | Required? | Description | -|:--------------------|:----------|:--------------|:----------|:---------------------------| -| `Account` | String | AccountID | Yes | The [account](../../../../concepts/accounts/index.md) that owns this Ticket. | -| `LedgerEntryType` | String | UInt16 | Yes | The value `0x0054`, mapped to the string `Ticket`, indicates that this is a {% $frontmatter.seo.title %} entry. | -| `OwnerNode` | String | UInt64 | Yes | A hint indicating which page of the owner directory links to this entry, in case the directory consists of multiple pages. | -| `PreviousTxnID` | String | Hash256 | Yes | The identifying hash of the [transaction](../../../../concepts/transactions/index.md) that most recently modified this entry. | -| `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. | -| `TicketSequence` | Number | UInt32 | Yes | The [Sequence Number][] this Ticket sets aside. | +| Name | JSON Type | [Internal Type][] | Required? | Description | +|:--------------------|:---------------------|:------------------|:----------|:---------------------------| +| `Account` | String - [Address][] | AccountID | Yes | The [account](../../../../concepts/accounts/index.md) that owns this Ticket. | +| `LedgerEntryType` | String | UInt16 | Yes | The value `0x0054`, mapped to the string `Ticket`, indicates that this is a {% $frontmatter.seo.title %} entry. | +| `OwnerNode` | String - Hexadecimal | UInt64 | Yes | A hint indicating which page of the owner directory links to this entry, in case the directory consists of multiple pages. | +| `PreviousTxnID` | String - [Hash][] | UInt256 | Yes | The identifying hash of the [transaction](../../../../concepts/transactions/index.md) that most recently modified this entry. | +| `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this entry. | +| `TicketSequence` | Number | UInt32 | Yes | The [Sequence Number][] this Ticket sets aside. | ## {% $frontmatter.seo.title %} Reserve diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedclaimid.md b/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedclaimid.md index 4a7dae0194..88d7c82b11 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedclaimid.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedclaimid.md @@ -71,11 +71,11 @@ _(Requires the [XChainBridge amendment][] {% not-enabled /%})_ | Field | JSON Type | [Internal Type][] | Required? | Description | |:--------------------------|:--------------------|:------------------|:----------|:----------------| -| `Account` | String | Account | Yes | The account that owns this object. | -| `LedgerIndex` | String | Hash256 | Yes | The ledger index is a hash of a unique prefix for `XChainOwnedClaimID`s, the actual `XChainClaimID` value, and the fields in `XChainBridge`. | -| `OtherChainSource` | String | Account | Yes | The account that must send the corresponding `XChainCommit` on the source chain. The destination may be specified in the `XChainCommit` transaction, which means that if the `OtherChainSource` isn't specified, another account can try to specify a different destination and steal the funds. This also allows tracking only a single set of signatures, since we know which account will send the `XChainCommit` transaction. | +| `Account` | String - [Address][]| AccountID | Yes | The account that owns this object. | +| `LedgerIndex` | String | UInt256 | Yes | The ledger index is a hash of a unique prefix for `XChainOwnedClaimID`s, the actual `XChainClaimID` value, and the fields in `XChainBridge`. | +| `OtherChainSource` | String | AccountID | Yes | The account that must send the corresponding `XChainCommit` on the source chain. The destination may be specified in the `XChainCommit` transaction, which means that if the `OtherChainSource` isn't specified, another account can try to specify a different destination and steal the funds. This also allows tracking only a single set of signatures, since we know which account will send the `XChainCommit` transaction. | | `SignatureReward` | [Currency Amount][] | Amount | Yes | The total amount to pay the witness servers for their signatures. It must be at least the value of `SignatureReward` in the `Bridge` ledger object. | -| `XChainBridge` | XChainBridge | XChain_Bridge | Yes | The door accounts and assets of the bridge this object correlates to. | +| `XChainBridge` | XChainBridge | XChainBridge | Yes | The door accounts and assets of the bridge this object correlates to. | | `XChainClaimAttestations` | Array | Array | Yes | Attestations collected from the witness servers. This includes the parameters needed to recreate the message that was signed, including the amount, which chain (locking or issuing), optional destination, and reward account for that signature. | | `XChainClaimID` | String | UInt64 | Yes | The unique sequence number for a cross-chain transfer. | @@ -86,9 +86,9 @@ _(Requires the [XChainBridge amendment][] {% not-enabled /%})_ |-------------------------------|---------------------|-------------------|----------|-------------| | `XChainClaimProofSig` | Array | Object | Yes | An attestation from one witness server. | | `Amount` | [Currency Amount][] | Amount | Yes | The amount to claim in the `XChainCommit` transaction on the destination chain. | -| `AttestationRewardAccount` | String | Account | Yes | The account that should receive this signer's share of the `SignatureReward`. | -| `AttestationSignerAccount` | String | Account | Yes | The account on the door account's signer list that is signing the transaction. | -| `Destination` | String | Account | No | The destination account for the funds on the destination chain. | +| `AttestationRewardAccount` | String | AccountID | Yes | The account that should receive this signer's share of the `SignatureReward`. | +| `AttestationSignerAccount` | String | AccountID | Yes | The account on the door account's signer list that is signing the transaction. | +| `Destination` | String | AccountID | No | The destination account for the funds on the destination chain. | | `PublicKey` | String | Blob | Yes | The public key used to verify the signature. | | `WasLockingChainSend` | Number | UInt8 | Yes | A boolean representing the chain where the event occurred. | @@ -97,9 +97,9 @@ _(Requires the [XChainBridge amendment][] {% not-enabled /%})_ | Field | JSON Type | [Internal Type][] | Required? | Description | |:--------------------|:----------|:------------------|:----------|:----------------| -| `IssuingChainDoor` | String | Account | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | +| `IssuingChainDoor` | String | AccountID | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | | `IssuingChainIssue` | Issue | Issue | Yes | The asset that is minted and burned on the issuing chain. For an IOU-IOU bridge, the issuer of the asset must be the door account on the issuing chain, to avoid supply issues. | -| `LockingChainDoor` | String | Account | Yes | The door account on the locking chain. | +| `LockingChainDoor` | String | AccountID | Yes | The door account on the locking chain. | | `LockingChainIssue` | Issue | Issue | Yes | The asset that is locked and unlocked on the locking chain. | {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedcreateaccountclaimid.md b/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedcreateaccountclaimid.md index 26f63f7dee..0559a0425d 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedcreateaccountclaimid.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/xchainownedcreateaccountclaimid.md @@ -56,10 +56,10 @@ _(Requires the [XChainBridge amendment][] {% not-enabled /%})_ | Field | JSON Type | [Internal Type][] | Required? | Description | |:----------------------------------|:-------------|:------------------|:----------|:------------| -| `Account` | String | Account | Yes | The account that owns this object. | -| `LedgerIndex` | String | Hash256 | Yes | The ledger index is a hash of a unique prefix for `XChainOwnedCreateAccountClaimID`s, the actual `XChainAccountClaimCount` value, and the fields in `XChainBridge`. | +| `Account` | String | AccountID | Yes | The account that owns this object. | +| `LedgerIndex` | String | UInt256 | Yes | The ledger index is a hash of a unique prefix for `XChainOwnedCreateAccountClaimID`s, the actual `XChainAccountClaimCount` value, and the fields in `XChainBridge`. | | `XChainAccountCreateCount` | Number | UInt64 | Yes | An integer that determines the order that accounts created through cross-chain transfers must be performed. Smaller numbers must execute before larger numbers. | -| `XChainBridge` | XChainBridge | XChain_Bridge | Yes | The door accounts and assets of the bridge this object correlates to. | +| `XChainBridge` | XChainBridge | XChainBridge | Yes | The door accounts and assets of the bridge this object correlates to. | | `XChainCreateAccountAttestations` | Array | Array | Yes | Attestations collected from the witness servers. This includes the parameters needed to recreate the message that was signed, including the amount, destination, signature reward amount, and reward account for that signature. With the exception of the reward account, all signatures must sign the message created with common parameters. | @@ -69,9 +69,9 @@ _(Requires the [XChainBridge amendment][] {% not-enabled /%})_ |-------------------------------|---------------------|-------------------|----------|-------------| | `XChainCreateAccountProofSig` | Array | Object | Yes | An attestation from one witness server. | | `Amount` | [Currency Amount][] | Amount | Yes | The amount committed by the `XChainAccountCreateCommit` transaction on the source chain. | -| `AttestationRewardAccount` | String | Account | Yes | The account that should receive this signer's share of the `SignatureReward`. | -| `AttestationSignerAccount` | String | Account | Yes | The account on the door account's signer list that is signing the transaction. | -| `Destination` | String | Account | Yes | The destination account for the funds on the destination chain. | +| `AttestationRewardAccount` | String | AccountID | Yes | The account that should receive this signer's share of the `SignatureReward`. | +| `AttestationSignerAccount` | String | AccountID | Yes | The account on the door account's signer list that is signing the transaction. | +| `Destination` | String | AccountID | Yes | The destination account for the funds on the destination chain. | | `PublicKey` | String | Blob | Yes | The public key used to verify the signature. | | `WasLockingChainSend` | Number | UInt8 | Yes | A boolean representing the chain where the event occurred. | @@ -80,9 +80,9 @@ _(Requires the [XChainBridge amendment][] {% not-enabled /%})_ | Field | JSON Type | [Internal Type][] | Required? | Description | |:--------------------|:----------|:------------------|:----------|:----------------| -| `IssuingChainDoor` | String | Account | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | -| `IssuingChainIssue` | Issue | Issue | Yes | The asset that is minted and burned on the issuing chain. For an IOU-IOU bridge, the issuer of the asset must be the door account on the issuing chain, to avoid supply issues. | -| `LockingChainDoor` | String | Account | Yes | The door account on the locking chain. | -| `LockingChainIssue` | Issue | Issue | Yes | The asset that is locked and unlocked on the locking chain. | +| `IssuingChainDoor` | String | AccountID | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | +| `IssuingChainIssue` | Issue | Issue | Yes | The asset that is minted and burned on the issuing chain. For an IOU-IOU bridge, the issuer of the asset must be the door account on the issuing chain, to avoid supply issues. | +| `LockingChainDoor` | String | AccountID | Yes | The door account on the locking chain. | +| `LockingChainIssue` | Issue | Issue | Yes | The asset that is locked and unlocked on the locking chain. | {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/ledger-data/ledger-header.md b/docs/references/protocol/ledger-data/ledger-header.md index 456f64786c..3ff04cf09c 100644 --- a/docs/references/protocol/ledger-data/ledger-header.md +++ b/docs/references/protocol/ledger-data/ledger-header.md @@ -15,15 +15,15 @@ Every [ledger version](../../../concepts/ledgers/index.md) has a unique header t | Field | JSON Type | [Internal Type][] | Description | |:------------------------------|:----------|:------------------|:--------------| | `ledger_index` | String | UInt32 | The [ledger index][Ledger Index] of the ledger. Some API methods display this as a quoted integer; some display it as a native JSON number. | -| `ledger_hash` | String | Hash256 | The [SHA-512Half][] of this ledger version. This serves as a unique identifier for this ledger and all its contents. | -| `account_hash` | String | Hash256 | The [SHA-512Half][] of this ledger's state tree information. | +| `ledger_hash` | String | UInt256 | The [SHA-512Half][] of this ledger version. This serves as a unique identifier for this ledger and all its contents. | +| `account_hash` | String | UInt256 | The [SHA-512Half][] of this ledger's state tree information. | | [`close_flags`](#close-flags) | Number | UInt8 | A bit-map of flags relating to the closing of this ledger. | | `close_time` | Number | UInt32 | The [approximate time this ledger version closed](../../../concepts/ledgers/ledger-close-times.md), as the number of seconds since the Ripple Epoch of 2000-01-01 00:00:00 UTC. This value is rounded based on the `close_time_resolution`. | | `close_time_resolution` | Number | Uint8 | An integer in the range \[2,120\] indicating the maximum number of seconds by which the `close_time` could be rounded. | | `closed` | Boolean | Boolean | If `true`, this ledger version is no longer accepting new transactions. (However, unless this ledger version is validated, it might be replaced by a different ledger version with a different set of transactions.) | -| `parent_hash` | String | Hash256 | The `ledger_hash` value of the previous ledger version that is the direct predecessor of this one. If there are different versions of the previous ledger index, this indicates from which one the ledger was derived. | +| `parent_hash` | String | UInt256 | The `ledger_hash` value of the previous ledger version that is the direct predecessor of this one. If there are different versions of the previous ledger index, this indicates from which one the ledger was derived. | | `total_coins` | String | UInt64 | The total number of [drops of XRP][] owned by accounts in the ledger. This omits XRP that has been destroyed by transaction fees. The actual amount of XRP in circulation is lower because some accounts are "black holes" whose keys are not known by anyone. | -| `transaction_hash` | String | Hash256 | The [SHA-512Half][] of the transactions included in this ledger. | +| `transaction_hash` | String | UInt256 | The [SHA-512Half][] of the transactions included in this ledger. | ## Ledger Index diff --git a/docs/references/protocol/transactions/common-fields.md b/docs/references/protocol/transactions/common-fields.md index 77e295ef4a..651d5f3425 100644 --- a/docs/references/protocol/transactions/common-fields.md +++ b/docs/references/protocol/transactions/common-fields.md @@ -10,27 +10,27 @@ labels: Every transaction has the same set of common fields, plus additional fields based on the [transaction type](types/index.md). Field names are case-sensitive. The common fields for all transactions are: -| Field | JSON Type | [Internal Type][] | Description | -|:---------------------|:-----------------|:------------------|:-----------------| -| `Account` | String | AccountID | _(Required)_ The unique address of the [account](../../../concepts/accounts/index.md) that initiated the transaction. | -| `TransactionType` | String | UInt16 | _(Required)_ The type of transaction. Valid [transaction types](types/index.md) include: `Payment`, `OfferCreate`, `TrustSet`, and many others. | -| `Fee` | String | Amount | _(Required; [auto-fillable][])_ Integer amount of XRP, in drops, to be destroyed as a cost for distributing this transaction to the network. Some transaction types have different minimum requirements. See [Transaction Cost][] for details. | -| `Sequence` | Number | UInt32 | _(Required; [auto-fillable][])_ The [sequence number](../data-types/basic-data-types.md#account-sequence) of the account sending the transaction. A transaction is only valid if the `Sequence` number is exactly 1 greater than the previous transaction from the same account. The special case `0` means the transaction is using a [Ticket](../../../concepts/accounts/tickets.md) instead _(Added by the [TicketBatch amendment][].)_. | -| [`AccountTxnID`](#accounttxnid) | String | Hash256 | _(Optional)_ Hash value identifying another transaction. If provided, this transaction is only valid if the sending account's previously-sent transaction matches the provided hash. | -| [`Delegate`](#delegate) | Object | Object | _(Optional)_ Stores a set of permissions that an XRPL account has delegated to another account. | -| [`Flags`](#flags-field) | Number | UInt32 | _(Optional)_ Set of bit-flags for this transaction. | -| `LastLedgerSequence` | Number | UInt32 | _(Optional; strongly recommended)_ Highest ledger index this transaction can appear in. Specifying this field places a strict upper limit on how long the transaction can wait to be validated or rejected. See [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md) for more details. | -| [`Memos`](#memos-field) | Array of Objects | Array | _(Optional)_ Additional arbitrary information used to identify this transaction. | -| [`NetworkID`](#networkid-field) | Number | UInt32 | _(Network-specific)_ The network ID of the chain this transaction is intended for. **MUST BE OMITTED** for Mainnet and some test networks. **REQUIRED** on chains whose network ID is 1025 or higher. | -| [`Signers`](#signers-field) | Array | Array | _(Optional)_ Array of objects that represent a [multi-signature](../../../concepts/accounts/multi-signing.md) which authorizes this transaction. | -| `SourceTag` | Number | UInt32 | _(Optional)_ Arbitrary integer used to identify the reason for this payment, or a sender on whose behalf this transaction is made. Conventionally, a refund should specify the initial payment's `SourceTag` as the refund payment's `DestinationTag`. | -| `SigningPubKey` | String | Blob | _(Automatically added when signing)_ Hex representation of the public key that corresponds to the private key used to sign this transaction. If an empty string, indicates a multi-signature is present in the `Signers` field instead. | -| `TicketSequence` | Number | UInt32 | _(Optional)_ The sequence number of the [ticket](../../../concepts/accounts/tickets.md) to use in place of a `Sequence` number. If this is provided, `Sequence` must be `0`. Cannot be used with `AccountTxnID`. | -| `TxnSignature` | String | Blob | _(Automatically added when signing)_ The signature that verifies this transaction as originating from the account it says it is from. | +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:---------------------|:---------------------|:------------------|:----------|:------------| +| `Account` | String - [Address][] | AccountID | Yes | The [account](../../../concepts/accounts/index.md) that initiated the transaction. | +| `TransactionType` | String | UInt16 | Yes | The type of transaction. Valid [transaction types](types/index.md) include: `Payment`, `OfferCreate`, `TrustSet`, and many others. | +| `Fee` | String - Number | Amount | Yes; [auto-fillable][] | Integer amount of XRP, in drops, to be destroyed as a cost for sending this transaction. Some transaction types have different minimum requirements. See [Transaction Cost][] for details. | +| `Sequence` | Number | UInt32 | Yes; [auto-fillable][] | The [sequence number](../data-types/basic-data-types.md#account-sequence) of the account sending the transaction. A transaction is only valid if the `Sequence` number is exactly 1 greater than the previous transaction from the same account. The special case `0` means the transaction is using a [Ticket](../../../concepts/accounts/tickets.md) instead _(Added by the [TicketBatch amendment][].)_. | +| [`AccountTxnID`](#accounttxnid) | String - [Hash][] | UInt256 | No | Hash value identifying another transaction. If provided, this transaction is only valid if the sending account's previously-sent transaction matches the provided hash. | +| [`Delegate`](#delegate) | String - [Address][] | AccountID | No | A delegate account that is sending the transaction on behalf of the `Account`. _(Requires the [PermissionDelegation amendment][] {% not-enabled /%})_ | +| [`Flags`](#flags-field) | Number | UInt32 | No | Set of bit-flags for this transaction. | +| `LastLedgerSequence` | Number | UInt32 | No; [auto-fillable][] | Highest ledger index this transaction can appear in. Specifying this field places a strict upper limit on how long the transaction can wait to be validated or rejected. See [Reliable Transaction Submission](../../../concepts/transactions/reliable-transaction-submission.md) for more details. | +| [`Memos`](#memos-field) | Array of Objects | Array | No | Additional arbitrary information attached to this transaction. | +| [`NetworkID`](#networkid-field) | Number | UInt32 | _Network-specific_ | The network ID of the chain this transaction is intended for. **MUST BE OMITTED** for Mainnet and some test networks. **REQUIRED** on chains whose network ID is 1025 or higher. | +| [`Signers`](#signers-field) | Array | Array | No | Array of objects that represent a [multi-signature](../../../concepts/accounts/multi-signing.md) which authorizes this transaction. | +| `SourceTag` | Number | UInt32 | No | Arbitrary integer used to identify the reason for this payment, or a sender on whose behalf this transaction is made. Conventionally, a refund should specify the initial payment's `SourceTag` as the refund payment's `DestinationTag`. | +| `SigningPubKey` | String - Hexadecimal | Blob | _Automatically added when signing_ | The public key that corresponds to the private key used to sign this transaction. If an empty string, indicates a multi-signature is present in the `Signers` field instead. | +| `TicketSequence` | Number | UInt32 | No | The sequence number of the [ticket](../../../concepts/accounts/tickets.md) to use in place of a `Sequence` number. If this is provided, `Sequence` must be `0`. Cannot be used with `AccountTxnID`. | +| `TxnSignature` | String - Hexadecimal | Blob | _Automatically added when signing_ | The signature that verifies this transaction as originating from the account it says it is from. | [auto-fillable]: #auto-fillable-fields -{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.28.0" %}Removed in: rippled 0.28.0{% /badge %}: The `PreviousTxnID` field of transactions was replaced by the [`AccountTxnID`](#accounttxnid) field. This String / Hash256 field is present in some historical transactions. This is unrelated to the field also named `PreviousTxnID` in some [ledger objects](../ledger-data/index.md). +{% badge href="https://github.com/XRPLF/rippled/releases/tag/0.28.0" %}Removed in: rippled 0.28.0{% /badge %}: The `PreviousTxnID` field of transactions was replaced by the [`AccountTxnID`](#accounttxnid) field. This String / UInt256 field is present in some historical transactions. This is unrelated to the field also named `PreviousTxnID` in some [ledger objects](../ledger-data/index.md). ## AccountTxnID diff --git a/docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md b/docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md index 3db16ac531..8cca802198 100644 --- a/docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md +++ b/docs/references/protocol/transactions/pseudo-transaction-types/enableamendment.md @@ -34,8 +34,8 @@ An `EnableAmendment` pseudo-transaction marks a change in the status of a propos | Field | JSON Type | [Internal Type][] | Description | |:-----------------|:----------|:------------------|:--------------------------| -| `Amendment` | String | Hash256 | A unique identifier for the amendment. This is not intended to be a human-readable name. See [Amendments](../../../../concepts/networks-and-servers/amendments.md) for a list of known amendments. | -| `LedgerSequence` | Number | UInt32 | The [ledger index][] where this pseudo-transaction appears. This distinguishes the pseudo-transaction from other occurrences of the same change. | +| `Amendment` | String | UInt256 | A unique identifier for the amendment. This is not intended to be a human-readable name. See [Amendments](../../../../concepts/networks-and-servers/amendments.md) for a list of known amendments. | +| `LedgerSequence` | Number | UInt32 | The [ledger index][] where this pseudo-transaction appears. This distinguishes the pseudo-transaction from other occurrences of the same change. | ## EnableAmendment Flags diff --git a/docs/references/protocol/transactions/types/accountdelete.md b/docs/references/protocol/transactions/types/accountdelete.md index c97918a6a4..e9284f854e 100644 --- a/docs/references/protocol/transactions/types/accountdelete.md +++ b/docs/references/protocol/transactions/types/accountdelete.md @@ -8,10 +8,10 @@ labels: [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DeleteAccount.cpp "Source") -_Added by the [DeletableAccounts amendment][]_ - An AccountDelete transaction deletes an [account](../../ledger-data/ledger-entry-types/accountroot.md) and any objects it owns in the XRP Ledger, if possible, sending the account's remaining XRP to a specified destination account. See [Deleting Accounts](../../../../concepts/accounts/deleting-accounts.md) for the requirements to delete an account. +_(Added by the [DeletableAccounts amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON ```json diff --git a/docs/references/protocol/transactions/types/accountset.md b/docs/references/protocol/transactions/types/accountset.md index 4a713ff29b..289cfc2fca 100644 --- a/docs/references/protocol/transactions/types/accountset.md +++ b/docs/references/protocol/transactions/types/accountset.md @@ -30,16 +30,18 @@ An AccountSet transaction modifies the properties of an [account in the XRP Ledg | Field | JSON Type | [Internal Type][] | Description | |:-----------------|:-----------------|:------------------|:-------------------| -| [`ClearFlag`](#accountset-flags) | Number | UInt32 | _(Optional)_ Unique identifier of a flag to disable for this account. | -| [`Domain`](#domain) | String | Blob | _(Optional)_ The domain that owns this account, as a string of hex representing the ASCII for the domain in lowercase. [Cannot be more than 256 bytes in length.](https://github.com/XRPLF/rippled/blob/55dc7a252e08a0b02cd5aa39e9b4777af3eafe77/src/ripple/app/tx/impl/SetAccount.h#L34) | -| `EmailHash` | String | Hash128 | _(Optional)_ An arbitrary 128-bit value. Conventionally, clients treat this as the md5 hash of an email address to use for displaying a [Gravatar](http://en.gravatar.com/site/implement/hash/) image. | -| `MessageKey` | String | Blob | _(Optional)_ Public key for sending encrypted messages to this account. To set the key, it must be exactly 33 bytes, with the first byte indicating the key type: `0x02` or `0x03` for secp256k1 keys, `0xED` for Ed25519 keys. To remove the key, use an empty value. | -| `NFTokenMinter` | String | Blob | _(Optional)_ Another account that can [mint NFTokens for you](../../../../tutorials/javascript/nfts/assign-an-authorized-minter.md). _(Added by the [NonFungibleTokensV1_1 amendment][].)_ | -| [`SetFlag`](#accountset-flags) | Number | UInt32 | _(Optional)_ Integer flag to enable for this account. | -| [`TransferRate`](#transferrate) | Number | UInt32 | _(Optional)_ The fee to charge when users transfer this account's tokens, represented as billionths of a unit. Cannot be more than `2000000000` or less than `1000000000`, except for the special case `0` meaning no fee. | +| [`ClearFlag`](#accountset-flags) | Number | UInt32 | Unique identifier of a flag to disable for this account. | +| [`Domain`](#domain) | String | Blob | The domain that owns this account, as a string of hex representing the ASCII for the domain in lowercase. [Cannot be more than 256 bytes in length.](https://github.com/XRPLF/rippled/blob/55dc7a252e08a0b02cd5aa39e9b4777af3eafe77/src/ripple/app/tx/impl/SetAccount.h#L34) | +| `EmailHash` | String | UInt128 | An arbitrary 128-bit value. Conventionally, clients treat this as the md5 hash of an email address to use for displaying a [Gravatar](http://en.gravatar.com/site/implement/hash/) image. | +| `MessageKey` | String | Blob | Public key for sending encrypted messages to this account. To set the key, it must be exactly 33 bytes, with the first byte indicating the key type: `0x02` or `0x03` for secp256k1 keys, `0xED` for Ed25519 keys. To remove the key, use an empty value. | +| `NFTokenMinter` | String - [Address][] | AccountID | Another account that can [mint NFTokens for you](../../../../tutorials/javascript/nfts/assign-an-authorized-minter.md). _(Added by the [NonFungibleTokensV1_1 amendment][].)_ | +| [`SetFlag`](#accountset-flags) | Number | UInt32 | Integer flag to enable for this account. | +| [`TransferRate`](#transferrate) | Number | UInt32 | The fee to charge when users transfer this account's tokens, represented as billionths of a unit. Cannot be more than `2000000000` or less than `1000000000`, except for the special case `0` meaning no fee. | | [`TickSize`](../../../../concepts/tokens/decentralized-exchange/ticksize.md) | Number | UInt8 | _(Optional)_ Tick size to use for offers involving a currency issued by this address. The exchange rates of those offers is rounded to this many significant digits. Valid values are `3` to `15` inclusive, or `0` to disable. _(Added by the [TickSize amendment][])_ | -| `WalletLocator` | String | Hash256 | _(Optional)_ An arbitrary 256-bit value. If specified, the value is stored as part of the account but has no inherent meaning or requirements. | -| `WalletSize` | Number | UInt32 | _(Optional)_ Not used. This field is valid in AccountSet transactions but does nothing. | +| `WalletLocator` | String | UInt256 | An arbitrary 256-bit value. If specified, the value is stored as part of the account but has no inherent meaning or requirements. | +| `WalletSize` | Number | UInt32 | Not used. This field is valid in AccountSet transactions but does nothing. | + +(All fields are optional.) If none of these options are provided, then the AccountSet transaction has no effect (beyond destroying the transaction cost). See [Cancel or Skip a Transaction](../../../../concepts/transactions/finality-of-results/canceling-a-transaction.md) for more details. diff --git a/docs/references/protocol/transactions/types/ammbid.md b/docs/references/protocol/transactions/types/ammbid.md index a883bd52f7..dac81a865b 100644 --- a/docs/references/protocol/transactions/types/ammbid.md +++ b/docs/references/protocol/transactions/types/ammbid.md @@ -9,12 +9,12 @@ labels: # AMMBid [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMBid.cpp "Source") -_(Added by the [AMM amendment][])_ - Bid on an [Automated Market Maker](../../../../concepts/tokens/decentralized-exchange/automated-market-makers.md)'s (AMM's) auction slot. If you win, you can trade against the AMM at a discounted fee until you are outbid or 24 hours have passed. If you are outbid before 24 hours have passed, you are refunded part of the cost of your bid based on how much time remains. If the AMM's trading fee is zero, you can still bid, but the auction slot provides no benefit unless the trading fee changes. You bid using the AMM's LP Tokens; the amount of a winning bid is returned to the AMM, decreasing the outstanding balance of LP Tokens. +_(Added by the [AMM amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON @@ -56,11 +56,11 @@ You bid using the AMM's LP Tokens; the amount of a winning bid is returned to th | Field | JSON Type | [Internal Type][] | Required? | Description | |:---------------|:--------------------|:------------------|:----------|:------------| -| `Asset` | Object | STIssue | Yes | The definition for one of the assets in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | -| `Asset2` | Object | STIssue | Yes | The definition for the other asset in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | +| `Asset` | Object | Issue | Yes | The definition for one of the assets in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | +| `Asset2` | Object | Issue | Yes | The definition for the other asset in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | | `BidMin` | [Currency Amount][] | Amount | No | Pay at least this amount for the slot. Setting this value higher makes it harder for others to outbid you. If omitted, pay the minimum necessary to win the bid. | | `BidMax` | [Currency Amount][] | Amount | No | Pay at most this amount for the slot. If the cost to win the bid is higher than this amount, the transaction fails. If omitted, pay as much as necessary to win the bid. | -| `AuthAccounts` | Array | STArray | No | A list of up to 4 additional accounts that you allow to trade at the discounted fee. This cannot include the address of the transaction sender. Each of these objects should be an [Auth Account object](#auth-account-objects). | +| `AuthAccounts` | Array | Array | No | A list of up to 4 additional accounts that you allow to trade at the discounted fee. This cannot include the address of the transaction sender. Each of these objects should be an [Auth Account object](#auth-account-objects). | ### Auth Account Objects diff --git a/docs/references/protocol/transactions/types/ammclawback.md b/docs/references/protocol/transactions/types/ammclawback.md index a8d9880c17..6ffbd8d9d3 100644 --- a/docs/references/protocol/transactions/types/ammclawback.md +++ b/docs/references/protocol/transactions/types/ammclawback.md @@ -2,12 +2,12 @@ [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMClawback.cpp "Source") -_(Added by the [AMMClawback amendment][])_ - Claw back tokens from a holder who has deposited your issued tokens into an AMM pool. Clawback is disabled by default. To use clawback, you must send an [AccountSet transaction](https://xrpl.org/docs/references/protocol/transactions/types/accountset) to enable the **Allow Trust Line Clawback** setting. An issuer with any existing tokens cannot enable clawback. You can only enable **Allow Trust Line Clawback** if you have a completely empty owner directory, meaning you must do so before you set up any trust lines, offers, escrows, payment channels, checks, or signer lists. After you enable clawback, it cannot reverted: the account permanently gains the ability to claw back issued assets on trust lines. +_(Added by the [AMMClawback amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON @@ -36,20 +36,20 @@ Clawback is disabled by default. To use clawback, you must send an [AccountSet t {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} -| Field | JSON Type | [Internal Type][] | Required | Description | -|:-------------------|:----------|:------------------|:---------|:------------------| -| `Account` | String | AccountID | Yes | The issuer of the asset being clawed back. Only the issuer can submit this transaction. | -| `Asset` | Object | STIssue | Yes | Specifies the asset that the issuer wants to claw back from the AMM pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). The `issuer` field must match with `Account`. | -| `Asset2` | Object | STIssue | Yes | Specifies the other asset in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | -| `Amount` | [Currency Amount](https://xrpl.org/docs/references/protocol/data-types/basic-data-types#specifying-currency-amounts) | Amount | No | The maximum amount to claw back from the AMM account. The `currency` and `issuer` subfields should match the `Asset` subfields. If this field isn't specified, or the `value` subfield exceeds the holder's available tokens in the AMM, all of the holder's tokens are clawed back. | -| `Holder` | String | AccountID | Yes | The account holding the asset to be clawed back. | +| Field | JSON Type | [Internal Type][] | Required | Description | +|:----------|:---------------------|:------------------|:---------|:------------------| +| `Account` | String - [Address][] | AccountID | Yes | The issuer of the asset being clawed back. Only the issuer can submit this transaction. | +| `Asset` | Object | Issue | Yes | Specifies the asset that the issuer wants to claw back from the AMM pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). The `issuer` field must match with `Account`. | +| `Asset2` | Object | Issue | Yes | Specifies the other asset in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | +| `Amount` | [Currency Amount][] | Amount | No | The maximum amount to claw back from the AMM account. The `currency` and `issuer` subfields should match the `Asset` subfields. If this field isn't specified, or the `value` subfield exceeds the holder's available tokens in the AMM, all of the holder's tokens are clawed back. | +| `Holder` | String | AccountID | Yes | The account holding the asset to be clawed back. | ## AMMClawback Flags -| Flag Name | Hex Value | Decimal Value | Description | -|----------|------------|---------------|-------------| -| `tfClawTwoAssets` | `0x00000001` | 1 | Claw back the specified amount of `Asset`, and a corresponding amount of `Asset2` based on the AMM pool's asset proportion; both assets must be issued by the issuer in the `Account` field. If this flag isn't enabled, the issuer claws back the specified amount of `Asset`, while a corresponding proportion of `Asset2` goes back to the `Holder`. | +| Flag Name | Hex Value | Decimal Value | Description | +|-------------------|--------------|---------------|-------------| +| `tfClawTwoAssets` | `0x00000001` | 1 | Claw back the specified amount of `Asset`, and a corresponding amount of `Asset2` based on the AMM pool's asset proportion; both assets must be issued by the issuer in the `Account` field. If this flag isn't enabled, the issuer claws back the specified amount of `Asset`, while a corresponding proportion of `Asset2` goes back to the `Holder`. | ## Error Cases @@ -66,4 +66,4 @@ Besides errors that can occur for all transactions, `AMMClawback` transactions c | `temMALFORMED` | Occurs if the `issuer` subfield doesn't match between `Asset` and `Account`, `Account` is the same as the `Holder`, or `Asset` is XRP. | | `terNO_AMM` | Occurs if the AMM pool specified by `Asset` and `Asset2` doesn't exist. | -{% raw-partial file="/docs/_snippets/common-links.md" /%} \ No newline at end of file +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/ammcreate.md b/docs/references/protocol/transactions/types/ammcreate.md index ea9ed1c41e..b89ec9e287 100644 --- a/docs/references/protocol/transactions/types/ammcreate.md +++ b/docs/references/protocol/transactions/types/ammcreate.md @@ -9,14 +9,14 @@ labels: # AMMCreate [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMCreate.cpp "Source") -_(Added by the [AMM amendment][])_ - Create a new [Automated Market Maker](../../../../concepts/tokens/decentralized-exchange/automated-market-makers.md) (AMM) instance for trading a pair of assets ([fungible tokens](../../../../concepts/tokens/index.md) or [XRP](../../../../introduction/what-is-xrp.md)). Creates both an [AMM entry][] and a [special AccountRoot entry](../../ledger-data/ledger-entry-types/accountroot.md#special-amm-accountroot-entries) to represent the AMM. Also transfers ownership of the starting balance of both assets from the sender to the created `AccountRoot` and issues an initial balance of liquidity provider tokens (LP Tokens) from the AMM account to the sender. {% admonition type="warning" name="Caution" %}When you create the AMM, you should fund it with (approximately) equal-value amounts of each asset. Otherwise, other users can profit at your expense by trading with this AMM ([performing arbitrage](https://www.machow.ski/posts/an_introduction_to_automated_market_makers/#price-arbitrage)). The currency risk that liquidity providers take on increases with the volatility (potential for imbalance) of the asset pair. The higher the trading fee, the more it offsets this risk, so it's best to set the trading fee based on the volatility of the asset pair.{% /admonition %} +_(Added by the [AMM amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON ```json diff --git a/docs/references/protocol/transactions/types/ammdelete.md b/docs/references/protocol/transactions/types/ammdelete.md index d75fbb4325..3550b4d25c 100644 --- a/docs/references/protocol/transactions/types/ammdelete.md +++ b/docs/references/protocol/transactions/types/ammdelete.md @@ -9,12 +9,12 @@ labels: # AMMDelete [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMDelete.cpp "Source") -_(Added by the [AMM amendment][])_ - Delete an empty [Automated Market Maker](../../../../concepts/tokens/decentralized-exchange/automated-market-makers.md) (AMM) instance that could not be fully deleted automatically. Normally, an [AMMWithdraw transaction][] automatically deletes an AMM and all associated ledger entries when it withdraws all the assets from the AMM's pool. However, if there are too many trust lines to the AMM account to remove in one transaction, it may stop before fully removing the AMM. Similarly, an AMMDelete transaction removes up to a maximum of 512 trust lines; it may take several AMMDelete transactions to delete all the trust lines and the associated AMM. In all cases, only the last such transaction deletes the AMM and AccountRoot ledger entries. +_(Added by the [AMM amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON @@ -39,8 +39,8 @@ Normally, an [AMMWithdraw transaction][] automatically deletes an AMM and all as | Field | JSON Type | [Internal Type][] | Required? | Description | |:---------------|:--------------------|:------------------|:----------|:------------| -| `Asset` | Object | STIssue | Yes | The definition for one of the assets in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | -| `Asset2` | Object | STIssue | Yes | The definition for the other asset in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | +| `Asset` | Object | Issue | Yes | The definition for one of the assets in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | +| `Asset2` | Object | Issue | Yes | The definition for the other asset in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | ## Error Cases diff --git a/docs/references/protocol/transactions/types/ammdeposit.md b/docs/references/protocol/transactions/types/ammdeposit.md index 7e5c33c281..254f576dea 100644 --- a/docs/references/protocol/transactions/types/ammdeposit.md +++ b/docs/references/protocol/transactions/types/ammdeposit.md @@ -9,8 +9,6 @@ labels: # AMMDeposit [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMDeposit.cpp "Source") -_(Added by the [AMM amendment][])_ - Deposit funds into an [Automated Market Maker](../../../../concepts/tokens/decentralized-exchange/automated-market-makers.md) (AMM) instance and receive the AMM's liquidity provider tokens (_LP Tokens_) in exchange. You can deposit one or both of the assets in the AMM's pool. If successful, this transaction creates a [trust line](../../../../concepts/tokens/fungible-tokens/index.md) to the AMM Account (limit 0) to hold the LP Tokens. @@ -21,6 +19,8 @@ You can't deposit either asset into an AMM if: - You aren't authorized to hold at least one of the pooled assets. {% /admonition %} +_(Added by the [AMM amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON ```json @@ -52,8 +52,8 @@ You can't deposit either asset into an AMM if: | Field | JSON Type | [Internal Type][] | Required? | Description | |:--------------|:--------------------|:------------------|:----------|:------------| -| `Asset` | Object | STIssue | Yes | The definition for one of the assets in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | -| `Asset2` | Object | STIssue | Yes | The definition for the other asset in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | +| `Asset` | Object | Issue | Yes | The definition for one of the assets in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | +| `Asset2` | Object | Issue | Yes | The definition for the other asset in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | | `Amount` | [Currency Amount][] | Amount | No | The amount of one asset to deposit to the AMM. If present, this must match the type of one of the assets (tokens or XRP) in the AMM's pool. | | `Amount2` | [Currency Amount][] | Amount | No | The amount of another asset to add to the AMM. If present, this must match the type of the other asset in the AMM's pool and cannot be the same asset as `Amount`. | | `EPrice` | [Currency Amount][] | Amount | No | The maximum effective price, in the deposit asset, to pay for each LP Token received. | diff --git a/docs/references/protocol/transactions/types/ammvote.md b/docs/references/protocol/transactions/types/ammvote.md index 6893cec96a..9900723c16 100644 --- a/docs/references/protocol/transactions/types/ammvote.md +++ b/docs/references/protocol/transactions/types/ammvote.md @@ -9,10 +9,10 @@ labels: # AMMVote [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMVote.cpp "Source") -_(Added by the [AMM amendment][])_ - Vote on the trading fee for an [Automated Market Maker](../../../../concepts/tokens/decentralized-exchange/automated-market-makers.md) instance. Up to 8 accounts can vote in proportion to the amount of the AMM's LP Tokens they hold. Each new vote re-calculates the AMM's trading fee based on a weighted average of the votes. +_(Added by the [AMM amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON ```json @@ -39,8 +39,8 @@ Vote on the trading fee for an [Automated Market Maker](../../../../concepts/tok | Field | JSON Type | [Internal Type][] | Required? | Description | |:-------------|:----------|:------------------|:----------|:------------| -| `Asset` | Object | STIssue | Yes | The definition for one of the assets in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | -| `Asset2` | Object | STIssue | Yes | The definition for the other asset in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | +| `Asset` | Object | Issue | Yes | The definition for one of the assets in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | +| `Asset2` | Object | Issue | Yes | The definition for the other asset in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | | `TradingFee` | Number | UInt16 | Yes | The proposed fee to vote for, in units of 1/100,000; a value of 1 is equivalent to 0.001%. The maximum value is 1000, indicating a 1% fee. | ## Error Cases diff --git a/docs/references/protocol/transactions/types/ammwithdraw.md b/docs/references/protocol/transactions/types/ammwithdraw.md index 33de1cf9d0..ff80631c9e 100644 --- a/docs/references/protocol/transactions/types/ammwithdraw.md +++ b/docs/references/protocol/transactions/types/ammwithdraw.md @@ -9,10 +9,10 @@ labels: # AMMWithdraw [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/AMMWithdraw.cpp "Source") -_(Added by the [AMM amendment][])_ - Withdraw assets from an [Automated Market Maker](../../../../concepts/tokens/decentralized-exchange/automated-market-makers.md) (AMM) instance by returning the AMM's liquidity provider tokens (LP Tokens). +_(Added by the [AMM amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON ```json @@ -44,8 +44,8 @@ Withdraw assets from an [Automated Market Maker](../../../../concepts/tokens/dec | Field | JSON Type | [Internal Type][] | Required? | Description | |:-------------|:--------------------|:------------------|:----------|:------------| -| `Asset` | Object | STIssue | Yes | The definition for one of the assets in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | -| `Asset2` | Object | STIssue | Yes | The definition for the other asset in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | +| `Asset` | Object | Issue | Yes | The definition for one of the assets in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | +| `Asset2` | Object | Issue | Yes | The definition for the other asset in the AMM's pool. The asset can be XRP, a token, or an MPT (see: [Specifying Without Amounts][]). | | `Amount` | [Currency Amount][] | Amount | No | The amount of one asset to withdraw from the AMM. This must match the type of one of the assets (tokens or XRP) in the AMM's pool. | | `Amount2` | [Currency Amount][] | Amount | No | The amount of another asset to withdraw from the AMM. If present, this must match the type of the other asset in the AMM's pool and cannot be the same type as `Amount`. | | `EPrice` | [Currency Amount][] | Amount | No | The minimum effective price, in LP Token returned, to pay per unit of the asset to withdraw. | diff --git a/docs/references/protocol/transactions/types/batch.md b/docs/references/protocol/transactions/types/batch.md index 55a51dd694..f7950e34ea 100644 --- a/docs/references/protocol/transactions/types/batch.md +++ b/docs/references/protocol/transactions/types/batch.md @@ -10,6 +10,8 @@ status: not_enabled The `Batch` transaction submits up to eight transactions as a single unit. `Batch` transactions are executed atomically in one of four modes: All or Nothing, Only One, Until Failure, and Independent. +_(Requires the [Batch amendment][] {% not-enabled %}.)_ + ## Example {% $frontmatter.seo.title %} JSON diff --git a/docs/references/protocol/transactions/types/checkcancel.md b/docs/references/protocol/transactions/types/checkcancel.md index 1fa7aedf74..a4c4c2c17a 100644 --- a/docs/references/protocol/transactions/types/checkcancel.md +++ b/docs/references/protocol/transactions/types/checkcancel.md @@ -9,10 +9,10 @@ labels: # CheckCancel [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CancelCheck.cpp "Source") -_(Added by the [Checks amendment][].)_ - Cancels an unredeemed Check, removing it from the ledger without sending any money. The source or the destination of the check can cancel a Check at any time using this transaction type. If the Check has expired, any address can cancel it. +_(Added by the [Checks amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON ```json @@ -31,7 +31,7 @@ Cancels an unredeemed Check, removing it from the ledger without sending any mon | Field | JSON Type | [Internal Type][] | Description | |:------------|:----------|:------------------|:-------------------------------| -| `CheckID` | String | Hash256 | The ID of the [Check ledger object](../../ledger-data/ledger-entry-types/check.md) to cancel, as a 64-character hexadecimal string. | +| `CheckID` | String | UInt256 | The ID of the [Check ledger object](../../ledger-data/ledger-entry-types/check.md) to cancel, as a 64-character hexadecimal string. | ## Error Cases diff --git a/docs/references/protocol/transactions/types/checkcash.md b/docs/references/protocol/transactions/types/checkcash.md index a966b6ccbf..f517d6fd62 100644 --- a/docs/references/protocol/transactions/types/checkcash.md +++ b/docs/references/protocol/transactions/types/checkcash.md @@ -9,12 +9,12 @@ labels: # CheckCash [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CashCheck.cpp "Source") -_(Added by the [Checks amendment][].)_ - Attempts to redeem a Check object in the ledger to receive up to the amount authorized by the corresponding [CheckCreate transaction][]. Only the `Destination` address of a Check can cash it with a CheckCash transaction. Cashing a check this way is similar to executing a [Payment][] initiated by the destination. Since the funds for a check are not guaranteed, redeeming a Check can fail because the sender does not have a high enough balance or because there is not enough liquidity to deliver the funds. If this happens, the Check remains in the ledger and the destination can try to cash it again later, or for a different amount. +_(Added by the [Checks amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON ```json @@ -34,7 +34,7 @@ Since the funds for a check are not guaranteed, redeeming a Check can fail becau | Field | JSON Type | [Internal Type][] | Description | |:-------------|:--------------------|:------------------|:--------------------| -| `CheckID` | String | Hash256 | The ID of the [Check ledger object](../../ledger-data/ledger-entry-types/check.md) to cash, as a 64-character hexadecimal string. | +| `CheckID` | String | UInt256 | The ID of the [Check ledger object](../../ledger-data/ledger-entry-types/check.md) to cash, as a 64-character hexadecimal string. | | `Amount` | [Currency Amount][] | Amount | _(Optional)_ Redeem the Check for exactly this amount, if possible. The currency must match that of the `SendMax` of the corresponding CheckCreate transaction. You must provide either this field or `DeliverMin`. | | `DeliverMin` | [Currency Amount][] | Amount | _(Optional)_ Redeem the Check for at least this amount and for as much as possible. The currency must match that of the `SendMax` of the corresponding CheckCreate transaction. You must provide either this field or `Amount`. | diff --git a/docs/references/protocol/transactions/types/checkcreate.md b/docs/references/protocol/transactions/types/checkcreate.md index c04f17c491..eac5fcd0ad 100644 --- a/docs/references/protocol/transactions/types/checkcreate.md +++ b/docs/references/protocol/transactions/types/checkcreate.md @@ -9,10 +9,10 @@ labels: # CheckCreate [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CreateCheck.cpp "Source") -_(Added by the [Checks amendment][].)_ - Create a Check object in the ledger, which is a deferred payment that can be cashed by its intended destination. The sender of this transaction is the sender of the Check. +_(Added by the [Checks amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON ```json @@ -38,7 +38,7 @@ Create a Check object in the ledger, which is a deferred payment that can be cas | `SendMax` | [Currency Amount][] | Amount | Maximum amount of source currency the Check is allowed to debit the sender, including [transfer fees](../../../../concepts/tokens/transfer-fees.md) on non-XRP currencies. The Check can only credit the destination with the same currency (from the same issuer, for non-XRP currencies). For non-XRP amounts, the nested field names MUST be lower-case. | | `DestinationTag` | Number | UInt32 | _(Optional)_ Arbitrary tag that identifies the reason for the Check, or a hosted recipient to pay. | | `Expiration` | Number | UInt32 | _(Optional)_ Time after which the Check is no longer valid, in [seconds since the Ripple Epoch][]. | -| `InvoiceID` | String | Hash256 | _(Optional)_ Arbitrary 256-bit hash representing a specific reason or identifier for this Check. | +| `InvoiceID` | String | UInt256 | _(Optional)_ Arbitrary 256-bit hash representing a specific reason or identifier for this Check. | ## Error Cases diff --git a/docs/references/protocol/transactions/types/clawback.md b/docs/references/protocol/transactions/types/clawback.md index 194ecefdf5..c28ae0aa6f 100644 --- a/docs/references/protocol/transactions/types/clawback.md +++ b/docs/references/protocol/transactions/types/clawback.md @@ -7,12 +7,12 @@ labels: # Clawback [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Clawback.cpp "Source") -_(Added by the [Clawback amendment][].)_ - Claw back tokens issued by your account. Clawback is disabled by default. To use clawback, you must send an [AccountSet transaction][] to enable the **Allow Trust Line Clawback** setting. An issuer with any existing tokens cannot enable Clawback. You can only enable **Allow Trust Line Clawback** if you have a completely empty owner directory, meaning you must do so before you set up any trust lines, offers, escrows, payment channels, checks, or signer lists. After you enable Clawback, it cannot reverted: the account permanently gains the ability to claw back issued assets on trust lines. +_(Added by the [Clawback amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON ```json @@ -31,8 +31,8 @@ Clawback is disabled by default. To use clawback, you must send an [AccountSet t | Field | JSON Type | [Internal Type][] | Description | |:-------------------|:----------|:------------------|:------------------| -| `Amount` | [Currency Amount][] | Amount |Indicates the amount being clawed back, as well as the counterparty from which the amount is being clawed back. The quantity to claw back, in the `value` sub-field, must not be zero. If this is more than the current balance, the transaction claws back the entire balance. The sub-field `issuer` within `Amount` represents the token holder's account ID, rather than the issuer's.| -| `Holder` | string | AccountID | (Optional) Specifies the holder's address from which to claw back. The holder must already own an `MPToken` object with a non-zero balance. _(Requires the [MPTokensV1 amendment][] {% not-enabled /%})_ | +| `Amount` | [Currency Amount][] | Amount | The amount being clawed back, as well as the counterparty from which the amount is being clawed back. The quantity to claw back, in the `value` sub-field, must not be zero. If this is more than the current balance, the transaction claws back the entire balance. The sub-field `issuer` within `Amount` represents the token holder's account ID, rather than the issuer's.| +| `Holder` | String | AccountID | (Optional) Specifies the holder's address from which to claw back. The holder must already own an `MPToken` object with a non-zero balance. _(Requires the [MPTokensV1 amendment][] {% not-enabled /%})_ | {% admonition type="info" name="Note" %}For an IOU (trust line) in the XRP Ledger, the party that created a token is called the _issuer_, but trust lines are bidirectional and, under some configurations, both sides can be seen as the issuer. In this transaction, the token issuer's address is in the `Account` field, and the token holder's address is in the `Amount` field's `issuer` sub-field.{% /admonition %} diff --git a/docs/references/protocol/transactions/types/credentialaccept.md b/docs/references/protocol/transactions/types/credentialaccept.md index fb6e8ad9ad..2236bf483f 100644 --- a/docs/references/protocol/transactions/types/credentialaccept.md +++ b/docs/references/protocol/transactions/types/credentialaccept.md @@ -7,7 +7,7 @@ status: not_enabled A CredentialAccept transaction accepts a credential, which makes the credential valid. Only the subject of the credential can do this. -_(Requires the [Credentials amendment][] {% not-enabled /%})_ +_(Requires the [Credentials amendment][] {% not-enabled /%}.)_ ## Example CredentialAccept JSON diff --git a/docs/references/protocol/transactions/types/credentialcreate.md b/docs/references/protocol/transactions/types/credentialcreate.md index 71b9ffdde5..eb6995b8fd 100644 --- a/docs/references/protocol/transactions/types/credentialcreate.md +++ b/docs/references/protocol/transactions/types/credentialcreate.md @@ -7,7 +7,7 @@ status: not_enabled A CredentialCreate transaction creates a credential in the ledger. The issuer of the credential uses this transaction to provisionally issue a credential. The credential is not valid until the subject of the credential accepts it with a [CredentialAccept transaction][]. -_(Requires the [Credentials amendment][] {% not-enabled /%})_ +_(Requires the [Credentials amendment][] {% not-enabled /%}.)_ ## Example CredentialCreate JSON @@ -28,12 +28,12 @@ _(Requires the [Credentials amendment][] {% not-enabled /%})_ In addition to the [common fields][], CredentialCreate transactions use the following fields: -| Field | JSON Type | [Internal Type][] | Required? | Description | -|:-----------------|:-----------------|:------------------|:----------|:------------| -| `Subject` | String - [Address][] | AccountID | Yes | The subject of the credential. | -| `CredentialType` | String - Hexadecimal | Blob | Yes | Arbitrary data defining the type of credential this entry represents. The minimum length is 1 byte and the maximum length is 64 bytes. | -| `Expiration` | Number | UInt32 | No | Time after which this credential expires, in [seconds since the Ripple Epoch][]. | -| `URI` | String | Blob | No | Arbitrary additional data about the credential, such as the URL where users can look up an associated Verifiable Credential document. If present, the minimum length is 1 byte and the maximum is 256 bytes. | +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:-----------------|:---------------------|:------------------|:----------|:------------| +| `Subject` | String - [Address][] | AccountID | Yes | The subject of the credential. | +| `CredentialType` | String - Hexadecimal | Blob | Yes | Arbitrary data defining the type of credential this entry represents. The minimum length is 1 byte and the maximum length is 64 bytes. | +| `Expiration` | Number | UInt32 | No | Time after which this credential expires, in [seconds since the Ripple Epoch][]. | +| `URI` | String - Hexadecimal | Blob | No | Arbitrary additional data about the credential, such as the URL where users can look up an associated Verifiable Credential document. If present, the minimum length is 1 byte and the maximum is 256 bytes. | The `Account` field (the sender) of the transaction is the issuer of the credential. It is possible for the issuer and the subject to be the same account. diff --git a/docs/references/protocol/transactions/types/credentialdelete.md b/docs/references/protocol/transactions/types/credentialdelete.md index 950e06558f..895fb349ba 100644 --- a/docs/references/protocol/transactions/types/credentialdelete.md +++ b/docs/references/protocol/transactions/types/credentialdelete.md @@ -7,7 +7,7 @@ status: not_enabled A CredentialDelete transaction removes a credential from the ledger, effectively revoking it. Users may also want to delete an unwanted credential to reduce their [reserve requirement](../../../../concepts/accounts/reserves.md). -_(Requires the [Credentials amendment][] {% not-enabled /%})_ +_(Requires the [Credentials amendment][] {% not-enabled /%}.)_ ## Example CredentialDelete JSON @@ -28,11 +28,11 @@ _(Requires the [Credentials amendment][] {% not-enabled /%})_ In addition to the [common fields][], CredentialDelete transactions use the following fields: -| Field | JSON Type | [Internal Type][] | Required? | Description | -|:-----------------|:-----------------|:------------------|:----------|:------------| -| `CredentialType` | String - Hexadecimal | Blob | Yes | Arbitrary data defining the type of credential to delete. The minimum length is 1 byte and the maximum length is 256 bytes. | -| `Subject` | String - [Address][] | AccountID | No | The subject of the credential to delete. If omitted, use the `Account` (sender of the transaction) as the subject of the credential. | -| `Issuer` | String - [Address][] | AccountID | No | The issuer of the credential to delete. If omitted, use the `Account` (sender of the transaction) as the issuer of the credential. | +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:-----------------|:---------------------|:------------------|:----------|:------------| +| `CredentialType` | String - Hexadecimal | Blob | Yes | Arbitrary data defining the type of credential to delete. The minimum length is 1 byte and the maximum length is 256 bytes. | +| `Subject` | String - [Address][] | AccountID | No | The subject of the credential to delete. If omitted, use the `Account` (sender of the transaction) as the subject of the credential. | +| `Issuer` | String - [Address][] | AccountID | No | The issuer of the credential to delete. If omitted, use the `Account` (sender of the transaction) as the issuer of the credential. | You must provide the `Subject` field, `Issuer` field, or both. diff --git a/docs/references/protocol/transactions/types/delegateset.md b/docs/references/protocol/transactions/types/delegateset.md index 2345e4dc1b..0a325dfe19 100644 --- a/docs/references/protocol/transactions/types/delegateset.md +++ b/docs/references/protocol/transactions/types/delegateset.md @@ -11,7 +11,7 @@ status: not_enabled # DelegateSet The `DelegateSet` transaction creates, modifies, or deletes a `Delegate` ledger object, thereby granting, changing, or revoking delegated permissions between accounts. -_(Requires the [PermissionDelegation amendment][] {% not-enabled /%})_ +_(Requires the [PermissionDelegation amendment][] {% not-enabled /%}.)_ ## Example `DelegateSet` JSON diff --git a/docs/references/protocol/transactions/types/depositpreauth.md b/docs/references/protocol/transactions/types/depositpreauth.md index fdef893ee3..790ae3acac 100644 --- a/docs/references/protocol/transactions/types/depositpreauth.md +++ b/docs/references/protocol/transactions/types/depositpreauth.md @@ -1,6 +1,4 @@ --- -html: depositpreauth.html -parent: transaction-types.html seo: description: Preauthorizes an account to send payments to this one. labels: @@ -9,12 +7,12 @@ labels: # DepositPreauth [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DepositPreauth.cpp "Source") -_Added by the [DepositPreauth amendment][]._ - A DepositPreauth transaction grants preauthorization to deliver payments to your account. This is only useful if you are using (or plan to use) [Deposit Authorization](../../../../concepts/accounts/depositauth.md). {% admonition type="success" name="Tip" %}You can use this transaction before you enable Deposit Authorization. This may be useful to ensure a smooth transition from not requiring deposit authorization to requiring it.{% /admonition %} +_(Added by the [DepositPreauth amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON {% tabs %} @@ -59,9 +57,9 @@ A DepositPreauth transaction grants preauthorization to deliver payments to your | Field | JSON Type | [Internal Type][] | Required? | Description | |:-------------------------|:---------------------|:------------------|:----------|:------------| | `Authorize` | String - [Address][] | AccountID | No | An account to preauthorize. | -| `AuthorizeCredentials` | Array | STArray | No | A set of credentials to authorize. _(Requires the [Credentials amendment][]. {% not-enabled /%})_ | +| `AuthorizeCredentials` | Array | Array | No | A set of credentials to authorize. _(Requires the [Credentials amendment][]. {% not-enabled /%})_ | | `Unauthorize` | String | AccountID | No | An account whose preauthorization should be revoked. | -| `UnauthorizeCredentials` | Array | STArray | No | A set of credentials whose preauthorization should be revoked. _(Requires the [Credentials amendment][]. {% not-enabled /%})_ | +| `UnauthorizeCredentials` | Array | Array | No | A set of credentials whose preauthorization should be revoked. _(Requires the [Credentials amendment][]. {% not-enabled /%})_ | You must provide **exactly one** of `Authorize`, `AuthorizeCredentials`, `Unauthorize`, or `UnauthorizeCredentials`. diff --git a/docs/references/protocol/transactions/types/diddelete.md b/docs/references/protocol/transactions/types/diddelete.md index b72e1c52b1..cd39f960ba 100644 --- a/docs/references/protocol/transactions/types/diddelete.md +++ b/docs/references/protocol/transactions/types/diddelete.md @@ -10,12 +10,12 @@ labels: [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DID.cpp "Source") -_(Requires the [DID amendment][])_ - Delete the [DID ledger entry](../../ledger-data/ledger-entry-types/did.md) associated with the specified `Account` field. {% admonition type="info" name="Note" %}This transaction only uses the [common fields][].{% /admonition %} +_(Added by the [DID amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON diff --git a/docs/references/protocol/transactions/types/didset.md b/docs/references/protocol/transactions/types/didset.md index 43f397832d..ff3dc750db 100644 --- a/docs/references/protocol/transactions/types/didset.md +++ b/docs/references/protocol/transactions/types/didset.md @@ -1,6 +1,4 @@ --- -html: didset.html -parent: transaction-types.html seo: description: Create or update a DID. labels: @@ -10,10 +8,9 @@ labels: [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/DID.cpp "Source") -_(Requires the [DID amendment][])_ - Creates a new [DID ledger entry](../../ledger-data/ledger-entry-types/did.md) or updates the fields of an existing one. +_(Added by the [DID amendment][].)_ ## Example {% $frontmatter.seo.title %} JSON diff --git a/docs/references/protocol/transactions/types/escrowcancel.md b/docs/references/protocol/transactions/types/escrowcancel.md index 3d297238c7..b9a37e5c85 100644 --- a/docs/references/protocol/transactions/types/escrowcancel.md +++ b/docs/references/protocol/transactions/types/escrowcancel.md @@ -1,6 +1,4 @@ --- -html: escrowcancel.html -parent: transaction-types.html seo: description: Reclaim escrowed XRP. labels: @@ -10,10 +8,10 @@ labels: [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Escrow.cpp "Source") -_Added by the [Escrow amendment][]._ - Return escrowed XRP to the sender. +_(Added by the [Escrow amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON ```json @@ -30,10 +28,10 @@ Return escrowed XRP to the sender. {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} -| Field | JSON Type | [Internal Type][] | Description | -|:----------------|:----------|:------------------|:---------------------------| -| `Owner` | String | AccountID | Address of the source account that funded the escrow payment. | -| `OfferSequence` | Number | UInt32 | Transaction sequence (or [Ticket](../../../../concepts/accounts/tickets.md) number) of [EscrowCreate transaction][] that created the escrow to cancel. | +| Field | JSON Type | [Internal Type][] | Description | +|:----------------|:---------------------|:------------------|:---------------------------| +| `Owner` | String - [Address][] | AccountID | The account that funded the escrow payment. | +| `OfferSequence` | Number | UInt32 | Transaction sequence (or [Ticket](../../../../concepts/accounts/tickets.md) number) of [EscrowCreate transaction][] that created the escrow to cancel. | Any account may submit an EscrowCancel transaction. diff --git a/docs/references/protocol/transactions/types/escrowcreate.md b/docs/references/protocol/transactions/types/escrowcreate.md index 1be482a859..7d5b54219d 100644 --- a/docs/references/protocol/transactions/types/escrowcreate.md +++ b/docs/references/protocol/transactions/types/escrowcreate.md @@ -1,6 +1,4 @@ --- -html: escrowcreate.html -parent: transaction-types.html seo: description: Create an escrowed XRP payment. labels: @@ -10,10 +8,10 @@ labels: [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/Escrow.cpp "Source") -_Added by the [Escrow amendment][]._ - Sequester XRP until the escrow process either finishes or is canceled. +_(Added by the [Escrow amendment][].)_ + ## Example {% $frontmatter.seo.title %} JSON ```json diff --git a/docs/references/protocol/transactions/types/escrowfinish.md b/docs/references/protocol/transactions/types/escrowfinish.md index 252652e0fe..3b7e25fffd 100644 --- a/docs/references/protocol/transactions/types/escrowfinish.md +++ b/docs/references/protocol/transactions/types/escrowfinish.md @@ -1,6 +1,4 @@ --- -html: escrowfinish.html -parent: transaction-types.html seo: description: Deliver escrowed XRP to recipient. labels: @@ -12,7 +10,7 @@ labels: Deliver XRP from an escrow (held payment) to the recipient. -_Added by the [Escrow amendment][]._ +_(Added by the [Escrow amendment][].)_ ## Example {% $frontmatter.seo.title %} JSON @@ -33,13 +31,13 @@ _Added by the [Escrow amendment][]._ {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} -| Field | JSON Type | [Internal Type][] | Required? | Description | -|:----------------|:----------|:------------------|:----------|:------------| -| `Owner` | String | AccountID | Yes | Address of the source account that funded the escrow. | -| `OfferSequence` | Number | UInt32 | Yes | Transaction sequence of [EscrowCreate transaction][] that created the escrow to finish. | -| `Condition` | String | Blob | No | Hex value matching the previously-supplied [PREIMAGE-SHA-256 crypto-condition](https://tools.ietf.org/html/draft-thomas-crypto-conditions-02#section-8.1) of the escrow. | -| `CredentialIDs` | Array of Strings | Vector256 | No | Set of Credentials to authorize a deposit made by this transaction. Each member of the array must be the ledger entry ID of a Credential entry in the ledger. For details, see [Credential IDs](./payment.md#credential-ids). | -| `Fulfillment` | String | Blob | No | Hex value of the [PREIMAGE-SHA-256 crypto-condition fulfillment](https://tools.ietf.org/html/draft-thomas-crypto-conditions-02#section-8.1.4) matching the escrow's `Condition`. | +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:----------------|:---------------------|:------------------|:----------|:------------| +| `Owner` | String - [Address][] | AccountID | Yes | The source account that funded the escrow. | +| `OfferSequence` | Number | UInt32 | Yes | Transaction sequence of [EscrowCreate transaction][] that created the escrow to finish. | +| `Condition` | String - Hexadecimal | Blob | No | The (previously-supplied) [PREIMAGE-SHA-256 crypto-condition](https://tools.ietf.org/html/draft-thomas-crypto-conditions-02#section-8.1) of the escrow. | +| `CredentialIDs` | Array of Strings | Vector256 | No | Set of Credentials to authorize a deposit made by this transaction. Each member of the array must be the ledger entry ID of a Credential entry in the ledger. For details, see [Credential IDs](./payment.md#credential-ids). | +| `Fulfillment` | String - Hexadecmial | Blob | No | The [PREIMAGE-SHA-256 crypto-condition fulfillment](https://tools.ietf.org/html/draft-thomas-crypto-conditions-02#section-8.1.4) matching the escrow's `Condition`. | Any account may submit an EscrowFinish transaction. diff --git a/docs/references/protocol/transactions/types/ledgerstatefix.md b/docs/references/protocol/transactions/types/ledgerstatefix.md index 9d27c91324..375c2a0317 100644 --- a/docs/references/protocol/transactions/types/ledgerstatefix.md +++ b/docs/references/protocol/transactions/types/ledgerstatefix.md @@ -10,7 +10,7 @@ labels: `LedgerStateFix` is a general purpose transaction used to fix specific issues affecting the XRP ledger. You submit the transaction with the `LedgerFixType` value set to indicate the particular error state to correct. -_(Added by the [fixNFTokenPageLinks amendment][])_ +_(Added by the [fixNFTokenPageLinks amendment][].)_ ## Example {% $frontmatter.seo.title %} JSON @@ -31,7 +31,7 @@ _(Added by the [fixNFTokenPageLinks amendment][])_ | Field | JSON Type | [Internal Type][] | Required? | Description | |:----------------|:---------------------|:------------------|:----------|:------------| | `LedgerFixType` | Number | UInt16 | Yes | The type of fix to apply. See [LedgerFixType](#ledgerfixtype) for possible values. Currently the only type is `1`, which fixes the NFToken directory for a single account. | -| `Owner` | String - [Address][] | Account | No | _(Required if `LedgerFixType` is `1`.)_ The account that owns the NFToken directory to fix. Does not need any relationship to the sender of the transaction. | +| `Owner` | String - [Address][] | AccountID | No | _(Required if `LedgerFixType` is `1`.)_ The account that owns the NFToken directory to fix. Does not need any relationship to the sender of the transaction. | ## LedgerFixType @@ -69,4 +69,4 @@ Besides errors that can occur for all transactions, {% $frontmatter.seo.title %} | `tecOBJECT_NOT_FOUND` | A ledger entry specified in the transaction does not exist. For example, the transaction tried to repair the NFT directory of an account that does not hold any NFTs. | | `tefINVALID_LEDGER_FIX_TYPE` | The [`LedgerFixType`](#ledgerfixtype) value specified in the transaction is not valid. Currently, the only valid type is `1`. | -{% raw-partial file="/docs/_snippets/common-links.md" /%} \ No newline at end of file +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/mptokenauthorize.md b/docs/references/protocol/transactions/types/mptokenauthorize.md index f2167f191d..26b188c1cd 100644 --- a/docs/references/protocol/transactions/types/mptokenauthorize.md +++ b/docs/references/protocol/transactions/types/mptokenauthorize.md @@ -7,14 +7,14 @@ labels: # MPTokenAuthorize [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/MPTokenAuthorize.cpp "Source") -_(Requires the [MPTokensV1 amendment][] {% not-enabled /%})_ - An MPTokenAuthorize transaction controls whether an account can hold a given [Multi-purpose Token (MPT)](../../../../concepts/tokens/fungible-tokens/multi-purpose-tokens.md). It has several uses: - An account indicates their willingness to hold an MPT. This creates a new [MPToken entry][] with an initial zero balance owned by that account. This is a prerequisite to receive that type of MPT in a payment. - An account revokes their willingness to hold an MPT, deleting the [MPToken entry][]. This can only be done if their balance of the given MPT is zero. - For an MPT that uses allow-listing, an issuer grants or revokes permission for another account to hold the given MPT. +_(Requires the [MPTokensV1 amendment][] {% not-enabled /%}.)_ + {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} | Field | JSON Type | [Internal Type][] | Required? | Description | diff --git a/docs/references/protocol/transactions/types/mptokenissuancecreate.md b/docs/references/protocol/transactions/types/mptokenissuancecreate.md index 9f7fbc233c..67516e7fc1 100644 --- a/docs/references/protocol/transactions/types/mptokenissuancecreate.md +++ b/docs/references/protocol/transactions/types/mptokenissuancecreate.md @@ -1,6 +1,4 @@ --- -html: mptokenissuancecreate.html -parent: transaction-types.html blurb: Issue a new Multi-purpose Token. labels: - Multi-purpose Tokens, MPTs @@ -9,14 +7,14 @@ labels: # MPTokenIssuanceCreate [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/MPTokenIssuanceCreate.cpp "Source") -_(Requires the [MPTokensV1 amendment][] {% not-enabled /%})_ - The `MPTokenIssuanceCreate` transaction creates an [MPTokenIssuance](../../ledger-data/ledger-entry-types/mptokenissuance.md) object and adds it to the relevant directory node of the creator account. This transaction is the only opportunity an issuer has to specify any token fields that are defined as immutable (for example, MPT Flags). If the transaction is successful, the newly created token is owned by the account (the creator account) that executed the transaction. Whenever your query returns an `MPTokenIssuance` transaction response, there will always be an `mpt_issuance_id` field on the Transaction Metadata page. +_(Requires the [MPTokensV1 amendment][] {% not-enabled /%}.)_ + ## Example MPTokenIssuanceCreate JSON This example assumes that the issuer of the token is the signer of the transaction. @@ -34,18 +32,14 @@ This example assumes that the issuer of the token is the signer of the transacti } ``` - - {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} -| Field | JSON Type | [Internal Type][] | Description | -|:----------------|:--------------------|:------------------|:-------------------| -| `TransactionType` | string | UInt16 | Indicates the new transaction type MPTokenIssuanceCreate. | -| `AssetScale` | number | UInt8 | (Optional) An asset scale is the difference, in orders of magnitude, between a standard unit and a corresponding fractional unit. More formally, the asset scale is a non-negative integer (0, 1, 2, …) such that one standard unit equals 10^(-scale) of a corresponding fractional unit. For example, a US Dollar Stablecoin will likely have an asset scale of _2_, representing 2 decimal places; 1 unit of this MPToken would equal 0.01 US Dollars. If the fractional unit equals the standard unit, then the asset scale is 0. Note that this value is optional, and will default to 0 if not supplied. | -| `Flags` | number | UInt16 | Specifies the flags for this transaction. See [MPTokenIssuanceCreate Flags](#mptokenissuancecreate-flags). | -| `TransferFee` | number | UInt16 | (Optional) The value specifies the fee to charged by the issuer for secondary sales of the Token, if such sales are allowed. Valid values for this field are between 0 and 50,000 inclusive, allowing transfer rates of between 0.000% and 50.000% in increments of 0.001. The field _must not_ be present if the tfMPTCanTransfer flag is not set. If it is, the transaction should fail and a fee should be claimed. | -| `MaximumAmount` | string | UInt64 | (Optional) The maximum asset amount of this token that can ever be issued, as a base-10 number encoded as a string. The current default maximum limit is 9,223,372,036,854,775,807 (2^63-1). _This limit may increase in the future. If an upper limit is required, you must specify this field._ | -| `MPTokenMetadata` | string | Blob | Arbitrary metadata about this issuance, in hex format. The limit for this field is 1024 bytes. | +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:------------------|:--------------------|:------------------|:----------|:------------| +| `AssetScale` | number | UInt8 | No | An asset scale is the difference, in orders of magnitude, between a standard unit and a corresponding fractional unit. More formally, the asset scale is a non-negative integer (0, 1, 2, …) such that one standard unit equals 10^(-scale) of a corresponding fractional unit. For example, a US Dollar Stablecoin will likely have an asset scale of _2_, representing 2 decimal places; 1 unit of this MPToken would equal 0.01 US Dollars. If the fractional unit equals the standard unit, then the asset scale is 0. Note that this value is optional, and will default to 0 if not supplied. | +| `TransferFee` | number | UInt16 | No | The value specifies the fee to charged by the issuer for secondary sales of the Token, if such sales are allowed. Valid values for this field are between 0 and 50,000 inclusive, allowing transfer rates of between 0.000% and 50.000% in increments of 0.001. The field _must not_ be present if the tfMPTCanTransfer flag is not set. If it is, the transaction should fail and a fee should be claimed. | +| `MaximumAmount` | string | UInt64 | No | The maximum asset amount of this token that can ever be issued, as a base-10 number encoded as a string. The current default maximum limit is 9,223,372,036,854,775,807 (2^63-1). _This limit may increase in the future. If an upper limit is required, you must specify this field._ | +| `MPTokenMetadata` | string | Blob | No | Arbitrary metadata about this issuance, in hex format. The limit for this field is 1024 bytes. | ## MPTokenIssuanceCreate Flags @@ -53,11 +47,11 @@ Transactions of the MPTokenIssuanceCreate type support additional values in the | Flag Name | Hex Value | Decimal Value | Description | |:-------------------|:-------------|:--------------|:------------------------------| -| `tfMPTCanLock` | `0x00000002` | `2` | If set, indicates that the MPT can be locked both individually and globally. If not set, the MPT cannot be locked in any way. | -| `tfMPTRequireAuth` | `0x00000004` | `4` | If set, indicates that individual holders must be authorized. This enables issuers to limit who can hold their assets. | -| `tfMPTCanEscrow` | `0x00000008` | `8` | If set, indicates that individual holders can place their balances into an escrow. | -| `tfMPTCanTrade` | `0x00000010` | `16` | If set, indicates that individual holders can trade their balances using the XRP Ledger DEX. | -| `tfMPTCanTransfer` | `0x00000020` | `32` | If set, indicates that tokens can be transferred to other accounts that are not the issuer. | -| `tfMPTCanClawback` | `0x00000040` | `64` | If set, indicates that the issuer can use the `Clawback` transaction to claw back value from individual holders. | +| `tfMPTCanLock` | `0x00000002` | `2` | If set, indicates that the MPT can be locked both individually and globally. If not set, the MPT cannot be locked in any way. | +| `tfMPTRequireAuth` | `0x00000004` | `4` | If set, indicates that individual holders must be authorized. This enables issuers to limit who can hold their assets. | +| `tfMPTCanEscrow` | `0x00000008` | `8` | If set, indicates that individual holders can place their balances into an escrow. | +| `tfMPTCanTrade` | `0x00000010` | `16` | If set, indicates that individual holders can trade their balances using the XRP Ledger DEX. | +| `tfMPTCanTransfer` | `0x00000020` | `32` | If set, indicates that tokens can be transferred to other accounts that are not the issuer. | +| `tfMPTCanClawback` | `0x00000040` | `64` | If set, indicates that the issuer can use the `Clawback` transaction to claw back value from individual holders. | {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/mptokenissuancedestroy.md b/docs/references/protocol/transactions/types/mptokenissuancedestroy.md index 0dc8d986d0..2444c38958 100644 --- a/docs/references/protocol/transactions/types/mptokenissuancedestroy.md +++ b/docs/references/protocol/transactions/types/mptokenissuancedestroy.md @@ -1,6 +1,4 @@ --- -html: mptokenissuancedestroy.html -parent: transaction-types.html blurb: Remove a Multi-purpose Token from the ledger. labels: - Multi-purpose Tokens, MPTs @@ -8,12 +6,12 @@ labels: # MPTokenIssuanceDestroy [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/MPTokenIssuanceDestroy.cpp "Source") -_(Requires the [MPTokensV1 amendment][] {% not-enabled /%})_ - The `MPTokenIssuanceDestroy` transaction is used to remove an `MPTokenIssuance` object from the directory node in which it is being held, effectively removing the token from the ledger ("destroying" it). If this operation succeeds, the corresponding `MPTokenIssuance` is removed and the owner’s reserve requirement is reduced by one. This operation must fail if there are any holders of the MPT in question. +_(Requires the [MPTokensV1 amendment][] {% not-enabled /%}.)_ + ## Example MPTokenIssuanceDestroy JSON ```json @@ -30,7 +28,6 @@ If this operation succeeds, the corresponding `MPTokenIssuance` is removed and t | Field | JSON Type | [Internal Type][] | Description | |:--------------------|:--------------------|:------------------|:-------------------| -| `TransactionType` | string | UInt16 | Indicates the new transaction type MPTokenIssuanceDestroy. | -| `MPTokenIssuanceID` | string | UInt192 | Identifies the `MPTokenIssuance` object to be removed by the transaction. | +| `MPTokenIssuanceID` | String | UInt192 | Identifies the `MPTokenIssuance` object to be removed by the transaction. | {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/mptokenissuanceset.md b/docs/references/protocol/transactions/types/mptokenissuanceset.md index e97bcdd039..dda812c325 100644 --- a/docs/references/protocol/transactions/types/mptokenissuanceset.md +++ b/docs/references/protocol/transactions/types/mptokenissuanceset.md @@ -1,6 +1,4 @@ --- -html: mptokenissuanceset.html -parent: transaction-types.html blurb: Set mutable properties for an MPT. labels: - Multi-purpose Tokens, MPTs @@ -8,9 +6,9 @@ labels: # MPTokenIssuanceSet [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/MPTokenIssuanceSet.cpp "Source") -_(Requires the [MPTokensV1 amendment][] {% not-enabled /%})_ +Use this transaction to update a mutable property for a Multi-purpose Token. The transaction flags determine which change(s) to apply. -Use this transaction to update a mutable property for a Multi-purpose Token. +_(Requires the [MPTokensV1 amendment][] {% not-enabled /%}.)_ ## Example @@ -27,12 +25,10 @@ Use this transaction to update a mutable property for a Multi-purpose Token. {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} -| Field | JSON Type | [Internal Type][] | Description | -|:-------------------|:--------------------|:------------------|:-------------------| -| `TransactionType` | string | UInt16 | Indicates the new transaction type `MPTokenIssuanceSet`. | -| `MPTokenIssuanceID`| string | UInt192 | The `MPTokenIssuance` identifier. | -| `Holder` | string | AccountID | (Optional) XRPL Address of an individual token holder balance to lock/unlock. If omitted, this transaction applies to all any accounts holding MPTs. | -| `Flag` | number | UInt64 | Specifies flags for this transaction. See [MPTokenIssuanceSet Flags](#mptokenissuanceset-flags). | +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:--------------------|:---------------------|:------------------|:----------|-------------| +| `MPTokenIssuanceID` | String - Hexadecimal | UInt192 | Yes | The identifier of the `MPTokenIssuance` to update. | +| `Holder` | String - [Address][] | AccountID | No | An individual token holder. If provided, apply changes to the given holder's balance of the given MPT issuance. If omitted, apply to all accounts holding the given MPT issuance. | ### MPTokenIssuanceSet Flags @@ -40,7 +36,7 @@ Transactions of the `MPTokenIssuanceSet` type support additional values in the ` | Flag Name | Hex Value | Decimal Value | Description | |:-------------------|:-------------|:--------------|:------------------------------| -| `tfMPTLock` | `0x00000001` | 1 | If set, indicates that all MPT balances for this asset should be locked. | -| `tfMPTUnlock` | `0x00000002` | 2 | If set, indicates that all MPT balances for this asset should be unlocked. | +| `tfMPTLock` | `0x00000001` | 1 | Enable to lock balances of this MPT issuance. | +| `tfMPTUnlock` | `0x00000002` | 2 | Enable to unlock balances of this MPT issuance. | {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/nftokenacceptoffer.md b/docs/references/protocol/transactions/types/nftokenacceptoffer.md index f8f3e520a3..061bfec99f 100644 --- a/docs/references/protocol/transactions/types/nftokenacceptoffer.md +++ b/docs/references/protocol/transactions/types/nftokenacceptoffer.md @@ -76,8 +76,8 @@ The transaction fails with a [`tec`-class code](../transaction-results/tec-codes | Field | JSON Type | [Internal Type][] | Description | |:-------------------|:--------------------|:------------------|:--------------| -| `NFTokenSellOffer` | String | Hash256 | _(Optional)_ Identifies the `NFTokenOffer` that offers to sell the `NFToken`. | -| `NFTokenBuyOffer` | String | Hash256 | _(Optional)_ Identifies the `NFTokenOffer` that offers to buy the `NFToken`. | +| `NFTokenSellOffer` | String | UInt256 | _(Optional)_ Identifies the `NFTokenOffer` that offers to sell the `NFToken`. | +| `NFTokenBuyOffer` | String | UInt256 | _(Optional)_ Identifies the `NFTokenOffer` that offers to buy the `NFToken`. | | `NFTokenBrokerFee` | [Currency Amount][] | Amount | _(Optional)_ This field is only valid in brokered mode, and specifies the amount that the broker keeps as part of their fee for bringing the two offers together; the remaining amount is sent to the seller of the `NFToken` being bought. If specified, the fee must be such that, before applying the transfer fee, the amount that the seller would receive is at least as much as the amount indicated in the sell offer. | In direct mode, you must specify **either** the `NFTokenSellOffer` or the `NFTokenBuyOffer` field. In brokered mode, you must specify **both** fields. diff --git a/docs/references/protocol/transactions/types/nftokenburn.md b/docs/references/protocol/transactions/types/nftokenburn.md index ab17a2e3cf..2113d0a009 100644 --- a/docs/references/protocol/transactions/types/nftokenburn.md +++ b/docs/references/protocol/transactions/types/nftokenburn.md @@ -36,7 +36,7 @@ _(Added by the [NonFungibleTokensV1_1 amendment][].)_ | Field | JSON Type | [Internal Type][] | Description | |:------------------|:----------|:------------------|:-------------------------| -| `NFTokenID` | String | Hash256 | The `NFToken` to be removed by this transaction. | +| `NFTokenID` | String | UInt256 | The `NFToken` to be removed by this transaction. | | `Owner` | String | AccountID | _(Optional)_ The owner of the `NFToken` to burn. Only used if that owner is different than the account sending this transaction. The issuer or authorized minter can use this field to burn NFTs that have the `lsfBurnable` flag enabled. | diff --git a/docs/references/protocol/transactions/types/nftokencanceloffer.md b/docs/references/protocol/transactions/types/nftokencanceloffer.md index d3333b0ac6..c68ce911cd 100644 --- a/docs/references/protocol/transactions/types/nftokencanceloffer.md +++ b/docs/references/protocol/transactions/types/nftokencanceloffer.md @@ -41,7 +41,7 @@ This transaction removes the listed `NFTokenOffer` object from the ledger, if pr | Field | JSON Type | [Internal Type][] | Description | |:------------------|:----------|:------------------|:-------------------------| -| `NFTokenOffers` | Array | VECTOR256 | An array of IDs of the `NFTokenOffer` objects to cancel (not the IDs of `NFToken` objects, but the IDs of the `NFTokenOffer` objects). Each entry must be a different [object ID](../../ledger-data/common-fields.md) of an [NFTokenOffer](../../ledger-data/ledger-entry-types/nftokenoffer.md) object; the transaction is invalid if the array contains duplicate entries. | +| `NFTokenOffers` | Array | Vector256 | An array of IDs of the `NFTokenOffer` objects to cancel (not the IDs of `NFToken` objects, but the IDs of the `NFTokenOffer` objects). Each entry must be a different [object ID](../../ledger-data/common-fields.md) of an [NFTokenOffer](../../ledger-data/ledger-entry-types/nftokenoffer.md) object; the transaction is invalid if the array contains duplicate entries. | The transaction can succeed even if one or more of the IDs in the `NFTokenOffers` field do not refer to objects that currently exist in the ledger. (For example, those token offers might already have been deleted.) The transaction fails with an error if one of the IDs points to an object that does exist, but is not a [NFTokenOffer](../../ledger-data/ledger-entry-types/nftokenoffer.md) object. diff --git a/docs/references/protocol/transactions/types/nftokencreateoffer.md b/docs/references/protocol/transactions/types/nftokencreateoffer.md index 64f62d56db..5bcfeed8e8 100644 --- a/docs/references/protocol/transactions/types/nftokencreateoffer.md +++ b/docs/references/protocol/transactions/types/nftokencreateoffer.md @@ -34,7 +34,7 @@ _(Added by the [NonFungibleTokensV1_1 amendment][].)_ | Field | JSON Type | [Internal Type][] | Description | |:--------------|:--------------------|:------------------|:-------------------| | `Owner` | String | AccountID | _(Optional)_ Who owns the corresponding `NFToken`. If the offer is to buy a token, this field must be present and it must be different than the `Account` field (since an offer to buy a token one already holds is meaningless). If the offer is to sell a token, this field must not be present, as the owner is, implicitly, the same as the `Account` (since an offer to sell a token one doesn't already hold is meaningless). | -| `NFTokenID` | String | Hash256 | Identifies the `NFToken` object that the offer references. | +| `NFTokenID` | String | UInt256 | Identifies the `NFToken` object that the offer references. | | `Amount` | [Currency Amount][] | Amount | Indicates the amount expected or offered for the corresponding `NFToken`. The amount must be non-zero, except where this is an offer to sell and the asset is XRP; then, it is legal to specify an amount of zero, which means that the current owner of the token is giving it away, gratis, either to anyone at all, or to the account identified by the `Destination` field. | | `Expiration` | Number | UInt32 | _(Optional)_ Time after which the offer is no longer active, in [seconds since the Ripple Epoch][]. | | `Destination` | String | AccountID | _(Optional)_ If present, indicates that this offer may only be accepted by the specified account. Attempts by other accounts to accept this offer MUST fail. | diff --git a/docs/references/protocol/transactions/types/nftokenmint.md b/docs/references/protocol/transactions/types/nftokenmint.md index 377689f527..72f75eae2b 100644 --- a/docs/references/protocol/transactions/types/nftokenmint.md +++ b/docs/references/protocol/transactions/types/nftokenmint.md @@ -40,15 +40,15 @@ _(Added by the [NonFungibleTokensV1_1 amendment][].)_ {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} -| Field | JSON Type | [Internal Type][] | Description | -|:--------------|:--------------------|:------------------|:-------------------| -| `NFTokenTaxon` | Number | UInt32 | An arbitrary _taxon_, or shared identifier, for a series or collection of related NFTs. To mint a series of NFTs, give them all the same taxon. | -| `Issuer` | String | AccountID | _(Optional)_ The issuer of the token, if the sender of the account is issuing it on behalf of another account. This field must be omitted if the account sending the transaction is the issuer of the `NFToken`. If provided, the issuer's [AccountRoot object][] must have the `NFTokenMinter` field set to the sender of this transaction (this transaction's `Account` field). | -| `TransferFee` | Number | UInt16 | _(Optional)_ The value specifies the fee charged by the issuer for secondary sales of the `NFToken`, if such sales are allowed. Valid values for this field are between 0 and 50000 inclusive, allowing transfer rates of between 0.00% and 50.00% in increments of 0.001. If this field is provided, the transaction MUST have the [`tfTransferable` flag](#nftokenmint-flags) enabled. | -| `URI` | String | Blob | _(Optional)_ Up to 256 bytes of arbitrary data. In JSON, this should be encoded as a string of hexadecimal. You can use the [`xrpl.convertStringToHex`](https://js.xrpl.org/modules.html#convertStringToHex) utility to convert a URI to its hexadecimal equivalent. This is intended to be a URI that points to the data or metadata associated with the NFT. The contents could decode to an HTTP or HTTPS URL, an IPFS URI, a magnet link, immediate data encoded as an [RFC 2379 "data" URL](https://datatracker.ietf.org/doc/html/rfc2397), or even an issuer-specific encoding. The URI is NOT checked for validity. | -| `Amount` | [Currency Amount][] | Amount | _(Optional)_ Indicates the amount expected or offered for the corresponding `NFToken`. The amount must be non-zero, except where the asset is XRP; then, it is legal to specify an amount of zero, which means that the current owner of the token is giving it away, gratis, either to anyone at all, or to the account identified by the `Destination` field. | -| `Expiration` | Number | UInt32 | _(Optional)_ Time after which the offer is no longer active, in [seconds since the Ripple Epoch][]. Results in an error if the `Amount` field is not specified. | -| `Destination` | String | AccountID | _(Optional)_ If present, indicates that this offer may only be accepted by the specified account. Attempts by other accounts to accept this offer MUST fail. Results in an error if the `Amount` field is not specified. | +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:---------------|:---------------------|:------------------|:----------|-------------| +| `NFTokenTaxon` | Number | UInt32 | Yes | An arbitrary _taxon_, or shared identifier, for a series or collection of related NFTs. To mint a series of NFTs, give them all the same taxon. | +| `Issuer` | String - [Address][] | AccountID | No | The issuer of the token, if the sender of the account is issuing it on behalf of another account. This field must be omitted if the account sending the transaction is the issuer of the `NFToken`. If provided, the issuer's [AccountRoot object][] must have the `NFTokenMinter` field set to the sender of this transaction (this transaction's `Account` field). | +| `TransferFee` | Number | UInt16 | No | The value specifies the fee charged by the issuer for secondary sales of the `NFToken`, if such sales are allowed. Valid values for this field are between 0 and 50000 inclusive, allowing transfer rates of between 0.00% and 50.00% in increments of 0.001. If this field is provided, the transaction MUST have the [`tfTransferable` flag](#nftokenmint-flags) enabled. | +| `URI` | String - Hexadecimal | Blob | No | Up to 256 bytes of arbitrary data. In JSON, this should be encoded as a string of hexadecimal. You can use the [`xrpl.convertStringToHex`](https://js.xrpl.org/modules.html#convertStringToHex) utility to convert a URI to its hexadecimal equivalent. This is intended to be a URI that points to the data or metadata associated with the NFT. The contents could decode to an HTTP or HTTPS URL, an IPFS URI, a magnet link, immediate data encoded as an [RFC 2379 "data" URL](https://datatracker.ietf.org/doc/html/rfc2397), or even an issuer-specific encoding. The URI is NOT checked for validity. | +| `Amount` | [Currency Amount][] | Amount | No | Indicates the amount expected or offered for the corresponding `NFToken`. The amount must be non-zero, except where the asset is XRP; then, it is legal to specify an amount of zero, which means that the current owner of the token is giving it away, gratis, either to anyone at all, or to the account identified by the `Destination` field. | +| `Expiration` | Number | UInt32 | No | Time after which the offer is no longer active, in [seconds since the Ripple Epoch][]. Results in an error if the `Amount` field is not specified. | +| `Destination` | String - [Address][] | AccountID | No | If present, indicates that this offer may only be accepted by the specified account. Attempts by other accounts to accept this offer MUST fail. Results in an error if the `Amount` field is not specified. | ## NFTokenMint Flags diff --git a/docs/references/protocol/transactions/types/nftokenmodify.md b/docs/references/protocol/transactions/types/nftokenmodify.md index bb2cf90a23..e751ff2f97 100644 --- a/docs/references/protocol/transactions/types/nftokenmodify.md +++ b/docs/references/protocol/transactions/types/nftokenmodify.md @@ -11,6 +11,8 @@ title: `NFTokenModify` is used to change the `URI` field of an NFT to point to a different URI in order to update the supporting data for the NFT. The NFT must have been minted with the `tfMutable` flag set. See [Dynamic Non-Fungible Tokens](../../../../concepts/tokens/nfts/dynamic-nfts.md). +_(Requires the [DynamicNFT amendment][] {% not-enabled /%}.)_ + ## Example {% $frontmatter.seo.title %} JSON @@ -28,13 +30,11 @@ title: {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} -| Field | JSON Type | [Internal Type][] | Description | -|:------------------|:--------------------|:------------------|:-------------------| -| `TransactionType` | String | UINT16 | Type is `NFTokenModify`. | -| `Account` | String | AccountID | The unique address of either the issuer or an authorized minter of the NFT. | -| `Owner` | String | AccountID | _(Optional)_ Address of the owner of the NFT. If the `Account` and `Owner` are the same address, omit this field. | -| `NFTokenID` | String | Hash256 | Composite field that uniquely identifies the token. | -| `URI` | String | Blob | _(Optional)_ Up to 256 bytes of arbitrary data. In JSON, this should be encoded as a string of hexadecimal. You can use the [`xrpl.convertStringToHex`](https://js.xrpl.org/modules.html#convertStringToHex) utility to convert a URI to its hexadecimal equivalent. This is intended to be a URI that points to the data or metadata associated with the NFT. The contents could decode to an HTTP or HTTPS URL, an IPFS URI, a magnet link, immediate data encoded as an [RFC 2379 "data" URL](https://datatracker.ietf.org/doc/html/rfc2397), or even an issuer-specific encoding. The URI is not checked for validity. If you do not specify a URI, the existing URI is deleted. | +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:------------------|:---------------------|:------------------|:----------|:------------| +| `Owner` | String - [Address][] | AccountID | No | Address of the owner of the NFT. If the `Account` and `Owner` are the same address, omit this field. | +| `NFTokenID` | String - Hexadecimal | UInt256 | Yes | The unique identfier of the NFT to modify. | +| `URI` | String - Hexadecimal | Blob | No | Up to 256 bytes of arbitrary data. In JSON, this should be encoded as a string of hexadecimal. You can use the [`xrpl.convertStringToHex`](https://js.xrpl.org/modules.html#convertStringToHex) utility to convert a URI to its hexadecimal equivalent. This is intended to be a URI that points to the data or metadata associated with the NFT. The contents could decode to an HTTP or HTTPS URL, an IPFS URI, a magnet link, immediate data encoded as an [RFC 2379 "data" URL](https://datatracker.ietf.org/doc/html/rfc2397), or even an issuer-specific encoding. The URI is not checked for validity. If you do not specify a URI, the existing URI is deleted. | ## Error Cases diff --git a/docs/references/protocol/transactions/types/offercreate.md b/docs/references/protocol/transactions/types/offercreate.md index b518923ae6..59c6b89378 100644 --- a/docs/references/protocol/transactions/types/offercreate.md +++ b/docs/references/protocol/transactions/types/offercreate.md @@ -36,7 +36,7 @@ An OfferCreate transaction places an [Offer](../../../../concepts/tokens/decentr | Field | JSON Type | [Internal Type][] | Required? | Description | |:-----------------|:--------------------|:------------------|:----------|-------------| -| `DomainID` | String - [Hash][] | Hash256 | No | The ledger entry ID of a permissioned domain. If provided, restrict this offer to the [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md) of that domain. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ | +| `DomainID` | String - [Hash][] | UInt256 | No | The ledger entry ID of a permissioned domain. If provided, restrict this offer to the [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md) of that domain. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ | | [`Expiration`](../../../../concepts/tokens/decentralized-exchange/offers.md#offer-expiration) | Number | UInt32 | No | Time after which the Offer is no longer active, in [seconds since the Ripple Epoch][]. | | `OfferSequence` | Number | UInt32 | No | An Offer to delete first, specified in the same way as [OfferCancel][]. | | `TakerGets` | [Currency Amount][] | Amount | Yes | The amount and type of currency being sold. | diff --git a/docs/references/protocol/transactions/types/oracledelete.md b/docs/references/protocol/transactions/types/oracledelete.md index 2cd1574916..cb63191cf3 100644 --- a/docs/references/protocol/transactions/types/oracledelete.md +++ b/docs/references/protocol/transactions/types/oracledelete.md @@ -12,6 +12,8 @@ _(Requires the [PriceOracle amendment][])_ Delete an `Oracle` ledger entry. +_(Added by the [PriceOracle amendment][].)_ + ## Example OracleDelete JSON diff --git a/docs/references/protocol/transactions/types/oracleset.md b/docs/references/protocol/transactions/types/oracleset.md index cb9484643d..b01c099554 100644 --- a/docs/references/protocol/transactions/types/oracleset.md +++ b/docs/references/protocol/transactions/types/oracleset.md @@ -6,12 +6,12 @@ labels: - Oracle --- # OracleSet -_(Requires the [PriceOracle amendment][])_ - [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/SetOracle.cpp "Source") Creates a new `Oracle` ledger entry or updates the fields of an existing one, using the Oracle Document ID. +_(Added by the [PriceOracle amendment][].)_ + ## Example OracleSet JSON diff --git a/docs/references/protocol/transactions/types/payment.md b/docs/references/protocol/transactions/types/payment.md index 571e0828e4..2c9703bd59 100644 --- a/docs/references/protocol/transactions/types/payment.md +++ b/docs/references/protocol/transactions/types/payment.md @@ -45,8 +45,8 @@ Payments are also the only way to [create accounts](#creating-accounts). | `DeliverMin` | [Currency Amount][] | Amount | No | Minimum amount of destination currency this transaction should deliver. Only valid if this is a [partial payment](#partial-payments). | | `Destination` | String - [Address][] | AccountID | Yes | The account receiving the payment. | | `DestinationTag` | Number | UInt32 | No | Arbitrary tag that identifies the reason for the payment to the destination, or a hosted recipient to pay. | -| `DomainID` | String - [Hash][] | Hash256 | No | The ledger entry ID of a permissioned domain. If this is a cross-currency payment, only use the corresponding [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md) to convert currency. Both the sender and the recipient must have valid credentials that grant access to the specified domain. This field has no effect if the payment is not cross-currency. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ | -| `InvoiceID` | String - Hexadecimal | Hash256 | No | Arbitrary 256-bit value representing a specific reason or identifier for this payment. | +| `DomainID` | String - [Hash][] | UInt256 | No | The ledger entry ID of a permissioned domain. If this is a cross-currency payment, only use the corresponding [permissioned DEX](../../../../concepts/tokens/decentralized-exchange/permissioned-dexes.md) to convert currency. Both the sender and the recipient must have valid credentials that grant access to the specified domain. This field has no effect if the payment is not cross-currency. _(Requires the [PermissionedDEX amendment][] {% not-enabled /%})_ | +| `InvoiceID` | String - Hexadecimal | UInt256 | No | Arbitrary 256-bit value representing a specific reason or identifier for this payment. | | `Paths` | Array of path arrays | PathSet | No | _(Auto-fillable)_ Array of [payment paths](../../../../concepts/tokens/fungible-tokens/paths.md) to be used for this transaction. Must be omitted for XRP-to-XRP transactions. | | `SendMax` | [Currency Amount][] | Amount | No | Highest amount of source currency this transaction is allowed to cost, including [transfer fees](../../../../concepts/tokens/transfer-fees.md), exchange rates, and [slippage](http://en.wikipedia.org/wiki/Slippage_%28finance%29). Does not include the [XRP destroyed as a cost for submitting the transaction](../../../../concepts/transactions/transaction-cost.md). Must be supplied for cross-currency/cross-issue payments. Must be omitted for XRP-to-XRP payments. | diff --git a/docs/references/protocol/transactions/types/paymentchannelclaim.md b/docs/references/protocol/transactions/types/paymentchannelclaim.md index 82fcf3c6b5..68cbae24de 100644 --- a/docs/references/protocol/transactions/types/paymentchannelclaim.md +++ b/docs/references/protocol/transactions/types/paymentchannelclaim.md @@ -9,53 +9,56 @@ labels: # PaymentChannelClaim [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/PayChan.cpp "Source") -_Added by the [PayChan amendment][]._ - -Claim XRP or fungible tokens from a payment channel, adjust the payment channel's expiration, or both. This transaction can be used differently depending on the transaction sender's role in the specified channel: +Claim funds from a payment channel, adjust the payment channel's expiration, or both. This transaction can be used differently depending on the transaction sender's role in the specified channel: The **source address** of a channel can: -- Send XRP or fungible tokens from the channel to the destination with _or without_ a signed Claim. +- Send funds from the channel to the destination with _or without_ a signed Claim. - Set the channel to expire as soon as the channel's `SettleDelay` has passed. - Clear a pending `Expiration` time. - Close a channel immediately, with or without processing a claim first. The source address cannot close the channel immediately if the channel has any amount remaining. The **destination address** of a channel can: -- Receive XRP or fungible tokens from the channel using a signed Claim. +- Receive funds from the channel using a signed Claim. - Close the channel immediately after processing a Claim, refunding any unclaimed amount to the channel's source. **Any address** sending this transaction can: - Cause a channel to be closed if its `Expiration` or `CancelAfter` time is older than the previous ledger's close time. Any validly formed `PaymentChannelClaim` transaction has this effect, regardless of the contents of the transaction. +_(Added by the [PayChan amendment][].)_ + + ## Example {% $frontmatter.seo.title %} JSON ```json { - "Channel": "C1AE6DDDEEC05CF2978C0BAD6FE302948E9533691DC749DCDD3B9E5992CA6198", - "Balance": "1000000", - "Amount": "1000000", - "Signature": "30440220718D264EF05CAED7C781FF6DE298DCAC68D002562C9BF3A07C1E721B420C0DAB02203A5A4779EF4D2CCC7BC3EF886676D803A9981B928D3B8ACA483B80ECA3CD7B9B", - "PublicKey": "32D2471DB72B27E3310F355BB33E339BF26F8392D5A93D3BC0FC3B566612DA0F0A" + "Account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn", + "Amount": "1000000", + "Balance": "1000000", + "Channel": "5DB01B7FFED6B67E6B0414DED11E051D2EE2B7619CE0EAA6286D67A3A4D5BDB3", + "Fee": "10", + "Flags": 2147483648, + "PublicKey": "023693F15967AE357D0327974AD46FE3C127113B1110D6044FD41E723689F81CC6", + "Sequence": 372, + "TransactionType": "PaymentChannelClaim" } ``` -{% tx-example txid="9C0CAAC3DD1A74461132DA4451F9E53BDF4C93DFDBEFCE1B10021EC569013B33" /%} - - +{% tx-example txid="C9FE08FC88CF76C3B06622ADAA47AE99CABB3380E4D195E7751274CFD87910EB" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} -| Field | JSON Type | [Internal Type][] | Required? | Description | -|:------------|:----------|:------------------|:----------|:------------| -| `Amount` | Object or String | Amount | No | The amount of [XRP, in drops][Currency Amount], or fungible tokens authorized by the `Signature`. This must match the amount in the signed message. This is the cumulative amount of XRP and fungible tokens that can be dispensed by the channel, including funds previously redeemed. | -| `Balance` | String | Amount | No | Total amount of [XRP, in drops][Currency Amount], or fungible tokens delivered by this channel after processing this claim. Required to deliver XRP or fungible tokens. Must be more than the total amount delivered by the channel so far, but not greater than the `Amount` of the signed claim. Must be provided except when closing the channel. | -| `Channel` | String | Hash256 | Yes | The unique ID of the channel, as a 64-character hexadecimal string. | -| `CredentialIDs` | Array of Strings | Vector256 | No | Set of Credentials to authorize a deposit made by this transaction. Each member of the array must be the ledger entry ID of a Credential entry in the ledger. For details, see [Credential IDs](./payment.md#credential-ids). | -| `PublicKey` | String | Blob | No | The public key used for the signature, as hexadecimal. This must match the `PublicKey` stored in the ledger for the channel. Required unless the sender of the transaction is the source address of the channel and the `Signature` field is omitted. (The transaction includes the public key so that `rippled` can check the validity of the signature before trying to apply the transaction to the ledger.) | -| `Signature` | String | Blob | No | The signature of this claim, as hexadecimal. The signed message contains the channel ID and the amount of the claim. Required unless the sender of the transaction is the source address of the channel. | +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:----------------|:---------------------|:------------------|:----------|:------------| +| `Amount` | [Currency Amount][] | Amount | No | The amount of [XRP, in drops][Currency Amount], or fungible tokens authorized by the `Signature`. This must match the amount in the signed message. This is the cumulative amount that can be dispensed by the channel, including funds previously redeemed. Non-XRP tokens can only be used if the [TokenEscrow amendment][] {% not-enabled %} is enabled. | +| `Balance` | [Currency Amount][] | Amount | No | Total amount of [XRP, in drops][Currency Amount], or fungible tokens delivered by this channel after processing this claim. Required to deliver XRP or fungible tokens. Must be more than the total amount delivered by the channel so far, but not greater than the `Amount` of the signed claim. Must be provided except when closing the channel. Non-XRP tokens can only be used if the [TokenEscrow amendment][] {% not-enabled %} is enabled. | +| `Channel` | String - Hexadecimal | UInt256 | Yes | The unique ID of the channel. | +| `CredentialIDs` | Array of Strings | Vector256 | No | Set of credentials to authorize a deposit made by this transaction. Each member of the array must be the ledger entry ID of a Credential entry in the ledger. For details, see [Credential IDs](./payment.md#credential-ids). | +| `PublicKey` | String - Hexadecimal | Blob | No | The public key used for the signature. This must match the `PublicKey` stored in the ledger for the channel. Required unless the sender of the transaction is the source address of the channel and the `Signature` field is omitted. (The transaction includes the public key so that `rippled` can check the validity of the signature before trying to apply the transaction to the ledger.) | +| `Signature` | String - Hexadecimal | Blob | No | The signature of this claim. The signed message contains the channel ID and the amount of the claim. Required unless the sender of the transaction is the source address of the channel. | If the payment channel was created before the [fixPayChanRecipientOwnerDir amendment](/resources/known-amendments.md#fixpaychanrecipientownerdir) became enabled (on 2020-05-01), it is possible that the destination account has been [deleted](../../../../concepts/accounts/deleting-accounts.md) and does not currently exist in the ledger. If the destination has been deleted, the source account cannot send XRP from the channel to the destination; instead, the transaction fails with `tecNO_DST`. Other uses of this transaction type are unaffected when the destination account has been deleted, including adjusting the channel expiration, closing a channel with no XRP, or removing a channel that has passed its expiration time. diff --git a/docs/references/protocol/transactions/types/paymentchannelcreate.md b/docs/references/protocol/transactions/types/paymentchannelcreate.md index d2801c0ddc..918310f137 100644 --- a/docs/references/protocol/transactions/types/paymentchannelcreate.md +++ b/docs/references/protocol/transactions/types/paymentchannelcreate.md @@ -7,9 +7,9 @@ labels: # PaymentChannelCreate [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/PayChan.cpp "Source") -_Added by the [PayChan amendment][]._ +Create a [payment channel](../../../../concepts/payment-types/payment-channels.md) and fund it. The address sending this transaction becomes the "source address" of the payment channel. -Create a [payment channel](../../../../concepts/payment-types/payment-channels.md) and fund it with XRP. The address sending this transaction becomes the "source address" of the payment channel. +_(Added by the [PayChan amendment][].)_ ## Example {% $frontmatter.seo.title %} JSON @@ -32,14 +32,14 @@ Create a [payment channel](../../../../concepts/payment-types/payment-channels.m {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} -| Field | JSON Type | [Internal Type][] | Description | -|:-----------------|:----------|:------------------|:--------------------------| -| `Amount` | Object or String | Amount | Amount to deduct from the sender's balance and set aside in this channel. While the channel is open, the amount can only go to the `Destination` address. When the channel closes, any unclaimed amount is returned to the source account's balance.| -| `Destination` | String | AccountID | Address to receive XRP claims against this channel. This is also known as the "destination address" for the channel. Cannot be the same as the sender (`Account`). | -| `SettleDelay` | Number | UInt32 | Amount of time the source address must wait before closing the channel if it has unclaimed XRP. | -| `PublicKey` | String | Blob | The 33-byte public key of the key pair the source will use to sign claims against this channel, in hexadecimal. This can be any secp256k1 or Ed25519 public key. For more information on key pairs, see [Key Derivation](../../../../concepts/accounts/cryptographic-keys.md#key-derivation) | -| `CancelAfter` | Number | UInt32 | _(Optional)_ The time, in [seconds since the Ripple Epoch][], when this channel expires. Any transaction that would modify the channel after this time closes the channel without otherwise affecting it. This value is immutable; the channel can be closed earlier than this time but cannot remain open after this time. | -| `DestinationTag` | Number | UInt32 | _(Optional)_ Arbitrary tag to further specify the destination for this payment channel, such as a hosted recipient at the destination address. | +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:-----------------|:---------------------|:------------------|:----------|:------------| +| `Amount` | [Currency Amount][] | Amount | Yes | Amount to deduct from the sender's balance and set aside in this channel. While the channel is open, the amount can only go to the `Destination` address. When the channel closes, any unclaimed amount is returned to the source account's balance. Non-XRP tokens can only be used if the [TokenEscrow amendment][] {% not-enabled %} is enabled. | +| `Destination` | String - [Address][] | AccountID | Yes | The account that can receive money from this channel. This is also known as the "destination address" for the channel. Cannot be the same as the sender (`Account`). | +| `SettleDelay` | Number | UInt32 | Yes | Amount of time, in seconds, the source address must wait before closing the channel if it has unclaimed funds. | +| `PublicKey` | String - Hexadecimal | Blob | Yes | The 33-byte public key of the key pair the source will use to sign claims against this channel. This can be any secp256k1 or Ed25519 public key. For more information on key pairs, see [Key Derivation](../../../../concepts/accounts/cryptographic-keys.md#key-derivation) | +| `CancelAfter` | Number | UInt32 | No | The time, in [seconds since the Ripple Epoch][], when this channel expires. Any transaction that would modify the channel after this time closes the channel without otherwise affecting it. This value is immutable; the channel can be closed earlier than this time but cannot remain open after this time. | +| `DestinationTag` | Number | UInt32 | No | Arbitrary tag to further specify the destination for this payment channel, such as a hosted recipient at the destination address. | If the `Destination` account is blocking incoming payment channels, the transaction fails with result code `tecNO_PERMISSION`. _(Requires the [DisallowIncoming amendment][] )_ diff --git a/docs/references/protocol/transactions/types/paymentchannelfund.md b/docs/references/protocol/transactions/types/paymentchannelfund.md index 544a2c5540..3d58937027 100644 --- a/docs/references/protocol/transactions/types/paymentchannelfund.md +++ b/docs/references/protocol/transactions/types/paymentchannelfund.md @@ -9,10 +9,10 @@ labels: # PaymentChannelFund [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/PayChan.cpp "Source") -_Added by the [PayChan amendment][]._ - Add an additional amount to an open [payment channel](../../../../concepts/payment-types/payment-channels.md), and optionally update the expiration time of the channel. Only the source account of the channel can use this transaction. +_(Added by the [PayChan amendment][].)_ + Example PaymentChannelFund: ```json @@ -28,13 +28,12 @@ Example PaymentChannelFund: {% tx-example txid="877FA6E2FF8E08597D1F24E30BE8E52D0C9C06F0D620C5721E55622B6A632DFF" /%} {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} - -| Field | JSON Type | [Internal Type][] | Description | -|:-------------|:----------|:------------------|:------------------------------| -| `Channel` | String | Hash256 | The unique ID of the channel to fund, as a 64-character hexadecimal string. | -| `Amount` | Object or String | Amount | Amount to add to the channel. Must be a positive amount. | -| `Expiration` | Number | UInt32 | _(Optional)_ New `Expiration` time to set for the channel, in [seconds since the Ripple Epoch][]. This must be later than either the current time plus the `SettleDelay` of the channel, or the existing `Expiration` of the channel. After the `Expiration` time, any transaction that would access the channel closes the channel without taking its normal action. Any unspent XRP is returned to the source address when the channel closes. (`Expiration` is separate from the channel's immutable `CancelAfter` time.) For more information, see the [PayChannel ledger object type](../../ledger-data/ledger-entry-types/paychannel.md). | +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:-------------|:---------------------|:------------------|:----------|:------------| +| `Channel` | String - Hexadecimal | UInt256 | Yes | The unique ID of the channel to fund. | +| `Amount` | [Currency Amount][] | Amount | Yes | Amount to add to the channel. Must be a positive amount. Non-XRP tokens can only be used if the [TokenEscrow amendment][] {% not-enabled %} is enabled. | +| `Expiration` | Number | UInt32 | No | New expiration time to set for the channel, in [seconds since the Ripple Epoch][]. This must be later than either the current time plus the `SettleDelay` of the channel, or the existing `Expiration` of the channel. After the `Expiration` time, any transaction that would access the channel closes the channel without taking its normal action. (`Expiration` is separate from the channel's immutable `CancelAfter` time.) For more information, see the [PayChannel ledger entry type](../../ledger-data/ledger-entry-types/paychannel.md). | ## Error Cases diff --git a/docs/references/protocol/transactions/types/permissioneddomaindelete.md b/docs/references/protocol/transactions/types/permissioneddomaindelete.md index 80b898c1a2..29b323e79f 100644 --- a/docs/references/protocol/transactions/types/permissioneddomaindelete.md +++ b/docs/references/protocol/transactions/types/permissioneddomaindelete.md @@ -30,7 +30,7 @@ _(Requires the [PermissionedDomains amendment][] {% not-enabled /%})_ | Field | JSON Type | [Internal Type][] | Required? | Description | |:-----------|:------------------|:------------------|:----------|:------------| -| `DomainID` | String - [Hash][] | Hash256 | Yes | The ledger entry ID of the Permissioned Domain entry to delete. | +| `DomainID` | String - [Hash][] | UInt256 | Yes | The ledger entry ID of the Permissioned Domain entry to delete. | ## {% $frontmatter.seo.title %} Flags diff --git a/docs/references/protocol/transactions/types/permissioneddomainset.md b/docs/references/protocol/transactions/types/permissioneddomainset.md index 690dc3e474..4b0160b11c 100644 --- a/docs/references/protocol/transactions/types/permissioneddomainset.md +++ b/docs/references/protocol/transactions/types/permissioneddomainset.md @@ -37,7 +37,7 @@ _(Requires the [PermissionedDomains amendment][] {% not-enabled /%})_ | Field | JSON Type | [Internal Type][] | Required? | Description | |:----------------------|:------------------|:------------------|:----------|:------------| -| `DomainID` | String - [Hash][] | Hash256 | No | The ledger entry ID of an existing permissioned domain to modify. If omitted, creates a new permissioned domain. | +| `DomainID` | String - [Hash][] | UInt256 | No | The ledger entry ID of an existing permissioned domain to modify. If omitted, creates a new permissioned domain. | | `AcceptedCredentials` | Array | Array | Yes | A list of 1 to 10 [**Accepted Credentials objects**](#accepted-credentials-objects) that grant access to this domain. The list does not need to be sorted, but it cannot contain duplicates. When modifying an existing domain, this list replaces the existing list. | {% raw-partial file="/docs/_snippets/accepted-credentials-objects.md" /%} diff --git a/docs/references/protocol/transactions/types/signerlistset.md b/docs/references/protocol/transactions/types/signerlistset.md index 9a4c4b2296..121a9c6286 100644 --- a/docs/references/protocol/transactions/types/signerlistset.md +++ b/docs/references/protocol/transactions/types/signerlistset.md @@ -49,8 +49,8 @@ The SignerListSet transaction creates, replaces, or removes a list of signers th {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} -| Field | JSON Type | [Internal Type][] | Description | -|:--------------|:----------|:------------------|:-----------------------------| +| Field | JSON Type | [Internal Type][] | Description | +|:----------------|:----------|:------------------|:-----------------------------| | `SignerQuorum` | Number | UInt32 | A target number for the signer weights. A multi-signature from this list is valid only if the sum weights of the signatures provided is greater than or equal to this value. To delete a signer list, use the value `0`. | | `SignerEntries` | Array | Array | _(Omitted when deleting)_ Array of [`SignerEntry` objects](../../ledger-data/ledger-entry-types/signerlist.md#signer-entry-object), indicating the addresses and weights of signers in this list. This signer list must have at least 1 member and no more than 32 members. No address may appear more than once in the list, nor may the `Account` submitting the transaction appear in the list. _(Updated by the [ExpandedSignerList amendment][].)_ | diff --git a/docs/references/protocol/transactions/types/xchainaccountcreatecommit.md b/docs/references/protocol/transactions/types/xchainaccountcreatecommit.md index 4fc57070eb..9186da7c37 100644 --- a/docs/references/protocol/transactions/types/xchainaccountcreatecommit.md +++ b/docs/references/protocol/transactions/types/xchainaccountcreatecommit.md @@ -47,7 +47,7 @@ The `XChainAccountCreateCommit` transaction creates a new account for a witness | Field | JSON Type | [Internal Type][] | Required? | Description | |:------------------|:--------------------|:------------------|:----------| :-----------| | `Amount` | [Currency Amount][] | Amount | Yes | The amount, in XRP, to use for account creation. This must be greater than or equal to the `MinAccountCreateAmount` specified in the `Bridge` ledger object. | -| `Destination` | String | Account | Yes | The destination account on the destination chain. | +| `Destination` | String | AccountID | Yes | The destination account on the destination chain. | | `SignatureReward` | [Currency Amount][] | Amount | No | The amount, in XRP, to be used to reward the witness servers for providing signatures. This must match the amount on the `Bridge` ledger object. | | `XChainBridge` | XChainBridge | XChain_Bridge | Yes | The bridge to create accounts for. | @@ -56,9 +56,9 @@ The `XChainAccountCreateCommit` transaction creates a new account for a witness | Field | JSON Type | [Internal Type][] | Required? | Description | |:--------------------|:----------|:------------------|:----------|:----------------| -| `IssuingChainDoor` | String | Account | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | +| `IssuingChainDoor` | String | AccountID | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | | `IssuingChainIssue` | Issue | Issue | Yes | The asset that is minted and burned on the issuing chain. For an IOU-IOU bridge, the issuer of the asset must be the door account on the issuing chain, to avoid supply issues. | -| `LockingChainDoor` | String | Account | Yes | The door account on the locking chain. | +| `LockingChainDoor` | String | AccountID | Yes | The door account on the locking chain. | | `LockingChainIssue` | Issue | Issue | Yes | The asset that is locked and unlocked on the locking chain. | {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/xchainaddaccountcreateattestation.md b/docs/references/protocol/transactions/types/xchainaddaccountcreateattestation.md index afe27cd56b..ddfab812f0 100644 --- a/docs/references/protocol/transactions/types/xchainaddaccountcreateattestation.md +++ b/docs/references/protocol/transactions/types/xchainaddaccountcreateattestation.md @@ -57,25 +57,25 @@ Any account can submit signatures. | Field | JSON Type | [Internal Type][] | Required? | Description | |:---------------------------|:--------------------|:------------------|:----------|:------------| | `Amount` | [Currency Amount][] | Amount | Yes | The amount committed by the `XChainAccountCreateCommit` transaction on the source chain. | -| `AttestationRewardAccount` | String | Account | Yes | The account that should receive this signer's share of the `SignatureReward`. | -| `AttestationSignerAccount` | String | Account | Yes | The account on the door account's signer list that is signing the transaction. | -| `Destination` | String | Account | Yes | The destination account for the funds on the destination chain. | -| `OtherChainSource` | String | Account | Yes | The account on the source chain that submitted the `XChainAccountCreateCommit` transaction that triggered the event associated with the attestation. | +| `AttestationRewardAccount` | String | AccountID | Yes | The account that should receive this signer's share of the `SignatureReward`. | +| `AttestationSignerAccount` | String | AccountID | Yes | The account on the door account's signer list that is signing the transaction. | +| `Destination` | String | AccountID | Yes | The destination account for the funds on the destination chain. | +| `OtherChainSource` | String | AccountID | Yes | The account on the source chain that submitted the `XChainAccountCreateCommit` transaction that triggered the event associated with the attestation. | | `PublicKey` | String | Blob | Yes | The public key used to verify the signature. | | `Signature` | String | Blob | Yes | The signature attesting to the event on the other chain. | | `SignatureReward` | [Currency Amount][] | Amount | Yes | The signature reward paid in the `XChainAccountCreateCommit` transaction. | | `WasLockingChainSend` | Number | UInt8 | Yes | A boolean representing the chain where the event occurred. | | `XChainAccountCreateCount` | String | UInt64 | Yes | The counter that represents the order that the claims must be processed in. | -| `XChainBridge` | XChainBridge | XChain_Bridge | Yes | The bridge associated with the attestation. | +| `XChainBridge` | XChainBridge | XChainBridge | Yes | The bridge associated with the attestation. | ### XChainBridge Fields | Field | JSON Type | [Internal Type][] | Required? | Description | |:--------------------|:----------|:------------------|:----------|:----------------| -| `IssuingChainDoor` | String | Account | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | +| `IssuingChainDoor` | String | AccountID | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | | `IssuingChainIssue` | Issue | Issue | Yes | The asset that is minted and burned on the issuing chain. For an IOU-IOU bridge, the issuer of the asset must be the door account on the issuing chain, to avoid supply issues. | -| `LockingChainDoor` | String | Account | Yes | The door account on the locking chain. | +| `LockingChainDoor` | String | AccountID | Yes | The door account on the locking chain. | | `LockingChainIssue` | Issue | Issue | Yes | The asset that is locked and unlocked on the locking chain. | {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/xchainaddclaimattestation.md b/docs/references/protocol/transactions/types/xchainaddclaimattestation.md index dc441fed81..d17829567b 100644 --- a/docs/references/protocol/transactions/types/xchainaddclaimattestation.md +++ b/docs/references/protocol/transactions/types/xchainaddclaimattestation.md @@ -77,14 +77,14 @@ Any account can submit signatures. | Field | JSON Type | [Internal Type][] | Required? | Description | |:---------------------------|:--------------------|:------------------|:----------|-------------| | `Amount` | [Currency Amount][] | Amount | Yes | The amount committed by the `XChainCommit` transaction on the source chain. | -| `AttestationRewardAccount` | String | Account | Yes | The account that should receive this signer's share of the `SignatureReward`. | -| `AttestationSignerAccount` | String | Account | Yes | The account on the door account's signer list that is signing the transaction. | -| `Destination` | String | Account | No | The destination account for the funds on the destination chain (taken from the `XChainCommit` transaction). | -| `OtherChainSource` | String | Account | Yes | The account on the source chain that submitted the `XChainCommit` transaction that triggered the event associated with the attestation. | +| `AttestationRewardAccount` | String | AccountID | Yes | The account that should receive this signer's share of the `SignatureReward`. | +| `AttestationSignerAccount` | String | AccountID | Yes | The account on the door account's signer list that is signing the transaction. | +| `Destination` | String | AccountID | No | The destination account for the funds on the destination chain (taken from the `XChainCommit` transaction). | +| `OtherChainSource` | String | AccountID | Yes | The account on the source chain that submitted the `XChainCommit` transaction that triggered the event associated with the attestation. | | `PublicKey` | String | Blob | Yes | The public key used to verify the attestation signature. | | `Signature` | String | Blob | Yes | The signature attesting to the event on the other chain. | | `WasLockingChainSend` | Number | UInt8 | Yes | A boolean representing the chain where the event occurred. | -| `XChainBridge` | XChainBridge | XChain_Bridge | Yes | The bridge to use to transfer funds. | +| `XChainBridge` | XChainBridge | XChainBridge | Yes | The bridge to use to transfer funds. | | `XChainClaimID` | String | UInt64 | Yes | The `XChainClaimID` associated with the transfer, which was included in the `XChainCommit` transaction. | @@ -92,9 +92,9 @@ Any account can submit signatures. | Field | JSON Type | [Internal Type][] | Required? | Description | |:--------------------|:----------|:------------------|:----------|:----------------| -| `IssuingChainDoor` | String | Account | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | +| `IssuingChainDoor` | String | AccountID | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | | `IssuingChainIssue` | Issue | Issue | Yes | The asset that is minted and burned on the issuing chain. For an IOU-IOU bridge, the issuer of the asset must be the door account on the issuing chain, to avoid supply issues. | -| `LockingChainDoor` | String | Account | Yes | The door account on the locking chain. | +| `LockingChainDoor` | String | AccountID | Yes | The door account on the locking chain. | | `LockingChainIssue` | Issue | Issue | Yes | The asset that is locked and unlocked on the locking chain. | {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/xchainclaim.md b/docs/references/protocol/transactions/types/xchainclaim.md index 1f99b089af..e6e529aa03 100644 --- a/docs/references/protocol/transactions/types/xchainclaim.md +++ b/docs/references/protocol/transactions/types/xchainclaim.md @@ -45,9 +45,9 @@ If the transaction succeeds in moving funds, the referenced `XChainOwnedClaimID` | Field | JSON Type | [Internal Type][] | Required? | Description | |:------------------------|:--------------------|:------------------|:----------|-------------| | `Amount` | [Currency Amount][] | Amount | Yes | The amount to claim on the destination chain. This must match the amount attested to on the attestations associated with this `XChainClaimID`. | -| `Destination` | String | Account | Yes | The destination account on the destination chain. It must exist or the transaction will fail. However, if the transaction fails in this case, the sequence number and collected signatures won't be destroyed, and the transaction can be rerun with a different destination. | +| `Destination` | String | AccountID | Yes | The destination account on the destination chain. It must exist or the transaction will fail. However, if the transaction fails in this case, the sequence number and collected signatures won't be destroyed, and the transaction can be rerun with a different destination. | | `DestinationTag` | Number | UInt32 | No | An integer destination tag. | -| `XChainBridge` | XChainBridge | XChain_Bridge | Yes | The bridge to use for the transfer. | +| `XChainBridge` | XChainBridge | XChainBridge | Yes | The bridge to use for the transfer. | | `XChainClaimID` | String | UInt64 | Yes | The unique integer ID for the cross-chain transfer that was referenced in the corresponding `XChainCommit` transaction. | @@ -55,9 +55,9 @@ If the transaction succeeds in moving funds, the referenced `XChainOwnedClaimID` | Field | JSON Type | [Internal Type][] | Required? | Description | |:--------------------|:----------|:------------------|:----------|:----------------| -| `IssuingChainDoor` | String | Account | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | +| `IssuingChainDoor` | String | AccountID | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | | `IssuingChainIssue` | Issue | Issue | Yes | The asset that is minted and burned on the issuing chain. For an IOU-IOU bridge, the issuer of the asset must be the door account on the issuing chain, to avoid supply issues. | -| `LockingChainDoor` | String | Account | Yes | The door account on the locking chain. | +| `LockingChainDoor` | String | AccountID | Yes | The door account on the locking chain. | | `LockingChainIssue` | Issue | Issue | Yes | The asset that is locked and unlocked on the locking chain. | {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/xchaincommit.md b/docs/references/protocol/transactions/types/xchaincommit.md index da089ceb1b..2cda732751 100644 --- a/docs/references/protocol/transactions/types/xchaincommit.md +++ b/docs/references/protocol/transactions/types/xchaincommit.md @@ -42,8 +42,8 @@ The `XChainCommit` is the second step in a cross-chain transfer. It puts assets | Field | JSON Type | [Internal Type][] | Required? | Description | |:------------------------|:--------------------|:------------------|:----------|-------------| | `Amount` | [Currency Amount][] | Amount | Yes | The asset to commit, and the quantity. This must match the door account's `LockingChainIssue` (if on the locking chain) or the door account's `IssuingChainIssue` (if on the issuing chain). | -| `OtherChainDestination` | String | Account | No | The destination account on the destination chain. If this is not specified, the account that submitted the `XChainCreateClaimID` transaction on the destination chain will need to submit a `XChainClaim` transaction to claim the funds. | -| `XChainBridge` | XChainBridge | XChain_Bridge | Yes | The bridge to use to transfer funds. | +| `OtherChainDestination` | String | AccountID | No | The destination account on the destination chain. If this is not specified, the account that submitted the `XChainCreateClaimID` transaction on the destination chain will need to submit a `XChainClaim` transaction to claim the funds. | +| `XChainBridge` | XChainBridge | XChainBridge | Yes | The bridge to use to transfer funds. | | `XChainClaimID` | String | UInt64 | Yes | The unique integer ID for a cross-chain transfer. This must be acquired on the destination chain (via a `XChainCreateClaimID` transaction) and checked from a validated ledger before submitting this transaction. If an incorrect sequence number is specified, the funds will be lost. | @@ -51,9 +51,9 @@ The `XChainCommit` is the second step in a cross-chain transfer. It puts assets | Field | JSON Type | [Internal Type][] | Required? | Description | |:--------------------|:----------|:------------------|:----------|:----------------| -| `IssuingChainDoor` | String | Account | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | +| `IssuingChainDoor` | String | AccountID | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | | `IssuingChainIssue` | Issue | Issue | Yes | The asset that is minted and burned on the issuing chain. For an IOU-IOU bridge, the issuer of the asset must be the door account on the issuing chain, to avoid supply issues. | -| `LockingChainDoor` | String | Account | Yes | The door account on the locking chain. | +| `LockingChainDoor` | String | AccountID | Yes | The door account on the locking chain. | | `LockingChainIssue` | Issue | Issue | Yes | The asset that is locked and unlocked on the locking chain. | {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/xchaincreatebridge.md b/docs/references/protocol/transactions/types/xchaincreatebridge.md index cf06492979..a3d70e71c0 100644 --- a/docs/references/protocol/transactions/types/xchaincreatebridge.md +++ b/docs/references/protocol/transactions/types/xchaincreatebridge.md @@ -49,16 +49,16 @@ The complete production-grade setup would also include a `SignerListSet` transac |:-------------------------|:--------------------|:------------------|:----------|:------------| | `MinAccountCreateAmount` | [Currency Amount][] | Amount | No | The minimum amount, in XRP, required for a `XChainAccountCreateCommit` transaction. If this isn't present, the `XChainAccountCreateCommit` transaction will fail. This field can only be present on XRP-XRP bridges. | | `SignatureReward` | [Currency Amount][] | Amount | Yes | The total amount to pay the witness servers for their signatures. This amount will be split among the signers. | -| `XChainBridge` | XChainBridge | XChain_Bridge | Yes | The bridge (door accounts and assets) to create. | +| `XChainBridge` | XChainBridge | XChainBridge | Yes | The bridge (door accounts and assets) to create. | ### XChainBridge Fields | Field | JSON Type | [Internal Type][] | Required? | Description | |:--------------------|:----------|:------------------|:----------|:----------------| -| `IssuingChainDoor` | String | Account | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | +| `IssuingChainDoor` | String | AccountID | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | | `IssuingChainIssue` | Issue | Issue | Yes | The asset that is minted and burned on the issuing chain. For an IOU-IOU bridge, the issuer of the asset must be the door account on the issuing chain, to avoid supply issues. | -| `LockingChainDoor` | String | Account | Yes | The door account on the locking chain. | +| `LockingChainDoor` | String | AccountID | Yes | The door account on the locking chain. | | `LockingChainIssue` | Issue | Issue | Yes | The asset that is locked and unlocked on the locking chain. | {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/xchaincreateclaimid.md b/docs/references/protocol/transactions/types/xchaincreateclaimid.md index 1021408c05..e6d1256094 100644 --- a/docs/references/protocol/transactions/types/xchaincreateclaimid.md +++ b/docs/references/protocol/transactions/types/xchaincreateclaimid.md @@ -43,11 +43,11 @@ It also includes the account on the source chain that locks or burns the funds o ## XChainCreateClaimID Fields -| Field | JSON Type | [Internal Type][] | Required? | Description | -|:-------------------|:------------------|:------------------|:----------|-------------| -| `OtherChainSource` | String | Account | Yes | The account that must send the `XChainCommit` transaction on the source chain. | -| `SignatureReward` | [Currency Amount][] | Amount | Yes | The amount, in XRP, to reward the witness servers for providing signatures. This must match the amount on the `Bridge` ledger object. | -| `XChainBridge` | XChainBridge | XChain_Bridge | Yes | The bridge to create the claim ID for. | +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:-------------------|:---------------------|:------------------|:----------|-------------| +| `OtherChainSource` | String - [Address][] | AccountID | Yes | The account that must send the `XChainCommit` transaction on the source chain. | +| `SignatureReward` | [Currency Amount][] | Amount | Yes | The amount, in XRP, to reward the witness servers for providing signatures. This must match the amount on the `Bridge` ledger object. | +| `XChainBridge` | XChainBridge | XChainBridge | Yes | The bridge to create the claim ID for. | ### XChainBridge Fields diff --git a/docs/references/protocol/transactions/types/xchainmodifybridge.md b/docs/references/protocol/transactions/types/xchainmodifybridge.md index 3c0c7449c6..190b392a39 100644 --- a/docs/references/protocol/transactions/types/xchainmodifybridge.md +++ b/docs/references/protocol/transactions/types/xchainmodifybridge.md @@ -48,16 +48,16 @@ This transaction must be sent by the door account and requires the entities that | `Flags` | Number | UInt32 | Yes | Specifies the flags for this transaction. | | `MinAccountCreateAmount` | [Currency Amount][] | Amount | No | The minimum amount, in XRP, required for a `XChainAccountCreateCommit` transaction. If this is not present, the `XChainAccountCreateCommit` transaction will fail. This field can only be present on XRP-XRP bridges. | | `SignatureReward` | [Currency Amount][] | Amount | No | The signature reward split between the witnesses for submitting attestations. | -| `XChainBridge` | XChainBridge | XChain_Bridge | Yes | The bridge to modify. | +| `XChainBridge` | XChainBridge | XChainBridge | Yes | The bridge to modify. | ### XChainBridge Fields | Field | JSON Type | [Internal Type][] | Required? | Description | |:--------------------|:----------|:------------------|:----------|:----------------| -| `IssuingChainDoor` | String | Account | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | +| `IssuingChainDoor` | String | AccountID | Yes | The door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP). | | `IssuingChainIssue` | Issue | Issue | Yes | The asset that is minted and burned on the issuing chain. For an IOU-IOU bridge, the issuer of the asset must be the door account on the issuing chain, to avoid supply issues. | -| `LockingChainDoor` | String | Account | Yes | The door account on the locking chain. | +| `LockingChainDoor` | String | AccountID | Yes | The door account on the locking chain. | | `LockingChainIssue` | Issue | Issue | Yes | The asset that is locked and unlocked on the locking chain. | From c1b8fdb6d86ec33786d34612a55060a8ba2b34fb Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Tue, 8 Jul 2025 11:56:55 -0700 Subject: [PATCH 11/41] Fix MPTokenIssuanceCreate field formatting --- .../transactions/types/mptokenissuancecreate.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/references/protocol/transactions/types/mptokenissuancecreate.md b/docs/references/protocol/transactions/types/mptokenissuancecreate.md index 67516e7fc1..c5b47b1425 100644 --- a/docs/references/protocol/transactions/types/mptokenissuancecreate.md +++ b/docs/references/protocol/transactions/types/mptokenissuancecreate.md @@ -27,19 +27,19 @@ This example assumes that the issuer of the token is the signer of the transacti "TransferFee": 314, "MaximumAmount": "50000000", "Flags": 83659, - "MPTokenMetadata": "FOO", + "MPTokenMetadata": "F00", "Fee": "10" } ``` {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} -| Field | JSON Type | [Internal Type][] | Required? | Description | -|:------------------|:--------------------|:------------------|:----------|:------------| -| `AssetScale` | number | UInt8 | No | An asset scale is the difference, in orders of magnitude, between a standard unit and a corresponding fractional unit. More formally, the asset scale is a non-negative integer (0, 1, 2, …) such that one standard unit equals 10^(-scale) of a corresponding fractional unit. For example, a US Dollar Stablecoin will likely have an asset scale of _2_, representing 2 decimal places; 1 unit of this MPToken would equal 0.01 US Dollars. If the fractional unit equals the standard unit, then the asset scale is 0. Note that this value is optional, and will default to 0 if not supplied. | -| `TransferFee` | number | UInt16 | No | The value specifies the fee to charged by the issuer for secondary sales of the Token, if such sales are allowed. Valid values for this field are between 0 and 50,000 inclusive, allowing transfer rates of between 0.000% and 50.000% in increments of 0.001. The field _must not_ be present if the tfMPTCanTransfer flag is not set. If it is, the transaction should fail and a fee should be claimed. | -| `MaximumAmount` | string | UInt64 | No | The maximum asset amount of this token that can ever be issued, as a base-10 number encoded as a string. The current default maximum limit is 9,223,372,036,854,775,807 (2^63-1). _This limit may increase in the future. If an upper limit is required, you must specify this field._ | -| `MPTokenMetadata` | string | Blob | No | Arbitrary metadata about this issuance, in hex format. The limit for this field is 1024 bytes. | +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:------------------|:---------------------|:------------------|:----------|:------------| +| `AssetScale` | Number | UInt8 | No | An asset scale is the difference, in orders of magnitude, between a standard unit and a corresponding fractional unit. More formally, the asset scale is a non-negative integer (0, 1, 2, …) such that one standard unit equals 10^(-scale) of a corresponding fractional unit. For example, a US Dollar Stablecoin will likely have an asset scale of _2_, representing 2 decimal places; 1 unit of this MPToken would equal 0.01 US Dollars. If the fractional unit equals the standard unit, then the asset scale is 0. Note that this value is optional, and will default to 0 if not supplied. | +| `TransferFee` | Number | UInt16 | No | The value specifies the fee to charged by the issuer for secondary sales of the Token, if such sales are allowed. Valid values for this field are between 0 and 50,000 inclusive, allowing transfer rates of between 0.000% and 50.000% in increments of 0.001. The field _must not_ be present if the tfMPTCanTransfer flag is not set. If it is, the transaction should fail and a fee should be claimed. | +| `MaximumAmount` | String - Number | UInt64 | No | The maximum asset amount of this token that can ever be issued, as a base-10 number encoded as a string. The current default maximum limit is 9,223,372,036,854,775,807 (2^63-1). _This limit may increase in the future. If an upper limit is required, you must specify this field._ | +| `MPTokenMetadata` | String - Hexadecimal | Blob | No | Arbitrary metadata about this issuance. The limit for this field is 1024 bytes. | ## MPTokenIssuanceCreate Flags From 4a3db07d7fc785f1396f2bea90ed723858566eb2 Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Tue, 8 Jul 2025 12:04:14 -0700 Subject: [PATCH 12/41] Reword AssetScale for clarity --- .../protocol/transactions/types/mptokenissuancecreate.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/references/protocol/transactions/types/mptokenissuancecreate.md b/docs/references/protocol/transactions/types/mptokenissuancecreate.md index c5b47b1425..4585d9bc0f 100644 --- a/docs/references/protocol/transactions/types/mptokenissuancecreate.md +++ b/docs/references/protocol/transactions/types/mptokenissuancecreate.md @@ -36,7 +36,7 @@ This example assumes that the issuer of the token is the signer of the transacti | Field | JSON Type | [Internal Type][] | Required? | Description | |:------------------|:---------------------|:------------------|:----------|:------------| -| `AssetScale` | Number | UInt8 | No | An asset scale is the difference, in orders of magnitude, between a standard unit and a corresponding fractional unit. More formally, the asset scale is a non-negative integer (0, 1, 2, …) such that one standard unit equals 10^(-scale) of a corresponding fractional unit. For example, a US Dollar Stablecoin will likely have an asset scale of _2_, representing 2 decimal places; 1 unit of this MPToken would equal 0.01 US Dollars. If the fractional unit equals the standard unit, then the asset scale is 0. Note that this value is optional, and will default to 0 if not supplied. | +| `AssetScale` | Number | UInt8 | No | Where to put the decimal place when displaying amounts of this MPT. More formally, the asset scale is a non-negative integer (0, 1, 2, …) such that one standard unit equals 10^(-scale) of a corresponding fractional unit. For example, if a US Dollar Stablecoin has an asset scale of _2_, then 1 unit of that MPT would equal 0.01 US Dollars. This indicates to how many decimal places the MPT can be subdivided. If omitted, the default is 0, meaning that the MPT cannot be divided into smaller than 1 unit. | | `TransferFee` | Number | UInt16 | No | The value specifies the fee to charged by the issuer for secondary sales of the Token, if such sales are allowed. Valid values for this field are between 0 and 50,000 inclusive, allowing transfer rates of between 0.000% and 50.000% in increments of 0.001. The field _must not_ be present if the tfMPTCanTransfer flag is not set. If it is, the transaction should fail and a fee should be claimed. | | `MaximumAmount` | String - Number | UInt64 | No | The maximum asset amount of this token that can ever be issued, as a base-10 number encoded as a string. The current default maximum limit is 9,223,372,036,854,775,807 (2^63-1). _This limit may increase in the future. If an upper limit is required, you must specify this field._ | | `MPTokenMetadata` | String - Hexadecimal | Blob | No | Arbitrary metadata about this issuance. The limit for this field is 1024 bytes. | From 2e383782025fff1614d53d361fcbff9cb018757b Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Tue, 8 Jul 2025 12:28:47 -0700 Subject: [PATCH 13/41] Fix MPToken ledger entry formatting --- .../ledger-data/ledger-entry-types/mptoken.md | 47 +++++++++---------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md b/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md index 9fa3a70e67..5dec551fa1 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md @@ -5,11 +5,9 @@ labels: --- # MPToken -_(Requires the [MPTokensV1 amendment][] {% not-enabled /%})_ +An `MPToken` entry tracks [MPTs](../../../../concepts/tokens/fungible-tokens/multi-purpose-tokens.md) held by an account that is not the token issuer. You can create or delete an empty `MPToken` entry by sending an [MPTokenAuthorize transaction][]. You can send and receive MPTs using several other transaction types including [Payment][] and [OfferCreate][] transactions. -The `MPToken` object represents a number of tokens held by an account that is not the token issuer. MPTs are acquired via ordinary payment or DEX transactions, and can optionally be redeemed or exchanged using these same types of transactions. The object key of the MPToken is derived from hashing the space key, the holder's address, and the `MPTokenIssuanceID`. - - +_(Requires the [MPTokensV1 amendment][] {% not-enabled /%}.)_ ## Example MPToken JSON @@ -24,37 +22,36 @@ The `MPToken` object represents a number of tokens held by an account that is no } ``` -## MPTokenID - -The `MPTokenID` is the result of SHA512-Half of the following values, concatenated in order: - -- The `MPToken` space key (0x0074). -- The `MPTokenIssuanceID` for the issuance being held. -- The `AccountID` of the token holder. - ## MPToken Fields -`MPToken` objects have the following fields. +In addition to the [common fields](../common-fields.md), {% code-page-name /%} entries have the following fields: -| Field Name | JSON Type | Internal Type | Description | -|:------------------|:----------|:--------------|:------------| -| `LedgerEntryType` | number | UInt16 | The value 0x007F, mapped to the string `MPToken`, indicates that this object describes an individual account's holding of an MPT. | -| `Account` | string | AccountID | The owner of the MPT. | -| `MPTokenIssuanceID` | string | UInt192 | The `MPTokenIssuance` identifier. | -| `MPTAmount` | string | UInt64 | This value specifies a positive amount of tokens currently held by the owner. Valid values for this field are between 0x0 and 0x7FFFFFFFFFFFFFFF. | -| `Flags` | number | UInt32 | (Default) See [MPToken Flags](#mptoken-flags) | -| `PreviousTxnID` | string | UInt256 | Transaction ID of the transaction that most recently modified this object. | -| `PreviousTxnLgrSeq` | number | UInt32 | The sequence of the ledger that contains the transaction that most recently modified this object. | -| `OwnerNode` | string | UInt64 | (Default) The page in the owner's directory where this item is referenced. | +| Field Name | JSON Type | Internal Type | Required? | Description | +|:--------------------|:---------------------|:--------------|:----------|:------------| +| `Account` | String - [Address][] | AccountID | Yes | The owner (holder) of these MPTs. | +| `MPTokenIssuanceID` | String - Hexadecimal | UInt192 | Yes | The `MPTokenIssuance` identifier. | +| `MPTAmount` | String - Number | UInt64 | Yes | The amount of tokens currently held by the owner. The minimum is 0 and the maximum is 263-1. | +| `LockedAmount` | String - Number | UInt64 | No | The amount of tokens currently locked up (for example, in escrow or payment channels). _(Requires the [TokenEscrow amendment][] {% not-enabled /%}.)_ | +| `PreviousTxnID` | String - [Hash][] | UInt256 | Yes | The identifying hash of the transaction that most recently modified this entry. | +| `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The sequence of the ledger that contains the transaction that most recently modified this object. | +| `OwnerNode` | String | UInt64 | Yes | A hint indicating which page of the owner directory links to this entry, in case the directory consists of multiple pages. | ### MPToken Flags -Flags are properties or other options associated with the `MPToken` object. - +{% code-page-name /%} entries can have the following flags combined in the `Flags` field: | Flag Name | Flag Value | Description | |:------------------|:-----------|:--------------------------------------------| | `lsfMPTLocked` | `0x00000001` | If enabled, indicates that the MPT owned by this account is currently locked and cannot be used in any XRP transactions other than sending value back to the issuer. | | `lsfMPTAuthorized` | `0x00000002` | (Only applicable for allow-listing) If set, indicates that the issuer has authorized the holder for the MPT. This flag can be set using a `MPTokenAuthorize` transaction; it can also be "un-set" using a `MPTokenAuthorize` transaction specifying the `tfMPTUnauthorize` flag. | + +## MPToken ID Format + +The ID of an `MPToken` entry is the [SHA-512Half][] of the following values, concatenated in order: + +- The `MPToken` space key (0x0074). +- The `MPTokenIssuanceID` for the issuance being held. +- The `AccountID` of the token holder. + {% raw-partial file="/docs/_snippets/common-links.md" /%} From c132512425180a0dd6e28b5c10b1f33801a67b76 Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Tue, 8 Jul 2025 15:21:47 -0700 Subject: [PATCH 14/41] Fix syntax errors --- docs/_snippets/common-links.md | 4 + .../ledger-entry-types/mptokenissuance.md | 96 ++++++++----------- .../protocol/transactions/types/batch.md | 2 +- .../transactions/types/paymentchannelclaim.md | 4 +- .../types/paymentchannelcreate.md | 2 +- .../transactions/types/paymentchannelfund.md | 2 +- 6 files changed, 49 insertions(+), 61 deletions(-) diff --git a/docs/_snippets/common-links.md b/docs/_snippets/common-links.md index de571b45b7..8fc4c24814 100644 --- a/docs/_snippets/common-links.md +++ b/docs/_snippets/common-links.md @@ -258,6 +258,10 @@ [permissioned domain]: /docs/concepts/tokens/decentralized-exchange/permissioned-domains.md [PriceOracle amendment]: /resources/known-amendments.md#priceoracle [MPToken entry]: /docs/references/protocol/ledger-data/ledger-entry-types/mptoken.md +[MPTokenAuthorize transaction]: /docs/references/protocol/transactions/types/mptokenauthorize.md +[MPTokenIssuanceCreate transaction]: /docs/references/protocol/transactions/types/mptokenissuancecreate.md +[MPTokenIssuanceDestroy transaction]: /docs/references/protocol/transactions/types/mptokenissuancedestroy.md +[MPTokenIssuanceSet transaction]: /docs/references/protocol/transactions/types/mptokenissuanceset.md [MPTokensV1_1 amendment]: /resources/known-amendments.md#priceoracle [RFC-1751]: https://tools.ietf.org/html/rfc1751 [Reporting Mode]: /docs/concepts/networks-and-servers/rippled-server-modes.md#reporting-mode diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md b/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md index 41747bb063..9e210a7c5a 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance.md @@ -5,11 +5,9 @@ labels: --- # MPTokenIssuance -_(Requires the [MPTokensV1 amendment][] {% not-enabled /%})_ +An `MPTokenIssuance` entry represents a single [MPT](../../../../concepts/tokens/fungible-tokens/multi-purpose-tokens.md) issuance and holds data associated with the issuance itself. You can create an `MPTokenIssuance` using an [MPTokenIssuanceCreate transaction][], and can delete it with an [MPTokenIssuanceDestroy transaction][]. -The `MPTokenIssuance` object represents a single MPT issuance and holds data associated with the issuance itself. Token issuances are created using the `MPTokenIssuanceCreate` transaction and can be destroyed by the `MPTokenIssuanceDestroy` transaction. - - +_(Requires the [MPTokensV1 amendment][] {% not-enabled /%}.)_ ## Example MPTokenIssuance JSON @@ -22,29 +20,50 @@ The `MPTokenIssuance` object represents a single MPT issuance and holds data ass "MaximumAmount": "100000000", "OutstandingAmount": "100", "TransferFee": 50000, - "MPTokenMetadata": "{ - "name": "US Treasury Bill Token", - "symbol": "USTBT", - "issuer": "US Treasury", - "issueDate": "2024-03-25", - "maturityDate": "2025-03-25", - "faceValue": 1000, - "interestRate": 2.5, - "interestFrequency": "Quarterly", - "collateral": "US Government", - "jurisdiction": "United States", - "regulatoryCompliance": "SEC Regulations", - "securityType": "Treasury Bill", - "external_url": "https://example.com/t-bill-token-metadata.json" - }", + "MPTokenMetadata": "7B227469636B6572223A20225442494C4C222C20226E616D65223A2022542D42696C6C205969656C6420546F6B656E222C202264657363223A202241207969656C642D62656172696E6720737461626C65636F696E206261636B65642062792073686F72742D7465726D20552E532E205472656173757269657320616E64206D6F6E6579206D61726B657420696E737472756D656E74732E222C202269636F6E223A202268747470733A2F2F6578616D706C652E6F72672F7462696C6C2D69636F6E2E706E67222C202261737365745F636C617373223A2022727761222C202261737365745F737562636C617373223A20227472656173757279222C20226973737565725F6E616D65223A20224578616D706C65205969656C6420436F2E222C202275726C73223A205B7B2275726C223A202268747470733A2F2F6578616D706C657969656C642E636F2F7462696C6C222C202274797065223A202277656273697465222C20227469746C65223A202250726F647563742050616765227D2C207B2275726C223A202268747470733A2F2F6578616D706C657969656C642E636F2F646F6373222C202274797065223A2022646F6373222C20227469746C65223A20225969656C6420546F6B656E20446F6373227D5D2C20226164646974696F6E616C5F696E666F223A207B22696E7465726573745F72617465223A2022352E303025222C2022696E7465726573745F74797065223A20227661726961626C65222C20227969656C645F736F75726365223A2022552E532E2054726561737572792042696C6C73222C20226D617475726974795F64617465223A2022323034352D30362D3330222C20226375736970223A2022393132373936525830227D7D", "OwnerNode": "74" } ``` +{% admonition type="success" name="Tip" %} +By convention, the metadata should decode to JSON data describing what the MPT represents. The [XLS-89d specification](https://github.com/XRPLF/XRPL-Standards/pull/293) defines a recommended format for metadata. For example, the above `MPTokenMetadata` field encodes the sample JSON from the XLS-89d spec, as a UTF-8 string with minimal whitespace. +{% /admonition %} + +## MPTokenIssuance Fields + +In addition to the [common fields](../common-fields.md), {% code-page-name /%} entries have the following fields: + +| Field Name | JSON Type | Internal Type | Required? | Description | +|:--------------------|:---------------------|:--------------|:----------|:------------| +| `Issuer` | String - [Address][] | AccountID | Yes | The address of the account that controls both the issuance amounts and characteristics of a particular fungible token. | +| `AssetScale` | Number | UInt8 | Yes | Where to put the decimal place when displaying amounts of this MPT. More formally, the asset scale is a non-negative integer (0, 1, 2, …) such that one standard unit equals 10^(-scale) of a corresponding fractional unit. For example, if a US Dollar Stablecoin has an asset scale of _2_, then 1 unit of that MPT would equal 0.01 US Dollars. This indicates to how many decimal places the MPT can be subdivided. The default is `0`, meaning that the MPT cannot be divided into smaller than 1 unit. | +| `MaximumAmount` | String - Number | UInt64 | No | The maximum number of MPTs that can exist at one time. If omitted, the maximum is currently limited to 263-1. | +| `OutstandingAmount` | String - Number | UInt64 | Yes | The total amount of MPTs of this issuance currently in circulation. This value increases when the issuer sends MPTs to a non-issuer, and decreases whenever the issuer receives MPTs. | +| `TransferFee` | Number | UInt16 | Yes | This value specifies the fee, in tenths of a basis point, charged by the issuer for secondary sales of the token, if such sales are allowed at all. Valid values for this field are between 0 and 50,000 inclusive. A value of 1 is equivalent to 1/10 of a basis point or 0.001%, allowing transfer rates between 0% and 50%. A `TransferFee` of 50,000 corresponds to 50%. The default value for this field is 0. Any decimals in the transfer fee are rounded down. The fee can be rounded down to zero if the payment is small. Issuers should make sure that their MPT's `AssetScale` is large enough. | +| `MPTokenMetadata` | String - Hexadecimal | Blob | Yes | Arbitrary metadata about this issuance, in hex format. The limit for this field is 1024 bytes. | +| `OwnerNode` | String - Hexadecimal | UInt64 | Yes | A hint indicating which page of the owner directory links to this entry, in case the directory consists of multiple pages. | +| `PreviousTxnID` | String - Hexadecimal | UInt256 | Yes | The identifying hash of the transaction that most recently modified this entry. | +| `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this object. | +| `Sequence` | Number | UInt32 | Yes | The `Sequence` (or `Ticket`) number of the transaction that created this issuance. This helps to uniquely identify the issuance and distinguish it from any other later MPT issuances created by this account. | + +### MPTokenIssuance Flags + +Flags are properties or other options associated with the `MPToken` object. Except for `lsfMPTLocked`, which can be mutated via `MPTokenIssuanceSet` transactions, these flags are immutable: they can only be set during the `MPTokenIssuanceCreate` transaction and cannot be changed later. + + +| Flag Name | Flag Value | Description | +|:--------------------|:-------------|:------------------------------------------------| +| `lsfMPTLocked` | `0x00000001` | If set, indicates that all balances are locked. | +| `lsfMPTCanLock` | `0x00000002` | If set, indicates that the issuer can lock an individual balance or all balances of this MPT. If not set, the MPT cannot be locked in any way. | +| `lsfMPTRequireAuth` | `0x00000004` | If set, indicates that individual holders must be authorized. This enables issuers to limit who can hold their assets. | +| `lsfMPTCanEscrow` | `0x00000008` | If set, indicates that individual holders can place their balances into an escrow. | +| `lsfMPTCanTrade` | `0x00000010` | If set, indicates that individual holders can trade their balances using the XRP Ledger DEX or AMM. | +| `lsfMPTCanTransfer` | `0x00000020` | If set, indicates that tokens held by non-issuers can be transferred to other accounts. If not set, indicates that tokens held by non-issuers cannot be transferred except back to the issuer; this enables use cases such as store credit. | +| `lsfMPTCanClawback` | `0x00000040` | If set, indicates that the issuer may use the `Clawback` transaction to claw back value from individual holders. | + ## MPTokenIssuanceID - -The key of an `MPTokenIssuance` object is the result of SHA512-Half of the following values, concatenated in order: +The ID of an `MPTokenIssuance` entry is the [SHA-512Half][] of the following values, concatenated in order: - The `MPTokenIssuance` space key (0x007E). - The transaction sequence number. @@ -55,39 +74,4 @@ The `MPTokenIssuanceID` is a 192-bit integer, concatenated in order: - The transaction sequence number. - The AccountID of the issuer. - -## MPTokenIssuance Fields - -`MPTokenIssuance` objects have the following fields. - -| Field Name | JSON Type | Internal Type | Description | -|:------------------|:----------|:--------------|:------------| -| `LedgerEntryType` | number | UInt16 | The value 0x007E, mapped to the string MPTokenIssuance, indicates that this object describes a Multi-Purpose Token (MPT). | -| `Flags` | number | UInt32 | See [MPTokenIssuance Flags](#mptokenissuance-flags) | -| `Issuer` | string | AccountID | The address of the account that controls both the issuance amounts and characteristics of a particular fungible token. | -| `AssetScale` | number | UInt8 | An asset scale is the difference, in orders of magnitude, between a standard unit and a corresponding fractional unit. More formally, the asset scale is a non-negative integer (0, 1, 2, …) such that one standard unit equals 10^(-scale) of a corresponding fractional unit. If the fractional unit equals the standard unit, then the asset scale is 0. | -| `MaximumAmount` | string | UInt64 | This value is an unsigned number that specifies the maximum number of MPTs that can be distributed to non-issuing accounts (i.e., minted). For issuances that do not have a maximum limit, this value should be set to 0x7FFFFFFFFFFFFFFF. | -| `OutstandingAmount` | string | UInt64 | Specifies the sum of all token amounts that have been minted to all token holders. This value can be stored on ledger as a default type so that when its value is 0 it takes up less space on ledger. This value is increased whenever an issuer pays MPTs to a non-issuer account, and decreased whenever a non-issuer pays MPTs into the issuing account. | -| `TransferFee` | number | UInt16 | This value specifies the fee, in tenths of a basis point, charged by the issuer for secondary sales of the token, if such sales are allowed at all. Valid values for this field are between 0 and 50,000 inclusive. A value of 1 is equivalent to 1/10 of a basis point or 0.001%, allowing transfer rates between 0% and 50%. A `TransferFee` of 50,000 corresponds to 50%. The default value for this field is 0. Any decimals in the transfer fee are rounded down. The fee can be rounded down to zero if the payment is small. Issuers should make sure that their MPT's `AssetScale` is large enough. | -| `MPTokenMetadata` | string | Blob | Arbitrary metadata about this issuance, in hex format. The limit for this field is 1024 bytes. | -| `PreviousTxnID` | string | UInt256 | Transaction ID of the transaction that most recently modified this object. | -| `PreviousTxnLgrSeq` | number | UInt32 | The sequence of the ledger that contains the transaction that most recently modified this object. | -| `OwnerNode` | string | UInt64 | The page in the owner's directory where this item is referenced. | -| `Sequence` | number | UInt32 | A 32-bit unsigned integer that is used to ensure issuances from a given sender can only ever exist once, even if an issuance is later deleted. Whenever a new issuance is created, this value must match the account's current `Sequence` number. `Tickets` make some exceptions from these rules so that it is possible to send transactions out of the normal order. `Tickets` represent sequence numbers reserved for later use; a transaction can use a `Ticket` instead of a normal account Sequence number. Whenever a transaction to create an MPT is included in a ledger, it uses up a sequence number (or Ticket), regardless of whether the transaction executed successfully or failed with a tec-class error code. Other transaction failures don't get included in ledgers, so they don't change the sender's sequence number (or have any other effects). It is possible for multiple unconfirmed MPT-creation transactions to have the same Issuer and sequence number. Such transactions are mutually exclusive, and at most one of them can be included in a validated ledger. (Any others ultimately have no effect.) | - -### MPTokenIssuance Flags - -Flags are properties or other options associated with the `MPToken` object. Except for `lsfMPTLocked`, which can be mutated via `MPTokenIssuanceSet` transactions, these flags are immutable: they can only be set during the `MPTokenIssuanceCreate` transaction and cannot be changed later. - - -| Flag Name | Flag Value | Description | -|:--------------------|:-----------|:------------------------------------------------| -| `lsfMPTLocked` | `0x00000001` | If set, indicates that all balances are locked. | -| `lsfMPTCanLock` | `0x00000002` | If set, indicates that the issuer can lock an individual balance or all balances of this MPT. If not set, the MPT cannot be locked in any way. | -| `lsfMPTRequireAuth` | `0x00000004` | If set, indicates that individual holders must be authorized. This enables issuers to limit who can hold their assets. | -| `lsfMPTCanEscrow` | `0x00000008` | If set, indicates that individual holders can place their balances into an escrow. | -| `lsfMPTCanTrade` | `0x00000010` | If set, indicates that individual holders can trade their balances using the XRP Ledger DEX or AMM. | -| `lsfMPTCanTransfer` | `0x00000020` | If set, indicates that tokens held by non-issuers can be transferred to other accounts. If not set, indicates that tokens held by non-issuers cannot be transferred except back to the issuer; this enables use cases such as store credit. | -| `lsfMPTCanClawback` | `0x00000040` | If set, indicates that the issuer may use the `Clawback` transaction to claw back value from individual holders. | - {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/references/protocol/transactions/types/batch.md b/docs/references/protocol/transactions/types/batch.md index f7950e34ea..126559bf1e 100644 --- a/docs/references/protocol/transactions/types/batch.md +++ b/docs/references/protocol/transactions/types/batch.md @@ -10,7 +10,7 @@ status: not_enabled The `Batch` transaction submits up to eight transactions as a single unit. `Batch` transactions are executed atomically in one of four modes: All or Nothing, Only One, Until Failure, and Independent. -_(Requires the [Batch amendment][] {% not-enabled %}.)_ +_(Requires the [Batch amendment][] {% not-enabled /%}.)_ ## Example {% $frontmatter.seo.title %} JSON diff --git a/docs/references/protocol/transactions/types/paymentchannelclaim.md b/docs/references/protocol/transactions/types/paymentchannelclaim.md index 68cbae24de..7967dd6626 100644 --- a/docs/references/protocol/transactions/types/paymentchannelclaim.md +++ b/docs/references/protocol/transactions/types/paymentchannelclaim.md @@ -53,8 +53,8 @@ _(Added by the [PayChan amendment][].)_ | Field | JSON Type | [Internal Type][] | Required? | Description | |:----------------|:---------------------|:------------------|:----------|:------------| -| `Amount` | [Currency Amount][] | Amount | No | The amount of [XRP, in drops][Currency Amount], or fungible tokens authorized by the `Signature`. This must match the amount in the signed message. This is the cumulative amount that can be dispensed by the channel, including funds previously redeemed. Non-XRP tokens can only be used if the [TokenEscrow amendment][] {% not-enabled %} is enabled. | -| `Balance` | [Currency Amount][] | Amount | No | Total amount of [XRP, in drops][Currency Amount], or fungible tokens delivered by this channel after processing this claim. Required to deliver XRP or fungible tokens. Must be more than the total amount delivered by the channel so far, but not greater than the `Amount` of the signed claim. Must be provided except when closing the channel. Non-XRP tokens can only be used if the [TokenEscrow amendment][] {% not-enabled %} is enabled. | +| `Amount` | [Currency Amount][] | Amount | No | The amount of [XRP, in drops][Currency Amount], or fungible tokens authorized by the `Signature`. This must match the amount in the signed message. This is the cumulative amount that can be dispensed by the channel, including funds previously redeemed. Non-XRP tokens can only be used if the [TokenEscrow amendment][] {% not-enabled /%} is enabled. | +| `Balance` | [Currency Amount][] | Amount | No | Total amount of [XRP, in drops][Currency Amount], or fungible tokens delivered by this channel after processing this claim. Required to deliver XRP or fungible tokens. Must be more than the total amount delivered by the channel so far, but not greater than the `Amount` of the signed claim. Must be provided except when closing the channel. Non-XRP tokens can only be used if the [TokenEscrow amendment][] {% not-enabled /%} is enabled. | | `Channel` | String - Hexadecimal | UInt256 | Yes | The unique ID of the channel. | | `CredentialIDs` | Array of Strings | Vector256 | No | Set of credentials to authorize a deposit made by this transaction. Each member of the array must be the ledger entry ID of a Credential entry in the ledger. For details, see [Credential IDs](./payment.md#credential-ids). | | `PublicKey` | String - Hexadecimal | Blob | No | The public key used for the signature. This must match the `PublicKey` stored in the ledger for the channel. Required unless the sender of the transaction is the source address of the channel and the `Signature` field is omitted. (The transaction includes the public key so that `rippled` can check the validity of the signature before trying to apply the transaction to the ledger.) | diff --git a/docs/references/protocol/transactions/types/paymentchannelcreate.md b/docs/references/protocol/transactions/types/paymentchannelcreate.md index 918310f137..55acc9e348 100644 --- a/docs/references/protocol/transactions/types/paymentchannelcreate.md +++ b/docs/references/protocol/transactions/types/paymentchannelcreate.md @@ -34,7 +34,7 @@ _(Added by the [PayChan amendment][].)_ | Field | JSON Type | [Internal Type][] | Required? | Description | |:-----------------|:---------------------|:------------------|:----------|:------------| -| `Amount` | [Currency Amount][] | Amount | Yes | Amount to deduct from the sender's balance and set aside in this channel. While the channel is open, the amount can only go to the `Destination` address. When the channel closes, any unclaimed amount is returned to the source account's balance. Non-XRP tokens can only be used if the [TokenEscrow amendment][] {% not-enabled %} is enabled. | +| `Amount` | [Currency Amount][] | Amount | Yes | Amount to deduct from the sender's balance and set aside in this channel. While the channel is open, the amount can only go to the `Destination` address. When the channel closes, any unclaimed amount is returned to the source account's balance. Non-XRP tokens can only be used if the [TokenEscrow amendment][] {% not-enabled /%} is enabled. | | `Destination` | String - [Address][] | AccountID | Yes | The account that can receive money from this channel. This is also known as the "destination address" for the channel. Cannot be the same as the sender (`Account`). | | `SettleDelay` | Number | UInt32 | Yes | Amount of time, in seconds, the source address must wait before closing the channel if it has unclaimed funds. | | `PublicKey` | String - Hexadecimal | Blob | Yes | The 33-byte public key of the key pair the source will use to sign claims against this channel. This can be any secp256k1 or Ed25519 public key. For more information on key pairs, see [Key Derivation](../../../../concepts/accounts/cryptographic-keys.md#key-derivation) | diff --git a/docs/references/protocol/transactions/types/paymentchannelfund.md b/docs/references/protocol/transactions/types/paymentchannelfund.md index 3d58937027..e85f11e7b5 100644 --- a/docs/references/protocol/transactions/types/paymentchannelfund.md +++ b/docs/references/protocol/transactions/types/paymentchannelfund.md @@ -32,7 +32,7 @@ Example PaymentChannelFund: | Field | JSON Type | [Internal Type][] | Required? | Description | |:-------------|:---------------------|:------------------|:----------|:------------| | `Channel` | String - Hexadecimal | UInt256 | Yes | The unique ID of the channel to fund. | -| `Amount` | [Currency Amount][] | Amount | Yes | Amount to add to the channel. Must be a positive amount. Non-XRP tokens can only be used if the [TokenEscrow amendment][] {% not-enabled %} is enabled. | +| `Amount` | [Currency Amount][] | Amount | Yes | Amount to add to the channel. Must be a positive amount. Non-XRP tokens can only be used if the [TokenEscrow amendment][] {% not-enabled /%} is enabled. | | `Expiration` | Number | UInt32 | No | New expiration time to set for the channel, in [seconds since the Ripple Epoch][]. This must be later than either the current time plus the `SettleDelay` of the channel, or the existing `Expiration` of the channel. After the `Expiration` time, any transaction that would access the channel closes the channel without taking its normal action. (`Expiration` is separate from the channel's immutable `CancelAfter` time.) For more information, see the [PayChannel ledger entry type](../../ledger-data/ledger-entry-types/paychannel.md). | ## Error Cases From b624dcf2bebeb9efe753880e869b5e9fc98eaf01 Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Tue, 8 Jul 2025 15:39:40 -0700 Subject: [PATCH 15/41] Fix NFTokenOffer and NFTokenAcceptOffer tables etc. --- .../ledger-entry-types/nftokenoffer.md | 9 +++---- .../transactions/types/nftokenacceptoffer.md | 26 +++++++++---------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md b/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md index ab21ade322..eaf9cabc2c 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/nftokenoffer.md @@ -33,13 +33,12 @@ _(Added by the [NonFungibleTokensV1_1 amendment][].)_ | Name |JSON Type | [Internal Type][] | Required? | Description | |:--------------------|:---------------------|:------------------|:------------|:-----------| -| `Amount` | [Currency Amount][] | Amount | Yes | Amount expected or offered for the NFToken. If the token has the `lsfOnlyXRP` flag set, the amount must be specified in XRP. Sell offers that specify assets other than XRP must specify a non-zero amount. Sell offers that specify XRP can be 'free' (that is, the Amount field can be equal to `"0"`). | -| `Destination` | String - [Address][] | | AccountID | No | The AccountID for which this offer is intended. If present, only that account can accept the offer. | +| `Amount` | [Currency Amount][] | Amount | Yes | Amount expected or offered for the NFT. If the token has the `lsfOnlyXRP` flag set, the amount must be specified in XRP. Sell offers that specify assets other than XRP must specify a non-zero amount. Sell offers that specify XRP can be 'free' (that is, the Amount field can be equal to `"0"`). | +| `Destination` | String - [Address][] | AccountID | No | The account for which this offer is intended. If present, only that account can accept the offer. | | `Expiration` | Number | UInt32 | No | The time after which the offer is no longer active. The value is the number of seconds since the Ripple Epoch. | -| `LedgerEntryType` | String | UInt16 | Yes | The value `0x0037`, mapped to the string `NFTokenOffer`, indicates that this is an offer to trade a `NFToken`. | -| `NFTokenID` | String - Hexadecimal | UInt256 | Yes | The `NFTokenID` of the NFToken object referenced by this offer. | +| `NFTokenID` | String - Hexadecimal | UInt256 | Yes | The `NFTokenID` of the NFT referenced by this offer. | | `NFTokenOfferNode` | String - Hexadecimal | UInt64 | No | Internal bookkeeping, indicating the page inside the token buy or sell offer directory, as appropriate, where this token is being tracked. This field allows the efficient deletion of offers. | -| `Owner` | String - [Address][] | AccountID | Yes | Owner of the account that is creating and owns the offer. Only the current Owner of an NFToken can create an offer to sell an NFToken, but any account can create an offer to buy an NFToken. | +| `Owner` | String - [Address][] | AccountID | Yes | The account that created and owns this offer. Only the current owner of an NFT can create an offer to sell an NFToken, but offers from past owners can remain in the ledger after the NFT has been transferred. Any account can create an offer to buy an NFT. | | `OwnerNode` | String - Hexadecimal | UInt64 | No | Internal bookkeeping, indicating the page inside the owner directory where this token is being tracked. This field allows the efficient deletion of offers. | | `PreviousTxnID` | String - [Hash][] | UInt256 | Yes | Identifying hash of the transaction that most recently modified this object. | | `PreviousTxnLgrSeq` | Number | UInt32 | Yes | Index of the ledger that contains the transaction that most recently modified this object. | diff --git a/docs/references/protocol/transactions/types/nftokenacceptoffer.md b/docs/references/protocol/transactions/types/nftokenacceptoffer.md index 061bfec99f..2dfb64702b 100644 --- a/docs/references/protocol/transactions/types/nftokenacceptoffer.md +++ b/docs/references/protocol/transactions/types/nftokenacceptoffer.md @@ -1,18 +1,16 @@ --- -html: nftokenacceptoffer.html -parent: transaction-types.html seo: - description: Accept an offer to buy or sell an NFToken. + description: Accept an offer to buy or sell an NFT. labels: - NFTs, Non-fungible Tokens --- # NFTokenAcceptOffer [[Source]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/NFTokenAcceptOffer.cpp "Source") -The `NFTokenAcceptOffer` transaction is used to accept offers to `buy` or `sell` an `NFToken`. It can either: +The `NFTokenAcceptOffer` transaction is used to accept offers to buy or sell an NFT. It has two possible modes: -* Allow one offer to be accepted. This is called _direct_ mode. -* Allow two distinct offers, one offering to buy a given `NFToken` and the other offering to sell the same `NFToken`, to be accepted in an atomic fashion. This is called _brokered_ mode. +* In _direct_ mode, a buyer can accept a sell offer directly, or a seller can accept a buy offer directly. +* In _brokered_ mode, a third party (the _broker_) can match two distinct offers, one buying and one selling. If the buy price is higher than the sell price, the broken can claim the difference as a fee for themself. _(Added by the [NonFungibleTokensV1_1 amendment][].)_ @@ -44,9 +42,9 @@ The mode in which the transaction operates depends on the presence of the `NFTok | `NFTokenSellOffer` | `NFTokenBuyOffer` | Mode | |:-------------------|:------------------|:---------| -| ✔️ | ✔️ | Brokered | -| ✔️ | ❌ | Direct | -| ❌ | ✔️ | Direct | +| ✅ | ✅ | Brokered | +| ✅ | ❌ | Direct | +| ❌ | ✅ | Direct | If neither of those fields is specified, the transaction is malformed and produces a `tem` class error. @@ -74,11 +72,11 @@ The transaction fails with a [`tec`-class code](../transaction-results/tec-codes {% raw-partial file="/docs/_snippets/tx-fields-intro.md" /%} -| Field | JSON Type | [Internal Type][] | Description | -|:-------------------|:--------------------|:------------------|:--------------| -| `NFTokenSellOffer` | String | UInt256 | _(Optional)_ Identifies the `NFTokenOffer` that offers to sell the `NFToken`. | -| `NFTokenBuyOffer` | String | UInt256 | _(Optional)_ Identifies the `NFTokenOffer` that offers to buy the `NFToken`. | -| `NFTokenBrokerFee` | [Currency Amount][] | Amount | _(Optional)_ This field is only valid in brokered mode, and specifies the amount that the broker keeps as part of their fee for bringing the two offers together; the remaining amount is sent to the seller of the `NFToken` being bought. If specified, the fee must be such that, before applying the transfer fee, the amount that the seller would receive is at least as much as the amount indicated in the sell offer. | +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:-------------------|:--------------------|:------------------|:----------|:------------| +| `NFTokenSellOffer` | String - [Hash][] | UInt256 | No | Identifies the `NFTokenOffer` that offers to sell the `NFToken`. | +| `NFTokenBuyOffer` | String - [Hash][] | UInt256 | No | Identifies the `NFTokenOffer` that offers to buy the `NFToken`. | +| `NFTokenBrokerFee` | [Currency Amount][] | Amount | No | **Brokered mode only.** The amount that the broker keeps as their fee for bringing the two offers together; the remaining amount is sent to the seller of the NFT. If specified, the fee must be such that, before applying the transfer fee, the amount that the seller would receive is at least as much as the amount indicated in the sell offer. | In direct mode, you must specify **either** the `NFTokenSellOffer` or the `NFTokenBuyOffer` field. In brokered mode, you must specify **both** fields. From 42f508e6c9a3105d3b59125a06d71532fd360c9e Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Tue, 8 Jul 2025 15:44:00 -0700 Subject: [PATCH 16/41] =?UTF-8?q?Fix=20broken=E2=86=92broker=20typo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../protocol/transactions/types/nftokenacceptoffer.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/references/protocol/transactions/types/nftokenacceptoffer.md b/docs/references/protocol/transactions/types/nftokenacceptoffer.md index 2dfb64702b..69cf356b54 100644 --- a/docs/references/protocol/transactions/types/nftokenacceptoffer.md +++ b/docs/references/protocol/transactions/types/nftokenacceptoffer.md @@ -10,7 +10,7 @@ labels: The `NFTokenAcceptOffer` transaction is used to accept offers to buy or sell an NFT. It has two possible modes: * In _direct_ mode, a buyer can accept a sell offer directly, or a seller can accept a buy offer directly. -* In _brokered_ mode, a third party (the _broker_) can match two distinct offers, one buying and one selling. If the buy price is higher than the sell price, the broken can claim the difference as a fee for themself. +* In _brokered_ mode, a third party (the _broker_) can match two distinct offers, one buying and one selling. If the buy price is higher than the sell price, the broker can claim the difference as a fee for themself. _(Added by the [NonFungibleTokensV1_1 amendment][].)_ From d82cb10baf3e05ea5905b0442a9d88f7dc07ea6d Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Tue, 8 Jul 2025 15:52:42 -0700 Subject: [PATCH 17/41] Mention XLS-89d in MPTokenIssuanceCreate ref --- .../protocol/transactions/types/mptokenissuancecreate.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/references/protocol/transactions/types/mptokenissuancecreate.md b/docs/references/protocol/transactions/types/mptokenissuancecreate.md index 4585d9bc0f..47f8805719 100644 --- a/docs/references/protocol/transactions/types/mptokenissuancecreate.md +++ b/docs/references/protocol/transactions/types/mptokenissuancecreate.md @@ -27,7 +27,7 @@ This example assumes that the issuer of the token is the signer of the transacti "TransferFee": 314, "MaximumAmount": "50000000", "Flags": 83659, - "MPTokenMetadata": "F00", + "MPTokenMetadata": "7B227469636B6572223A20225442494C4C222C20226E616D65223A2022542D42696C6C205969656C6420546F6B656E222C202264657363223A202241207969656C642D62656172696E6720737461626C65636F696E206261636B65642062792073686F72742D7465726D20552E532E205472656173757269657320616E64206D6F6E6579206D61726B657420696E737472756D656E74732E222C202269636F6E223A202268747470733A2F2F6578616D706C652E6F72672F7462696C6C2D69636F6E2E706E67222C202261737365745F636C617373223A2022727761222C202261737365745F737562636C617373223A20227472656173757279222C20226973737565725F6E616D65223A20224578616D706C65205969656C6420436F2E222C202275726C73223A205B7B2275726C223A202268747470733A2F2F6578616D706C657969656C642E636F2F7462696C6C222C202274797065223A202277656273697465222C20227469746C65223A202250726F647563742050616765227D2C207B2275726C223A202268747470733A2F2F6578616D706C657969656C642E636F2F646F6373222C202274797065223A2022646F6373222C20227469746C65223A20225969656C6420546F6B656E20446F6373227D5D2C20226164646974696F6E616C5F696E666F223A207B22696E7465726573745F72617465223A2022352E303025222C2022696E7465726573745F74797065223A20227661726961626C65222C20227969656C645F736F75726365223A2022552E532E2054726561737572792042696C6C73222C20226D617475726974795F64617465223A2022323034352D30362D3330222C20226375736970223A2022393132373936525830227D7D", "Fee": "10" } ``` @@ -39,7 +39,7 @@ This example assumes that the issuer of the token is the signer of the transacti | `AssetScale` | Number | UInt8 | No | Where to put the decimal place when displaying amounts of this MPT. More formally, the asset scale is a non-negative integer (0, 1, 2, …) such that one standard unit equals 10^(-scale) of a corresponding fractional unit. For example, if a US Dollar Stablecoin has an asset scale of _2_, then 1 unit of that MPT would equal 0.01 US Dollars. This indicates to how many decimal places the MPT can be subdivided. If omitted, the default is 0, meaning that the MPT cannot be divided into smaller than 1 unit. | | `TransferFee` | Number | UInt16 | No | The value specifies the fee to charged by the issuer for secondary sales of the Token, if such sales are allowed. Valid values for this field are between 0 and 50,000 inclusive, allowing transfer rates of between 0.000% and 50.000% in increments of 0.001. The field _must not_ be present if the tfMPTCanTransfer flag is not set. If it is, the transaction should fail and a fee should be claimed. | | `MaximumAmount` | String - Number | UInt64 | No | The maximum asset amount of this token that can ever be issued, as a base-10 number encoded as a string. The current default maximum limit is 9,223,372,036,854,775,807 (2^63-1). _This limit may increase in the future. If an upper limit is required, you must specify this field._ | -| `MPTokenMetadata` | String - Hexadecimal | Blob | No | Arbitrary metadata about this issuance. The limit for this field is 1024 bytes. | +| `MPTokenMetadata` | String - Hexadecimal | Blob | No | Arbitrary metadata about this issuance. The limit for this field is 1024 bytes. By convention, the metadata should decode to JSON data describing what the MPT represents. The [XLS-89d specification](https://github.com/XRPLF/XRPL-Standards/pull/293) defines a recommended format for metadata. | ## MPTokenIssuanceCreate Flags From 0b77ba0002cf8b581c8fdaa46ad21d72de620d06 Mon Sep 17 00:00:00 2001 From: Maria Shodunke Date: Mon, 7 Jul 2025 14:25:58 +0100 Subject: [PATCH 18/41] Migrate code snippets from xrpl.js and xrpl-py --- .../js/claimPayChannel.ts | 20 ++- .../py/claim_pay_channel.py | 87 +++++++++++++ _code-samples/escrow/js/create-escrow.js | 23 ++-- _code-samples/escrow/js/finish-escrow.js | 1 + _code-samples/escrow/py/cancel_escrow.py | 6 +- _code-samples/escrow/py/create_escrow.py | 3 +- _code-samples/escrow/py/finish_escrow.py | 8 +- _code-samples/multisigning/js/multisigning.ts | 8 +- _code-samples/paths/js/paths.ts | 4 +- docs/_snippets/wait-for-validation.md | 2 + .../send-a-multi-signed-transaction.md | 43 ++++++- .../set-up-multi-signing.md | 13 ++ .../use-escrows/cancel-an-expired-escrow.md | 18 +-- .../use-escrows/look-up-escrows.md | 24 ++-- .../send-a-conditionally-held-escrow.md | 34 ++--- .../use-escrows/send-a-time-held-escrow.md | 117 ++++++++++++++---- .../use-payment-channels/index.md | 3 +- 17 files changed, 323 insertions(+), 91 deletions(-) create mode 100644 _code-samples/claim-payment-channel/py/claim_pay_channel.py diff --git a/_code-samples/claim-payment-channel/js/claimPayChannel.ts b/_code-samples/claim-payment-channel/js/claimPayChannel.ts index 097a8fcf22..0053cca3d2 100644 --- a/_code-samples/claim-payment-channel/js/claimPayChannel.ts +++ b/_code-samples/claim-payment-channel/js/claimPayChannel.ts @@ -12,13 +12,11 @@ import { const client = new Client('wss://s.altnet.rippletest.net:51233') -void claimPayChannel() - // The snippet walks us through creating and claiming a Payment Channel. async function claimPayChannel(): Promise { await client.connect() - // creating wallets as prerequisite + // Creating wallets as prerequisite const { wallet: wallet1 } = await client.fundWallet() const { wallet: wallet2 } = await client.fundWallet() @@ -26,13 +24,13 @@ async function claimPayChannel(): Promise { console.log(`Balance of ${wallet1.address} is ${await client.getXrpBalance(wallet1.address)} XRP`) console.log(`Balance of ${wallet2.address} is ${await client.getXrpBalance(wallet2.address)} XRP`) - // create a Payment Channel and submit and wait for tx to be validated + // Create a Payment Channel and submit and wait for tx to be validated const paymentChannelCreate: PaymentChannelCreate = { TransactionType: 'PaymentChannelCreate', Account: wallet1.classicAddress, - Amount: '100', + Amount: '100', // 10 XRP Destination: wallet2.classicAddress, - SettleDelay: 86400, + SettleDelay: 86400, // 1 day in seconds PublicKey: wallet1.publicKey, } @@ -44,7 +42,7 @@ async function claimPayChannel(): Promise { console.log("PaymentChannelCreate transaction response:") console.log(paymentChannelResponse) - // check that the object was actually created + // Check that the object was actually created const accountObjectsRequest: AccountObjectsRequest = { command: 'account_objects', account: wallet1.classicAddress, @@ -52,23 +50,21 @@ async function claimPayChannel(): Promise { const accountObjects = (await client.request(accountObjectsRequest)).result .account_objects - console.log("Account Objects:", accountObjects) - // destination claims the Payment Channel and we see the balances to verify. + // Destination claims the Payment Channel and we see the balances to verify. const paymentChannelClaim: PaymentChannelClaim = { Account: wallet2.classicAddress, TransactionType: 'PaymentChannelClaim', Channel: hashes.hashPaymentChannel( wallet1.classicAddress, wallet2.classicAddress, - paymentChannelResponse.result.Sequence ?? 0, + paymentChannelResponse.result.tx_json.Sequence ?? 0, ), Amount: '100', } console.log("Submitting a PaymentChannelClaim transaction...") - const channelClaimResponse = await client.submit(paymentChannelClaim, { wallet: wallet1, }) @@ -81,3 +77,5 @@ async function claimPayChannel(): Promise { await client.disconnect() } + +void claimPayChannel() diff --git a/_code-samples/claim-payment-channel/py/claim_pay_channel.py b/_code-samples/claim-payment-channel/py/claim_pay_channel.py new file mode 100644 index 0000000000..264cf0af38 --- /dev/null +++ b/_code-samples/claim-payment-channel/py/claim_pay_channel.py @@ -0,0 +1,87 @@ +""" +Create, claim and verify a Payment Channel. +Reference: https://xrpl.org/paychannel.html +""" +from xrpl.clients import JsonRpcClient +from xrpl.models import ( + AccountObjects, + PaymentChannelCreate, + PaymentChannelClaim, +) +from xrpl.wallet import generate_faucet_wallet +from xrpl.transaction import submit, submit_and_wait +from xrpl.account import get_balance + + +def claim_pay_channel(): + """The snippet walks us through creating and claiming a Payment Channel.""" + + client = JsonRpcClient("https://s.altnet.rippletest.net:51234") + + # Creating wallets as prerequisite + wallet1 = generate_faucet_wallet(client) + wallet2 = generate_faucet_wallet(client) + + print("Balances of wallets before Payment Channel is claimed:") + print(f"Balance of {wallet1.address} is {get_balance(wallet1.address, client)} XRP") + print(f"Balance of {wallet2.address} is {get_balance(wallet2.address, client)} XRP") + + # Create a Payment Channel and submit and wait for tx to be validated + payment_channel_create = PaymentChannelCreate( + account=wallet1.address, + amount="100", # 10 XRP + destination=wallet2.address, + settle_delay=86400, # 1 day in seconds + public_key=wallet1.public_key, + ) + + print("Submitting a PaymentChannelCreate transaction...") + payment_channel_response = submit_and_wait( + payment_channel_create, + client, + wallet1 + ) + print("PaymentChannelCreate transaction response:") + print(payment_channel_response.result) + + # Check that the object was actually created + account_objects_request = AccountObjects( + account=wallet1.address, + ) + account_objects_response = client.request(account_objects_request) + account_objects = account_objects_response.result["account_objects"] + + # Find the PayChannel object to get the correct channel ID + channel_id = None + for obj in account_objects: + if obj["LedgerEntryType"] == "PayChannel": + channel_id = obj["index"] + break + + if not channel_id: + raise Exception("PayChannel not found in account objects") + + print(f"PayChannel ID: {channel_id}") + + # Destination claims the Payment Channel and we see the balances to verify. + payment_channel_claim = PaymentChannelClaim( + account=wallet2.address, + channel=channel_id, + amount="100", + ) + + print("Submitting a PaymentChannelClaim transaction...") + channel_claim_response = submit_and_wait( + payment_channel_claim, + client, + wallet1, + ) + print("PaymentChannelClaim transaction response:") + print(channel_claim_response.result) + + print("Balances of wallets after Payment Channel is claimed:") + print(f"Balance of {wallet1.address} is {get_balance(wallet1.address, client)} XRP") + print(f"Balance of {wallet2.address} is {get_balance(wallet2.address, client)} XRP") + +if __name__ == "__main__": + claim_pay_channel() diff --git a/_code-samples/escrow/js/create-escrow.js b/_code-samples/escrow/js/create-escrow.js index cd9d032312..9f48213565 100644 --- a/_code-samples/escrow/js/create-escrow.js +++ b/_code-samples/escrow/js/create-escrow.js @@ -14,15 +14,6 @@ const seed = "sEd7jfWyNG6J71dEojB3W9YdHp2KCjy"; async function main() { try { - // Construct condition and fulfillment ------------------------------------ - const preimageData = crypto.randomBytes(32); - const myFulfillment = new cc.PreimageSha256(); - myFulfillment.setPreimage(preimageData); - const conditionHex = myFulfillment.getConditionBinary().toString('hex').toUpperCase(); - - console.log('Condition:', conditionHex); - console.log('Fulfillment:', myFulfillment.serializeBinary().toString('hex').toUpperCase()); - // Connect ---------------------------------------------------------------- const client = new xrpl.Client('wss://s.altnet.rippletest.net:51233'); await client.connect(); @@ -37,6 +28,16 @@ async function main() { finishAfter = new Date(finishAfter * 1000); console.log("This escrow will finish after: ", finishAfter); + // Construct condition and fulfillment ------------------------------------ + const preimageData = crypto.randomBytes(32); + const myFulfillment = new cc.PreimageSha256(); + myFulfillment.setPreimage(preimageData); + const conditionHex = myFulfillment.getConditionBinary().toString('hex').toUpperCase(); + + console.log('Condition:', conditionHex); + console.log('Fulfillment:', myFulfillment.serializeBinary().toString('hex').toUpperCase()); + + // Prepare EscrowCreate transaction ------------------------------------ const escrowCreateTransaction = { "TransactionType": "EscrowCreate", "Account": wallet.address, @@ -46,7 +47,7 @@ async function main() { "Condition": conditionHex, "Fee": "12", "FinishAfter": xrpl.isoTimeToRippleTime(finishAfter.toISOString()), - }; + }; xrpl.validate(escrowCreateTransaction); @@ -54,7 +55,7 @@ async function main() { console.log('Signing and submitting the transaction:', JSON.stringify(escrowCreateTransaction, null, "\t"), "\n" ); - const response = await client.submitAndWait(escrowCreateTransaction, { wallet }); + const response = await client.submitAndWait(escrowCreateTransaction, { wallet }); console.log(`Sequence number: ${response.result.tx_json.Sequence}`); console.log(`Finished submitting! ${JSON.stringify(response.result, null, "\t")}`); diff --git a/_code-samples/escrow/js/finish-escrow.js b/_code-samples/escrow/js/finish-escrow.js index b63a17ab37..71f1dabe1b 100644 --- a/_code-samples/escrow/js/finish-escrow.js +++ b/_code-samples/escrow/js/finish-escrow.js @@ -28,6 +28,7 @@ const main = async () => { throw new Error("Please specify the sequence number, condition and fulfillment of the escrow you created"); }; + // Prepare EscrowFinish transaction --------------------------------- const escrowFinishTransaction = { "Account": wallet.address, "TransactionType": "EscrowFinish", diff --git a/_code-samples/escrow/py/cancel_escrow.py b/_code-samples/escrow/py/cancel_escrow.py index b1cfaa83b3..38cd32a88c 100644 --- a/_code-samples/escrow/py/cancel_escrow.py +++ b/_code-samples/escrow/py/cancel_escrow.py @@ -14,7 +14,11 @@ escrow_sequence = 30215126 sender_wallet = generate_faucet_wallet(client=client) # Build escrow cancel transaction -cancel_txn = EscrowCancel(account=sender_wallet.address, owner=sender_wallet.address, offer_sequence=escrow_sequence) +cancel_txn = EscrowCancel( + account=sender_wallet.address, + owner=sender_wallet.address, + offer_sequence=escrow_sequence +) # Autofill, sign, then submit transaction and wait for result stxn_response = submit_and_wait(cancel_txn, client, sender_wallet) diff --git a/_code-samples/escrow/py/create_escrow.py b/_code-samples/escrow/py/create_escrow.py index c35775a5e3..9ea2512347 100644 --- a/_code-samples/escrow/py/create_escrow.py +++ b/_code-samples/escrow/py/create_escrow.py @@ -34,7 +34,8 @@ create_txn = EscrowCreate( destination=receiver_addr, finish_after=claim_date, cancel_after=expiry_date, - condition=condition) + condition=condition +) # Autofill, sign, then submit transaction and wait for result stxn_response = submit_and_wait(create_txn, client, sender_wallet) diff --git a/_code-samples/escrow/py/finish_escrow.py b/_code-samples/escrow/py/finish_escrow.py index e31fc2535d..a8c0b7821d 100644 --- a/_code-samples/escrow/py/finish_escrow.py +++ b/_code-samples/escrow/py/finish_escrow.py @@ -25,7 +25,13 @@ fulfillment = "A0228020AED2C5FE4D147D310D3CFEBD9BFA81AD0F63CE1ADD92E00379DDDAF8E sender_wallet = generate_faucet_wallet(client=client) # Build escrow finish transaction -finish_txn = EscrowFinish(account=sender_wallet.address, owner=escrow_creator, offer_sequence=escrow_sequence, condition=condition, fulfillment=fulfillment) +finish_txn = EscrowFinish( + account=sender_wallet.address, + owner=escrow_creator, + offer_sequence=escrow_sequence, # The sequence number of the escrow transaction + condition=condition, + fulfillment=fulfillment +) # Autofill, sign, then submit transaction and wait for result stxn_response = submit_and_wait(finish_txn, client, sender_wallet) diff --git a/_code-samples/multisigning/js/multisigning.ts b/_code-samples/multisigning/js/multisigning.ts index f4e7a195e7..4e2c0d778e 100644 --- a/_code-samples/multisigning/js/multisigning.ts +++ b/_code-samples/multisigning/js/multisigning.ts @@ -22,6 +22,7 @@ async function multisigning(): Promise { const { wallet: wallet1 } = await client.fundWallet() const { wallet: wallet2 } = await client.fundWallet() const { wallet: walletMaster } = await client.fundWallet() + const signerListSet: SignerListSet = { TransactionType: 'SignerListSet', Account: walletMaster.classicAddress, @@ -56,9 +57,14 @@ async function multisigning(): Promise { const accountSetTx = await client.autofill(accountSet, 2) console.log('AccountSet transaction is ready to be multisigned:') console.log(accountSetTx) + const { tx_blob: tx_blob1 } = wallet1.sign(accountSetTx, true) const { tx_blob: tx_blob2 } = wallet2.sign(accountSetTx, true) const multisignedTx = multisign([tx_blob1, tx_blob2]) + + console.log("Successfully multisigned the transaction") + console.log(multisignedTx) + const submitResponse = await client.submit(multisignedTx) if (submitResponse.result.engine_result === 'tesSUCCESS') { @@ -79,4 +85,4 @@ async function multisigning(): Promise { await client.disconnect() } -void multisigning() \ No newline at end of file +void multisigning() diff --git a/_code-samples/paths/js/paths.ts b/_code-samples/paths/js/paths.ts index fa4fa59c76..3916901172 100644 --- a/_code-samples/paths/js/paths.ts +++ b/_code-samples/paths/js/paths.ts @@ -2,7 +2,7 @@ * Extract best paths from RipplePathFind to trade with and send a payment using paths. * Reference: https://xrpl.org/paths.html */ -import { Client, Payment, RipplePathFindResponse } from 'xrpl' +import { Client, Payment, RipplePathFindResponse, RipplePathFindRequest } from 'xrpl' const client = new Client('wss://s.altnet.rippletest.net:51233') @@ -17,7 +17,7 @@ async function createTxWithPaths(): Promise { issuer: 'rVnYNK9yuxBz4uP8zC8LEFokM2nqH3poc', } - const request = { + const request: RipplePathFindRequest = { command: 'ripple_path_find', source_account: wallet.classicAddress, source_currencies: [ diff --git a/docs/_snippets/wait-for-validation.md b/docs/_snippets/wait-for-validation.md index d020db203d..f385e9fd01 100644 --- a/docs/_snippets/wait-for-validation.md +++ b/docs/_snippets/wait-for-validation.md @@ -1,3 +1,5 @@ On a live network (including Mainnet, Testnet, or Devnet), you can wait 4-7 seconds for the ledger to close automatically. If you're running `rippled` in stand-alone mode, use the [ledger_accept method][] to manually close the ledger. + +{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/how-tos/manage-account-settings/send-a-multi-signed-transaction.md b/docs/tutorials/how-tos/manage-account-settings/send-a-multi-signed-transaction.md index c0e1904caa..b73c2eb138 100644 --- a/docs/tutorials/how-tos/manage-account-settings/send-a-multi-signed-transaction.md +++ b/docs/tutorials/how-tos/manage-account-settings/send-a-multi-signed-transaction.md @@ -25,6 +25,9 @@ Keep in mind that the `Fee` for multi-signed transactions is significantly highe Here's an example transaction ready to be multi-signed: +{% tabs %} + +{% tab label="JSON" %} ```json { "TransactionType": "TrustSet", @@ -42,7 +45,17 @@ Here's an example transaction ready to be multi-signed: ``` (This transaction creates an accounting relationship from `rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC` to `rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh` with a maximum balance of 100 USD.) +{% /tab %} +{% tab label="Javascript" %} +{% code-snippet file="/_code-samples/multisigning/js/multisigning.ts" language="js" from="const accountSet: AccountSet = {" before="const { tx_blob" /%} +{% /tab %} + +{% tab label="Python" %} +{% code-snippet file="/_code-samples/multisigning/py/multisigning.py" language="py" from="account_set_tx = AccountSet" before="# Since" /%} +{% /tab %} + +{% /tabs %} ## 2. Get one signature @@ -185,6 +198,9 @@ If you collected the signatures in serial, the `tx_json` from the last `sign_for If you collected the signatures in parallel, you must manually construct a `tx_json` object with all the signatures included. Take the `Signers` arrays from all the `sign_for` responses, and combine their contents into a single `Signers` array that has each signature. Add the combined `Signers` array to the original transaction JSON value, and use that as the argument to the [submit_multisigned method][]. +{% tabs %} + +{% tab label="Commandline" %} ``` $ rippled submit_multisigned '{ > "Account" : "rEuLyBCvcw4CFmzv8RepSiAoNgF8tTGJQC", @@ -256,9 +272,18 @@ Connecting to 127.0.0.1:5005 } ``` - Take note of the `hash` value from the response so you can check the results of the transaction later. (In this case, the hash is `BD636194C48FD7A100DE4C972336534C8E710FD008C0F3CF7BC5BF34DAF3C3E6`.) +{% /tab %} +{% tab label="Javascript" %} +{% code-snippet file="/_code-samples/multisigning/js/multisigning.ts" language="js" from="const { tx_blob" before="if (submitResponse" /%} +{% /tab %} + +{% tab label="Python" %} +{% code-snippet file="/_code-samples/multisigning/py/multisigning.py" language="py" from="tx_1 =" before="if multisigned_tx_response" /%} +{% /tab %} + +{% /tabs %} ## 5. Close the ledger @@ -278,7 +303,6 @@ Connecting to 127.0.0.1:5005 } ``` - ## 6. Confirm transaction results Use the hash value from the response to the `submit_multisigned` command to look up the transaction using the [tx method][]. In particular, check that the `TransactionResult` is the string `tesSUCCESS`. @@ -287,6 +311,9 @@ On the live network, you must also confirm that the `validated` field is set to In stand-alone mode, the server automatically considers a ledger to be `validated` if it has been manually closed. +{% tabs %} + +{% tab label="Commandline" %} ``` $ rippled tx BD636194C48FD7A100DE4C972336534C8E710FD008C0F3CF7BC5BF34DAF3C3E6 Loading: "/etc/opt/ripple/rippled.cfg" @@ -399,5 +426,17 @@ Connecting to 127.0.0.1:5005 } } ``` +{% /tab %} + +{% tab label="Javascript" %} +{% code-snippet file="/_code-samples/multisigning/js/multisigning.ts" language="js" from="if (submitResponse" before="await client.disconnect" /%} +{% /tab %} + +{% tab label="Python" %} +{% code-snippet file="/_code-samples/multisigning/py/multisigning.py" language="py" from="if multisigned_tx_response" /%} +{% /tab %} + +{% /tabs %} + {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/how-tos/manage-account-settings/set-up-multi-signing.md b/docs/tutorials/how-tos/manage-account-settings/set-up-multi-signing.md index 0e88ee4c4d..5bbfc29111 100644 --- a/docs/tutorials/how-tos/manage-account-settings/set-up-multi-signing.md +++ b/docs/tutorials/how-tos/manage-account-settings/set-up-multi-signing.md @@ -67,7 +67,9 @@ In this example, the signer list has 3 members, with the weights and quorum set {% partial file="/docs/_snippets/secret-key-warning.md" /%} +{% tabs %} +{% tab label="Commandline" %} ``` $ rippled submit shqZZy2Rzs9ZqWTCQAdqc3bKgxnYq '{ > "Flags": 0, @@ -139,6 +141,17 @@ Connecting to 127.0.0.1:5005 } } ``` +{% /tab %} + +{% tab label="Javascript" %} +{% code-snippet file="/_code-samples/multisigning/js/multisigning.ts" language="js" from=" const { wallet: wallet1" before="const accountSet:" /%} +{% /tab %} + +{% tab label="Python" %} +{% code-snippet file="/_code-samples/multisigning/py/multisigning.py" language="py" from="master_wallet =" before="# Now that" /%} +{% /tab %} + +{% /tabs %} Make sure that the [Transaction Result](../../../references/protocol/transactions/transaction-results/index.md) is [**`tesSUCCESS`**](../../../references/protocol/transactions/transaction-results/tes-success.md). Otherwise, the transaction failed. If you have a problem in stand-alone mode or a non-production network, check that [multi-sign is enabled](../../../infrastructure/testing-and-auditing/start-a-new-genesis-ledger-in-stand-alone-mode.md#settings-in-new-genesis-ledgers). diff --git a/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md b/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md index c28d4996f5..c1adf3d566 100644 --- a/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md +++ b/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md @@ -67,24 +67,24 @@ Response: {% partial file="/docs/_snippets/secret-key-warning.md" /%} -Request: - {% tabs %} {% tab label="Websocket" %} +Request: {% code-snippet file="/_api-examples/escrow/websocket/submit-request-escrowcancel.json" language="json" /%} -{% /tab %} - -{% /tabs %} Response: - -{% tabs %} - -{% tab label="Websocket" %} {% code-snippet file="/_api-examples/escrow/websocket/submit-response-escrowcancel.json" language="json" /%} {% /tab %} +{% tab label="Javascript" %} +{% code-snippet file="/_code-samples/escrow/js/cancel-escrow.js" language="js" from="const escrowCancelTransaction" before="await client.disconnect" /%} +{% /tab %} + +{% tab label="Python" %} +{% code-snippet file="/_code-samples/escrow/py/cancel_escrow.py" language="py" from="# Build escrow cancel" /%} +{% /tab %} + {% /tabs %} Take note of the transaction's identifying `hash` value so you can check its final status when it is included in a validated ledger version. diff --git a/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/look-up-escrows.md b/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/look-up-escrows.md index 377596b815..132063c542 100644 --- a/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/look-up-escrows.md +++ b/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/look-up-escrows.md @@ -15,30 +15,28 @@ All pending escrows are stored in the ledger as [Escrow objects](../../../../con Use the [account_objects method][], where the sender or destination address is the `account` value. -Request: - {% tabs %} {% tab label="Websocket" %} +Request: {% code-snippet file="/_api-examples/escrow/websocket/account_objects-request.json" language="json" /%} -{% /tab %} - -{% /tabs %} - -The response includes all pending escrow objects with `rfztBskAVszuS3s5Kq7zDS74QtHrw893fm`, where the sender address is the `Account` value, or the destination address is the `Destination` value. Response: - -{% tabs %} - -{% tab label="Websocket" %} {% code-snippet file="/_api-examples/escrow/websocket/account_objects-response.json" language="json" /%} + +The response includes all pending escrow objects with `rfztBskAVszuS3s5Kq7zDS74QtHrw893fm`, where the sender address is the `Account` value, or the destination address is the `Destination` value. +{% /tab %} + +{% tab label="Javascript" %} +{% code-snippet file="/_code-samples/escrow/js/list-escrows.js" language="js" from="const response" before="client.disconnect" /%} +{% /tab %} + +{% tab label="Python" %} +{% code-snippet file="/_code-samples/escrow/py/account_escrows.py" language="py" from="req =" /%} {% /tab %} {% /tabs %} - - ## See Also - **Concepts:** diff --git a/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md b/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md index 9e090fe32b..93f39ba2a9 100644 --- a/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md +++ b/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md @@ -96,24 +96,24 @@ print(cancel_after) {% partial file="/docs/_snippets/secret-key-warning.md" /%} -Request: - {% tabs %} {% tab label="Websocket" %} +Request: {% code-snippet file="/_api-examples/escrow/websocket/submit-request-escrowcreate-condition.json" language="json" /%} -{% /tab %} - -{% /tabs %} Response: - -{% tabs %} - -{% tab label="Websocket" %} {% code-snippet file="/_api-examples/escrow/websocket/submit-response-escrowcreate-condition.json" language="json" /%} {% /tab %} +{% tab label="Javascript" %} +{% code-snippet file="/_code-samples/escrow/js/create-escrow.js" language="js" from="// Prepare EscrowCreate" before="await client.disconnect" /%} +{% /tab %} + +{% tab label="Python" %} +{% code-snippet file="/_code-samples/escrow/py/create_escrow.py" language="py" from="# Build escrow create" /%} +{% /tab %} + {% /tabs %} ## 4. Wait for validation @@ -157,19 +157,21 @@ If the escrow has expired, you can only [cancel the escrow](cancel-an-expired-es {% tabs %} {% tab label="Websocket" %} +Request: {% code-snippet file="/_api-examples/escrow/websocket/submit-request-escrowfinish-condition.json" language="json" /%} -{% /tab %} - -{% /tabs %} Response: - -{% tabs %} - -{% tab label="Websocket" %} {% code-snippet file="/_api-examples/escrow/websocket/submit-response-escrowfinish-condition.json" language="json" /%} {% /tab %} +{% tab label="Javascript" %} +{% code-snippet file="/_code-samples/escrow/js/finish-escrow.js" language="js" from="// Prepare EscrowFinish" before="await client.disconnect" /%} +{% /tab %} + +{% tab label="Python" %} +{% code-snippet file="/_code-samples/escrow/py/finish_escrow.py" language="py" from="# Build escrow finish" /%} +{% /tab %} + {% /tabs %} Take note of the transaction's identifying `hash` value so you can check its final status when it is included in a validated ledger version. diff --git a/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md b/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md index 61d911335f..2cb08fec91 100644 --- a/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md +++ b/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md @@ -47,26 +47,68 @@ print(release_date_ripple) {% partial file="/docs/_snippets/secret-key-warning.md" /%} + +{% tabs %} + +{% tab label="Websocket" %} Request: - -{% tabs %} - -{% tab label="Websocket" %} {% code-snippet file="/_api-examples/escrow/websocket/submit-request-escrowcreate-time.json" language="json" /%} -{% /tab %} - -{% /tabs %} - Response: - -{% tabs %} - -{% tab label="Websocket" %} {% code-snippet file="/_api-examples/escrow/websocket/submit-response-escrowcreate-time.json" language="json" /%} {% /tab %} -{% /tabs %} +{% tab label="Javascript" %} +```js +// Prepare EscrowCreate transaction ------------------------------------ +const escrowCreateTransaction = { + "TransactionType": "EscrowCreate", + "Account": wallet.address, + "Destination": wallet.address, + "Amount": "6000000", //drops XRP + "DestinationTag": 2023, + "Fee": "12", + "FinishAfter": xrpl.isoTimeToRippleTime(finishAfter.toISOString()), +}; +xrpl.validate(escrowCreateTransaction); + +// Sign and submit the transaction ---------------------------------------- +console.log('Signing and submitting the transaction:', + JSON.stringify(escrowCreateTransaction, null, "\t"), "\n" +); +const response = await client.submitAndWait(escrowCreateTransaction, { wallet }); +console.log(`Sequence number: ${response.result.tx_json.Sequence}`); +console.log(`Finished submitting! ${JSON.stringify(response.result, null, "\t")}`); +``` +{% /tab %} + +{% tab label="Python" %} +```python +# Build escrow create transaction +create_txn = EscrowCreate( + account=sender_wallet.address, + amount=xrp_to_drops(10.000), + destination=receiver_addr, + finish_after=claim_date +) + +# Autofill, sign, then submit transaction and wait for result +stxn_response = submit_and_wait(create_txn, client, sender_wallet) + +# Return result of transaction +stxn_result = stxn_response.result + + +# Parse result and print out the neccesary info +print(stxn_result["tx_json"]["Account"]) +print(stxn_result["tx_json"]["Sequence"]) + +print(stxn_result["meta"]["TransactionResult"]) +print(stxn_result["hash"]) +``` +{% /tab %} + +{% /tabs %} Take note of the transaction's identifying `hash` value so you can check its final status when it is included in a validated ledger version. @@ -138,22 +180,55 @@ If the escrow has expired, you can only [cancel the escrow](cancel-an-expired-es {% partial file="/docs/_snippets/secret-key-warning.md" /%} -Request: - {% tabs %} {% tab label="Websocket" %} +Request: {% code-snippet file="/_api-examples/escrow/websocket/submit-request-escrowfinish-time.json" language="json" /%} -{% /tab %} - -{% /tabs %} Response: +{% code-snippet file="/_api-examples/escrow/websocket/tx-response-escrowfinish-time.json" language="json" /%} +{% /tab %} -{% tabs %} +{% tab label="Javascript" %} +```js +// Prepare EscrowFinish transaction --------------------------------- +const escrowFinishTransaction = { + "Account": wallet.address, + "TransactionType": "EscrowFinish", + "Owner": wallet.address, + // This should equal the sequence number of the escrow transaction + "OfferSequence": offerSequence, +}; -{% tab label="Websocket" %} -{% code-snippet file="/_api-examples/escrow/websocket/submit-response-escrowfinish-time.json" language="json" /%} +xrpl.validate(escrowFinishTransaction); + +// Sign and submit the transaction ---------------------------------------- +console.log('Signing and submitting the transaction:', JSON.stringify(escrowFinishTransaction, null, "\t")); +const response = await client.submitAndWait(escrowFinishTransaction, { wallet }); +console.log(`Finished submitting! ${JSON.stringify(response.result, null, "\t")}`); +``` +{% /tab %} + +{% tab label="Python" %} +```python +# Build escrow finish transaction +finish_txn = EscrowFinish( + account=sender_wallet.address, + owner=escrow_creator, + offer_sequence=escrow_sequence, # The sequence number of the escrow transaction +) + +# Autofill, sign, then submit transaction and wait for result +stxn_response = submit_and_wait(finish_txn, client, sender_wallet) + +# Parse response and return result +stxn_result = stxn_response.result + +# Parse result and print out the transaction result and transaction hash +print(stxn_result["meta"]["TransactionResult"]) +print(stxn_result["hash"]) +``` {% /tab %} {% /tabs %} diff --git a/docs/tutorials/how-tos/use-specialized-payment-types/use-payment-channels/index.md b/docs/tutorials/how-tos/use-specialized-payment-types/use-payment-channels/index.md index 380d35d8dc..b4b7b58dd9 100644 --- a/docs/tutorials/how-tos/use-specialized-payment-types/use-payment-channels/index.md +++ b/docs/tutorials/how-tos/use-specialized-payment-types/use-payment-channels/index.md @@ -84,7 +84,7 @@ Content-Type: application/json "fee_mult_max": 1000 }] } -```json +``` Response: @@ -106,7 +106,6 @@ Response: } ``` - The immediate response to the `submit` request contains a _provisional_ result with the transaction's identifying `hash` value. The payer should check the transaction's _final_ result in a validated ledger and get the Channel ID from the metadata. This can be done with the `tx` command: Request: From 24f501fda99b88237d374f642a68bd5c72d60722 Mon Sep 17 00:00:00 2001 From: Maria Shodunke Date: Wed, 9 Jul 2025 15:28:52 +0100 Subject: [PATCH 19/41] Add payment channel snippets to docs --- .../js/claimPayChannel.ts | 2 +- .../py/claim_pay_channel.py | 120 +++++++++--------- .../use-payment-channels/index.md | 28 ++++ 3 files changed, 87 insertions(+), 63 deletions(-) diff --git a/_code-samples/claim-payment-channel/js/claimPayChannel.ts b/_code-samples/claim-payment-channel/js/claimPayChannel.ts index 0053cca3d2..9fba2216f2 100644 --- a/_code-samples/claim-payment-channel/js/claimPayChannel.ts +++ b/_code-samples/claim-payment-channel/js/claimPayChannel.ts @@ -66,7 +66,7 @@ async function claimPayChannel(): Promise { console.log("Submitting a PaymentChannelClaim transaction...") const channelClaimResponse = await client.submit(paymentChannelClaim, { - wallet: wallet1, + wallet: wallet2, }) console.log("PaymentChannelClaim transaction response:") console.log(channelClaimResponse) diff --git a/_code-samples/claim-payment-channel/py/claim_pay_channel.py b/_code-samples/claim-payment-channel/py/claim_pay_channel.py index 264cf0af38..6c51eed203 100644 --- a/_code-samples/claim-payment-channel/py/claim_pay_channel.py +++ b/_code-samples/claim-payment-channel/py/claim_pay_channel.py @@ -13,75 +13,71 @@ from xrpl.transaction import submit, submit_and_wait from xrpl.account import get_balance -def claim_pay_channel(): - """The snippet walks us through creating and claiming a Payment Channel.""" +"""The snippet walks us through creating and claiming a Payment Channel.""" - client = JsonRpcClient("https://s.altnet.rippletest.net:51234") - - # Creating wallets as prerequisite - wallet1 = generate_faucet_wallet(client) - wallet2 = generate_faucet_wallet(client) +client = JsonRpcClient("https://s.altnet.rippletest.net:51234") - print("Balances of wallets before Payment Channel is claimed:") - print(f"Balance of {wallet1.address} is {get_balance(wallet1.address, client)} XRP") - print(f"Balance of {wallet2.address} is {get_balance(wallet2.address, client)} XRP") +# Creating wallets as prerequisite +wallet1 = generate_faucet_wallet(client) +wallet2 = generate_faucet_wallet(client) - # Create a Payment Channel and submit and wait for tx to be validated - payment_channel_create = PaymentChannelCreate( - account=wallet1.address, - amount="100", # 10 XRP - destination=wallet2.address, - settle_delay=86400, # 1 day in seconds - public_key=wallet1.public_key, - ) +print("Balances of wallets before Payment Channel is claimed:") +print(f"Balance of {wallet1.address} is {get_balance(wallet1.address, client)} XRP") +print(f"Balance of {wallet2.address} is {get_balance(wallet2.address, client)} XRP") - print("Submitting a PaymentChannelCreate transaction...") - payment_channel_response = submit_and_wait( - payment_channel_create, - client, - wallet1 - ) - print("PaymentChannelCreate transaction response:") - print(payment_channel_response.result) +# Create a Payment Channel and submit and wait for tx to be validated +payment_channel_create = PaymentChannelCreate( + account=wallet1.address, + amount="100", # 10 XRP + destination=wallet2.address, + settle_delay=86400, # 1 day in seconds + public_key=wallet1.public_key, +) - # Check that the object was actually created - account_objects_request = AccountObjects( - account=wallet1.address, - ) - account_objects_response = client.request(account_objects_request) - account_objects = account_objects_response.result["account_objects"] +print("Submitting a PaymentChannelCreate transaction...") +payment_channel_response = submit_and_wait( + payment_channel_create, + client, + wallet1 +) +print("PaymentChannelCreate transaction response:") +print(payment_channel_response.result) - # Find the PayChannel object to get the correct channel ID - channel_id = None - for obj in account_objects: - if obj["LedgerEntryType"] == "PayChannel": - channel_id = obj["index"] - break +# Check that the object was actually created +account_objects_request = AccountObjects( + account=wallet1.address, +) +account_objects_response = client.request(account_objects_request) +account_objects = account_objects_response.result["account_objects"] - if not channel_id: - raise Exception("PayChannel not found in account objects") +# Find the PayChannel object to get the correct channel ID +channel_id = None +for obj in account_objects: + if obj["LedgerEntryType"] == "PayChannel": + channel_id = obj["index"] + break - print(f"PayChannel ID: {channel_id}") +if not channel_id: + raise Exception("PayChannel not found in account objects") - # Destination claims the Payment Channel and we see the balances to verify. - payment_channel_claim = PaymentChannelClaim( - account=wallet2.address, - channel=channel_id, - amount="100", - ) +print(f"PayChannel ID: {channel_id}") - print("Submitting a PaymentChannelClaim transaction...") - channel_claim_response = submit_and_wait( - payment_channel_claim, - client, - wallet1, - ) - print("PaymentChannelClaim transaction response:") - print(channel_claim_response.result) - - print("Balances of wallets after Payment Channel is claimed:") - print(f"Balance of {wallet1.address} is {get_balance(wallet1.address, client)} XRP") - print(f"Balance of {wallet2.address} is {get_balance(wallet2.address, client)} XRP") - -if __name__ == "__main__": - claim_pay_channel() +# Destination claims the Payment Channel and we see the balances to verify. +payment_channel_claim = PaymentChannelClaim( + account=wallet2.address, + channel=channel_id, + amount="100", +) + +print("Submitting a PaymentChannelClaim transaction...") +channel_claim_response = submit_and_wait( + payment_channel_claim, + client, + wallet2, +) +print("PaymentChannelClaim transaction response:") +print(channel_claim_response.result) + +print("Balances of wallets after Payment Channel is claimed:") +print(f"Balance of {wallet1.address} is {get_balance(wallet1.address, client)} XRP") +print(f"Balance of {wallet2.address} is {get_balance(wallet2.address, client)} XRP") diff --git a/docs/tutorials/how-tos/use-specialized-payment-types/use-payment-channels/index.md b/docs/tutorials/how-tos/use-specialized-payment-types/use-payment-channels/index.md index b4b7b58dd9..df49b332eb 100644 --- a/docs/tutorials/how-tos/use-specialized-payment-types/use-payment-channels/index.md +++ b/docs/tutorials/how-tos/use-specialized-payment-types/use-payment-channels/index.md @@ -62,6 +62,9 @@ The following example shows creation of a payment channel by [submitting](../../ {% admonition type="info" name="Note" %}A payment channel counts as one object toward the payer's [owner reserve](../../../../concepts/accounts/reserves.md#owner-reserves). The owner must keep at least enough XRP to satisfy the reserve after subtracting the XRP allocated to the payment channel.{% /admonition %} +{% tabs %} + +{% tab label="JSON-RPC" %} Request: ```json @@ -105,6 +108,17 @@ Response: } } ``` +{% /tab %} + +{% tab label="Javascript" %} +{% code-snippet file="/_code-samples/claim-payment-channel/js/claimPayChannel.ts" language="js" from="// Create a Payment" before="// Check" /%} +{% /tab %} + +{% tab label="Python" %} +{% code-snippet file="/_code-samples/claim-payment-channel/py/claim_pay_channel.py" language="py" from="# Create a Payment" before="# Check" /%} +{% /tab %} + +{% /tabs %} The immediate response to the `submit` request contains a _provisional_ result with the transaction's identifying `hash` value. The payer should check the transaction's _final_ result in a validated ledger and get the Channel ID from the metadata. This can be done with the `tx` command: @@ -399,6 +413,9 @@ The payee can do this multiple times, to settle partially while still doing busi Example of claiming XRP from a channel: +{% tabs %} + +{% tab label="JSON-RPC" %} Request: ```json @@ -453,6 +470,17 @@ Response: } } ``` +{% /tab %} + +{% tab label="Javascript" %} +{% code-snippet file="/_code-samples/claim-payment-channel/js/claimPayChannel.ts" language="js" from="// Destination claims" before="console.log('Balances of" /%} +{% /tab %} + +{% tab label="Python" %} +{% code-snippet file="/_code-samples/claim-payment-channel/py/claim_pay_channel.py" language="py" from="# Destination claims" before="print(\"Balances of" /%} +{% /tab %} + +{% /tabs %} The payee should confirm that this transaction is successful in a validated ledger. For the full details, see [Reliable Transaction Submission](../../../../concepts/transactions/reliable-transaction-submission.md). From bad9160d8c08b002fda7f274597aec17fea54d9f Mon Sep 17 00:00:00 2001 From: Darius Tumas Date: Fri, 11 Jul 2025 20:39:40 +0300 Subject: [PATCH 20/41] Update docs/infrastructure/configuration/server-modes/run-rippled-as-a-validator.md Changing style of note to use admonition as sugested Co-authored-by: Maria Shodunke --- .../configuration/server-modes/run-rippled-as-a-validator.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/infrastructure/configuration/server-modes/run-rippled-as-a-validator.md b/docs/infrastructure/configuration/server-modes/run-rippled-as-a-validator.md index 41d7aca8d6..faac1320b0 100644 --- a/docs/infrastructure/configuration/server-modes/run-rippled-as-a-validator.md +++ b/docs/infrastructure/configuration/server-modes/run-rippled-as-a-validator.md @@ -217,8 +217,9 @@ _**To connect your validator to the network using public hubs:**_ hub.xrpl-commons.org 51235 ``` -> **Note:** The above list may evolve over time. To ensure you're using the most current set of public hubs, refer to the official `rippled-example.cfg` maintained by XRPLF: -> [https://github.com/XRPLF/rippled/blob/develop/cfg/rippled-example.cfg](https://github.com/XRPLF/rippled/blob/develop/cfg/rippled-example.cfg) +{% admonition type="info" name="Note" %} +The above list may evolve over time. To ensure you're using the most current set of public hubs, refer to the official [`rippled-example.cfg`](https://github.com/XRPLF/rippled/blob/develop/cfg/rippled-example.cfg) maintained by XRPLF. +{% /admonition %} {% admonition type="warning" name="Caution" %}This configuration connects your validator to the network using default public hubs. Because these are the _default_ public hubs, they may sometimes be too busy to provide your validator with a connection to the network. To help avoid this issue, connect to more public hubs and, even better, connect to non-default public hubs.{% /admonition %} From a31594cac424778cbaf6cc548d68ac4b7a2afda9 Mon Sep 17 00:00:00 2001 From: Darius Tumas Date: Fri, 11 Jul 2025 20:42:16 +0300 Subject: [PATCH 21/41] Update run-rippled-as-a-validator.md Siplified description of [ips_fixed] stanza. Removed unnecessary listing of domains as that was duplicated example bellow. --- .../configuration/server-modes/run-rippled-as-a-validator.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/infrastructure/configuration/server-modes/run-rippled-as-a-validator.md b/docs/infrastructure/configuration/server-modes/run-rippled-as-a-validator.md index faac1320b0..3f57208c4e 100644 --- a/docs/infrastructure/configuration/server-modes/run-rippled-as-a-validator.md +++ b/docs/infrastructure/configuration/server-modes/run-rippled-as-a-validator.md @@ -207,7 +207,7 @@ This configuration connects your validator to the network using three [public hu _**To connect your validator to the network using public hubs:**_ -1. In your validator's `rippled.cfg` file, include the following `[ips_fixed]` stanza. The two values, `r.ripple.com 51235`, and `sahyadri.isrdc.in 51235`, are default public hubs. This stanza tells `rippled` to always attempt to maintain peer connections with these public hubs. +1. In your validator's `rippled.cfg` file, include the following `[ips_fixed]` stanza. This stanza tells `rippled` to always attempt to maintain peer connections with these public hubs. ``` [ips_fixed] From d6075dd033bc919d3252afc1f94644dd8beb03cf Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Fri, 11 Jul 2025 15:59:31 -0700 Subject: [PATCH 22/41] Update installation supported OSes --- .../build-run-rippled-in-reporting-mode.md | 2 - ...with-yum.md => install-rippled-on-rhel.md} | 0 .../update-rippled-automatically-on-linux.md | 4 +- ....md => update-rippled-manually-on-rhel.md} | 2 +- .../img/reporting-mode-basic-architecture.svg | 1 - .../build-run-rippled-in-reporting-mode.md | 367 +----------------- docs/infrastructure/installation/index.md | 3 +- .../installation/install-clio-on-ubuntu.md | 6 +- ...with-yum.md => install-rippled-on-rhel.md} | 11 +- .../installation/install-rippled-on-ubuntu.md | 15 +- .../rippled-1-3-migration-instructions.md | 129 ------ .../installation/system-requirements.md | 9 +- .../update-rippled-automatically-on-linux.md | 10 +- ....md => update-rippled-manually-on-rhel.md} | 29 +- .../update-rippled-manually-on-ubuntu.md | 24 +- .../troubleshooting/diagnosing-problems.md | 2 +- .../logrotate.md | 2 +- redirects.yaml | 9 + sidebars.yaml | 6 +- 19 files changed, 53 insertions(+), 578 deletions(-) rename @l10n/ja/docs/infrastructure/installation/{install-rippled-on-centos-rhel-with-yum.md => install-rippled-on-rhel.md} (100%) rename @l10n/ja/docs/infrastructure/installation/{update-rippled-manually-on-centos-rhel.md => update-rippled-manually-on-rhel.md} (95%) delete mode 100644 docs/img/reporting-mode-basic-architecture.svg rename docs/infrastructure/installation/{install-rippled-on-centos-rhel-with-yum.md => install-rippled-on-rhel.md} (84%) delete mode 100644 docs/infrastructure/installation/rippled-1-3-migration-instructions.md rename docs/infrastructure/installation/{update-rippled-manually-on-centos-rhel.md => update-rippled-manually-on-rhel.md} (54%) diff --git a/@l10n/ja/docs/infrastructure/installation/build-run-rippled-in-reporting-mode.md b/@l10n/ja/docs/infrastructure/installation/build-run-rippled-in-reporting-mode.md index e0bc5e5e6c..1aed9187d5 100644 --- a/@l10n/ja/docs/infrastructure/installation/build-run-rippled-in-reporting-mode.md +++ b/@l10n/ja/docs/infrastructure/installation/build-run-rippled-in-reporting-mode.md @@ -16,8 +16,6 @@ top_nav_grouping: 人気ページ そしてAPIコールを効率的に処理し、P2Pモードで動作している`rippled`サーバの負荷を軽減することができます。 -[{% inline-svg file="/docs/img/reporting-mode-basic-architecture.svg" /%}](/docs/img/reporting-mode-basic-architecture.svg "図 1: レポートモードでの`rippled`の動作") - `rippled`のレポートモードでは2種類のデータストアを使用します。 * トランザクションのメタデータ、アカウントの状態、レジャーのヘッダーを含む`rippled`のプライマリ永続データストア。プライマリ永続データストアとしてNuDB(ソースに付属)または[Cassandra](https://cassandra.apache.org/)を使用できます。Cassandraを使用する場合、複数のレポートモードサーバが単一のCassandraインスタンスまたはクラスター内のデータへのアクセスを共有できます。 diff --git a/@l10n/ja/docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum.md b/@l10n/ja/docs/infrastructure/installation/install-rippled-on-rhel.md similarity index 100% rename from @l10n/ja/docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum.md rename to @l10n/ja/docs/infrastructure/installation/install-rippled-on-rhel.md diff --git a/@l10n/ja/docs/infrastructure/installation/update-rippled-automatically-on-linux.md b/@l10n/ja/docs/infrastructure/installation/update-rippled-automatically-on-linux.md index e97300abd9..ed72e3636a 100644 --- a/@l10n/ja/docs/infrastructure/installation/update-rippled-automatically-on-linux.md +++ b/@l10n/ja/docs/infrastructure/installation/update-rippled-automatically-on-linux.md @@ -11,11 +11,11 @@ labels: Linuxでは、`rippled`が1回限りの`cron`構成を使用して最新バージョンに自動的にアップグレードされるように設定できます。可能であれば自動更新を有効にしておくことが推奨されます。 -以下の手順では、`rippled`が[`yum`リポジトリから(CentOS/RedHat)](install-rippled-on-centos-rhel-with-yum.md)、または[`apt`(Ubuntu/Debian)を使用して](install-rippled-on-ubuntu.md)インストールされていることを前提としています。 +以下の手順では、`rippled`が[`yum`リポジトリから(CentOS/RedHat)](install-rippled-on-rhel.md)、または[`apt`(Ubuntu/Debian)を使用して](install-rippled-on-ubuntu.md)インストールされていることを前提としています。 自動更新を設定するには、以下の手順に従います。 -1. `/opt/ripple/etc/update-rippled-cron`が存在することを確認します。存在しない場合は、([CentOS/Red Hat](update-rippled-manually-on-centos-rhel.md)または[Ubuntu/Debian](update-rippled-manually-on-ubuntu.md)を)手動で更新します。 +1. `/opt/ripple/etc/update-rippled-cron`が存在することを確認します。存在しない場合は、([CentOS/Red Hat](update-rippled-manually-on-rhel.md)または[Ubuntu/Debian](update-rippled-manually-on-ubuntu.md)を)手動で更新します。 2. `cron.d`フォルダーに、`/opt/ripple/etc/update-rippled-cron`構成ファイルへのsymlinkを作成します。 diff --git a/@l10n/ja/docs/infrastructure/installation/update-rippled-manually-on-centos-rhel.md b/@l10n/ja/docs/infrastructure/installation/update-rippled-manually-on-rhel.md similarity index 95% rename from @l10n/ja/docs/infrastructure/installation/update-rippled-manually-on-centos-rhel.md rename to @l10n/ja/docs/infrastructure/installation/update-rippled-manually-on-rhel.md index d07294471e..a99c080247 100644 --- a/@l10n/ja/docs/infrastructure/installation/update-rippled-manually-on-centos-rhel.md +++ b/@l10n/ja/docs/infrastructure/installation/update-rippled-manually-on-rhel.md @@ -11,7 +11,7 @@ labels: このページでは、CentOSまたはRed Hat Enterprise Linuxで最新リリースの`rippled`に手動で更新する手順を説明します。可能であれば手動更新ではなく[自動更新](update-rippled-automatically-on-linux.md)を設定することが推奨されます。 -以下の手順は、[`rippled`がすでに`yum`リポジトリからインストール](install-rippled-on-centos-rhel-with-yum.md)されていることを前提としています。 +以下の手順は、[`rippled`がすでに`yum`リポジトリからインストール](install-rippled-on-rhel.md)されていることを前提としています。 {% admonition type="success" name="ヒント" %}これらの手順をすべて一度に実行するには、`rippled`パッケージに含まれている`/opt/ripple/bin/update-rippled.sh`スクリプトを実行します。このスクリプトは`sudo`ユーザとして実行する必要があります。{% /admonition %} diff --git a/docs/img/reporting-mode-basic-architecture.svg b/docs/img/reporting-mode-basic-architecture.svg deleted file mode 100644 index b554dc0be3..0000000000 --- a/docs/img/reporting-mode-basic-architecture.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/infrastructure/installation/build-run-rippled-in-reporting-mode.md b/docs/infrastructure/installation/build-run-rippled-in-reporting-mode.md index 5f2ff16c06..173690570e 100644 --- a/docs/infrastructure/installation/build-run-rippled-in-reporting-mode.md +++ b/docs/infrastructure/installation/build-run-rippled-in-reporting-mode.md @@ -1,371 +1,12 @@ --- -html: build-run-rippled-in-reporting-mode.html -parent: install-rippled.html seo: - description: Build and run a special operating mode of rippled that handles remote procedure calls (RPC) for validated data. -labels: - - Core Server - - Blockchain -top_nav_grouping: Popular Pages + description: Reporting mode was a rippled server build specialized for for API usage. It has been deprecated in favor of the Clio server. +status: removed --- # Build and Run `rippled` in Reporting Mode -[Reporting mode](../../concepts/networks-and-servers/rippled-server-modes.md) is a mode of the XRP Ledger core server specialized for serving [HTTP and WebSocket APIs](../../references/http-websocket-apis/index.md). +**Reporting mode** was a build option of the `rippled` server, specialized for serving [HTTP and WebSocket APIs](../../references/http-websocket-apis/index.md). It has been removed in favor of the [Clio server](../../concepts/networks-and-servers/the-clio-server.md). -In reporting mode, the server does not connect to the peer-to-peer network. Instead, it uses gRPC to get validated data from one or more trusted servers that are connected to the P2P network. - -It can then efficiently handle API calls, reducing the load on `rippled` servers running in P2P mode. - -[{% inline-svg file="/docs/img/reporting-mode-basic-architecture.svg" /%}](/docs/img/reporting-mode-basic-architecture.svg "Figure 1: Working of `rippled` in reporting mode") - -The reporting mode of `rippled` uses two datastores: - -* The primary persistent datastore for `rippled` that includes transaction metadata, account states, and ledger headers. You can use NuDB (included with the source) or [Cassandra](https://cassandra.apache.org/) as the primary persistent datastore. If you use Cassandra, multiple reporting mode servers can share access to data in a single Cassandra instance or cluster. - -* [PostgreSQL](https://www.postgresql.org/) database to hold relational data, which is used mainly by [tx method][] and [account_tx method][]. - -When a reporting mode server receives an API request, it loads the data from these data stores if possible. For requests that require data from the P2P network, the reporting mode forwards the request to a P2P server, and then passes the response back to the client. - -Multiple reporting mode servers can share access to the same network accessible databases (PostgreSQL and Cassandra); at any given time, only one reporting mode server writes to the databases, while all the others read from the databases. - -## How to Run Reporting Mode - -### Prerequisites - -1. Ensure that your system meets the [system requirements](system-requirements.md). - - {% admonition type="info" name="Note" %}If you choose to use Cassandra as the database, the disk requirements for `rippled` will be lower as the data will not be stored on your local disk. {% /admonition %} - -2. You also need to run at least one `rippled` server in P2P mode. - -3. A compatible version of CMake must be installed. - -4. Install and configure the datastores required to run `rippled` in reporting mode. - - 1. Install PostgreSQL. - - 2. Install and configure the database to be used as the primary persistent datastore. You can choose to use Cassandra or NuDB. - - 3. On macOS, you need to manually install the Cassandra cpp driver. On all other platforms, the Cassandra driver is built as part of the `rippled` build. - - ``` - brew install cassandra-cpp-driver - ``` - -#### Install PostgreSQL - -**Install PostgreSQL on Linux** - -1. Download and [install PostgreSQL on Linux](https://www.postgresqltutorial.com/install-postgresql-linux/). - -2. Connect to the PostgreSQL Database Server using `psql`, and create a user `newuser` and a database `reporting`. - - ``` - psql postgres - CREATE ROLE newuser WITH LOGIN PASSWORD ‘password’; - ALTER ROLE newuser CREATEDB; - \q - psql postgres -U newuser - postgres=# create database reporting; - ``` - - -**Install PostgreSQL on macOS** - -1. Download and install PostgreSQL on macOS. - - ``` - brew install postgres - brew services start postgres - ``` - -2. Connect to the PostgreSQL Database Server using `psql` and create a user `newuser` and a database `reporting`. - - ``` - psql postgres - CREATE ROLE newuser WITH LOGIN PASSWORD ‘password’; - ALTER ROLE newuser CREATEDB; - \q - psql postgres -U newuser - postgres=# create database reporting; - ``` - -#### Install and Configure the Primary Persistent Datastore - -**Cassandra** - -Install Cassandra and then create a keyspace for `rippled`, with replication. - -While a replication factor of 3 is recommended, when running locally, replication is not needed and you can set `replication_factor` to 1. - -``` -$ cqlsh [host] [port] -> CREATE KEYSPACE `rippled` WITH REPLICATION = -{'class' : 'SimpleStrategy', 'replication_factor' : 1 }; -``` - -**NuDB** - -If you’re running `rippled` in reporting mode for your local network, you can choose to use NuDB instead of Cassandra as your backend database. - -NuDB is installed as part of your `rippled` build setup and does not require any additional installation steps. - - -### Steps - -1. Build `rippled` for reporting mode on [Ubuntu or macOS](https://github.com/XRPLF/rippled/blob/release/BUILD.md). - - {% tabs %} - - ```{% label="Linux" %} - wget https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3-Linux-x86_64.sh - sudo sh cmake-3.16.3-Linux-x86_64.sh --prefix=/usr/local --exclude-subdir - cmake -B build -Dreporting=ON -DCMAKE_BUILD_TYPE=Debug - cmake --build build --parallel $(nproc) - ``` - - ```{% label="macOS" %} - cmake -B build -G "Unix Makefiles" -Dreporting=ON -DCMAKE_BUILD_TYPE=Debug - cmake --build build --parallel $(nproc) - ``` - - {% /tabs %} - -2. Create a configuration file to run `rippled` in reporting mode. - - Make a copy of the example config file, `rippled-example.cfg`, and save it as `rippled-reporting-mode.cfg` in a location that enables you to run `rippled` as a non-root user. For example: - - ``` - mkdir -p $HOME/.config/ripple - cp /cfg/rippled-example.cfg $HOME/.config/ripple/rippled-reporting-mode.cfg - ``` - -3. Edit rippled-reporting-mode.cfg to set necessary file paths. The user you plan to run `rippled` as must have write permissions to all of the paths you specify here. - - 1. Set the `[node_db]` path to the location where you want to store the ledger database. - - 2. Set the `[database_path]` to the location where you want to store other database data. (This includes an SQLite database with configuration data, and is typically one level above the `[node_db]` path field.) - - 3. Set the `[debug_logfile]` to a path where `rippled` can write logging information. - - Note that these are the only configurations required for `rippled` to start up successfully. All other configurations are optional and can be tweaked after you have a working server. - -4. Edit the `rippled-reporting-mode.cfg` file to enable reporting mode: - - 1. Uncomment the `[reporting]` stanza or add a new one: - - ``` - [reporting] - etl_source - read_only=0 - ``` - - 2. List the `rippled` sources (ETL sources) to extract data from. These `rippled` servers must have gRPC enabled. - - NOTE: Only include servers that you trust as reporting mode does not connect to the P2P network and hence cannot verify that the data actually matches the network consensus ledger. - - ``` - [etl_source] - source_grpc_port=50051 - source_ws_port=6006 - source_ip=127.0.0.1 - ``` - -5. Configure the databases - - 1. Specify the Postgres DB for `[ledger_tx_tables]`: - - ``` - [ledger_tx_tables] - conninfo = postgres://newuser:password@127.0.0.1/reporting - use_tx_tables=1 - ``` - - 2. Specify the database for `[node_db]`. - - {% tabs %} - - ```{% label="NuDB" %} - [node_db] - type=NuDB - path=/home/ubuntu/ripple/ - - [ledger_history] - 1000000 - ``` - - ```{% label="Cassandra" %} - [node_db] - type=Cassandra - - [ledger_history] - 1000000 - ``` - - {% /tabs %} - -6. Modify the configuration for `rippled` to open up ports. - - 1. Open the public websocket port: - - ``` - [port_ws_admin_local] - port = 6006 - ip = 127.0.0.1 - admin = 127.0.0.1 - protocol = ws - ``` - - - 2. Open the gRPC port: - - ``` - [port_grpc] - port = 60051 - ip = 0.0.0.0 - ``` - - - 3. Add a secured gateway to the IP of your reporting system: - - ``` - secure_gateway = 127.0.0.1 - ``` - -7. Run `rippled` in reporting mode: - - ``` - ./rippled --conf /home/ubuntu/.config/ripple/rippled-reporting-example.cfg - ``` - - -### What to Expect - -Here are the excerpts of what you can expect to see on your terminal. - -```text -Loading: "/home/ubuntu/.config/ripple/rippled-reporting-example.cfg" -2021-Dec-09 21:31:52.245577 UTC JobQueue:NFO Using 10 threads -2021-Dec-09 21:31:52.255422 UTC LedgerConsensus:NFO Consensus engine started (cookie: 17859050541656985684) -2021-Dec-09 21:31:52.256542 UTC ReportingETL::ETLSource:NFO Using IP to connect to ETL source: 127.0.0.1:50051 -2021-Dec-09 21:31:52.257784 UTC ReportingETL::ETLSource:NFO Made stub for remote = { validated_ledger : , ip : 127.0.0.1 , web socket port : 6006, grpc port : 50051 } -2021-Dec-09 21:31:52.258032 UTC ReportingETL::LoadBalancer:NFO add : added etl source - { validated_ledger : , ip : 127.0.0.1 , web socket port : 6006, grpc port : 50051 } -2021-Dec-09 21:31:52.258327 UTC Application:NFO process starting: rippled-1.8.1+DEBUG -2021-Dec-09 21:31:52.719186 UTC PgPool:DBG max_connections: 18446744073709551615, timeout: 600, connection params: port: 5432, hostaddr: 127.0.0.1, user: newuser, password: *, channel_binding: prefer, dbname: reporting_test_core, host: 127.0.0.1, options: , sslmode: prefer, sslcompression: 0, sslsni: 1, ssl_min_protocol_version: TLSv1.2, gssencmode: prefer, krbsrvname: postgres, target_session_attrs: any -2021-Dec-09 21:31:52.788851 UTC PgPool:NFO server message: NOTICE: relation "version" already exists, skipping - -2021-Dec-09 21:31:53.282807 UTC TaggedCache:DBG LedgerCache target size set to 384 -2021-Dec-09 21:31:53.282892 UTC TaggedCache:DBG LedgerCache target age set to 240000000000 -2021-Dec-09 21:31:53.283741 UTC Amendments:DBG Amendment 98DECF327BF79997AEC178323AD51A830E457BFC6D454DAF3E46E5EC42DC619F (CheckCashMakesTrustLine) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.283836 UTC Amendments:DBG Amendment 157D2D480E006395B76F948E3E07A45A05FE10230D88A7993C71F97AE4B1F2D1 (Checks) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.283917 UTC Amendments:DBG Amendment 1562511F573A19AE9BD103B5D6B9E01B3B46805AEC5D3C4805C902B514399146 (CryptoConditions) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.283975 UTC Amendments:DBG Amendment 86E83A7D2ECE3AD5FA87AB2195AE015C950469ABF0B72EAACED318F74886AE90 (CryptoConditionsSuite) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284016 UTC Amendments:DBG Amendment 30CD365592B8EE40489BA01AE2F7555CAC9C983145871DC82A42A31CF5BAE7D9 (DeletableAccounts) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284062 UTC Amendments:DBG Amendment F64E1EABBE79D55B3BB82020516CEC2C582A98A6BFE20FBE9BB6A0D233418064 (DepositAuth) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284099 UTC Amendments:DBG Amendment 3CBC5C4E630A1B82380295CDA84B32B49DD066602E74E39B85EF64137FA65194 (DepositPreauth) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284126 UTC Amendments:DBG Amendment DC9CA96AEA1DCF83E527D1AFC916EFAF5D27388ECA4060A88817C1238CAEE0BF (EnforceInvariants) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284153 UTC Amendments:DBG Amendment 07D43DCE529B15A10827E5E04943B496762F9A88E3268269D69C44BE49E21104 (Escrow) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284189 UTC Amendments:DBG Amendment 42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE (FeeEscalation) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284216 UTC Amendments:DBG Amendment 740352F2412A9909880C23A559FCECEDA3BE2126FED62FC7660D628A06927F11 (Flow) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284241 UTC Amendments:DBG Amendment 3012E8230864E95A58C60FD61430D7E1B4D3353195F2981DC12B0C7C0950FFAC (FlowCross) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284284 UTC Amendments:DBG Amendment AF8DF7465C338AE64B1E937D6C8DA138C0D63AD5134A68792BBBE1F63356C422 (FlowSortStrands) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284337 UTC Amendments:DBG Amendment 1F4AFA8FA1BC8827AD4C0F682C03A8B671DCDF6B5C4DE36D44243A684103EF88 (HardenedValidations) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284412 UTC Amendments:DBG Amendment 4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373 (MultiSign) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284455 UTC Amendments:DBG Amendment 586480873651E106F1D6339B0C4A8945BA705A777F3F4524626FF1FC07EFE41D (MultiSignReserve) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284491 UTC Amendments:DBG Amendment B4E4F5D2D6FB84DF7399960A732309C9FD530EAE5941838160042833625A6076 (NegativeUNL) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284528 UTC Amendments:DBG Amendment 08DE7D96082187F6E6578530258C77FAABABE4C20474BDB82F04B021F1A68647 (PayChan) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284592 UTC Amendments:DBG Amendment 00C1FC4A53E60AB02C864641002B3172F38677E29C26C5406685179B37E1EDAC (RequireFullyCanonicalSig) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284649 UTC Amendments:DBG Amendment CC5ABAE4F3EC92E94A59B1908C2BE82D2228B6485C00AFF8F22DF930D89C194E (SortedDirectories) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284703 UTC Amendments:DBG Amendment 532651B4FD58DF8922A49BA101AB3E996E5BFBF95A913B3E392504863E63B164 (TickSize) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284787 UTC Amendments:DBG Amendment 955DF3FA5891195A9DAEFA1DDC6BB244B545DDE1BAA84CBB25D5F12A8DA68A0C (TicketBatch) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284950 UTC Amendments:DBG Amendment 6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC (TrustSetAuth) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.284997 UTC Amendments:DBG Amendment B4D44CC3111ADD964E846FC57760C8B50FFCD5A82C86A72756F6B058DDDF96AD (fix1201) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285025 UTC Amendments:DBG Amendment E2E6F2866106419B88C50045ACE96368558C345566AC8F2BDF5A5B5587F0E6FA (fix1368) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285067 UTC Amendments:DBG Amendment 42EEA5E28A97824821D4EF97081FE36A54E9593C6E4F20CBAE098C69D2E072DC (fix1373) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285103 UTC Amendments:DBG Amendment 6C92211186613F9647A89DFFBAB8F94C99D4C7E956D495270789128569177DA1 (fix1512) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285129 UTC Amendments:DBG Amendment 67A34F2CF55BFC0F93AACD5B281413176FEE195269FA6D95219A2DF738671172 (fix1513) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285153 UTC Amendments:DBG Amendment 5D08145F0A4983F23AFFFF514E83FAD355C5ABFBB6CAB76FB5BC8519FF5F33BE (fix1515) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285176 UTC Amendments:DBG Amendment B9E739B8296B4A1BB29BE990B17D66E21B62A300A909F25AC55C22D6C72E1F9D (fix1523) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285202 UTC Amendments:DBG Amendment 1D3463A5891F9E589C5AE839FFAC4A917CE96197098A1EF22304E1BC5B98A454 (fix1528) is supported and will be down voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285256 UTC Amendments:DBG Amendment CA7C02118BA27599528543DFE77BA6838D1B0F43B447D4D7F53523CE6A0E9AC2 (fix1543) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285290 UTC Amendments:DBG Amendment 7117E2EC2DBF119CA55181D69819F1999ECEE1A0225A7FD2B9ED47940968479C (fix1571) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285343 UTC Amendments:DBG Amendment FBD513F1B893AC765B78F250E6FFA6A11B573209D1842ADC787C850696741288 (fix1578) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285381 UTC Amendments:DBG Amendment 58BE9B5968C4DA7C59BA900961828B113E5490699B21877DEF9A31E9D0FE5D5F (fix1623) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285424 UTC Amendments:DBG Amendment 25BA44241B3BD880770BFA4DA21C7180576831855368CBEC6A3154FDE4A7676E (fix1781) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285464 UTC Amendments:DBG Amendment 4F46DF03559967AC60F2EB272FEFE3928A7594A45FF774B87A7E540DB0F8F068 (fixAmendmentMajorityCalc) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285500 UTC Amendments:DBG Amendment 8F81B066ED20DAECA20DF57187767685EEF3980B228E0667A650BAF24426D3B4 (fixCheckThreading) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285527 UTC Amendments:DBG Amendment C4483A1896170C66C098DEA5B0E024309C60DC960DE5F01CD7AF986AA3D9AD37 (fixMasterKeyAsRegularKey) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285550 UTC Amendments:DBG Amendment 621A0B264970359869E3C0363A899909AAB7A887C8B73519E4ECF952D33258A8 (fixPayChanRecipientOwnerDir) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285575 UTC Amendments:DBG Amendment 89308AF3B8B10B7192C4E613E1D2E4D9BA64B2EE2D5232402AE82A6A7220D953 (fixQualityUpperBound) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285614 UTC Amendments:DBG Amendment B6B3EEDC0267AB50491FDC450A398AF30DBCD977CECED8BEF2499CAB5DAC19E2 (fixRmSmallIncreasedQOffers) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285651 UTC Amendments:DBG Amendment 452F5906C46D46F407883344BFDD90E672B672C5E9943DB4891E3A34FEEEB9DB (fixSTAmountCanonicalize) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.285725 UTC Amendments:DBG Amendment 2CD5286D8D687E98B41102BDD797198E81EA41DF7BD104E6561FEB104EFF2561 (fixTakerDryOfferRemoval) is supported and will be up voted if not enabled on the ledger. -2021-Dec-09 21:31:53.290446 UTC Server:NFO Opened 'port_rpc_admin_local' (ip=127.0.0.1:7005, admin IPs:127.0.0.1, http) -2021-Dec-09 21:31:53.290834 UTC Server:NFO Opened 'port_ws_admin_local' (ip=127.0.0.1:7006, admin IPs:127.0.0.1, ws) -2021-Dec-09 21:31:53.290984 UTC Application:WRN Running in standalone mode -2021-Dec-09 21:31:53.291048 UTC NetworkOPs:NFO STATE->full -2021-Dec-09 21:31:53.291192 UTC Application:FTL Startup RPC: -{ - "command" : "log_level", - "severity" : "debug" -} - - -2021-Dec-09 21:31:53.291347 UTC RPCHandler:DBG RPC call log_level completed in 2.2e-08seconds -2021-Dec-09 21:31:53.291440 UTC Application:FTL Result: -{ - "warnings" : - [ - - { - "id" : 1004, - "message" : "This is a reporting server. The default behavior of a reporting server is to only return validated data. If you are looking for not yet validated data, include \"ledger_index : current\" in your request, which will cause this server to forward the request to a p2p node. If the forward is successful the response will include \"forwarded\" : \"true\"" - } - ] -} - - -2021-Dec-09 21:31:53.291502 UTC ReportingETL:NFO Starting reporting etl -2021-Dec-09 21:31:53.291605 UTC Application:NFO Application starting. Version is 1.8.1+DEBUG -2021-Dec-09 21:31:53.291747 UTC LoadManager:DBG Starting -2021-Dec-09 21:31:53.291846 UTC gRPC Server:NFO Starting gRPC server at 0.0.0.0:60051 -2021-Dec-09 21:31:53.293246 UTC LedgerCleaner:DBG Started -2021-Dec-09 21:31:53.295543 UTC ReportingETL::ETLSource:DBG handleMessage : Received a message on ledger subscription stream. Message : { - "result" : {}, - "status" : "success", - "type" : "response" -} - - { validated_ledger : , ip : 127.0.0.1 , web socket port : 6006, grpc port : 50051 } -2021-Dec-09 21:31:53.368075 UTC ReportingETL:NFO monitor : Database is empty. Will download a ledger from the network. -2021-Dec-09 21:31:53.368183 UTC ReportingETL:NFO monitor : Waiting for next ledger to be validated by network... -``` - -## Frequently Asked Questions - - -**Do I need to run more than one instance of `rippled` to use reporting mode?** - -Yes. A `rippled` server running in reporting mode does not connect to the peer-to-peer network, but instead extracts validated data from one or more `rippled` servers that are connected to the network, so you need to run at least one P2P mode server. - -**I’ve already installed `rippled`. Can I update the configuration file to enable reporting mode and restart `rippled`?** - -No. Currently, you need to download the source and build `rippled` for reporting mode. There are initiatives in progress to provide packages for reporting mode. - - -**To run `rippled` in reporting mode, I need at least one `rippled` server running in P2P mode too. Does this mean I need double the disk space?** - -The answer depends on the location of your primary data store. If you use Cassandra as the primary data store, the reporting mode server stores much less data on its local disk. The PostgreSQL server can be remote as well. You can have multiple reporting mode servers share the same data this way. - -Lastly, the P2P mode server only needs to keep very recent history, while the reporting mode server keeps long term history. - -For more information on system requirements to run `rippled`, see the [`rippled` system requirements](system-requirements.md). - -**How can I confirm the validity of the data that comes from the PostgreSQL or Cassandra database?** - -When `rippled` runs in reporting mode, it only serves validated data from the ETL source specified in the config file. If you are using someone else's `rippled` server in P2P mode as the ETL source, you are implicitly trusting that server. If not, you need to run your own `rippled` node in P2P mode. - -**Is it possible to make traditional SQL queries to the relational database rather than using the API?** - -Technically, you *can* directly access the database if you want. However, the data is stored as binary blobs and you have to decode the blobs to access the data in them. This makes traditional SQL queries much less useful since they cannot find and filter the individual fields of the data. +Instead, see: [Install Clio on Ubuntu Linux](./install-clio-on-ubuntu.md). {% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/infrastructure/installation/index.md b/docs/infrastructure/installation/index.md index 4aae4bd99e..b2362a22e9 100644 --- a/docs/infrastructure/installation/index.md +++ b/docs/infrastructure/installation/index.md @@ -9,7 +9,6 @@ seo: --- # Installation -Install and update XRP Ledger servers including the core server, rippled, and API server, Clio. - +Install and update the core XRP Ledger server (`rippled`) or the API server (Clio). {% child-pages /%} diff --git a/docs/infrastructure/installation/install-clio-on-ubuntu.md b/docs/infrastructure/installation/install-clio-on-ubuntu.md index b3a42a565e..318dac3685 100644 --- a/docs/infrastructure/installation/install-clio-on-ubuntu.md +++ b/docs/infrastructure/installation/install-clio-on-ubuntu.md @@ -8,7 +8,7 @@ labels: --- # Install Clio on Ubuntu Linux -This page describes the recommended instructions for installing the latest stable version of Clio on **Ubuntu Linux 20.04 or higher** using the [`apt`](https://ubuntu.com/server/docs) utility. +This page describes the recommended instructions for installing the latest stable version of Clio on **Ubuntu Linux 22.04 or higher** using the [`apt`](https://ubuntu.com/server/docs) utility. These instructions install an Ubuntu package that has been compiled and published by Ripple. You can also: @@ -93,11 +93,11 @@ Before you install Clio, you must meet the following requirements. 5. Add the appropriate Ripple repository for your operating system version: ``` - echo "deb [signed-by=/usr/local/share/keyrings/ripple-key.gpg] https://repos.ripple.com/repos/rippled-deb focal stable" | \ + echo "deb [signed-by=/usr/local/share/keyrings/ripple-key.gpg] https://repos.ripple.com/repos/rippled-deb noble stable" | \ sudo tee -a /etc/apt/sources.list.d/ripple.list ``` - The above example is appropriate for **Ubuntu 20.04 Focal Fossa**. + The above example is appropriate for **Ubuntu 24.04 Noble Numbat**. If you want access to development or pre-release versions, use one of the following instead of `stable`: diff --git a/docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum.md b/docs/infrastructure/installation/install-rippled-on-rhel.md similarity index 84% rename from docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum.md rename to docs/infrastructure/installation/install-rippled-on-rhel.md index f82d682f77..10a5df1c14 100644 --- a/docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum.md +++ b/docs/infrastructure/installation/install-rippled-on-rhel.md @@ -1,17 +1,14 @@ --- -html: install-rippled-on-centos-rhel-with-yum.html -parent: install-rippled.html seo: - description: Install a precompiled rippled binary on CentOS or Red Hat Enterprise Linux. + description: Install a precompiled rippled binary on Red Hat Enterprise Linux. labels: - Core Server --- -# Install on CentOS/Red Hat with yum +# Install on Red Hat Enterprise Linux -This page describes the recommended instructions for installing the latest stable version of `rippled` on **CentOS 7** or **Red Hat Enterprise Linux 7**, using Ripple's [yum](https://en.wikipedia.org/wiki/Yellowdog_Updater,_Modified) repository. - -These instructions install a binary that has been compiled by Ripple. +This page describes the recommended instructions for installing the latest stable version of `rippled` on **Red Hat Enterprise Linux**, using a binary that has been compiled and published by Ripple as an `rpm` package. +Currently, **Red Hat Enterprise Linux (RHEL) 9.6 is supported on x86_64 processors**. You may also be able to adapt these instructions to similar Linux distributions including CentOS or Rocky Linux, but other configurations are not officially supported. ## Prerequisites diff --git a/docs/infrastructure/installation/install-rippled-on-ubuntu.md b/docs/infrastructure/installation/install-rippled-on-ubuntu.md index 0a94e51f69..8eedc0de3d 100644 --- a/docs/infrastructure/installation/install-rippled-on-ubuntu.md +++ b/docs/infrastructure/installation/install-rippled-on-ubuntu.md @@ -8,9 +8,9 @@ labels: --- # Install on Ubuntu or Debian Linux -This page describes the recommended instructions for installing the latest stable version of `rippled` on **Ubuntu Linux 18.04 or higher** or **Debian 10 or higher**, using the [`apt`](https://ubuntu.com/server/docs) utility. +This page describes the recommended instructions for installing the latest stable version of `rippled` on **Ubuntu Linux**, using a binary that has been compiled and published by Ripple as a `deb` package. -These instructions install a binary that has been compiled by Ripple. +Currently, **Ubuntu 22.04 and Ubuntu 24.04 on x86_64 processors** have received the highest level of support and testing. Packages are also available for **Debian Linux 12 Bookworm**. You may be able to adapt these instructions to other Linux distributions that also use the `apt` package manager, but other configurations are not officially supported. ## Prerequisites @@ -40,7 +40,6 @@ Before you install `rippled`, you must meet the [System Requirements](system-req sudo gpg --dearmor -o /etc/apt/keyrings/ripple.gpg ``` - 4. Check the fingerprint of the newly-added key: ``` @@ -56,22 +55,19 @@ Before you install `rippled`, you must meet the [System Requirements](system-req sub rsa3072 2019-02-14 [E] [expires: 2026-02-17] ``` - In particular, make sure that the fingerprint matches. (In the above example, the fingerprint is on the second line, starting with `C001`.) 5. Add the appropriate Ripple repository for your operating system version: ``` - echo "deb [signed-by=/etc/apt/keyrings/ripple.gpg] https://repos.ripple.com/repos/rippled-deb focal stable" | \ + echo "deb [signed-by=/etc/apt/keyrings/ripple.gpg] https://repos.ripple.com/repos/rippled-deb noble stable" | \ sudo tee -a /etc/apt/sources.list.d/ripple.list ``` - The above example is appropriate for **Ubuntu 20.04 Focal Fossa**. For other operating systems, replace the word `focal` with one of the following: + The above example is appropriate for **Ubuntu 24.04 Noble Numbat**. For other operating systems, replace the word `noble` with one of the following: - - `buster` for **Debian 10 Buster** - `bullseye` for **Debian 11 Bullseye** - `bookworm` for **Debian 12 Bookworm** - - `bionic` for **Ubuntu 18.04 Bionic Beaver** - `jammy` for **Ubuntu 22.04 Jammy Jellyfish** - `noble` for **Ubuntu 24.04 Noble Numbat** @@ -88,7 +84,6 @@ Before you install `rippled`, you must meet the [System Requirements](system-req sudo apt -y update && sudo apt -y install rippled ``` - 7. Check the status of the `rippled` service: ``` @@ -101,7 +96,6 @@ Before you install `rippled`, you must meet the [System Requirements](system-req sudo systemctl start rippled.service ``` - 8. Optional: allow `rippled` to bind to privileged ports. This allows you to serve incoming API requests on port 80 or 443. (If you want to do so, you must also update the config file's port settings.) @@ -110,7 +104,6 @@ Before you install `rippled`, you must meet the [System Requirements](system-req sudo setcap 'cap_net_bind_service=+ep' /opt/ripple/bin/rippled ``` - 9. Optional: configure core dumps By default Ubuntu is not configured to produce core files useful for debugging crashes. diff --git a/docs/infrastructure/installation/rippled-1-3-migration-instructions.md b/docs/infrastructure/installation/rippled-1-3-migration-instructions.md deleted file mode 100644 index 8a47d6ac7c..0000000000 --- a/docs/infrastructure/installation/rippled-1-3-migration-instructions.md +++ /dev/null @@ -1,129 +0,0 @@ ---- -html: rippled-1-3-migration-instructions.html -parent: install-rippled.html -seo: - description: Use these instructions to upgrade rippled packages from 1.2.x or below to 1.3.x or higher. -status: removed ---- -# rippled v1.3.x Migration Instructions - -This document describes the migration process for upgrading from `rippled` 1.2.4 or earlier to `rippled` v1.3 or later. This migration process is necessary because the `rippled` install process has changed as of version 1.3. - -This document provides migration steps for upgrading on supported platforms: - -- [CentOS or Red Hat Enterprise Linux (RHEL)](#migration-on-centos-or-red-hat-enterprise-linux-rhel) -- [Ubuntu Linux](#migration-on-ubuntu-linux) - -For other platforms, see the updated instructions for compiling from source. ([Ubuntu](build-on-linux-mac-windows.md), [macOS](build-on-linux-mac-windows.md), or [Windows](https://github.com/XRPLF/rippled/tree/develop/Builds/VisualStudio2017)) - - -## Migration on CentOS or Red Hat Enterprise Linux (RHEL) - -Ripple's official RPM repository and instructions for using it have changed. If you have [automatic updates](update-rippled-automatically-on-linux.md) enabled, your system should perform the migration automatically. To migrate manually from the old repository to the new one, complete the following steps: - -1. Stop the `rippled` server. - - ``` - $ sudo systemctl stop rippled.service - ``` - -2. Remove the old Ripple repository package. - - ``` - $ sudo rpm -e ripple-repo - ``` - - The `rippled-repo` package is now **DEPRECATED**. The package has been updated one last time for version 1.3.1. In the future, any changes to the repositories will require manual changes to the `ripple.repo` file. - -3. Add Ripple's new yum repository: - - ``` - $ cat << REPOFILE | sudo tee /etc/yum.repos.d/ripple.repo - [ripple-stable] - name=XRP Ledger Packages - baseurl=https://repos.ripple.com/repos/rippled-rpm/stable/ - enabled=1 - gpgcheck=0 - gpgkey=https://repos.ripple.com/repos/rippled-rpm/stable/repodata/repomd.xml.key - repo_gpgcheck=1 - REPOFILE - ``` - -4. Install the new `rippled` package: - - ``` - $ sudo yum install rippled - ``` - - Version 1.3.1 does not require any changes to your config files (`rippled.cfg` and `validators.txt`). This update procedure leaves your existing config files in place. - -5. Reload systemd unit files: - - ``` - $ sudo systemctl daemon-reload - ``` - -6. Start the `rippled` service: - - ``` - $ sudo systemctl start rippled.service - ``` - - -{% admonition type="danger" name="Warning" %}If you use [automatic updates](update-rippled-automatically-on-linux.md), they should continue working after performing this migration process. However, **the `ripple-repo` package is now deprecated**. As a consequence, in the future, any changes to Ripple's repositories may require you to manually update your repos file.{% /admonition %} - - -## Migration on Ubuntu Linux - -Prior to version 1.3, the supported way to install `rippled` on Ubuntu Linux was using Alien to install the RPM package. Starting with `rippled` v1.3.1, Ripple provides a native package for Ubuntu and Debian Linux, which is the recommended way of installing it. If you already have the RPM package installed, complete the [installation steps](install-rippled-on-ubuntu.md) to upgrade the package and switch over to the native APT (`.deb`) package. - -If you have made any changes to your config files (`/opt/ripple/etc/rippled.cfg` and `/opt/ripple/etc/validators.txt`), `apt` may prompt you during installation asking if you want to overwrite your config files with the newest versions from the packages. Version 1.3 does not require any changes to the config file, so you can safely keep your existing config files unchanged. - -After installing the native APT package for 1.3, you need to reload/restart the service: - -1. Reload systemd unit files: - - ``` - $ sudo systemctl daemon-reload - ``` - -2. Restart the `rippled` service: - - ``` - $ sudo systemctl restart rippled.service - ``` - -If you no longer need Alien for any other packages, you may optionally uninstall it and its dependencies using the following steps: - -1. Uninstall Alien: - - ``` - $ sudo apt -y remove alien - ``` - -2. Uninstall unused dependencies: - - ``` - $ sudo apt -y autoremove - ``` - -### Automatic Updates - -The `rippled` v1.3 package includes an updated auto-update script that works on Ubuntu and Debian Linux. For more information, see [Update `rippled` Automatically on Linux](update-rippled-automatically-on-linux.md). - -## See Also - -- **[`rippled` v1.3.1 Release Notes](https://github.com/XRPLF/rippled/releases/1.3.1)** -- **Concepts:** - - [The `rippled` Server](../../concepts/networks-and-servers/index.md) - - [Consensus](../../concepts/consensus-protocol/index.md) -- **Tutorials:** - - [Update Automatically on Linux](update-rippled-automatically-on-linux.md) - - [Troubleshoot rippled](../troubleshooting/index.md) - - [Get Started with the rippled API](../../tutorials/http-websocket-apis/build-apps/get-started.md) -- **References:** - - [rippled API Reference](../../references/http-websocket-apis/index.md) - - [`rippled` Commandline Usage](../commandline-usage.md) - - [server_info method][] - -{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/infrastructure/installation/system-requirements.md b/docs/infrastructure/installation/system-requirements.md index b3a78c0d5d..ac94d8e046 100644 --- a/docs/infrastructure/installation/system-requirements.md +++ b/docs/infrastructure/installation/system-requirements.md @@ -1,16 +1,16 @@ --- -html: system-requirements.html -parent: install-rippled.html seo: - description: Hardware and software requirements for running rippled. + description: Hardware and software requirements for running rippled or Clio. labels: - Core Server --- # System Requirements +The following system requirements apply to both the core XRP Ledger server, `rippled`, and the Clio server for API access. + ## Recommended Specifications -For reliable performance in production environments, it is recommended to run an XRP Ledger (`rippled`) server on bare metal with the following characteristics or better: +For reliable performance in production environments, it is recommended to run a server on bare metal with the following characteristics or better: - Operating System: Ubuntu (LTS), Red Hat Enterprise Linux (latest release), or a compatible Linux distribution. - CPU: 3+ GHz 64-bit x86_64 processor with 8+ cores. @@ -28,6 +28,7 @@ For testing purposes, you can run an XRP Ledger server on commodity hardware wit - Operating System: macOS, Windows (64-bit), or most Linux distributions (Red Hat, Ubuntu, and Debian supported). - CPU: 64-bit x86_64, 4+ cores. + - For development purposes, is also possible to compile `rippled` for some Apple Silicon or ARM processors. See the [Build instructions](https://github.com/XRPLF/rippled/blob/develop/BUILD.md) for guidance. However, architectures other than x86_64 are not officially supported and are not recommended for production. - Disk: SSD / NVMe (10,000 IOPS sustained - not burst or peak - or better). Minimum 50 GB for the database partition. Do not use Amazon Elastic Block Store (AWS EBS) because its latency is too high to sync reliably. - RAM: 16 GB+. diff --git a/docs/infrastructure/installation/update-rippled-automatically-on-linux.md b/docs/infrastructure/installation/update-rippled-automatically-on-linux.md index 773391730a..4b54d09b4d 100644 --- a/docs/infrastructure/installation/update-rippled-automatically-on-linux.md +++ b/docs/infrastructure/installation/update-rippled-automatically-on-linux.md @@ -1,6 +1,4 @@ --- -html: update-rippled-automatically-on-linux.html -parent: install-rippled.html seo: description: Set up automatic updates for rippled on Linux. labels: @@ -9,13 +7,13 @@ labels: --- # Update Automatically on Linux -On Linux, you can set up `rippled` to automatically upgrade to the latest version with a one-time `cron` configuration. Ripple recommends enabling automatic updates if possible. +On Linux, you can set up `rippled` to automatically upgrade to the latest version with a one-time `cron` configuration. -These instructions assume you have already installed `rippled` [from the `yum` repository (CentOS/RedHat)](install-rippled-on-centos-rhel-with-yum.md) or [using `apt` (Ubuntu/Debian)](install-rippled-on-ubuntu.md). +These instructions assume you have already installed `rippled` from a package on [Red Hat Enterprise Linux](install-rippled-on-rhel.md), [Ubuntu Linux, or Debian Linux](install-rippled-on-ubuntu.md). To set up automatic updates, complete the following steps: -1. Check that `/opt/ripple/etc/update-rippled-cron` exists. If it does not, update manually ([CentOS/Red Hat](update-rippled-manually-on-centos-rhel.md) or [Ubuntu/Debian](update-rippled-manually-on-ubuntu.md)). +1. Check that `/opt/ripple/etc/update-rippled-cron` exists. If it does not, update manually ([Red Hat](update-rippled-manually-on-rhel.md) or [Ubuntu/Debian](update-rippled-manually-on-ubuntu.md)). 2. Create a symlink in your `cron.d` folder to the `/opt/ripple/etc/update-rippled-cron` config file: @@ -23,7 +21,7 @@ To set up automatic updates, complete the following steps: sudo ln -s /opt/ripple/etc/update-rippled-cron /etc/cron.d/ ``` - This configuration runs a script to update the installed `rippled` package within an hour of each new release. To avoid network instability from too many servers updating at the same time, this script does not automatically restart the server, so it continues to run the old version until it restarts. {% badge href="https://github.com/XRPLF/rippled/releases/tag/1.8.1" %}Updated in: rippled 1.8.1{% /badge %} + This configuration runs a script to update the installed `rippled` package within an hour of each new release. To avoid network instability from too many servers updating at the same time, this script does not automatically restart the server, so it continues to run the old version until it restarts. 3. **Whenever a new release comes out,** you must manually restart the `rippled` service to switch to the updated software. diff --git a/docs/infrastructure/installation/update-rippled-manually-on-centos-rhel.md b/docs/infrastructure/installation/update-rippled-manually-on-rhel.md similarity index 54% rename from docs/infrastructure/installation/update-rippled-manually-on-centos-rhel.md rename to docs/infrastructure/installation/update-rippled-manually-on-rhel.md index 3a561c04b0..700cc45399 100644 --- a/docs/infrastructure/installation/update-rippled-manually-on-centos-rhel.md +++ b/docs/infrastructure/installation/update-rippled-manually-on-rhel.md @@ -1,40 +1,24 @@ --- -html: update-rippled-manually-on-centos-rhel.html -parent: install-rippled.html seo: description: Manually update rippled on CentOS or Red Hat Enterprise Linux. labels: - Core Server - Security --- -# Update Manually on CentOS/Red Hat +# Update Manually on Red Hat Enterprise Linux -This page describes how to update manually to the latest release of `rippled` on CentOS or Red Hat Enterprise Linux. Ripple recommends setting up [automatic updates](update-rippled-automatically-on-linux.md) instead, where possible. +This page describes how to update manually to the latest release of `rippled` on Red Hat Enterprise Linux. You can also set up [automatic updates](update-rippled-automatically-on-linux.md). -These instructions assume you have already [installed `rippled` from the `yum` repository](install-rippled-on-centos-rhel-with-yum.md). +These instructions assume you have already [installed `rippled` on a supported version of Red Hat Enterprise Linux using Ripple's `rpm` package distribution](install-rippled-on-rhel.md). If you are upgrading from `rippled` 1.6.x or older, remove it and perform a fresh install instead. {% admonition type="success" name="Tip" %}To perform these steps all at once, you can run the `/opt/ripple/bin/update-rippled.sh` script, which is included with the `rippled` package. This script should be run as a `sudo` user.{% /admonition %} To update manually, complete the following steps: -1. If you are upgrading to `rippled` 1.7.0 from an earlier version, re-add the repository to get Ripple's updated GPG key. Otherwise, skip this step: - - ``` - $ cat << REPOFILE | sudo tee /etc/yum.repos.d/ripple.repo - [ripple-stable] - name=XRP Ledger Packages - enabled=1 - gpgcheck=0 - repo_gpgcheck=1 - baseurl=https://repos.ripple.com/repos/rippled-rpm/stable - gpgkey=https://repos.ripple.com/repos/rippled-rpm/stable/repodata/repomd.xml.key - REPOFILE - ``` - 1. Download and install the latest `rippled` package: ``` - $ sudo yum update rippled + sudo yum update rippled ``` This update procedure leaves your existing config files in place. @@ -42,13 +26,13 @@ To update manually, complete the following steps: 2. Reload the `systemd` unit files: ``` - $ sudo systemctl daemon-reload + sudo systemctl daemon-reload ``` 3. Restart the `rippled` service: ``` - $ sudo service rippled restart + sudo service rippled restart ``` @@ -58,7 +42,6 @@ To update manually, complete the following steps: - [The `rippled` Server](../../concepts/networks-and-servers/index.md) - [Consensus](../../concepts/consensus-protocol/index.md) - **Tutorials:** - - [`rippled` v1.3.x Migration Instructions](rippled-1-3-migration-instructions.md) - [Troubleshoot rippled](../troubleshooting/index.md) - **References:** - [rippled API Reference](../../references/http-websocket-apis/index.md) diff --git a/docs/infrastructure/installation/update-rippled-manually-on-ubuntu.md b/docs/infrastructure/installation/update-rippled-manually-on-ubuntu.md index d51a019743..b70a9c2fc6 100644 --- a/docs/infrastructure/installation/update-rippled-manually-on-ubuntu.md +++ b/docs/infrastructure/installation/update-rippled-manually-on-ubuntu.md @@ -1,6 +1,4 @@ --- -html: update-rippled-manually-on-ubuntu.html -parent: install-rippled.html seo: description: Manually update rippled on Ubuntu Linux. labels: @@ -9,18 +7,9 @@ labels: --- # Update Manually on Ubuntu or Debian -This page describes how to update manually to the latest release of `rippled` on Ubuntu Linux. These instructions assume you have already [installed `rippled` using the native package](install-rippled-on-ubuntu.md). Ripple recommends setting up [automatic updates](update-rippled-automatically-on-linux.md) instead, where possible. +This page describes how to update manually to the latest release of `rippled` on Ubuntu Linux. You can also up [automatic updates](update-rippled-automatically-on-linux.md). -{% admonition type="warning" name="Caution" %} -Ripple renewed the GPG key used to sign binary packages shortly before the release of v1.7.0. If you are upgrading from a version earlier than 1.7.0, you must first download and manually trust the updated public key as follows: - -``` -wget -q -O - "https://repos.ripple.com/repos/api/gpg/key/public" | \ - sudo apt-key add - -``` - -For more information, see the [`rippled` 1.7.0 release notes](https://xrpl.org/blog/2021/rippled-1.7.0.html#upgrading-special-action-required). -{% /admonition %} +These instructions assume you have already [installed `rippled` on a supported version of Ubuntu using Ripple's `deb` package](install-rippled-on-ubuntu.md). If you are upgrading from `rippled` 1.6.x or older, remove it and perform a fresh install instead. {% admonition type="success" name="Tip" %}To perform these steps all at once, you can run the `/opt/ripple/bin/update-rippled.sh` script, which is included with the `rippled` package and is compatible with Ubuntu and Debian. This script should be run as a `sudo` user.{% /admonition %} @@ -29,25 +18,25 @@ To update manually, complete the following steps: 1. Update repositories: ``` - $ sudo apt -y update + sudo apt -y update ``` 2. Upgrade the `rippled` package: ``` - $ sudo apt -y upgrade rippled + sudo apt -y upgrade rippled ``` 3. Reload the `systemd` unit files: ``` - $ sudo systemctl daemon-reload + sudo systemctl daemon-reload ``` 4. Restart the `rippled` service: ``` - $ sudo service rippled restart + sudo systemctl restart rippled ``` @@ -57,7 +46,6 @@ To update manually, complete the following steps: - [The `rippled` Server](../../concepts/networks-and-servers/index.md) - [Consensus](../../concepts/consensus-protocol/index.md) - **Tutorials:** - - [`rippled` v1.3.x Migration Instructions](rippled-1-3-migration-instructions.md) - [Troubleshoot rippled](../troubleshooting/index.md) - **References:** - [rippled API Reference](../../references/http-websocket-apis/index.md) diff --git a/docs/infrastructure/troubleshooting/diagnosing-problems.md b/docs/infrastructure/troubleshooting/diagnosing-problems.md index f03d8cd5ca..ba69a2b4ff 100644 --- a/docs/infrastructure/troubleshooting/diagnosing-problems.md +++ b/docs/infrastructure/troubleshooting/diagnosing-problems.md @@ -131,7 +131,7 @@ For a more thorough explanation of various types of log messages, see [Understan If you have problems diagnosing the problem, or you are unable to resolve the problem with any of the common fixes, you may want to ask for help in a support forum or the [GitHub issues](https://github.com/XRPLF/rippled/issues). When asking for help, you can use an info collection script to gather information about your system to help others diagnose the issue. -The official package installation (for [Ubuntu/Debian](../installation/install-rippled-on-ubuntu.md) or [CentOS/RedHat](../installation/install-rippled-on-centos-rhel-with-yum.md)) installs such a script by default, to `/opt/ripple/bin/getRippledInfo`. If you compiled `rippled` yourself, you can find the same script [in the `rippled` source code repository](https://github.com/XRPLF/rippled/blob/develop/bin/getRippledInfo). +The official package installation (for [Ubuntu/Debian](../installation/install-rippled-on-ubuntu.md) or [CentOS/RedHat](../installation/install-rippled-on-rhel.md)) installs such a script by default, to `/opt/ripple/bin/getRippledInfo`. If you compiled `rippled` yourself, you can find the same script [in the `rippled` source code repository](https://github.com/XRPLF/rippled/blob/develop/bin/getRippledInfo). To use the script: diff --git a/docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/logrotate.md b/docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/logrotate.md index a695559a7e..e61f870f6f 100644 --- a/docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/logrotate.md +++ b/docs/references/http-websocket-apis/admin-api-methods/logging-and-data-management-methods/logrotate.md @@ -35,7 +35,7 @@ The following script is a sample that can be created as `/etc/logrotate.d/ripple You can configure parameters such as `minsize` and `rotate` depending on the amount of logs you keep. Use the `log_level` setting in your `rippled.cfg` file to configure how verbose your server's logs are. This sample script is based on standard `log_level` and stores approximately 2 weeks worth of logs in a compressed format. -The official packages [for CentOS/Red Hat](../../../../infrastructure/installation/install-rippled-on-centos-rhel-with-yum.md) and [Ubuntu or Debian](../../../../infrastructure/installation/install-rippled-on-ubuntu.md) provide the script `/etc/logrotate.d/rippled` by default. You can make modifications to this as required. Your modifications will not be overwritten on package upgrades. +The official packages [for CentOS/Red Hat](../../../../infrastructure/installation/install-rippled-on-rhel.md) and [Ubuntu or Debian](../../../../infrastructure/installation/install-rippled-on-ubuntu.md) provide the script `/etc/logrotate.d/rippled` by default. You can make modifications to this as required. Your modifications will not be overwritten on package upgrades. {% admonition type="info" name="Note" %}You should have only one system log rotation script per application. Please ensure that you do not have any other log rotation that handles the same directory.{% /admonition %} diff --git a/redirects.yaml b/redirects.yaml index c7ad335f04..f1ea4e3028 100644 --- a/redirects.yaml +++ b/redirects.yaml @@ -1,3 +1,12 @@ +/docs/infrastructure/installation/rippled-1-3-migration-instructions/: + to: /docs/infrastructure/installation/ + type: 301 +update-rippled-manually-on-centos-rhel/: + to: /docs/infrastructure/installation/update-rippled-manually-on-rhel/ + type: 301 +/docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum/: + to: /docs/infrastructure/installation/install-rippled-on-rhel/ + type: 301 /docs/concepts/xrpl-sidechains/price-oracles/: to: /docs/concepts/decentralized-storage/price-oracles/ type: 301 diff --git a/sidebars.yaml b/sidebars.yaml index d6acf43f65..5fb98a8c2e 100644 --- a/sidebars.yaml +++ b/sidebars.yaml @@ -629,16 +629,14 @@ expanded: false items: - page: docs/infrastructure/installation/system-requirements.md - - page: docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum.md + - page: docs/infrastructure/installation/install-rippled-on-rhel.md - page: docs/infrastructure/installation/install-rippled-on-ubuntu.md - page: docs/infrastructure/installation/install-clio-on-ubuntu.md - page: docs/infrastructure/installation/update-rippled-automatically-on-linux.md - - page: docs/infrastructure/installation/update-rippled-manually-on-centos-rhel.md + - page: docs/infrastructure/installation/update-rippled-manually-on-rhel.md - page: docs/infrastructure/installation/update-rippled-manually-on-ubuntu.md - page: docs/infrastructure/installation/build-on-linux-mac-windows.md - - page: docs/infrastructure/installation/build-run-rippled-in-reporting-mode.md - page: docs/infrastructure/installation/capacity-planning.md - - page: docs/infrastructure/installation/rippled-1-3-migration-instructions.md - page: docs/infrastructure/configuration/index.md expanded: false items: From db03e57b2c359221e368b52a8ae6b769678d51bb Mon Sep 17 00:00:00 2001 From: tequ Date: Mon, 14 Jul 2025 10:37:25 +0900 Subject: [PATCH 23/41] [JA] update community page and top page --- @l10n/ja/translations.yaml | 18 ++++++++++++++---- community/index.page.tsx | 21 +++++++++++---------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/@l10n/ja/translations.yaml b/@l10n/ja/translations.yaml index f84d154ce6..ebe4fba991 100644 --- a/@l10n/ja/translations.yaml +++ b/@l10n/ja/translations.yaml @@ -178,10 +178,10 @@ Automated Market Makers: 自動マーケットメイカー Smart contracts to provide liquidity and earn passive income from facilitating currency exchange, complementary with the order-book DEX already built into the XRPL.: XRPLに組み込み済みのオーダーブックDEXと相互に補完する、流動性を提供し、通貨交換を促進することで受動的な収入を得るためのスマートコントラクト。 Enabled: 利用可能 Non-Fungible Tokens: 非代替性トークン -# Join the Community: XRPL.orgの -# at XRPL.org: コミュニティに参加 +"Join the Community ": XRPL.orgの +" at XRPL.org": コミュニティに参加 'Connect at XRPL.org, a community by and for the developers ': XRPL.orgは、XRPLを利用する開発者と -' and entrepeneurs who rely on the XRPL.': 起業家のためのコミュニティです。 +' and entrepreneurs who rely on the XRPL.': 起業家のためのコミュニティです。 Get Involved: 参加する # about/index.page.tsx @@ -571,7 +571,17 @@ Showcase your blockchain project, application, or product: あなたのブロッ Get featured on the Developer Reflections blog or Ecosystem page, and amplify your innovation within the blockchain community.: 開発者向けブログやエコシステムのページで紹介され、ブロックチェーンコミュニティ内でのイノベーションを広めましょう。 Submit Your Projects: プロジェクトを登録 # TODO: translate project-cards -View Projects: プロジェクトを見る +RippleX Bug Bounty Program: RippleXのバグ報奨金プログラム +community.index.security.subtitle-1: XRP Ledgerのセキュリティへの +community.index.security.subtitle-2: 貢献 +RippleX’s Bug Bounty, part of Ripple's 1 Billion XRP pledge, strengthens XRP Ledger security and supports its ecosystem.: RippleXのバグ報奨金は、Rippleの10億XRPの誓約の一環で、XRP Ledgerのセキュリティを強化し、そのエコシステムをサポートします。 +community.index.security.description-1: このプログラムを利用して RippleX/rippled のバグを報告してください。該当するバグの詳細なレポートを +community.index.security.description-2: 宛に送信し、 +community.index.security.description-3: 公開鍵 +community.index.security.description-4: を使用してください。 +Report a Scam: 詐欺の報告 +Report Scams to Safeguard Our Community: コミュニティの安全のため、詐欺情報を報告してください +In an evolving industry where trust and security are critical, scams continue to impede progress in crypto and blockchain. Help mitigate scammers by reporting scams.: 信頼とセキュリティが極めて重要な進化を続ける業界において、詐欺行為は暗号資産やブロックチェーン技術の発展を妨げ続けています。被害を軽減するため、詐欺行為の報告にご協力ください。 Contribute to Consensus: コンセンサスへの貢献 Run an XRP Ledger network node: XRP Ledgerのノードを実行する Thank you for your interest in contributing to XRP Ledger.: XRP Ledgerへの貢献に興味がありますか? diff --git a/community/index.page.tsx b/community/index.page.tsx index 0589c5a6e5..f364d32306 100644 --- a/community/index.page.tsx +++ b/community/index.page.tsx @@ -828,11 +828,9 @@ const CommunityPage: React.FC = () => { {translate("RippleX Bug Bounty Program")}
- {translate( - "Contribute to the XRP Ledger's" - )} + {translate("community.index.security.subtitle-1", "Contribute to the XRP Ledger's")}
- Security + {translate("community.index.security.subtitle-2", "Security")}

{translate( @@ -840,13 +838,16 @@ const CommunityPage: React.FC = () => { )}

{ - translate("Use this program to report bugs in RippleX/rippled. Send a detailed report of a qualifying bug to ") + translate("community.index.security.description-1", "Use this program to report bugs in RippleX/rippled. Send a detailed report of a qualifying bug to ") + } + bugs@ripple.com + { + translate("community.index.security.description-2", " and use the ") + } + {translate("community.index.security.description-3", "Public Key.")} + { + translate("community.index.security.description-4", " ") } - bugs@ripple.com - { - translate(" and use the ") - } - Public Key.

From b416365695953aa89d186232c22f9afb772cb723 Mon Sep 17 00:00:00 2001 From: akcodez Date: Mon, 14 Jul 2025 11:23:30 -0700 Subject: [PATCH 24/41] Refactor home hero graphic styles and update image attributes for better responsiveness. Adjusted width to 100% with a max-width of 856px and set height to auto. Removed width attribute from the image tag in index.page.tsx. --- index.page.tsx | 2 +- static/css/devportal2024-v1.css | 2 +- styles/_pages.scss | 8 +++++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/index.page.tsx b/index.page.tsx index c4a2c19d3d..2add1e04e2 100644 --- a/index.page.tsx +++ b/index.page.tsx @@ -112,7 +112,7 @@ export default function Index() {
- (stylized X graphic surrounded by a diverse mix of people) + (stylized X graphic surrounded by a diverse mix of people)
diff --git a/static/css/devportal2024-v1.css b/static/css/devportal2024-v1.css index a788fbaf76..0868a5d338 100644 --- a/static/css/devportal2024-v1.css +++ b/static/css/devportal2024-v1.css @@ -3,4 +3,4 @@ * Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2022 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--blue: #19A3FF;--indigo: #6610f2;--purple: #9A52FF;--pink: #FF198B;--red: #dc3545;--orange: #FF6719;--yellow: #FAFF19;--green: #32E685;--teal: #20c997;--cyan: #17a2b8;--white: #FFFFFF;--gray: #454549;--gray-dark: #232325;--primary: #9A52FF;--secondary: #E0E0E1;--success: #32E685;--info: #19A3FF;--warning: #FAFF19;--danger: #FF198B;--light: #FFFFFF;--dark: #111112;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-family-monospace: "Space Mono", monospace}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#e0e0e1;text-align:left;background-color:#111112}[tabindex="-1"]:focus:not(:focus-visible){outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#fff;text-decoration:none;background-color:transparent}a:hover{color:#9a52ff;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:"Space Mono",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#e0e0e1;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-weight:500;line-height:1.2;color:#fff}h1,.h1{font-size:2.5rem}h2,.h2{font-size:2rem}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}small,.small{font-size:0.875em;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:0.875em;color:#454549}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#111112;border:1px solid #c1c1c2;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.075);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#454549}code{font-size:87.5%;color:#e0e0e1;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#111112;border-radius:4px;box-shadow:inset 0 -0.1rem 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;font-size:87.5%;color:#111112}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col-xl,.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-lg,.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-md,.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-sm,.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col,.col-auto,.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media(min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-sm-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media(min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media(min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-lg-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media(min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}.table{width:100%;margin-bottom:1rem;color:#e0e0e1}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #c1c1c2}.table thead th{vertical-align:bottom;border-bottom:2px solid #c1c1c2}.table tbody+tbody{border-top:2px solid #c1c1c2}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #c1c1c2}.table-bordered th,.table-bordered td{border:1px solid #c1c1c2}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#e0e0e1;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:#e3cfff}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#caa5ff}.table-hover .table-primary:hover{background-color:#d4b6ff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#d4b6ff}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#f6f6f7}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#efefef}.table-hover .table-secondary:hover{background-color:#e9e9eb}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#e9e9eb}.table-success,.table-success>th,.table-success>td{background-color:#c6f8dd}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#94f2c0}.table-hover .table-success:hover{background-color:#aff5cf}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#aff5cf}.table-info,.table-info>th,.table-info>td{background-color:#bfe5ff}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#87cfff}.table-hover .table-info:hover{background-color:#a6dbff}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a6dbff}.table-warning,.table-warning>th,.table-warning>td{background-color:#feffbf}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#fcff87}.table-hover .table-warning:hover{background-color:#feffa6}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#feffa6}.table-danger,.table-danger>th,.table-danger>td{background-color:#ffbfdf}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#ff87c3}.table-hover .table-danger:hover{background-color:#ffa6d2}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ffa6d2}.table-light,.table-light>th,.table-light>td{background-color:#fff}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#fff}.table-hover .table-light:hover{background-color:#f2f2f2}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#f2f2f2}.table-dark,.table-dark>th,.table-dark>td{background-color:#bcbcbd}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#838384}.table-hover .table-dark:hover{background-color:#afafb0}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#afafb0}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#232325;border-color:#363639}.table .thead-light th{color:#343437;background-color:#e0e0e1;border-color:#c1c1c2}.table-dark{color:#fff;background-color:#232325}.table-dark th,.table-dark td,.table-dark thead th{border-color:#363639}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media(max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media(max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media(max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media(max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.25em + 2rem + 2px);padding:1rem 1.5rem;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;background-color:#232325;background-clip:padding-box;border:1px solid transparent;border-radius:4px;box-shadow:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#fff;background-color:#232325;border-color:#e4d2ff;outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.form-control::placeholder{color:#a2a2a4;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#454549;opacity:1}input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}select.form-control:focus::-ms-value{color:#fff;background-color:#232325}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(1rem + 1px);padding-bottom:calc(1rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.25}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:1rem 0;margin-bottom:0;font-size:1rem;line-height:1.25;color:#e0e0e1;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{color:#e0e0e1}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#32e685}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#111112;background-color:rgba(50,230,133,.9);border-radius:4px}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#32e685;padding-right:calc(1.25em + 2rem) !important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2332E685' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.3125em + 0.5rem) center;background-size:calc(0.625em + 1rem) calc(0.625em + 1rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{padding-right:6rem !important;background-position:right 3rem center}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.25em + 2rem);background-position:top calc(0.3125em + 0.5rem) right calc(0.3125em + 0.5rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#32e685;padding-right:calc(0.75em + 4rem) !important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat,#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2332E685' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 2.5rem/calc(0.625em + 1rem) calc(0.625em + 1rem) no-repeat}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#32e685}.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip{display:block}.was-validated .custom-control-input:valid~.custom-control-label,.custom-control-input.is-valid~.custom-control-label{color:#32e685}.was-validated .custom-control-input:valid~.custom-control-label::before,.custom-control-input.is-valid~.custom-control-label::before{border-color:#32e685}.was-validated .custom-control-input:valid:checked~.custom-control-label::before,.custom-control-input.is-valid:checked~.custom-control-label::before{border-color:#5feca0;background-color:#5feca0}.was-validated .custom-control-input:valid:focus~.custom-control-label::before,.custom-control-input.is-valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before{border-color:#32e685}.was-validated .custom-file-input:valid~.custom-file-label,.custom-file-input.is-valid~.custom-file-label{border-color:#32e685}.was-validated .custom-file-input:valid:focus~.custom-file-label,.custom-file-input.is-valid:focus~.custom-file-label{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#ff198b}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#fff;background-color:rgba(255,25,139,.9);border-radius:4px}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#ff198b;padding-right:calc(1.25em + 2rem) !important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23FF198B' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF198B' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.3125em + 0.5rem) center;background-size:calc(0.625em + 1rem) calc(0.625em + 1rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{padding-right:6rem !important;background-position:right 3rem center}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.25em + 2rem);background-position:top calc(0.3125em + 0.5rem) right calc(0.3125em + 0.5rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#ff198b;padding-right:calc(0.75em + 4rem) !important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat,#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23FF198B' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF198B' stroke='none'/%3e%3c/svg%3e") center right 2.5rem/calc(0.625em + 1rem) calc(0.625em + 1rem) no-repeat}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#ff198b}.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip{display:block}.was-validated .custom-control-input:invalid~.custom-control-label,.custom-control-input.is-invalid~.custom-control-label{color:#ff198b}.was-validated .custom-control-input:invalid~.custom-control-label::before,.custom-control-input.is-invalid~.custom-control-label::before{border-color:#ff198b}.was-validated .custom-control-input:invalid:checked~.custom-control-label::before,.custom-control-input.is-invalid:checked~.custom-control-label::before{border-color:#ff4ca5;background-color:#ff4ca5}.was-validated .custom-control-input:invalid:focus~.custom-control-label::before,.custom-control-input.is-invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before{border-color:#ff198b}.was-validated .custom-file-input:invalid~.custom-file-label,.custom-file-input.is-invalid~.custom-file-label{border-color:#ff198b}.was-validated .custom-file-input:invalid:focus~.custom-file-label,.custom-file-input.is-invalid:focus~.custom-file-label{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media(min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#e0e0e1;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:1rem 1.5rem;font-size:0.875rem;line-height:1.25;border-radius:4px;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#e0e0e1;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:none}.btn.disabled,.btn:disabled{opacity:.65;box-shadow:none}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled):active,.btn:not(:disabled):not(.disabled).active{box-shadow:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#9a52ff;border-color:#9a52ff;box-shadow:none}.btn-primary:hover{color:#fff;background-color:#842cff;border-color:#7c1fff}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#842cff;border-color:#7c1fff;box-shadow:0 0 0 .2rem rgba(169,108,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#7c1fff;border-color:#7512ff}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(169,108,255,.5)}.btn-secondary{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1;box-shadow:none}.btn-secondary:hover{color:#111112;background-color:#cdcdce;border-color:#c6c6c8}.btn-secondary:focus,.btn-secondary.focus{color:#111112;background-color:#cdcdce;border-color:#c6c6c8;box-shadow:0 0 0 .2rem rgba(193,193,194,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#111112;background-color:#c6c6c8;border-color:#c0c0c2}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(193,193,194,.5)}.btn-success{color:#111112;background-color:#32e685;border-color:#32e685;box-shadow:none}.btn-success:hover{color:#fff;background-color:#1ad772;border-color:#19cc6c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#1ad772;border-color:#19cc6c;box-shadow:0 0 0 .2rem rgba(45,198,116,.5)}.btn-success.disabled,.btn-success:disabled{color:#111112;background-color:#32e685;border-color:#32e685}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#19cc6c;border-color:#18c166}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(45,198,116,.5)}.btn-info{color:#fff;background-color:#19a3ff;border-color:#19a3ff;box-shadow:none}.btn-info:hover{color:#fff;background-color:#0091f2;border-color:#0089e5}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#0091f2;border-color:#0089e5;box-shadow:0 0 0 .2rem rgba(60,177,255,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#0089e5;border-color:#0082d8}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(60,177,255,.5)}.btn-warning{color:#111112;background-color:#faff19;border-color:#faff19;box-shadow:none}.btn-warning:hover{color:#111112;background-color:#ecf200;border-color:#e0e500}.btn-warning:focus,.btn-warning.focus{color:#111112;background-color:#ecf200;border-color:#e0e500;box-shadow:0 0 0 .2rem rgba(215,219,24,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#111112;background-color:#faff19;border-color:#faff19}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#111112;background-color:#e0e500;border-color:#d4d800}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(215,219,24,.5)}.btn-danger{color:#fff;background-color:#ff198b;border-color:#ff198b;box-shadow:none}.btn-danger:hover{color:#fff;background-color:#f20078;border-color:#e50072}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#f20078;border-color:#e50072;box-shadow:0 0 0 .2rem rgba(255,60,156,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#e50072;border-color:#d8006b}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,60,156,.5)}.btn-light{color:#111112;background-color:#fff;border-color:#fff;box-shadow:none}.btn-light:hover{color:#111112;background-color:#ececec;border-color:#e6e6e6}.btn-light:focus,.btn-light.focus{color:#111112;background-color:#ececec;border-color:#e6e6e6;box-shadow:0 0 0 .2rem rgba(219,219,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#111112;background-color:#fff;border-color:#fff}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#111112;background-color:#e6e6e6;border-color:#dfdfdf}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(219,219,219,.5)}.btn-dark{color:#fff;background-color:#111112;border-color:#111112;box-shadow:none}.btn-dark:hover{color:#fff;background-color:#000;border-color:#000}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:#000;border-color:#000;box-shadow:0 0 0 .2rem rgba(53,53,54,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#111112;border-color:#111112}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(53,53,54,.5)}.btn-outline-primary{color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:hover{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#9a52ff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.btn-outline-secondary{color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:hover{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#e0e0e1;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.btn-outline-success{color:#32e685;border-color:#32e685}.btn-outline-success:hover{color:#111112;background-color:#32e685;border-color:#32e685}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#32e685;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#111112;background-color:#32e685;border-color:#32e685}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.btn-outline-info{color:#19a3ff;border-color:#19a3ff}.btn-outline-info:hover{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#19a3ff;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.btn-outline-warning{color:#faff19;border-color:#faff19}.btn-outline-warning:hover{color:#111112;background-color:#faff19;border-color:#faff19}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#faff19;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#111112;background-color:#faff19;border-color:#faff19}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.btn-outline-danger{color:#ff198b;border-color:#ff198b}.btn-outline-danger:hover{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#ff198b;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.btn-outline-light{color:#fff;border-color:#fff}.btn-outline-light:hover{color:#111112;background-color:#fff;border-color:#fff}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#fff;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#111112;background-color:#fff;border-color:#fff}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-outline-dark{color:#111112;border-color:#111112}.btn-outline-dark:hover{color:#fff;background-color:#111112;border-color:#111112}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#111112;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#111112;border-color:#111112}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.btn-link{font-weight:400;color:#fff;text-decoration:none}.btn-link:hover{color:#9a52ff;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#454549;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.width{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.width{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid;border-right:.4em solid transparent;border-bottom:0;border-left:.4em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#e0e0e1;text-align:left;list-style:none;background-color:#111112;background-clip:padding-box;border:1px solid #111112;border-radius:4px;box-shadow:0px 5px 40px #000}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:0;border-right:.4em solid transparent;border-bottom:.4em solid;border-left:.4em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid transparent;border-right:0;border-bottom:.4em solid transparent;border-left:.4em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.34em;vertical-align:.34em;content:"";border-top:.4em solid transparent;border-right:.4em solid;border-bottom:.4em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=top],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #000}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#fff;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#9a52ff;text-decoration:none;background-color:#111112}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:transparent}.dropdown-item.disabled,.dropdown-item:disabled{color:#838386;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:0.875rem;color:#454549;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#fff}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group.show .dropdown-toggle{box-shadow:none}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.form-control:not(:last-child),.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:1rem 1.5rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;text-align:center;white-space:nowrap;background-color:#454549;border:1px solid transparent;border-radius:4px}.input-group-text input[type=radio],.input-group-text input[type=checkbox]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + 0.5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:2.5rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;print-color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#9a52ff;background-color:#9a52ff}.custom-control-input:focus~.custom-control-label::before{box-shadow:none,0 0 0 .2rem rgba(154,82,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#e4d2ff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#fff;border-color:#fff}.custom-control-input[disabled]~.custom-control-label,.custom-control-input:disabled~.custom-control-label{color:#454549}.custom-control-input[disabled]~.custom-control-label::before,.custom-control-input:disabled~.custom-control-label::before{background-color:#454549}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#232325;border:1px solid #838386;box-shadow:none}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:4px}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23FFFFFF' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#9a52ff;background-color:#9a52ff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23FFFFFF' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(0.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#838386;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#232325;transform:translateX(0.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.25em + 2rem + 2px);padding:1rem 2.5rem 1rem 1.5rem;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;vertical-align:middle;background:#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat;border:1px solid transparent;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.075);appearance:none}.custom-select:focus{border-color:#e4d2ff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 0 .2rem rgba(154,82,255,.25)}.custom-select:focus::-ms-value{color:#fff;background-color:#232325}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:1.5rem;background-image:none}.custom-select:disabled{color:#454549;background-color:#e0e0e1}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}.custom-select-sm{height:calc(1.5em + 0.5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.25em + 2rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.25em + 2rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#e4d2ff;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.custom-file-input[disabled]~.custom-file-label,.custom-file-input:disabled~.custom-file-label{background-color:#454549}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.25em + 2rem + 2px);padding:1rem 1.5rem;overflow:hidden;font-weight:400;line-height:1.25;color:#fff;background-color:#232325;border:1px solid transparent;border-radius:4px;box-shadow:none}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.25em + 2rem);padding:1rem 1.5rem;line-height:1.25;color:#fff;content:"Browse";background-color:#454549;border-left:inherit;border-radius:0 4px 4px 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#fff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#c1c1c2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#fff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#c1c1c2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#fff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-fill-lower{background-color:#c1c1c2;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#c1c1c2;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#838386}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#838386}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#838386}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:1rem 2rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#454549;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #c1c1c2}.nav-tabs .nav-link{margin-bottom:-1px;background-color:transparent;border:1px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:#e0e0e1 #e0e0e1 #c1c1c2}.nav-tabs .nav-link.disabled{color:#454549;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#343437;background-color:#111112;border-color:#c1c1c2 #c1c1c2 #111112}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:4px}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#9a52ff}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:0 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-sm,.navbar .container-md,.navbar .container-lg,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:1.25rem;padding-bottom:1.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:1rem;padding-bottom:1rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media(max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media(max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media(max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media(max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:#454549}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:#454549;border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%23454549' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#454549}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#fff}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#9a52ff}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:#fff;border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%23FFFFFF' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#fff}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#232325;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:8px}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:7px;border-top-right-radius:7px}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:7px;border-bottom-left-radius:7px}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:2rem}.card-title{margin-bottom:2rem}.card-subtitle{margin-top:-1rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:2rem}.card-header{padding:2rem 2rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:7px 7px 0 0}.card-footer{padding:2rem 2rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 7px 7px}.card-header-tabs{margin-right:-1rem;margin-bottom:-2rem;margin-left:-1rem;border-bottom:0}.card-header-pills{margin-right:-1rem;margin-left:-1rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:7px}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:7px;border-top-right-radius:7px}.card-img,.card-img-bottom{border-bottom-right-radius:7px;border-bottom-left-radius:7px}.card-deck .card{margin-bottom:1.25rem}@media(min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-1.25rem;margin-left:-1.25rem}.card-deck .card{flex:1 0 0%;margin-right:1.25rem;margin-bottom:0;margin-left:1.25rem}}.card-group>.card{margin-bottom:15px}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:2rem}@media(min-width: 576px){.card-columns{column-count:3;column-gap:2rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#111112;border-radius:4px}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#454549;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#a2a2a4}.pagination{display:flex;padding-left:0;list-style:none;border-radius:4px}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#fff;background-color:#fff;border:1px solid #c1c1c2}.page-link:hover{z-index:2;color:#9a52ff;text-decoration:none;background-color:#e0e0e1;border-color:#c1c1c2}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.page-item:last-child .page-link{border-top-right-radius:4px;border-bottom-right-radius:4px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#9a52ff;border-color:#9a52ff}.page-item.disabled .page-link{color:#454549;pointer-events:none;cursor:auto;background-color:#fff;border-color:#c1c1c2}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:8px;border-bottom-left-radius:8px}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:8px;border-bottom-right-radius:8px}.pagination-sm .page-link{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:4px;border-bottom-right-radius:4px}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:4px;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#9a52ff}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#7c1fff}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.badge-secondary{color:#111112;background-color:#e0e0e1}a.badge-secondary:hover,a.badge-secondary:focus{color:#111112;background-color:#c6c6c8}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.badge-success{color:#111112;background-color:#32e685}a.badge-success:hover,a.badge-success:focus{color:#111112;background-color:#19cc6c}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.badge-info{color:#fff;background-color:#19a3ff}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#0089e5}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.badge-warning{color:#111112;background-color:#faff19}a.badge-warning:hover,a.badge-warning:focus{color:#111112;background-color:#e0e500}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.badge-danger{color:#fff;background-color:#ff198b}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#e50072}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.badge-light{color:#111112;background-color:#fff}a.badge-light:hover,a.badge-light:focus{color:#111112;background-color:#e6e6e6}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.badge-dark{color:#fff;background-color:#111112}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#000}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e0e0e1;border-radius:8px}@media(min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:4px}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#502b85;background-color:#ebdcff;border-color:#e3cfff}.alert-primary hr{border-top-color:#d4b6ff}.alert-primary .alert-link{color:#391f5e}.alert-secondary{color:#747475;background-color:#f9f9f9;border-color:#f6f6f7}.alert-secondary hr{border-top-color:#e9e9eb}.alert-secondary .alert-link{color:#5b5b5b}.alert-success{color:#1a7845;background-color:#d6fae7;border-color:#c6f8dd}.alert-success hr{border-top-color:#aff5cf}.alert-success .alert-link{color:#114e2d}.alert-info{color:#0d5585;background-color:#d1edff;border-color:#bfe5ff}.alert-info hr{border-top-color:#a6dbff}.alert-info .alert-link{color:#083757}.alert-warning{color:#82850d;background-color:#feffd1;border-color:#feffbf}.alert-warning hr{border-top-color:#feffa6}.alert-warning .alert-link{color:#555708}.alert-danger{color:#850d48;background-color:#ffd1e8;border-color:#ffbfdf}.alert-danger hr{border-top-color:#ffa6d2}.alert-danger .alert-link{color:#57082f}.alert-light{color:#858585;background-color:#fff;border-color:#fff}.alert-light hr{border-top-color:#f2f2f2}.alert-light .alert-link{color:#6c6c6c}.alert-dark{color:#090909;background-color:#cfcfd0;border-color:#bcbcbd}.alert-dark hr{border-top-color:#afafb0}.alert-dark .alert-link{color:#000}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:0.75rem;background-color:#111112;border-radius:4px;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#9a52ff;transition:width .6s ease}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:4px}.list-group-item-action{width:100%;color:#343437;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#343437;text-decoration:none;background-color:#f5f5f7}.list-group-item-action:active{color:#e0e0e1;background-color:#e0e0e1}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#111112;border:1px solid #232325}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#e0e0e1;pointer-events:none;background-color:#111112}.list-group-item.active{z-index:2;color:#fff;background-color:#9a52ff;border-color:#9a52ff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#502b85;background-color:#e3cfff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#502b85;background-color:#d4b6ff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#502b85;border-color:#502b85}.list-group-item-secondary{color:#747475;background-color:#f6f6f7}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#747475;background-color:#e9e9eb}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#747475;border-color:#747475}.list-group-item-success{color:#1a7845;background-color:#c6f8dd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#1a7845;background-color:#aff5cf}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#1a7845;border-color:#1a7845}.list-group-item-info{color:#0d5585;background-color:#bfe5ff}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0d5585;background-color:#a6dbff}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0d5585;border-color:#0d5585}.list-group-item-warning{color:#82850d;background-color:#feffbf}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#82850d;background-color:#feffa6}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#82850d;border-color:#82850d}.list-group-item-danger{color:#850d48;background-color:#ffbfdf}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#850d48;background-color:#ffa6d2}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#850d48;border-color:#850d48}.list-group-item-light{color:#858585;background-color:#fff}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#858585;background-color:#f2f2f2}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#858585;border-color:#858585}.list-group-item-dark{color:#090909;background-color:#bcbcbd}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#090909;background-color:#afafb0}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#090909;border-color:#090909}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#ff198b;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#ff198b;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:0.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#454549;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#000;background-clip:padding-box;border:1px solid #e0e0e1;border-radius:8px;box-shadow:0 .25rem .5rem rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #c1c1c2;border-top-left-radius:7px;border-top-right-radius:7px}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #c1c1c2;border-bottom-right-radius:7px;border-bottom-left-radius:7px}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.modal-content{box-shadow:0 .5rem 1rem rgba(0,0,0,.5)}.modal-sm{max-width:300px}}@media(min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:4px}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:8px;box-shadow:0 .25rem .5rem rgba(0,0,0,.2)}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 8px}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^=top]{margin-bottom:.5rem}.bs-popover-top>.arrow,.bs-popover-auto[x-placement^=top]>.arrow{bottom:calc(-0.5rem - 1px)}.bs-popover-top>.arrow::before,.bs-popover-auto[x-placement^=top]>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-top>.arrow::after,.bs-popover-auto[x-placement^=top]>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^=right]{margin-left:.5rem}.bs-popover-right>.arrow,.bs-popover-auto[x-placement^=right]>.arrow{left:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:8px 0}.bs-popover-right>.arrow::before,.bs-popover-auto[x-placement^=right]>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-right>.arrow::after,.bs-popover-auto[x-placement^=right]>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^=bottom]{margin-top:.5rem}.bs-popover-bottom>.arrow,.bs-popover-auto[x-placement^=bottom]>.arrow{top:calc(-0.5rem - 1px)}.bs-popover-bottom>.arrow::before,.bs-popover-auto[x-placement^=bottom]>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-bottom>.arrow::after,.bs-popover-auto[x-placement^=bottom]>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-0.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-left,.bs-popover-auto[x-placement^=left]{margin-right:.5rem}.bs-popover-left>.arrow,.bs-popover-auto[x-placement^=left]>.arrow{right:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:8px 0}.bs-popover-left>.arrow::before,.bs-popover-auto[x-placement^=left]>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-left>.arrow::after,.bs-popover-auto[x-placement^=left]>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:#fff;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:7px;border-top-right-radius:7px}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#e0e0e1}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFFFFF' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFFFFF' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;border:.25em solid currentcolor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;background-color:currentcolor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#9a52ff !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#7c1fff !important}.bg-secondary{background-color:#e0e0e1 !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#c6c6c8 !important}.bg-success{background-color:#32e685 !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#19cc6c !important}.bg-info{background-color:#19a3ff !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#0089e5 !important}.bg-warning{background-color:#faff19 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#e0e500 !important}.bg-danger{background-color:#ff198b !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#e50072 !important}.bg-light{background-color:#fff !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#e6e6e6 !important}.bg-dark{background-color:#111112 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#000 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:transparent !important}.border{border:1px solid #c1c1c2 !important}.border-top{border-top:1px solid #c1c1c2 !important}.border-right{border-right:1px solid #c1c1c2 !important}.border-bottom{border-bottom:1px solid #c1c1c2 !important}.border-left{border-left:1px solid #c1c1c2 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#9a52ff !important}.border-secondary{border-color:#e0e0e1 !important}.border-success{border-color:#32e685 !important}.border-info{border-color:#19a3ff !important}.border-warning{border-color:#faff19 !important}.border-danger{border-color:#ff198b !important}.border-light{border-color:#fff !important}.border-dark{border-color:#111112 !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:4px !important}.rounded{border-radius:4px !important}.rounded-top{border-top-left-radius:4px !important;border-top-right-radius:4px !important}.rounded-right{border-top-right-radius:4px !important;border-bottom-right-radius:4px !important}.rounded-bottom{border-bottom-right-radius:4px !important;border-bottom-left-radius:4px !important}.rounded-left{border-top-left-radius:4px !important;border-bottom-left-radius:4px !important}.rounded-lg{border-radius:8px !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media(min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media(min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media(min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media(min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714286%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media(min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media(min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media(min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media(min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media(min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media(min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media(min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media(min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports(position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-0.25rem !important}.mt-n1,.my-n1{margin-top:-0.25rem !important}.mr-n1,.mx-n1{margin-right:-0.25rem !important}.mb-n1,.my-n1{margin-bottom:-0.25rem !important}.ml-n1,.mx-n1{margin-left:-0.25rem !important}.m-n2{margin:-0.5rem !important}.mt-n2,.my-n2{margin-top:-0.5rem !important}.mr-n2,.mx-n2{margin-right:-0.5rem !important}.mb-n2,.my-n2{margin-bottom:-0.5rem !important}.ml-n2,.mx-n2{margin-left:-0.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media(min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-0.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-0.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-0.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-0.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-0.25rem !important}.m-sm-n2{margin:-0.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-0.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-0.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-0.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-0.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media(min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-0.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-0.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-0.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-0.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-0.25rem !important}.m-md-n2{margin:-0.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-0.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-0.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-0.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-0.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media(min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-0.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-0.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-0.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-0.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-0.25rem !important}.m-lg-n2{margin:-0.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-0.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-0.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-0.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-0.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media(min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-0.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-0.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-0.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-0.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-0.25rem !important}.m-xl-n2{margin:-0.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-0.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-0.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-0.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-0.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:"Space Mono",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media(min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#9a52ff !important}a.text-primary:hover,a.text-primary:focus{color:#6d06ff !important}.text-secondary{color:#e0e0e1 !important}a.text-secondary:hover,a.text-secondary:focus{color:#b9b9bb !important}.text-success{color:#32e685 !important}a.text-success:hover,a.text-success:focus{color:#16b560 !important}.text-info{color:#19a3ff !important}a.text-info:hover,a.text-info:focus{color:#007acc !important}.text-warning{color:#faff19 !important}a.text-warning:hover,a.text-warning:focus{color:#c7cc00 !important}.text-danger{color:#ff198b !important}a.text-danger:hover,a.text-danger:focus{color:#cc0065 !important}.text-light{color:#fff !important}a.text-light:hover,a.text-light:focus{color:#d9d9d9 !important}.text-dark{color:#111112 !important}a.text-dark:hover,a.text-dark:focus{color:#000 !important}.text-body{color:#e0e0e1 !important}.text-muted{color:#e0e0e1 !important}.text-black-50{color:rgba(0,0,0,.5) !important}.text-white-50{color:rgba(255,255,255,.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;word-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #838386;page-break-inside:avoid}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #c1c1c2 !important}.table-dark{color:inherit}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#c1c1c2}.table .thead-dark th{color:inherit;border-color:#c1c1c2}}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}pre,code{font-feature-settings:"liga" 0;font-variant-ligatures:none}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:bold}h1,.h1{font-size:3.875rem;line-height:70px}@media(max-width: 480px){h1,.h1{font-size:2.625rem;line-height:48px}}h2,.h2{font-size:3.5rem;line-height:62px}@media(max-width: 767.98px){h2,.h2{font-size:1.75rem;line-height:34px}}@media(max-width: 767.98px){h2-sm,.h2-sm{font-size:1.75rem !important;line-height:34px !important}}h3,.h3{font-size:3rem;line-height:52px}@media(max-width: 767.98px){h3,.h3{font-size:1.5rem;line-height:28px}}@media(max-width: 767.98px){h3-sm,.h3-sm{font-size:1.5rem;line-height:28px}}h4,.h4{font-size:2rem;line-height:38px}@media(max-width: 767.98px){h4,.h4{font-size:1.25rem;line-height:26px}}h5,.h5{font-size:1.5rem;line-height:32px}@media(max-width: 767.98px){h5,.h5{font-size:1.125rem;line-height:26px}}h6,.h6{font-size:1.25rem;line-height:26px}@media(max-width: 767.98px){h6,.h6{font-size:1rem;line-height:24px}}.longform{font-size:1.5rem;line-height:32px;color:#f5f5f7;font-weight:500}@media(max-width: 767.98px){.longform{font-size:1.25rem;line-height:26px}}.numbers{font-size:6rem;line-height:104px;font-weight:bold;color:#fff}@media(max-width: 767.98px){.numbers{font-size:3.875rem;line-height:70px}}p{font-size:1rem;line-height:24px}.fs-base{font-size:1rem}.fs-3{font-size:.75rem;line-height:1rem}.fs-4-5{font-size:1.125rem}.fs-5{font-size:1.25rem}.fs-5-5{font-size:1.375rem}.fs-6{font-size:1.5rem}.normal{font-weight:normal}.bold{font-weight:bold}.text-largest{font-size:1.5rem;font-weight:normal}.text-large{font-size:1.125rem}.text-small{font-size:.875rem}.text-smaller{font-size:.75rem}.text-smallest{font-size:.625rem}.arrow-link{text-decoration:none}.arrow-link:after{content:url(../img/icon-long-arrow.svg);width:28px;padding-left:7px;transition:all .2s ease-in-out;display:inline-block;text-decoration:none}.arrow-link:hover:after{padding-left:14px}.lang-ja{font-family:"Work Sans","Noto Sans JP",sans-serif}.lang-ja h1,.lang-ja h2,.lang-ja h3,.lang-ja h4,.lang-ja h5,.lang-ja .navbar .navbar-nav .nav-link,.lang-ja article .children-display li a,.lang-ja .right-sidebar .level-1 a,.lang-ja .right-sidebar .separator{font-family:"Work Sans","Noto Sans JP",sans-serif}.search .input-group-text{border-width:0;color:#fff;background-color:#232325;border-radius:4px 0 0 4px;padding:.5rem .5rem .5rem 1rem;line-height:1.5}.search .ds-input{background-color:#232325;border-radius:0 4px 4px 0;padding:.75rem 1rem .75rem .5rem;width:100%;border:1px solid #232325}.search .ds-input:focus{box-shadow:none;border-color:#9a52ff}.search .algolia-autocomplete{flex-grow:1}#algolia-autocomplete-listbox-0{z-index:1100 !important}.xrp-ledger-dev-portal .DocSearch-Modal{top:85px;background-color:#232325;box-shadow:none}html .DocSearch-Modal{box-shadow:none}html .DocSearch-Button{height:32px;border-radius:4px}html .DocSearch-Button:hover{border-radius:4px}html .DocSearch-Modal{max-width:55%}@media(min-width: 1200px){html .DocSearch-Modal{margin-right:112px}}@media(max-width: 991.98px){html .algolia-autocomplete .ds-dropdown-menu{min-width:unset}html .DocSearch-Modal{top:112px;max-width:100%;margin-left:0;margin-right:0}}html .DocSearch-Container{z-index:99999 !important;background-color:transparent !important}html #centersearchboxcontainer{justify-content:center}html #topsearchboxcontainer{justify-content:right}html .algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{background-color:#111112;border:0;border-radius:8px}html .algolia-autocomplete .algolia-docsearch-suggestion--category-header{border:0;font-weight:bold}html .algolia-autocomplete .algolia-docsearch-suggestion--text{font-size:.8rem}html .algolia-autocomplete .ds-dropdown-menu::before{border:0}.dark .DocSearch-Modal{background-color:#232325}.dark .DocSearch-Cancel{color:#9a52ff}.dark .DocSearch-Form{box-shadow:inset 0 0 0 2px #9a52ff;background-color:#232325}.dark .DocSearch-Hit-source{color:#9a52ff}.dark .DocSearch-Hits mark{color:#9a52ff}.dark .DocSearch-Hit-source,.dark .DocSearch-Hit-Container,.dark .DocSearch-Footer{background-color:#232325}.dark .DocSearch-Hit a{background-color:#232325;box-shadow:none}.dark .DocSearch-Hit-source{color:#a2a2a4}.dark .DocSearch-Input{color:#fff}.dark .DocSearch-Hit-title,.dark .DocSearch-Hit-path,.dark .DocSearch-Label,.dark .DocSearch-Help{color:#f5f5f7 !important}.dark .DocSearch-Hit[aria-selected=true] a{background:#343437}.dark .DocSearch-Hit[aria-selected=true] a .DocSearch-Hit-Container{background-color:#343437}.dark .DocSearch-Hit[aria-selected=true] a mark{color:#9a52ff !important}.dark .DocSearch-Prefill{color:#9a52ff}.dark .DocSearch-Button{background:#232325}.dark .DocSearch-Button:hover{background:#232325;box-shadow:inset 0 0 0 2px #9a52ff}.dark .DocSearch-Button:hover .DocSearch-Button-Placeholder{color:#fff}.dark .DocSearch-Search-Icon{color:#fff !important}.dark .DocSearch-Logo svg .cls-1,.dark .DocSearch-Logo svg .cls-2{fill:#fff}.dark .DocSearch-Commands-Key{color:#232325}.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header{color:#fff;border-bottom:2px solid #9a52ff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{color:#fff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--title{color:#fff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--text{color:#e0e0e1}.dark .algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#fff;background-color:#343437}.dark .algolia-autocomplete .ds-dropdown-menu::before{background-color:#111112}.dark .algolia-autocomplete .algolia-docsearch-suggestion{background-color:#111112}.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight,.dark .algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{box-shadow:none;background-color:#343437}body{position:relative}section{position:relative}.landing{padding:0}.square{position:relative;flex-basis:calc(50% - 30px);margin:15px;box-sizing:border-box;justify-content:center;align-items:center;border-radius:8px}.square::before{content:"";display:block;padding-top:100%}@media(min-width: 992px){.square{flex-basis:calc(25% - 30px)}}.square-50{flex-basis:calc(50% - 30px)}@media(max-width: 767.98px){.square-50{flex-basis:calc(50% - 20px)}}.nav-grid-lg{display:flex;flex-direction:column}.nav-grid-lg .nav-item{width:100%}.nav-grid-lg .nav-item .nav-link{display:flex}.nav-grid-lg .nav-item .nav-link span{flex-grow:0}.nav-grid-lg .nav-item .nav-link img{max-height:2rem}.nav-grid-lg .nav-grid-head{margin-top:2.5rem}@media(min-width: 992px){.nav-grid-lg{display:grid;grid-auto-flow:column;grid-column-gap:80px}.nav-grid-lg .nav-grid-head{margin-top:0}}.col-lg{padding-left:0;padding-right:0}@media(min-width: 992px){.cols-of-1{grid-template-rows:repeat(1, min-content)}}@media(min-width: 992px){.cols-of-2{grid-template-rows:repeat(2, min-content)}}@media(min-width: 992px){.cols-of-3{grid-template-rows:repeat(3, min-content)}}@media(min-width: 992px){.cols-of-4{grid-template-rows:repeat(4, min-content)}}@media(min-width: 992px){.cols-of-5{grid-template-rows:repeat(5, min-content)}}@media(min-width: 992px){.cols-of-6{grid-template-rows:repeat(6, min-content)}}.card-grid{display:grid;grid-gap:40px;padding:0;width:100%;grid-template-columns:1fr}@media(min-width: 992px){.card-grid{grid-gap:80px}}.card-grid .col{padding-left:0;padding-right:0;min-width:100%}.card-grid.card-grid-4xN{grid-auto-rows:auto;grid-template-columns:repeat(2, 1fr)}@media(min-width: 992px){.card-grid.card-grid-4xN{grid-template-columns:repeat(4, 1fr)}}.card-grid.card-grid-3xN{grid-auto-rows:auto}@media(min-width: 992px){.card-grid.card-grid-3xN{grid-template-columns:1fr 1fr 1fr}}.card-grid.card-grid-2xN{grid-template-columns:1fr 1fr;grid-auto-rows:auto}@media(max-width: 991.98px){.card-grid.card-grid-2xN{grid-template-columns:1fr}}.card-grid.card-grid-1x2{grid-template-columns:1fr 2fr;grid-auto-rows:auto}@media(max-width: 991.98px){.card-grid.card-grid-1x2{display:flex}}.card-grid .card{padding:20px;border:0;min-height:264px}@media(min-width: 768px){.card-grid .card{min-height:347px}}@media(min-width: 992px){.card-grid .card{padding:40px}}.card-grid .card .card-body{padding:8px;padding-bottom:24px}.card-grid .card .card-body .card-icon-container{width:50px;height:50px}.card-grid .card .card-body .card-icon-container img{width:70%;height:70%}.card-grid.section-hero{padding-left:0}.container-new{display:flex;flex-wrap:wrap;margin:0 auto;padding:0 32px;max-width:100%;z-index:1}@media(min-width: 768px){.container-new{max-width:608px}}@media(min-width: 992px){.container-new{max-width:942px}}@media(min-width: 1200px){.container-new{max-width:1280px}}@media(max-width: 991.98px){article{overflow-wrap:break-word;word-wrap:break-word;overflow:hidden}}@media(max-width: 480px){html{overflow-x:hidden !important}}@media(max-width: 400px){.navbar .navbar-brand .brand-text{margin-right:0;letter-spacing:-0.08rem}.navbar .navbar-brand{margin-right:0}.navbar .navbar-brand .logo{margin-right:0;margin-left:-1rem}.btn{white-space:normal}}.timeline-wrapper{z-index:999;position:relative}.timeline:before{content:"";position:absolute;top:-40px;left:18px;height:95%;width:4px;background:linear-gradient(180deg, #feff01 0%, #ff2d9a 33%, #a3088f 66%, rgba(44, 4, 128, 0.85) 100%)}@media(max-width: 991.98px){.timeline:before{left:8px}}.timeline-dot{margin-top:94px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-ms-flex-negative:0;flex-shrink:0;width:18px;height:18px;border-radius:50%;background:#111112;box-sizing:border-box}.timeline-block:first-child .timeline-dot{border:3px solid #faff19}.timeline-block:nth-child(2) .timeline-dot{border:3px solid #ff884b}.timeline-block:nth-child(3) .timeline-dot{border:3px solid #c000e5}.timeline-block:nth-child(4) .timeline-dot{border:3px solid #40004c}.timeline-block{display:flex;position:relative;z-index:1}.timeline-content{flex-grow:1;position:relative;margin-left:1.25em}.timeline h4{margin-top:-4px}@media(min-width: 768px){.timeline:before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.timeline-dot{-ms-flex-order:1;order:1;margin-left:calc(5% - 9px);will-change:transform}.timeline-block:nth-child(even){-ms-flex-direction:row-reverse;flex-direction:row-reverse}.timeline-dot{margin-right:calc(5% - 9px)}.timeline-content{width:45%;-ms-flex-positive:0;flex-grow:0;will-change:transform;margin:0;--line-height-multiplier: 1.2}}@media(min-width: 992px){[data-component-name="TableOfContent/TableOfContent"]{margin-right:32px}}aside li a{color:#fff;text-decoration:none;font-size:1.05rem}aside .sidenav_cat_title{color:#fff}aside a:hover,aside .sidenav_cat_title:hover{color:#9a52ff}aside a.active,aside a.active:hover,aside .active>a,aside .active>a:hover{color:#9a52ff;font-weight:700}aside a.active-parent,aside .active-parent>a{font-weight:700}.page-toc .level-1 a,.command-list .separator{font-weight:700;color:#fff}.nav-toggler{position:absolute;width:1.75em;height:1.75em;line-height:0;display:grid;justify-content:center;align-content:center}.nav-toggler::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid;border-right:.4em solid transparent;border-bottom:0;border-left:.4em solid transparent}.nav-toggler:empty::after{margin-left:0}.nav-toggler::after{transition-duration:.3s}.nav-toggler.collapsed::after{transform:rotate(-90deg)}.dactyl-tree-nav nav{margin-left:1rem;padding-left:0;border-left:1px solid #fff}.dactyl-tree-nav nav .nav-link:hover,.dactyl-tree-nav nav .nav-link:active{border-left:1px solid #9a52ff;margin-left:-1px}.dactyl-tree-nav nav .active>.nav-link{border-left:2px solid #9a52ff;margin-left:-1px;padding-left:calc(1rem - 1px)}.dactyl-tree-nav .nav-item{position:relative}.dactyl-tree-nav .nav-item .nav-link{padding:.25rem 1rem;font-size:.9rem}.dactyl-tree-nav .nav-item.nav-parent{padding-top:0}.dactyl-tree-nav .nav-item.nav-parent .nav-link{padding-left:0;padding-top:0;font-size:1.125rem;line-height:initial}.dactyl-tree-nav .nav-item .nav-toggler+.nav-link{padding-left:2rem}.dactyl-tree-nav>.nav-item{padding:.5rem 0;font-size:1.125rem}.dactyl-tree-nav>.nav-item>.nav-link{font-weight:bold}.dactyl-tree-nav .collapsing.nav{flex-wrap:unset}.toc-header{font-weight:bold;font-size:14px;padding:1rem 0}.toc-header h4{line-height:20px;font-size:1.2em;padding:0;margin:0}#page-toc-wrapper .card-body{list-style-type:none}.page-toc,.command-list{padding-left:0;border-left:1px solid #fff}.page-toc li,.command-list li{list-style-type:none;padding:0}.page-toc li.separator,.command-list li.separator{padding:.25rem 1rem}.page-toc li a,.command-list li a{display:block;margin-top:5px;padding:.25rem 1rem;font-size:.9rem}.page-toc li a:hover,.page-toc li a .active,.command-list li a:hover,.command-list li a .active{text-decoration:none;border-left:1px solid #9a52ff;margin-left:-1px}.page-toc li.active a,.page-toc li.active a:hover,.command-list li.active a,.command-list li.active a:hover{border-left:2px solid #9a52ff;padding-left:calc(1rem - 1px);margin-left:-1px}.page-toc .level-3,.command-list .level-3{margin-left:16px;border-left:1px solid #fff;margin-bottom:0;padding-bottom:5px}.page-toc .level-3 a,.command-list .level-3 a{margin-top:0;padding-bottom:5px}.page-toc.no-sideline,.command-list.no-sideline{border-left:0}.page-toc.no-sideline a:hover,.page-toc.no-sideline a.active,.command-list.no-sideline a:hover,.command-list.no-sideline a.active{border-left:0;margin-left:0}.command-list li a{margin-top:0}.h32{height:32px}.w32{width:32px}.h36{height:36px}.w36{width:36px}.h40{height:40px}.w40{width:40px}.w44{width:44px}.w48{width:48px}.w-100{width:100%}.min-vh100{min-height:100vh}.vw100{width:100vw;min-width:100%}@media(max-width: 767.98px){.mb-3-sm-i{margin-bottom:1rem !important}}.ml-5{margin-left:1.25rem}@media(min-width: 768px){.ml-5-until-md{margin-left:1.25rem}}.mr-5{margin-right:1.25rem}@media(min-width: 768px){.mr-5-until-md{margin-right:1.25rem}}.mb-6{margin-bottom:1.5rem}@media(max-width: 767.98px){.mb-6-sm{margin-bottom:1.5rem}}.mt-6{margin-top:1.5rem}@media(min-width: 576px){.mt-6-until-sm{margin-top:1.5rem !important}}.mb-8{margin-bottom:2rem}@media(max-width: 767.98px){.mb-8-sm{margin-bottom:2rem}}.mt-8{margin-top:2rem}@media(min-width: 576px){.mt-8-until-sm{margin-top:2rem !important}}.mt-9{margin-top:2.25rem}.mb-9{margin-bottom:2.25rem}.mt-10{margin-top:2.5rem}@media(max-width: 767.98px){.mt-10-sm{margin-top:2.5rem}}.mb-10{margin-bottom:2.5rem}@media(min-width: 576px){.mb-10-until-sm{margin-bottom:2.5rem}}@media(max-width: 767.98px){.mb-10-sm{margin-bottom:2.5rem}}.ml-10{margin-left:2.5rem}.mr-10{margin-right:2.5rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}@media(min-width: 576px){.mx-10-until-sm{margin-left:2.5rem;margin-right:2.5rem}}@media(min-width: 768px){.mx-10-until-md{margin-left:2.5rem;margin-right:2.5rem}}@media(max-width: 767.98px){.mx-10-sm{margin-left:2.5rem;margin-right:2.5rem}}.mt-12{margin-top:3rem}.mb-12{margin-bottom:3rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mt-13{margin-top:3.25rem}.mb-13{margin-bottom:3.25rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}@media(max-width: 767.98px){.mt-16-sm{margin-top:4rem}}.mb-16{margin-bottom:4rem}@media(max-width: 767.98px){.mb-16-sm{margin-bottom:4rem}}.mb-18{margin-bottom:4.5rem}.mt-20{margin-top:5rem}@media(max-width: 767.98px){.mt-20-sm{margin-top:5rem}}@media(min-width: 576px){.mt-20-until-sm{margin-top:5rem}}.mb-20{margin-bottom:5rem}@media(max-width: 767.98px){.mb-20-sm{margin-bottom:5rem}}@media(min-width: 576px){.mb-20-until-sm{margin-bottom:5rem}}.my-20{margin-top:5rem;margin-bottom:5rem}.my-26{margin-top:6.5rem;margin-bottom:6.5rem}.mb-30{margin-bottom:7.5rem}.mt-30{margin-top:7.5rem}@media(min-width: 576px){.mt-30-until-sm{margin-top:7.5rem}}.mt-40{margin-top:10rem}@media(min-width: 576px){.mt-40-until-sm{margin-top:10rem}}.mb-40{margin-bottom:10rem}@media(min-width: 576px){.mb-40-until-sm{margin-bottom:10rem}}.mb-49{margin-bottom:12.25rem}.mb-50{margin-bottom:12.5rem}@media(min-width: 576px){.mb-50-until-sm{margin-bottom:12.5rem}}@media(max-width: 767.98px){.pl-0-sm{padding-left:0 !important}}@media(max-width: 767.98px){.pr-0-sm{padding-right:0 !important}}@media(max-width: 767.98px){.pt-3-sm{padding-top:1rem !important}}.p-6{padding:1.5rem}@media(max-width: 767.98px){.p-6-sm{padding:1.5rem}}.p-8{padding:2rem}@media(max-width: 767.98px){.p-8-sm{padding:2rem}}.p-10{padding:2.5rem}@media(min-width: 576px){.p-10-until-sm{padding:2.5rem}}.py-20{padding-bottom:5rem;padding-top:5rem}.px-20{padding-left:5rem;padding-right:5rem}.pt-20{padding-top:5rem}.pb-20{padding-bottom:5rem}.py-26{padding-top:6.5rem;padding-bottom:6.5rem}@media(max-width: 767.98px){.py-26{padding-top:2.5rem;padding-bottom:2.5rem}}.pt-26{padding-top:2.5rem}@media(min-width: 576px){.pt-26-until-sm{padding-top:6.5rem}}.pb-26{padding-bottom:6.5rem}@media(min-width: 576px){.pb-26-until-sm{padding-bottom:6.5rem}}.pt-30{padding-top:7.5rem}.pb-30{padding-bottom:7.5rem}.pt-40{padding-top:10rem}@media(min-width: 576px){.pt-40-until-sm{padding-top:10rem}}.pb-40{padding-bottom:10rem}.pb-50{padding-bottom:12.5rem}.pt-50{padding-top:12.5rem}.py-50{padding-bottom:12.5rem;padding-top:12.5rem}@media(min-width: 576px){.py-50-until-sm{padding-bottom:12.5rem;padding-top:12.5rem}}.floating-nav{top:6rem}.last-section{margin-bottom:100px}.bottom-0{bottom:0}.justify-center{justify-content:center}@media(max-width: 767.98px){.justify-center-sm{justify-content:center}}@media(max-width: 575.98px){.overflow-xs{overflow:scroll}.overflow-x-xs{overflow-x:scroll;overflow-y:hidden}}@media(min-width: 768px){.position-sm-absolute{position:absolute}}.va-middle{vertical-align:middle}.ls-none{list-style:none}.no-wrap{white-space:nowrap}.align-items-stretch{align-items:stretch}.underline{text-decoration:underline}@media(max-width: 575.98px){.d-none-xs{display:none}}@media(max-width: 767.98px){.d-none-sm{display:none}}@media(min-width: 992px){.d-none-lg{display:none}}.d-block{display:block}.border-green{border:1px solid #9a52ff}.border-none{border:none !important}.grey-400{color:#a2a2a4}.grey-500{color:#838386}.grey-700{color:#343437}.white{color:#fff}.stat-highlight{color:#32e685}.br-8{border-radius:8px}@media(max-width: 767.98px){br.until-sm{content:""}}.z-index-1{z-index:1}.bb-gray{border-bottom:1px solid #454549}@keyframes arrowDance{0%{padding-left:7px}50%{padding-left:14px}100%{padding-left:7px}}@keyframes arrowDance2{0%{right:0}50%{right:7px}100%{right:0}}@keyframes arrowDanceDiag{0%{right:7px;margin-top:0}50%{right:0;margin-top:-7px}100%{right:7px;margin-top:0}}.btn,article a.button,article .btn{font-weight:bold;cursor:pointer;text-decoration:none;transition:.2s;padding:.5rem 1rem;line-height:16px}article a.button{padding:.5rem 1rem;margin:0 .5rem;display:inline-block}.btn.disabled,button.disabled,.btn[disabled=disabled],button[disabled=disabled]{cursor:not-allowed}.btn-primary code,.btn-secondary code{color:inherit}.btn-primary{background:#7919ff;font-weight:bold;color:#fff;border:none;border-color:transparent}.btn-primary:hover{background:#5f00e5}.btn-primary.disabled,.btn-primary[disabled=disabled]{background:#4a00b2}.btn-primary.disabled:hover,.btn-primary[disabled=disabled]:hover{background:#4a00b2}@media(max-width: 767.98px){.btn-arrow{display:block;width:100%}}.btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right.svg);position:relative;top:1px;vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.btn-arrow:hover{background:#5f00e5 !important;border:none}.btn-arrow:hover::after{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.btn-arrow-out::after{background-position:left 0px bottom 0px;content:" ";background-image:url(../img/icons/arrow-up-right-white.svg);background-repeat:no-repeat;display:inline-block;padding:4px 8px 4px 12px;transition:background-position .3s ease-in-out;margin-left:4px}.btn-arrow-out:hover::after{background-position:left 4px bottom 4px}@media(max-width: 767.98px){.btn-arrow-out{display:block;width:100%}}.jump-to-top{display:none;position:fixed;bottom:36px;right:36px;font-weight:700;z-index:1000}.jump-to-top::after{display:none}.accordian-row{background:#232325;border-radius:5px;padding:32px}.accordian-row h3 a{position:relative;padding-right:2rem}.accordian-row h3 a:hover{color:#fff}.accordian-row .chevron{position:absolute;top:0;right:0}article table{clear:right;margin-bottom:48px}article table code{word-break:normal;white-space:nowrap;overflow-wrap:normal}article table th{border-bottom:2px solid #e0e0e1}article table tr{border-bottom:1px solid #e0e0e1}article table th,article table td{padding:.2em;vertical-align:text-top}article table td:nth-child(1){font-weight:bold}.landing-table th,.landing-table tr{border-bottom:2px solid #454549}.landing-table td{width:33.33%;padding:16px 40px 16px 0}.landing-table td:nth-child(1){font-weight:normal}@media(max-width: 767.98px){.landing-table td{font-size:.875rem}}.landing-table tr:last-child{border-bottom:none}.landing-table tbody td{color:#e0e0e1}.dblue{color:#454549}#overview-table td:nth-child(1){width:40%}#overview-table td:nth-child(2){width:30%}#overview-table tbody td{padding:2rem .75rem}@media(max-width: 991.98px){#overview-table{font-size:.875rem}#overview-table thead .h4{font-size:1.125rem}}article table{clear:right;margin-bottom:48px}article table code{word-break:normal;white-space:nowrap;overflow-wrap:normal}article table th{border-bottom:2px solid #e0e0e1}article table tr{border-bottom:1px solid #e0e0e1}article table th,article table td{padding:.2em;vertical-align:text-top}article table td:nth-child(1){font-weight:bold}.landing-table th,.landing-table tr{border-bottom:2px solid #454549}.landing-table td{width:33.33%;padding:16px 40px 16px 0}.landing-table td:nth-child(1){font-weight:normal}@media(max-width: 767.98px){.landing-table td{font-size:.875rem}}.landing-table tr:last-child{border-bottom:none}.landing-table tbody td{color:#e0e0e1}.dblue{color:#454549}#overview-table td:nth-child(1){width:40%}#overview-table td:nth-child(2){width:30%}#overview-table tbody td{padding:2rem .75rem}@media(max-width: 991.98px){#overview-table{font-size:.875rem}#overview-table thead .h4{font-size:1.125rem}}.modal-uses.exchanges .logo-item{max-height:58px;margin:5px;width:145px;height:28px;max-width:none}.modal-content-uses .carbonland-trust{max-width:218px}.modal-content-uses .first-ledger-bot{min-height:100px !important;position:relative;bottom:20px;content:url("../img/uses/first-ledger-bot.svg")}.modal-content-uses .orchestra-finance{min-height:56px !important;content:url("../img/uses/orchestra-finance.svg")}.modal-content-uses .moai-finance{min-height:100px !important;position:relative;bottom:20px;content:url("../img/uses/moai-finance.svg")}.modal-content-uses .ledger-city{margin:0px !important;position:relative;bottom:4px;left:6px;max-height:47px !important}.modal-content-uses .zerpmon{margin:0px;min-width:80px;min-height:84px;position:relative;bottom:13px;content:url("../img/uses/zerpmon.png") !important}#use_case_companies_list #threezy .biz-logo{max-height:40px;content:url("../img/uses/modallogos/threezy.png")}html.light .cryptum{content:url(../img/uses/lightmode/cryptum.jpg) !important;height:58px;max-width:max-content;width:184px;max-height:none;margin:0px;padding-bottom:10px}.xrp-ledger{content:url(../img/uses/modallogos/xrp-ledger.png)}html.light .xrp-ledger{content:url(../img/uses/lightmode/xrp-ledger.png)}.gatehub{content:url(../img/uses/modallogos/gatehub.png)}html.light .gatehub{content:url(../img/uses/lightmode/gatehub.png)}.towolabs{content:url(../img/uses/modallogos/towolabs.png)}html.light .towolabs{content:url(../img/uses/lightmode/towolabs.png)}.xrpscan{content:url(../img/uses/modallogos/xrpscan.png)}html.light .xrpscan{content:url(../img/uses/lightmode/xrpscan.png)}.xrp-toolkit{content:url(../img/uses/modallogos/xrp-toolkit.png)}html.light .xrp-toolkit{content:url(../img/uses/lightmode/xrp-toolkit.png)}.bithomp{content:url(../img/uses/modallogos/bithomp.png)}html.light .bithomp{content:url(../img/uses/lightmode/bithomp.png)}.onthedex{content:url(../img/uses/modallogos/onthedex.png)}html.light .onthedex{content:url(../img/uses/lightmode/onthedex.png)}.cryptum{content:url(../img/uses/modallogos/cryptum.png)}html.light .cryptum{content:url(../img/uses/lightmode/cryptum.png)}.evernode{content:url(../img/uses/modallogos/evernode.png)}html.light .evernode{content:url(../img/uses/lightmode/evernode.png)}.threezy{content:url(../img/uses/modallogos/threezy.png)}html.light .threezy{content:url(../img/uses/lightmode/threezy.png)}.tokenize{content:url(../img/uses/modallogos/tokenize.png)}html.light .tokenize{content:url(../img/uses/lightmode/tokenize.png)}.multichain{content:url(../img/uses/modallogos/multichain.png)}html.light .multichain{content:url(../img/uses/lightmode/multichain.png)}.crossmark{content:url(../img/uses/modallogos/crossmark.png)}html.light .crossmark{content:url(../img/uses/lightmode/crossmark.png)}.edge{content:url(../img/uses/modallogos/edge.png)}html.light .edge{content:url(../img/uses/lightmode/edge.png)}.gem-wallet{content:url(../img/uses/modallogos/gem-wallet.png)}html.light .gem-wallet{content:url(../img/uses/lightmode/gem-wallet.png)}.xumm{content:url(../img/uses/modallogos/xumm.png)}html.light .xumm{content:url(../img/uses/lightmode/xumm.png)}.aesthetes{content:url(../img/uses/modallogos/aesthetes.png)}html.light .aesthetes{content:url(../img/uses/lightmode/aesthetes.png)}.audiotarky{content:url(../img/uses/modallogos/audiotarky.png)}html.light .audiotarky{content:url(../img/uses/lightmode/audiotarky.png)}.nftmaster{content:url(../img/uses/modallogos/nftmaster.png)}html.light .nftmaster{content:url(../img/uses/lightmode/nftmaster.png)}.peerkat{content:url(../img/uses/modallogos/peerkat.png)}html.light .peerkat{content:url(../img/uses/lightmode/peerkat.png)}.sologenic_dex{content:url(../img/uses/modallogos/sologenic_dex.png)}html.light .sologenic_dex{content:url(../img/uses/lightmode/sologenic_dex.png)}.xrp-cafe{content:url(../img/uses/modallogos/xrp-cafe.png)}html.light .xrp-cafe{content:url(../img/uses/lightmode/xrp-cafe.png)}.xrp-oval{content:url(../img/uses/modallogos/xrp-oval.png)}html.light .xrp-oval{content:url(../img/uses/lightmode/xrp-oval.png)}.sologenic_dex{content:url(../img/uses/modallogos/sologenic_dex.png)}html.light .sologenic_dex{content:url(../img/uses/lightmode/sologenic_dex.png)}.xpmarket{content:url(../img/uses/modallogos/xpmarket.png)}html.light .xpmarket{content:url(../img/uses/lightmode/xpmarket.png)}.orchestra-finance{content:url(../img/uses/modallogos/orchestra-finance.png)}html.light .orchestra-finance{content:url(../img/uses/lightmode/orchestra-finance.png)}.moai-finance{content:url(../img/uses/modallogos/moai-finance.png)}html.light .moai-finance{content:url(../img/uses/lightmode/moai-finance.png)}.first-ledger-bot{content:url(../img/uses/modallogos/first-ledger-bot.png)}html.light .first-ledger-bot{content:url(../img/uses/lightmode/first-ledger-bot.png)}.forte{content:url(../img/uses/modallogos/forte.png)}html.light .forte{content:url(../img/uses/lightmode/forte.png)}.ledger-city{content:url(../img/uses/modallogos/ledger-city.png)}html.light .ledger-city{content:url(../img/uses/lightmode/ledger-city.png)}.futureverse{content:url(../img/uses/modallogos/futureverse.png)}html.light .futureverse{content:url(../img/uses/lightmode/futureverse.png)}.zerpmon{content:url(../img/uses/modallogos/zerpmon.png)}html.light .zerpmon{content:url(../img/uses/lightmode/zerpmon.png)}.anchain{content:url(../img/uses/modallogos/anchain.png)}html.light .anchain{content:url(../img/uses/lightmode/anchain.png)}.ripple{content:url(../img/uses/modallogos/ripple.png)}html.light .ripple{content:url(../img/uses/lightmode/ripple.png)}.supermojo{content:url(../img/uses/modallogos/supermojo.png)}html.light .supermojo{content:url(../img/uses/lightmode/supermojo.png)}.ripple{content:url(../img/uses/modallogos/ripple.png)}html.light .ripple{content:url(../img/uses/lightmode/ripple.png)}.carbonland-trust{content:url(../img/uses/modallogos/carbonland-trust.png)}html.light .carbonland-trust{content:url(../img/uses/lightmode/carbonland-trust.png)}.gatehub{content:url(../img/uses/modallogos/gatehub.png)}html.light .gatehub{content:url(../img/uses/lightmode/gatehub.png)}.bitgo{content:url(../img/uses/modallogos/bitgo.png)}html.light .bitgo{content:url(../img/uses/lightmode/bitgo.png)}.arrow-button.left-arrow img{content:url(../img/uses/left-arrow.svg)}.arrow-button.right-arrow img{content:url(../img/uses/right-arrow.svg)}.right-arrow-button.right-arrow img{background-color:transparent;border:none;cursor:pointer}.html.light .arrow-button.left-arrow img{content:url(../img/uses/left-arrow-light.svg)}.html.light .arrow-button.right-arrow img{content:url(../img/uses/right-arrow-light.svg)}.related-tasks-links a{color:#454549;text-decoration:none}.related-tasks-links a:hover{color:#000}.arrows-container{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;z-index:10}@media only screen and (max-width: 768px){.arrows-container{top:30px}}.arrow-button{background-color:transparent;border:none;cursor:pointer}.arrow-button img{width:40px;height:40px}.left-arrow{margin-left:40px}@media only screen and (max-width: 768px){.left-arrow{margin-left:0px}}.right-arrow{margin-right:40px}@media only screen and (max-width: 768px){.right-arrow{margin-right:0px}}.modal-uses{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.4)}.modal-content-uses{padding-top:40px;position:relative;background-color:#232325;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);padding:40px 20px 20px 20px;width:60% !important;height:520px;display:flex;flex-direction:column;align-items:center;overflow-y:hidden}@media only screen and (max-width: 1024px){.modal-content-uses{overflow-y:auto}}.modal-content-uses::before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg, #b480ff -0.32%, #5f00e6 32.7%, #1aa4ff 61.53%, #19ff83 100.32%, #19ff83 100.32%)}.content-section{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:20px}.section-image{display:block}.section-text-title{font-family:"Work Sans";font-style:normal;font-weight:500;font-size:24px;line-height:32px;text-align:center;color:#fff}.section-text-description{max-width:320px;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:16px;line-height:24px;text-align:center;color:#c1c1c2}.apps-built{position:relative;top:17px;left:50px;font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#e0e0e1}.numbers-animation{width:218px;height:96px}.arrow-animation{position:relative;right:23px;top:-11px;width:60px !important}.explore-projects{font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#7919ff;position:relative;top:-9px;right:27px}.section-separator{width:50%;border:0;border-top:1px solid #ccc}.logo-item.anchain{height:34px !important;max-width:146px !important}.threezy-logo{margin:4px;max-height:55px !important}.blockforce-logo{margin:0px !important;max-height:45px !important}.Evernode-logo{margin-right:39px}.logo-grid{display:grid;grid-template-rows:repeat(2, 1fr);grid-template-columns:repeat(4, 1fr);grid-gap:8px;justify-items:center}.flex-center{display:flex;justify-content:center}.top-row,.bottom-row{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}@media only screen and (max-width: 768px){.top-row,.bottom-row{justify-content:space-around;gap:10px;margin-bottom:0}}.top-row{margin-bottom:10px}.bottom-row{margin-top:10px}.logo-item{max-height:45px;max-width:108px;margin:5px}.close{color:#aaa;float:right;font-size:28px;font-weight:bold;cursor:pointer}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}#use-case-card-grid{grid-template-columns:repeat(2, 1fr)}@media(min-width: 768px){#use-case-card-grid{grid-template-columns:repeat(3, 1fr)}}@media(min-width: 992px){#use-case-card-grid{grid-template-columns:repeat(4, 1fr)}}@media(max-width: 1220px)and (min-width: 1024px){#use-case-card-grid{grid-template-columns:repeat(3, 1fr)}}.use-case-circle{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border:1px solid #343437;border-radius:50%;margin-bottom:30px;cursor:pointer}@media(min-width: 768px){.use-case-circle{aspect-ratio:1/1;min-width:200px !important;min-height:200px !important}}@media(min-width: 992px){.use-case-circle{aspect-ratio:1/1;min-width:250px !important;min-height:250px !important}}.use-case-circle:hover{border-color:#838386}.circle-content{display:flex;flex-direction:column;align-items:center;gap:13px}.circle-img{width:40px;height:40px}.circle-text{font-family:"Work Sans";font-style:normal;font-weight:700;white-space:nowrap;font-size:16px;margin-bottom:0px}.join-xrpl-section{display:flex;flex-direction:column;align-items:center}.colorful-join-text-wrapper{display:flex;justify-content:center;flex-direction:column;padding:0 5%;box-sizing:border-box}@media(min-width: 992px){.colorful-join-text-wrapper{padding:0 4%}}.colorful-join-text{display:block;width:100%;text-align:left;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:32px;line-height:38px;background:linear-gradient(90deg, #feff01 0%, #ff2d9a 30.82%, #e24cff 64.01%, #9a52ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#numbersAnimation{display:block}#numbersAnimationLight{display:none}html.light .section-separator{background:#c1c1c2}html.light .section-text-description{color:#343437}html.light .modal-content-uses{background:#fff}html.light #numbersAnimation{display:none}html.light #numbersAnimationLight{display:block}html.light .apps-built{position:relative;top:17px;left:50px;font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#232325}html.light .colorful-join-text{display:block;width:100%;text-align:left;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:32px;line-height:38px;background:linear-gradient(90deg, #b480ff -0.32%, #5f00e6 32.7%, #1aa4ff 61.53%, #19ff83 100.32%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(min-width: 992px){html.light .colorful-join-text{width:750px}}@media(min-width: 992px){.colorful-join-text{width:750px}}.pill-box{display:inline-flex;align-items:center;justify-content:center;padding:3.69087px 29.527px;width:73.05px;height:37.38px;background:#7919ff;border:3.69087px solid #5f00e5;border-radius:184.543px}.pill-number{font-family:"Work Sans";font-style:normal;font-weight:600;font-size:22.1452px;color:#f0e5ff}.use-case-steps h2{margin-top:10px;margin-bottom:10px;font-size:1.728em;line-height:32px;font-weight:700}.use-case-steps h2 a{text-decoration:none}.use-case-steps h2:first-of-type:before{display:none}.use-case h1{font-size:2.4em;padding-bottom:10px}.use-case-steps h2:before{margin-top:-30px;height:0}.use-case-steps h2:first-of-type{margin-top:-30px}.related-tasks-links ul{list-style-type:none;padding-left:0}.related-tasks-links ul li{margin:0px;padding-top:2px}.related-tasks-links a:hover::after{padding-left:.5em}.related-tasks-links a::after{content:" ➝";padding-left:0;transition:all .2s ease-in-out}.page-tokenization .tokenization-graphic{content:url("../img/backgrounds/tokenization-illustration.svg");width:100%;height:100%}.page-tokenization .show-md{display:none}@media(max-width: 991.98px){.page-tokenization .show-md{display:block}}.page-tokenization .hide-md{display:block}@media(max-width: 991.98px){.page-tokenization .hide-md{display:none}}.page-tokenization .tokenization-use-case{font-size:12px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #454549}.page-tokenization .tokenization-use-case .arrow-button img{width:15px;height:15px}.page-tokenization .tokenization-stats{width:100%;height:250px;border-radius:8px;background:linear-gradient(88deg, #9A52FF -14.32%, #32E685 45.35%, #19A3FF 100.76%);padding:4rem 2rem;display:grid;grid-template-columns:repeat(4, 1fr)}@media(max-width: 991.98px){.page-tokenization .tokenization-stats{display:block;height:100%;width:100%;padding:0 25%}}.page-tokenization .stat-container{color:#000;text-align:center;border-right:2px solid #000}@media(max-width: 991.98px){.page-tokenization .stat-container{border-right:none;padding-bottom:3rem;padding-top:2rem;border-bottom:2px solid #000}}.page-tokenization .stat-container:last-child{border:none}.page-tokenization .stat-container .stat{font-size:3rem;font-weight:300}.page-tokenization .stat-container p{font-weight:400}.page-tokenization .security-card{position:relative;border-radius:.5rem;background-color:transparent;white-space:normal;box-sizing:border-box}.page-tokenization .security-card::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(90deg, #d91aff 26.41%, #1aa4ff 100.32%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;z-index:-1}.page-tokenization .security-card p{margin-bottom:0 !important}@media(max-width: 767.98px){.page-tokenization .security-card .h6{font-size:1.25rem}}.page-tokenization .security-card-grid{gap:1rem;grid-template-columns:repeat(2, 1fr)}@media(min-width: 1200px){.page-tokenization .security-card-grid{grid-template-columns:repeat(4, 1fr)}}@media(max-width: 768px){.page-tokenization .security-card-grid{grid-template-columns:repeat(1, 1fr)}}.page-tokenization .video-external-link .link-text{margin-left:.25rem}.page-tokenization .video-external-link{margin-bottom:9px}.page-tokenization .tokenization-color-bar{align-self:stretch;height:.25rem;border-radius:2rem;background:var(--Gradient-3, linear-gradient(90deg, #FEFF01 0%, #FF2D9A 30.82%, #E24CFF 64.01%, #9A52FF 100%))}.page-tokenization .project-cards-container{gap:3rem}.page-tokenization .project-cards{width:100%}.page-tokenization .project-cards .project-name{word-break:break-word}.page-tokenization .project-cards .card{min-height:240px}.page-tokenization .project-cards .col::before{content:"";position:absolute;top:0;left:0;width:100%;height:.25rem;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.page-tokenization .project-cards .col.odd::before{background:linear-gradient(90deg, #D91AFF 26.41%, #1AA4FF 100.32%)}.page-tokenization .project-cards .col.even::before{background:linear-gradient(90deg, #4BB7FF -0.32%, #32E685 30.61%)}.page-tokenization .project-cards .project-logo{width:100%;height:50px;vertical-align:center;padding:0 .5rem}.page-tokenization .project-cards img{max-width:100%;height:auto;display:block;box-sizing:border-box}.page-tokenization .amy{content:url("../img/logos/amy.svg")}.page-tokenization .carbonland{content:url("../img/logos/carbonland.svg")}.page-tokenization .evernode{content:url("../img/logos/evernode.svg")}.page-tokenization .nautilus{content:url("../img/logos/nautilus.svg")}.page-tokenization .onXRP{content:url("../img/logos/onXRP.svg")}.page-tokenization .raised-in-space{content:url("../img/logos/raised-in-space.svg")}.page-tokenization .sologenic{content:url("../img/logos/sologenic.svg")}.page-tokenization .xaman{content:url("../img/logos/xaman-labs.svg")}.page-tokenization .xrpcafe{content:url("../img/logos/xrpcafe.svg")}.page-tokenization .prev img{content:url("../img/icons/prev.svg")}.page-tokenization .next img{content:url("../img/icons/prev.svg");transform:scaleX(-1)}.page-tokenization .arrow-wrapper{gap:1rem}.page-tokenization .arrow-button{background-color:#232325;border-radius:.25rem;align-items:center;justify-content:center}.page-tokenization .next.hover-color:hover img{content:url("../img/icons/next-purple.svg");transform:scaleX(1)}.page-tokenization .prev.hover-color:hover img{content:url("../img/icons/next-purple.svg");transform:scaleX(-1)}.page-tokenization .related-articles{gap:2.5rem}.page-tokenization .related-articles .col{background-color:#000;padding:2rem !important;border-radius:.5rem}.page-tokenization .related-articles .time{position:relative;padding-top:.5rem}.page-tokenization .related-articles .time::before{content:"";position:absolute;top:0;left:0;width:50px;height:4px;background-color:#32e685}.page-tokenization .project-cards a,.page-tokenization .related-articles a{text-decoration:none}.page-tokenization .project-cards a:hover .project-name{color:#9a52ff}.page-tokenization .related-articles a:hover .h5{color:#9a52ff}.page-tokenization .article-card-container{position:relative;width:100%}.page-tokenization .article-card-container:nth-child(1) .article-card-background{background-image:linear-gradient(86deg, #B20058 -21.16%, #E24CFF 31.78%, #9A52FF 101.64%)}.page-tokenization .article-card-container:nth-child(2) .article-card-background{background-image:linear-gradient(22deg, #B480FF -6.54%, #5F00E5 50.87%, #1AA4FF 114.16%)}.page-tokenization .article-card-container:nth-child(3) .article-card-background{background-image:linear-gradient(162deg, #B480FF -11.11%, #1AA4FF 56.26%, #2DCF78 112.84%)}.page-tokenization .article-card-background{height:calc(100% + 1.5rem);width:100%;z-index:1;background-size:cover;position:absolute;top:-0.75rem;border-radius:.5rem}.page-tokenization .article-card{width:100%;height:100%;position:relative;top:0;left:.75rem;z-index:2;display:block}body,.landing.page-uses{overflow-x:hidden}.dark [data-component-name="Breadcrumbs/Breadcrumbs"]+div>a>svg>rect{fill:transparent}[data-component-name="layouts/RootLayout"]{padding-top:132px}.top-nav{background-color:#111112;height:80px;padding:0}.top-nav .navbar-brand{text-decoration:none;white-space:pre;-webkit-transition:opacity .2s ease,color .2s ease;transition:opacity .2s ease,color .2s ease;padding-left:2rem}.top-nav .navbar-brand .logo{margin-left:0;content:url(../img/XRPLedger_DevPortal-white.svg);width:162px;height:40px;display:block}.top-nav .navbar-brand:hover{opacity:.75}@media(max-width: 991.98px){.top-nav .navbar-brand{padding-left:2rem}.top-nav .navbar-brand img{width:120px}}.top-nav .nav-item{font-weight:600}@media(min-width: 992px){.top-nav #topnav-pages{flex-grow:1}}.top-nav #topnav-pages .nav-link{color:#f5f5f7;font-size:1rem;line-height:1.25rem;text-decoration:none;font-weight:600}.top-nav .dropdown-toggle{position:relative}.top-nav .dropdown-menu{border-width:0}.top-nav .dropdown-menu h5{font-weight:400;font-size:12px;color:#a2a2a4;margin-bottom:0}.top-nav .dropdown-menu .dropdown-item{line-height:1rem;padding:.75rem 0;white-space:normal}.top-nav .dropdown-menu .dropdown-item.dropdown-hero{width:100%;display:flex;padding:1rem 2rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero>img{width:68px;height:68px;background-color:#232325;border-radius:4px;flex-grow:0;padding:.75rem;margin-right:2rem;margin-top:auto;margin-bottom:auto}.top-nav .dropdown-menu .dropdown-item.dropdown-hero p{font-size:14px;color:#c1c1c2;margin:0;white-space:normal}.top-nav .dropdown-menu .dropdown-item.dropdown-hero h4{font-size:1.25rem;font-weight:600;margin-bottom:0;line-height:2rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero:hover h4{color:#9a52ff}.top-nav .dropdown-menu .dropdown-item.dropdown-hero:hover p{font-weight:400}.top-nav .dropdown-menu .dropdown-item:last-child{padding-bottom:0}.top-nav .dropdown-menu .dropdown-item:first-child{padding-top:0}.top-nav .dropdown-menu .col-for-get_started{background-color:#232325}.top-nav .dropdown-menu a:hover{color:#9a52ff;background-color:inherit}.top-nav .dropdown-menu h5:hover{background-color:inherit}.top-nav #topnav-search{flex-grow:1}.top-nav #topnav-search .input-group{flex-grow:1;flex-wrap:nowrap}@media(max-width: 991.98px){.top-nav #topnav-search .form-inline{padding:1rem 2rem}}.top-nav #topnav-search .input-group-text{height:40px}.top-nav #topnav-search .ds-input{height:40px}.top-nav #topnav-language .dropdown-item{font-weight:600}@media(min-width: 992px){.top-nav{padding:0 2rem}.top-nav .navbar-brand{margin-left:0;padding-left:0}.top-nav .dropdown-toggle::after{display:none}.top-nav .dropdown-toggle>span{border-bottom:2px solid transparent}.top-nav .dropdown .dropdown-toggle:hover>span:not(.chevron){padding-bottom:8px;border-bottom:2px solid #9a52ff;margin-bottom:-8px}.top-nav .dropdown-menu{border-radius:0 0 8px 8px;padding:2.5rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero{padding:0}.top-nav .dropdown-menu.show{display:grid;gap:40px}.top-nav .dropdown-menu.show#topnav_dd_about{grid-template-columns:180px 180px 180px}.top-nav .dropdown-menu.show#topnav_dd_docs{grid-template-columns:180px 180px 260px;left:-200px}.top-nav .dropdown-menu.show#topnav_dd_community{grid-template-columns:200px}.top-nav .dropdown-menu.show#topnav_dd_resources{grid-template-columns:195px 180px 180px;left:-200px}.top-nav .dropdown-menu.show .dropdown-hero{grid-row:1;grid-column:1/4}.top-nav .dropdown-menu.show #dropdown-hero-for-docs{grid-column:1/3}.top-nav .dropdown-menu.show .col-for-xrp_ledger{grid-row:1/3;grid-column:1}.top-nav .dropdown-menu.show .col-for-xrp{grid-column:2}.top-nav .dropdown-menu.show .col-for-sustainability,.top-nav .dropdown-menu.show .col-for-持続可能性{grid-column:2}.top-nav .dropdown-menu.show .col-for-about,.top-nav .dropdown-menu.show .col-for-概要{grid-row:1/3;grid-column:3}.top-nav .dropdown-menu.show .col-for-article_types{grid-column:1;grid-row:2}.top-nav .dropdown-menu.show .col-for-use_cases{grid-column:2;grid-row:2}.top-nav .dropdown-menu.show .col-for-get_started{grid-column:3;grid-row:1/3;margin:-40px -40px -40px 0;padding:40px}.top-nav .dropdown-menu.show .col-for-development{grid-column:1}.top-nav .dropdown-menu.show .col-for-current-status,.top-nav .dropdown-menu.show .col-for-現在のステータス{grid-column:2}.top-nav .dropdown-menu.show .col-for-join-in,.top-nav .dropdown-menu.show .col-for-参加する{grid-column:3}.top-nav .dropdown-menu.smaller-dropdown{min-width:180px;padding:1.25rem}.top-nav #topnav-pages{flex-grow:0}}@media(min-width: 992px)and (min-width: 992px)and (max-width: 1133px){.top-nav #topnav-pages .nav-link{padding:1rem 1rem}}@media(min-width: 992px){.top-nav #topnav-language{flex-grow:0}.top-nav #topnav-language hr{display:none}.top-nav #topnav-language #language_selector_header_btn{padding-right:0}}@media(min-width: 992px)and (min-width: 992px)and (max-width: 1133px){.top-nav #topnav-language #language_selector_header_btn{padding-left:1rem}}@media(min-width: 992px)and (min-width: 1200px){.top-nav #topnav-search{margin-left:3.5rem;margin-right:.5rem}.top-nav #topnav-language{margin-right:.5rem}.top-nav #topnav-button{margin-left:.2rem;margin-right:1rem}}@media(max-width: 991.98px){.top-nav .navbar-toggler{border:0;padding:30px 2rem;font-size:1rem;display:inline-block}.top-nav .navbar-toggler .navbar-toggler-icon{background:none;height:20px;width:20px;position:relative}.top-nav .navbar-toggler .navbar-toggler-icon::after,.top-nav .navbar-toggler .navbar-toggler-icon::before,.top-nav .navbar-toggler .navbar-toggler-icon div{position:absolute;content:" ";background-color:#f5f5f7;display:block;width:100%;height:3px;transition:all .2s ease}.top-nav .navbar-toggler .navbar-toggler-icon::before{top:0}.top-nav .navbar-toggler .navbar-toggler-icon::after{bottom:0}.top-nav .navbar-toggler .navbar-toggler-icon div{top:calc(50% - 1.5px)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon::before{transform:translateY(8px) rotate(135deg)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon::after{transform:translateY(-9px) rotate(-135deg)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon div{transform:scale(0)}.top-nav .navbar-nav{align-items:unset !important}.top-nav .navbar-nav #topnav-button{background-color:#111112;padding:1rem 1.5rem}.top-nav .navbar-nav #topnav-search [data-component-name="Search/SearchTrigger"]{cursor:pointer}.top-nav .navbar-nav .nav-link,.top-nav .navbar-collapse>.nav-item{line-height:150%;background:#111112}.top-nav .navbar-nav .nav-link label,.top-nav .navbar-collapse>.nav-item label{margin-bottom:0}.top-nav .navbar-nav .nav-link{padding:1rem 2rem}.top-nav .dropdown-menu{margin:0;width:100%;overflow:auto;transition:all .2s ease;height:0;display:block;padding:0;border-radius:0}.top-nav .dropdown-menu.show{height:calc(100vh - 80px - 52px)}.top-nav .dropdown-menu.show>:last-child{padding-bottom:4rem}.top-nav .dropdown-menu.show#topnav_dd_docs{display:grid;grid-template-columns:minmax(187px, 1fr) minmax(187px, 1fr);gap:1px;left:-200px}.top-nav .dropdown-menu.show#topnav_dd_docs .dropdown-hero{grid-column:1/3;grid-row:1}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-document_types{grid-column:1;grid-row:2}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-use_cases{grid-column:2;grid-row:2}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-get_started{grid-column:1/3;grid-row:4;margin:-1px;padding-top:33px}.top-nav .dropdown-menu .navcol{padding:1rem 2rem}.top-nav .dropdown-menu.smaller-dropdown{padding:0 2rem}.top-nav .dropdown-menu.smaller-dropdown.show{padding:1rem 2rem;height:auto}.top-nav .dropdown-menu .dropdown-hero:first-child{padding-top:1rem}.top-nav .dropdown-toggle:not(.with-caret)::before,.top-nav .dropdown-toggle:not(.with-caret)::after{border:0;font-family:FontAwesome;color:#9a52ff;font-size:.75rem;transition:all .2s ease;overflow:clip;width:1rem}.top-nav .dropdown-toggle:not(.with-caret)::before{content:"";display:inline-block;margin-bottom:-5px}.top-nav .dropdown-toggle:not(.with-caret)::after{content:"";position:absolute;right:2rem}.top-nav .dropdown.show .dropdown-toggle::after{text-indent:5rem}.top-nav .dropdown:not(.show) .dropdown-toggle::before{width:0;height:0;text-indent:-5rem}.top-nav .dropdown-toggle.with-caret::after{border:0}.top-nav #top-main-nav{background-color:#232325;padding-top:32px;position:relative}.top-nav #top-main-nav.submenu-expanded{padding-top:0}.top-nav #top-main-nav.submenu-expanded .dropdown:not(.show) .dropdown-toggle{display:none}.top-nav #top-main-nav.submenu-expanded #topnav-search,.top-nav #top-main-nav.submenu-expanded #topnav-language,.top-nav #top-main-nav.submenu-expanded #topnav-theme{height:0;overflow:clip;padding-top:0;padding-bottom:0}.top-nav #topnav-search{position:absolute;top:0;right:105px}.top-nav #topnav-search .input-group{flex-wrap:nowrap}.top-nav #topnav-language{position:absolute;top:0;right:65px}.top-nav #topnav-language hr{border-top:1px solid #232325;margin-top:.25rem;margin-bottom:.25rem;display:static}.top-nav #topnav-theme{position:absolute;top:0;right:26px}}article h1:before,article h2:before,article h3:before,article h4:before,article h5:before,article h6:before,.interactive-block:before{display:block;content:" ";margin-top:-24px;height:60px;visibility:hidden;pointer-events:none}article h1:first-of-type:before{margin-top:-40px}.chevron{position:relative;display:inline-block;width:.75rem;height:.5625rem}.chevron span{position:absolute;top:.25rem;display:inline-block;width:.5rem;height:.15rem;background-color:#9a52ff;transition:all .2s ease;border:none}.chevron:not(.expander) span:first-of-type{left:0;transform:rotate(45deg)}.chevron:not(.expander) span:last-of-type{right:0;transform:rotate(-45deg)}.chevron.active span:first-of-type{transform:rotate(-45deg)}.chevron.active span:first-of-type{transform:rotate(45deg)}.dropdown.show .chevron span:first-of-type,.expander:not(.collapsed) .chevron span:first-of-type{transform:rotate(-45deg)}.dropdown.show .chevron span:last-of-type,.expander:not(.collapsed) .chevron span:last-of-type{transform:rotate(45deg)}#topnav-theme>div{border-radius:var(--language-picker-border-radius);color:var(--language-picker-text-color);background-color:var(--language-picker-background-color);border:1px solid var(--language-picker-border-color);padding:var(--language-picker-input-padding-vertical) var(--language-picker-input-padding-horizontal);min-height:var(--language-picker-min-height)}@media(max-width: 991.98px){.navbar-collapse,.dropdown-menu{box-shadow:0px 25px 40px -20px #000}}.web-banner{text-decoration:none;display:flex;justify-content:space-between;height:52px;background:#32e685 !important;padding:7px 35px;font-family:"Space Grotesk";z-index:10;cursor:pointer;color:#000 !important;text-align:center;font-family:"Space Grotesk";font-size:26px;font-style:normal;font-weight:600;letter-spacing:-0.32px}.web-banner:hover{text-decoration:none;color:#fff}.web-banner:hover .button-icon{animation:iconJitter .7s cubic-bezier(0.16, 1, 0.3, 1) forwards;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}.web-banner::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#e0e500;z-index:0;transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(0.7, 0, 0.84, 0);will-change:transform}.web-banner:hover::after{transform:scaleX(1);transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}.web-banner>*{position:relative;z-index:1}@media(max-width: 768px){.web-banner{font-size:18px;padding:11px 35px}.web-banner .banner-button{gap:11px !important}.web-banner .button-text{margin-bottom:4px}}@media(max-width: 564px){.web-banner{font-size:15px;padding:9px 40px}.web-banner .button-text{margin-bottom:0px}.web-banner .banner-event-details{gap:0px !important;flex-direction:column;text-align:left;line-height:21px}.web-banner .banner-event-details .event-date{position:relative;top:-5px}.web-banner .banner-button{align-self:baseline;gap:8px !important;margin-top:-2px !important;padding-top:0px !important}}.web-banner .banner-button{display:flex;align-items:center;gap:14.5px;padding-top:1px}.web-banner .banner-button img{width:24.5px;height:33.7px}@media(max-width: 768px){.web-banner .banner-button img{width:15.5px;height:17px;margin-top:4px}}@media(max-width: 564px){.web-banner .banner-button img{width:14.5px;height:13.85px}}.web-banner .banner-event-details{display:flex;gap:32px}.web-banner .button-icon{transform-style:preserve-3d;aspect-ratio:.71;object-fit:contain;animation:none;transform:rotateZ(0deg);transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1);align-self:stretch;margin:auto 0;transform-style:preserve-3d}@keyframes iconJitter{from{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(0deg) skew(0deg, 0deg)}to{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(45deg) skew(0deg, 0deg)}}.web-banner a{text-decoration:none}.button-icon{animation:iconJitter .7s ease-in-out;animation-iteration-count:1;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}@keyframes iconReturn{from{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(45deg) skew(0deg, 0deg)}to{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(0deg) skew(0deg, 0deg)}}.web-banner.has-hover:not(:hover) .button-icon{animation:iconReturn .7s ease-in-out forwards;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}[data-component-name="Markdown/Markdown"] article{padding-bottom:50px}[data-component-name="Markdown/Markdown"] article p code,[data-component-name="Markdown/Markdown"] article table code,[data-component-name="Markdown/Markdown"] article li>code{background-color:#0a2e1b;color:#5beb9d}[data-component-name="Markdown/Markdown"] article a{text-decoration:underline}[data-component-name="Markdown/Markdown"] article h1{font-size:3rem;margin-top:32px;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article h1:first-child{margin-top:0;line-height:1.2}[data-component-name="Markdown/Markdown"] article h2,[data-component-name="Markdown/Markdown"] article h2.md{margin-top:2.5rem;margin-bottom:1.5rem;font-size:2.5rem;font-weight:600;line-height:1.2}[data-component-name="Markdown/Markdown"] article h3,[data-component-name="Markdown/Markdown"] article h3.md{font-size:2.125rem;margin-top:2rem;margin-bottom:1rem;line-height:1.2}[data-component-name="Markdown/Markdown"] article h4{font-size:1.75rem;margin-top:1.5rem;margin-bottom:.5rem;line-height:1.2}[data-component-name="Markdown/Markdown"] article h5{font-size:1.25rem;margin-top:1.25rem;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article h6{font-size:1rem;margin-top:1rem;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article li{margin:6px;margin-top:24px}[data-component-name="Markdown/Markdown"] article li p{margin:0}[data-component-name="Markdown/Markdown"] article a[title=Source],[data-component-name="Markdown/Markdown"] article a[title=ソース]{float:right;padding-left:20px}[data-component-name="Markdown/Markdown"] article h1.invisible,[data-component-name="Markdown/Markdown"] article h2.invisible,[data-component-name="Markdown/Markdown"] article h3.invisible,[data-component-name="Markdown/Markdown"] article h4.invisible,[data-component-name="Markdown/Markdown"] article h5.invisible,[data-component-name="Markdown/Markdown"] article h6.invisible{font-size:0;line-height:0;margin:0}[data-component-name="Markdown/Markdown"] article h1.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h2.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h3.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h4.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h5.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h6.invisible .hover_anchor{display:none}[data-component-name="Markdown/Markdown"] article .shield{display:inline-block !important;vertical-align:middle}.blurb a{text-decoration:underline}.hover_anchor{visibility:hidden;padding-left:1rem;font-size:1.25rem}h1:hover .hover_anchor,h2:hover .hover_anchor,h3:hover .hover_anchor,h4:hover .hover_anchor,h5:hover .hover_anchor,h6:hover .hover_anchor{visibility:visible;text-decoration:none}pre{color:#fff;background-color:#232325;word-wrap:normal;padding:2rem;border-radius:4px}pre code{white-space:pre;color:#fff;background-color:#232325}.multicode{padding:0;z-index:1;position:relative}.multicode pre{background:none;border:none;border-radius:0;padding:0;clear:both}.multicode pre code{overflow:auto;max-height:24em;border-radius:0 4px 4px 4px;display:block;padding:2rem}.multicode pre code.expanded{overflow:visible;max-height:none;position:absolute;min-width:100%}.multicode ul{margin:0 !important;padding:0}.multicode ul li{display:block;float:left;list-style-type:none;margin-right:0px;margin-left:0px;border:0;clear:none}.multicode a{text-decoration:none;color:#fff;background-color:transparent;padding:.75rem 2rem;margin:0;border-radius:4px 4px 0 0}.multicode a.current{background-color:#232325}.multicode a:hover{text-decoration:none;background-color:#232325;color:#9a52ff;padding-bottom:.625rem}.multicode .btn{z-index:10}.multicode .codetabs{position:relative;z-index:10}.clipboard-btn{z-index:10;margin-right:10px}.codehilite{background:#232325;color:#fff}.codehilite .c,.codehilite .ch,.codehilite .cm,.codehilite .cp,.codehilite .cpf,.codehilite .c1,.codehilite .cs{color:#838386}.codehilite .k,.codehilite .kc,.codehilite .kd,.codehilite .kn,.codehilite .kp,.codehilite .kr,.codehilite .kt{color:#ff6719}.codehilite .m,.codehilite .mb,.codehilite .mh,.codehilite .mi,.codehilite .mo,.codehilite .il{color:#19a3ff}.codehilite .n,.codehilite .na,.codehilite .nb,.codehilite .nc,.codehilite .nd,.codehilite .ne,.codehilite .nf,.codehilite .ni,.codehilite .nl,.codehilite .nn,.codehilite .nt,.codehilite .nv,.codehilite .nx,.codehilite .bp,.codehilite .fm,.codehilite .py{color:#fff}.codehilite .p{color:#e0e0e1}.codehilite .s,.codehilite .s1,.codehilite .s2,.codehilite .sa,.codehilite .sb,.codehilite .sc,.codehilite .dl,.codehilite .sd,.codehilite .se,.codehilite .sh,.codehilite .si,.codehilite .sr,.codehilite .ss,.codehilite .sx{color:#28b86a}.codehilite{background:transparent;position:relative}.codehilite .btn-group{top:1rem;right:1rem;position:absolute}.multicode .codehilite .btn-group{top:70px;right:20px}#redocly_root .cm-foldPlaceholder{background-color:#232325;border:none;font-size:18px}article img{max-width:100%;height:auto}article svg{max-width:100%}article .floating-diagram{margin:.5rem;float:left}article li{clear:left}html:not(.light) article svg[fill=black]{fill:#fff;stroke:#fff}html:not(.light) article svg[fill=black] *[fill=white]{fill:#000}html:not(.light) article svg[fill=black] *[stroke=white]{stroke:#000}html:not(.light) article svg[fill=black] *[fill=black]{fill:#fff}html:not(.light) article svg[fill=black] *[stroke=black]{stroke:#fff}html:not(.light) article svg[fill=black] g[fill=blue]{fill:#19a3ff}html:not(.light) article svg[fill=black] g[stroke=blue]{stroke:#19a3ff}html:not(.light) article svg[fill=black] g[fill="rgb(120,120,120)"]{fill:#e0e0e1}html:not(.light) article svg[fill=black] g[stroke="rgb(120,120,120)"]{stroke:#e0e0e1}html:not(.light) article svg[fill=black] g[fill="rgb(200,200,200)"]{fill:#343437}html:not(.light) article svg[fill=black] g[fill="rgb(70,70,70)"]{fill:#838386}html:not(.light) article svg[fill=black] g[stroke="rgb(70,70,70)"]{stroke:#838386}html:not(.light) article svg[fill=black] g[fill="rgb(29,180,255)"]{fill:#9a52ff}html:not(.light) article svg[fill=black] g[stroke="rgb(29,180,255)"]{stroke:#9a52ff}html:not(.light) article svg[fill=black] rect[stroke="rgb(245,247,249)"]{stroke:#000}html:not(.light) article svg[fill=black] g[fill=lime],html:not(.light) article svg[fill=black] g[fill="rgb(0,255,0)"]{fill:#9a52ff}html:not(.light) article svg[fill=black] g[stroke=lime],html:not(.light) article svg[fill=black] g[stroke="rgb(0,255,0)"]{stroke:#9a52ff}html:not(.light) article svg[fill=black] g[fill=yellow],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#faff19}html:not(.light) article svg[fill=black] g[fill=yellow] path[stroke=black],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"] path[stroke=black]{stroke:#000}html:not(.light) article svg[fill=black] g[fill=red],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#ff198b}html:not(.light) article svg[fill=black] g[stroke=red],html:not(.light) article svg[fill=black] g[stroke="rgb(255,255,0)"]{stroke:#ff198b}html:not(.light) article svg[fill=black] g[fill=yellow]+g text,html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]+g text{fill:#000}html:not(.light) article svg[fill=black] g[fill=lime]+g text{fill:#000}html:not(.light) article svg[fill=none] path[fill="#000000"]{fill:#fff}html:not(.light) article svg[fill=none] path[stroke="#000000"]{stroke:#fff}html:not(.light) article svg[fill=none] path[fill="#ffffff"]{fill:#000}html:not(.light) article svg[fill=none] path[stroke="#ffffff"]{stroke:#000}html:not(.light) article svg[fill=none] path[fill="#23292f"],html:not(.light) article svg[fill=none] path[fill="#23282f"]{fill:#fff}html:not(.light) article svg[fill=none] path[stroke="#23292f"],html:not(.light) article svg[fill=none] path[stroke="#23282f"]{stroke:#fff}html:not(.light) article svg[fill=none] path[fill="#2c3e50"],html:not(.light) article svg[fill=none] path[fill="#2b3e51"]{fill:#e0e0e1}html:not(.light) article svg[fill=none] path[stroke="#2c3e50"],html:not(.light) article svg[fill=none] path[stroke="#2b3e51"]{stroke:#e0e0e1}html:not(.light) article svg[fill=none] path[fill="#1c2835"]{fill:#f5f5f7}html:not(.light) article svg[fill=none] path[stroke="#1c2835"]{stroke:#f5f5f7}html:not(.light) article svg[fill=none] path[fill="#21aa47"]{fill:#32e685}html:not(.light) article svg[fill=none] path[stroke="#21aa47"]{stroke:#32e685}html:not(.light) article svg[fill=none] path[fill="#e64b3b"]{fill:#dc3545}html:not(.light) article svg[fill=none] path[stroke="#e64b3b"]{stroke:#dc3545}html:not(.light) article svg[fill=none] path[stroke="#27a2db"],html:not(.light) article svg[fill=none] path[stroke="#00aae4"]{stroke:#9a52ff}html:not(.light) article svg[fill=none] path[fill="#27a2db"],html:not(.light) article svg[fill=none] path[fill="#00aae4"]{fill:#9a52ff}html:not(.light) article svg[fill=none] path[fill="#e6e7e8"]{fill:#232325}html:not(.light) article svg[fill=none] path[stroke="#e6e7e8"]{stroke:#232325}html:not(.light) article svg[fill=none] path[stroke="#ffbf27"]{stroke:#d919ff}html:not(.light) article svg[fill=none] path[fill="#00ff00"]{fill:#32e685}html:not(.light) article svg[fill=none] path[stroke="#00ff00"]{stroke:#32e685}html:not(.light) article svg[fill=none] path[fill="#ff00ff"]{fill:#ff198b}html:not(.light) article svg[fill=none] path[stroke="#ff00ff"]{stroke:#ff198b}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#ffffff"]{stop-color:#343437}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#e6e7e8"]{stop-color:#232325}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#dbdcdd"]{stop-color:#000}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#b1b3b5"]{stop-color:#111112}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#29a1da"]{stop-color:#2dcf78}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#2789b9"]{stop-color:#5beb9d}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#6bc1ec"]{stop-color:#adf5ce}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#8ad6f4"]{stop-color:#84f0b6}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#fab913"]{stop-color:#f2b2ff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#fad26b"]{stop-color:#ea80ff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#f8a136"]{stop-color:#e24cff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#f7931a"]{stop-color:#c000e5}html.light svg[fill=black] g[fill=blue]{fill:#006bb2}html.light svg[fill=black] g[stroke=blue]{stroke:#19a3ff}html.light svg[fill=black] g[fill="rgb(120,120,120)"]{fill:#343437}html.light svg[fill=black] g[stroke="rgb(120,120,120)"]{stroke:#343437}html.light svg[fill=black] g[fill="rgb(200,200,200)"]{fill:#a2a2a4}html.light svg[fill=black] g[fill="rgb(70,70,70)"]{fill:#343437}html.light svg[fill=black] g[stroke="rgb(70,70,70)"]{stroke:#343437}html.light svg[fill=black] g[fill="rgb(29,180,255)"]{fill:#19a3ff}html.light svg[fill=black] g[stroke="rgb(29,180,255)"]{stroke:#006bb2}html.light svg[fill=black] rect[stroke="rgb(245,247,249)"]{stroke:#fcfcfd}html.light svg[fill=black] g[fill=lime],html.light svg[fill=black] g[fill="rgb(0,255,0)"]{fill:#5beb9d}html.light svg[fill=black] g[stroke=lime],html.light svg[fill=black] g[stroke="rgb(0,255,0)"]{stroke:#28b86a}html.light svg[fill=black] g[fill=yellow],html.light svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#fcff80}html.light svg[fill=black] g[fill=red],html.light svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#ff4ba4}html.light svg[fill=black] g[stroke=red],html.light svg[fill=black] g[stroke="rgb(255,255,0)"]{stroke:#ff198b}html.light svg[fill=none] rect[fill="#111112"]{fill:#f5f5f7}html.light svg[fill=none] path[fill=white]{fill:#000}html.light svg[fill=none] path[fill="#343437"]{fill:#c1c1c2}html.light svg[fill=none] path[fill="#A2A2A4"],html.light svg[fill=none] rect[fill="#A2A2A4"],html.light svg[fill=none] ellipse[fill="#A2A2A4"]{fill:#454549}html.light svg[fill=none] path[fill="#232325"]{fill:#e0e0e1}html.light svg[fill=none] path[fill="#F5F5F7"]{fill:#111112}html.light svg[fill=none] path[stroke="#F5F5F7"]{stroke:#111112}html.light svg[fill=none] path[stroke="#FF198B"]{stroke:#b20058}html.light svg[fill=none] linearGradient stop[stop-color="#F5F5F7"]{stop-color:#111112}html.light svg[fill=none] linearGradient stop[stop-color="#C1C1C2"]{stop-color:#343437}.external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:16px;padding:0 4px 0 8px;width:16px;height:16px;background-position:center;transition:transform 100ms ease-in-out}.external-link:hover::after{transform:translate(3px, -3px)}.external-link .fa-external-link{display:none}.top-nav .dropdown .external-link::after,.xrpl-footer .external-link::after{background-position:left 6px bottom 1px;width:2rem}@-moz-document url-prefix(){@supports(animation: calc(0s)){.top-nav .dropdown .external-link::after,.xrpl-footer .external-link::after{background-position:left 8px bottom 2px}}}.top-nav .dropdown .external-link:hover::after,.xrpl-footer .external-link:hover::after{background-position:left 8px bottom 3px}.q-wrapper .external-link::after{background-position:left 0 bottom 7px}.q-wrapper .external-link:hover::after{background-position:left 4px bottom 11px}.li-links{position:relative;border-bottom:2px solid #454549}.li-links a{width:100%;padding:16px 0}.li-links a::after{position:absolute;right:4px;content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:1.5rem;padding:0 .5rem;background-position:left 0 bottom -0.1rem;transition:background-position 100ms ease-in-out}.li-links a:hover::after{background-position:left .2rem bottom .1rem}[data-component-name="Footer/Footer"]{padding:7.5rem 2rem}[data-component-name="Footer/Footer"] [data-component-name="Footer/FooterColumn"]{text-shadow:#111112 0px 0px 2px,#111112 1px 1px 2px,#111112 2px 2px 3px,#111112 2px 2px 4px,#111112 2px 2px 5px,#111112 2px 2px 6px,#111112 -1px -1px 2px,#111112 -2px -2px 3px,#111112 -2px -2px 4px}@media(min-width: 992px){[data-component-name="Footer/Footer"]{background-image:url(../img/backgrounds/footer.svg);background-size:cover;background-repeat:no-repeat;background-position:bottom right}}@media(max-width: 991.98px){[data-component-name="Footer/Footer"] .col-lg:not(:first-child){margin-top:4rem}}[data-component-name="Footer/Footer"] h5{font-size:1rem;font-weight:600;color:#a2a2a4}[data-component-name="Footer/Footer"] .nav-link{padding:.75rem 0;line-height:1}[data-component-name="Footer/Footer"] .absolute-bottom-footer{font-size:10px;line-height:1rem}@media(max-width: 991.98px){[data-component-name="Footer/Footer"] .absolute-bottom-footer .copyright-license{margin-top:3rem}}.devportal-callout.tip,.devportal-callout.ヒント{border-color:#32e685}.devportal-callout.tip>strong:first-child:before,.devportal-callout.ヒント>strong:first-child:before{color:#32e685}.devportal-callout.note>strong:first-child:before,.devportal-callout.注記>strong:first-child:before{color:#19a3ff}.devportal-callout.note,.devportal-callout.注記{border-color:#19a3ff}.devportal-callout.caution,.devportal-callout.注意{border-color:#faff19}.devportal-callout.caution>strong:first-child:before,.devportal-callout.注意>strong:first-child:before{color:#faff19}.devportal-callout.warning,.devportal-callout.警告{border-color:#ff198b}.devportal-callout.warning>strong:first-child:before,.devportal-callout.警告>strong:first-child:before{color:#ff198b}blockquote,.devportal-callout{border-style:solid;border-radius:0;border-width:1px;border-left-width:4px;padding:5px;padding-left:25px;page-break-inside:avoid}.devportal-callout>strong:first-child{display:block;page-break-after:avoid}.devportal-callout.tip>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.note>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.caution>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.warning>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}@media(min-width: 992px){.card,.cta-card,.q-wrapper{box-shadow:0px 5px 40px #000}}#code-samples-deck .card{box-shadow:none;margin:0 2rem 5rem 2rem}#code-samples-deck .card-header{border-bottom:none;background-color:unset}#code-samples-deck .card-footer{background-color:unset;font-size:initial}#code-samples-deck .card-deck .card a{margin:0 2.5rem 5rem 2.5rem}#code-samples-deck .circled-logo{margin-left:-15px}@media(min-width: 992px){.code-contribute{width:75vw;position:relative;left:20%;right:20%;margin-left:-30vw;margin-right:-30vw}}.contribute::before{content:"";display:block;height:2px;width:100%;position:absolute;top:0}.contribute .dot{height:16px;width:16px;background-color:#111112;border-radius:50%;border:3px solid #fbff4c;display:inline-block;position:absolute;top:-7px;left:-6px}@media(max-width: 991.98px){.contribute::before{left:0;height:100%;width:2px;top:15px}.contribute .dot{top:5px;left:-6px}}.contribute_1::before{background:-webkit-linear-gradient(left, #feff01, #ff2d9a)}.contribute_1 .dot{border-color:#fbff4c}.contribute_2::before{background:-webkit-linear-gradient(left, #ff2d9a, #e24cff)}.contribute_2 .dot{border-color:#ff198b}.contribute_3::before{background:-webkit-linear-gradient(left, #e24cff, #9a52ff)}.contribute_3 .dot{border-color:#c000e5}.contribute_4::before{background:-webkit-linear-gradient(left, #9a52ff, #9a52ff)}.contribute_4 .dot{border-color:#9a52ff}.card>img{border-radius:8px 8px 0 0}.card-body>p,.card-body>p:not(:last-child){padding:0;margin-bottom:2rem}main a.card{border:0;color:#fff}a.card:hover,a:hover .card-new,[data-component-name="Markdown/Markdown"] a.card{text-decoration:none !important}a.card:hover h3{text-decoration:underline}.circled-logo{background-color:#454549;border-radius:50%;padding:.65rem;width:50px;height:50px;margin-bottom:.75rem;border:2px solid #232325}.circled-logo img{width:26px;height:26px;display:inline-block}.light .circled-logo{border:none}.cols-of-1{grid-template-rows:repeat(1, min-content)}.cols-of-2{grid-template-rows:repeat(2, min-content)}.cols-of-3{grid-template-rows:repeat(3, min-content)}.cols-of-4{grid-template-rows:repeat(4, min-content)}.cols-of-5{grid-template-rows:repeat(5, min-content)}.cols-of-6{grid-template-rows:repeat(6, min-content)}.cols-of-7{grid-template-rows:repeat(7, min-content)}.cols-of-8{grid-template-rows:repeat(8, min-content)}.cols-of-9{grid-template-rows:repeat(9, min-content)}.cols-of-10{grid-template-rows:repeat(10, min-content)}.card-deck{margin-top:2.5rem;margin-left:-1.25rem;margin-right:-1.25rem;margin-bottom:5rem;flex-grow:1}@media(min-width: 992px){.card-deck{margin-top:5rem}}.card-deck .card{flex-grow:0;flex-basis:100%;margin:0 1.25rem 5rem 1.25rem;background-position:bottom;background-repeat:no-repeat;background-size:contain}.card-deck.row-cols-1 .card{flex-basis:100%;min-height:264px}@media(min-width: 768px){.card-deck.row-cols-1 .card{min-height:347px}}@media(min-width: 1200px){.card-deck.row-cols-lg-3{margin-left:-2.5rem;margin-right:-2.5rem}}@media(min-width: 992px){.card-deck.row-cols-lg-3 .card{flex-basis:calc(33% - 2.5rem )}}@media(min-width: 1200px){.card-deck.row-cols-lg-3 .card{margin:0 2.5rem 5rem 2.5rem;flex-basis:calc(33% - 5rem )}}@media(min-width: 992px){.card-deck.row-cols-lg-4 .card{flex-basis:calc(25% - 2.5rem )}}.card-deck a.card{transition:all .35s ease-out;cursor:pointer}.card-deck a.card:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}.card-deck .card-footer{font-size:0;padding:1rem;background-position:bottom;background-repeat:no-repeat;background-size:cover;border-top:0}@media(max-width: 991.98px){.card-deck{margin-top:2rem}.card-deck .card-body{padding:1rem}.card-deck.row-cols-1 .card{margin:.75rem .75rem 5rem .75rem;max-width:calc(100% - 1.5rem)}.card-deck.row-cols-2 .card{margin:.75rem;max-width:calc(50% - 1.5rem)}}main article .card-grid.card-grid-3xN{grid-gap:1rem}main article .card-grid.card-grid-3xN .card{padding:0;margin:.5rem}main article .card-grid.card-grid-3xN .card .card-body{padding:1rem}main article .card-grid.card-grid-3xN .card .card-icon-container{width:50px;height:50px;background:#454549;display:flex;justify-content:center;align-items:center;border-radius:50%;margin-bottom:12px}main article .card-grid.card-grid-3xN .card .card-icon-container img{width:70%;height:70%}main article .card-grid.card-grid-3xN .card .card-footer{font-size:0;line-height:0;padding:1rem;background-position:bottom;background-repeat:no-repeat;background-size:cover;border-top:0}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-green-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-magenta-3.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-green-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-light-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3col-orange-yellow-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-pink-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-green-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-magenta.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-purple2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-neutral-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-purple-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3col-light-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-blue-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-dark-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-magenta-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3-col-light-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-magenta-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-orange-3.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-blue-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3-col-light-blue2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-orange-yellow.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3-col-pink.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-green-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-orange-2.svg")}.cta-card{text-align:center;background-color:#232325}.card-subhead{font-size:1rem;margin-bottom:.25rem;margin-top:.5rem}.breadcrumbs-wrap{position:relative;z-index:11;padding:0 0 2rem 0}.interactive-block .breadcrumbs-wrap{padding:0}.breadcrumb-item+.breadcrumb-item:before{content:"";font-family:FontAwesome;padding-right:5px}.breadcrumbs-wrap .breadcrumb{padding:0;margin-bottom:0;font-size:.833em}.breadcrumb-item a{color:#e0e0e1;text-decoration:none}.breadcrumb-item a:hover{color:#9a52ff}.landing .container-fluid.section-hero,.landing .section-hero.container-sm,.landing .section-hero.container-md,.landing .section-hero.container-lg,.landing .section-hero.container-xl{padding:48px 0}.landing article .children-display>ul>li,.landing article .curated-links>ul>li{margin-top:24px}.landing article .children-display li a,.landing article .curated-links li a{font-weight:700;font-size:1.25rem;text-decoration:none}.landing article .children-display li a:hover,.landing article .curated-links li a:hover{text-decoration:underline}.landing section:first-of-type h1:first-child{margin-top:0;line-height:1.2}.landing .level-1,.landing .level-2{margin-top:0}.landing .curated-links ul,.landing .curated-links ol,.landing .children-display ul{padding-left:0;margin-bottom:0}.landing .section-hero .blurb{font-size:1.2em;line-height:1.71em}.landing .doc-index .level-1{list-style-type:disc;margin-left:1rem}.landing .doc-index .level-2{list-style-type:circle;margin-left:2rem}.landing .doc-index .level-3{list-style-type:square;margin-left:3rem}.landing .doc-index .level-4{list-style-type:disc;margin-left:4rem}.landing .doc-index .level-5{margin-left:5rem;list-style-type:circle}.landing .doc-index .level-6{margin-left:6rem;list-style-type:square}.landing p a,.landing h5 a{color:#9a52ff;font-weight:600}.landing p a:hover,.landing h5 a:hover{text-decoration:underline}.landing .display-4{margin-bottom:1.5rem}.landing #test-net-servers h3{font-size:1.4rem;font-weight:700}.landing #test-net-servers pre{overflow-x:auto}.landing section:first-of-type{border-top-width:0}.landing #main_content_wrapper{border-bottom:none;margin-top:80px}.landing .marketing-wrapper{margin-top:10rem;margin-bottom:6rem}@media(max-width: 767.98px){.landing .marketing-wrapper{margin-top:6rem}}.landing .nav .nav-link{padding:1rem 2rem 1rem 0;color:#e0e0e1;border-bottom:1px solid #232325;position:relative}.landing .nav .nav-link:hover{color:#9a52ff}.landing .nav .nav-link:not(.external-link)::after{content:" ";background-image:url(../img/icons/arrow-right-purple.svg);background-repeat:no-repeat;background-position:center;background-size:1rem;position:absolute;right:0;width:1.5rem;height:1.5rem;transition:all .2s ease}.landing .nav .nav-link:not(.external-link):hover::after{animation:arrowDance2 1.2s infinite}.landing .nav .nav-link.external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;position:absolute;background-position:center;background-size:.75rem;right:7px;width:1.5rem;height:1.5rem;transition:all .2s ease}.landing .nav .nav-link.external-link:hover::after{animation:arrowDanceDiag 1.2s infinite}.landing .card-body .nav .nav-link{border-bottom:1px solid #454549}.alert-info{color:#fff;background-color:#006bb2;border-width:0}.alert-info a{text-decoration:underline;color:#fff}.alert-info a:hover{color:#e0e0e1}.highlight-subcard{margin:1.5rem 0;padding:1rem;border:2px solid #fff;background:#111112}.interactive-block-inner{border:1px dashed #9a52ff;padding:10px;margin:5px}.interactive-block-ui>button{margin:10px 0}.interactive-block input:invalid{box-shadow:inset 0 0 5px 5px #ff198b}.interactive-block .breadcrumbs-wrap{margin-bottom:11px}.interactive-block .breadcrumb-item{margin-top:6px}.interactive-block .breadcrumb-item a{text-decoration:none}.interactive-block .breadcrumb-item.current a{font-weight:bold}.interactive-block .breadcrumb-item.active a{color:#b480ff}.interactive-block .breadcrumb-item.disabled a{color:#454549}.interactive-block .breadcrumb-item.done a:after{content:"";font-family:FontAwesome;color:#e0e0e1;padding-right:5px;padding-left:5px}.interactive-block .waiting-for-tx{word-break:break-word}.ws-console{height:200px;overflow:auto}.status{cursor:help;padding:1px 2px;font-weight:normal;text-indent:0}.status.not_enabled{color:#faff19}.status.removed{color:#ff198b}.labels-wrap ul::before{content:"";font-family:FontAwesome;font-size:1.5rem}.labels-wrap .list-inline-item{margin-top:.5rem}.pg-category{color:#a2a2a4}.pg-category::after{content:"";font-family:FontAwesome;padding-left:5px}.label{border-radius:100px;border-width:0;padding:.5rem 1rem;font-weight:bold;text-decoration:none !important;text-align:center;white-space:nowrap;background-color:#111112;color:#c1c1c2}.label .badge-pill{width:24px;height:24px;border-radius:50px;margin-left:.5rem;font-weight:400;line-height:23px;font-size:16px;padding:0;margin-top:-2px}html.light .label{background-color:#e0e0e1;color:#232325}html.light .label .badge-pill{color:#e0e0e1;background-color:#232325}html.light .label:hover{background-color:#c1c1c2;color:#111112}html.light .label:hover .badge-pill{color:#c1c1c2;background-color:#111112}.label .badge-pill{color:#111112;background-color:#c1c1c2}.label:hover{color:#e0e0e1;background-color:#232325}.label:hover .badge-pill{color:#232325;background-color:#e0e0e1}.label.label-accounts,.label.label-payment-channels,.label.label-amm,.label.label-アカウント,.label.label-payment-channel,.label.label-use-infrastructure,.label.label-use-security,.label.blog-category-development,.label.chip-indigo{background-color:#20004c;color:#b480ff}.label.label-accounts .badge-pill,.label.label-payment-channels .badge-pill,.label.label-amm .badge-pill,.label.label-アカウント .badge-pill,.label.label-payment-channel .badge-pill,.label.label-use-infrastructure .badge-pill,.label.label-use-security .badge-pill,.label.blog-category-development .badge-pill,.label.chip-indigo .badge-pill{color:#20004c;background-color:#b480ff}.label.label-accounts:hover,.label.label-payment-channels:hover,.label.label-amm:hover,.label.label-アカウント:hover,.label.label-payment-channel:hover,.label.label-use-infrastructure:hover,.label.label-use-security:hover,.label.blog-category-development:hover,.label.chip-indigo:hover{background-color:#350080;color:#d2b2ff}.label.label-accounts:hover .badge-pill,.label.label-payment-channels:hover .badge-pill,.label.label-amm:hover .badge-pill,.label.label-アカウント:hover .badge-pill,.label.label-payment-channel:hover .badge-pill,.label.label-use-infrastructure:hover .badge-pill,.label.label-use-security:hover .badge-pill,.label.blog-category-development:hover .badge-pill,.label.chip-indigo:hover .badge-pill{color:#350080;background-color:#d2b2ff}html.light .label.label-accounts,html.light .label.label-payment-channels,html.light .label.label-amm,html.light .label.label-アカウント,html.light .label.label-payment-channel,html.light .label.label-use-infrastructure,html.light .label.label-use-security,html.light .label.blog-category-development,html.light .label.chip-indigo{background-color:#d2b2ff;color:#350080}html.light .label.label-accounts .badge-pill,html.light .label.label-payment-channels .badge-pill,html.light .label.label-amm .badge-pill,html.light .label.label-アカウント .badge-pill,html.light .label.label-payment-channel .badge-pill,html.light .label.label-use-infrastructure .badge-pill,html.light .label.label-use-security .badge-pill,html.light .label.blog-category-development .badge-pill,html.light .label.chip-indigo .badge-pill{color:#d2b2ff;background-color:#350080}html.light .label.label-accounts:hover,html.light .label.label-payment-channels:hover,html.light .label.label-amm:hover,html.light .label.label-アカウント:hover,html.light .label.label-payment-channel:hover,html.light .label.label-use-infrastructure:hover,html.light .label.label-use-security:hover,html.light .label.blog-category-development:hover,html.light .label.chip-indigo:hover{background-color:#b480ff;color:#20004c}html.light .label.label-accounts:hover .badge-pill,html.light .label.label-payment-channels:hover .badge-pill,html.light .label.label-amm:hover .badge-pill,html.light .label.label-アカウント:hover .badge-pill,html.light .label.label-payment-channel:hover .badge-pill,html.light .label.label-use-infrastructure:hover .badge-pill,html.light .label.label-use-security:hover .badge-pill,html.light .label.blog-category-development:hover .badge-pill,html.light .label.chip-indigo:hover .badge-pill{color:#b480ff;background-color:#20004c}.label.label-blockchain,.label.label-xrp,.label.label-ブロックチェーン,.label.label-non-fungible-tokens-nfts,.label.label-use-nfts,.label.blog-category-release_notes,.label.blog-category-features,.label.chip-green{background-color:#145c35;color:#84f0b6}.label.label-blockchain .badge-pill,.label.label-xrp .badge-pill,.label.label-ブロックチェーン .badge-pill,.label.label-non-fungible-tokens-nfts .badge-pill,.label.label-use-nfts .badge-pill,.label.blog-category-release_notes .badge-pill,.label.blog-category-features .badge-pill,.label.chip-green .badge-pill{background-color:#84f0b6;color:#145c35}.label.label-blockchain:hover,.label.label-xrp:hover,.label.label-ブロックチェーン:hover,.label.label-non-fungible-tokens-nfts:hover,.label.label-use-nfts:hover,.label.blog-category-release_notes:hover,.label.blog-category-features:hover,.label.chip-green:hover{background-color:#1e8a50;color:#adf5ce}.label.label-blockchain:hover .badge-pill,.label.label-xrp:hover .badge-pill,.label.label-ブロックチェーン:hover .badge-pill,.label.label-non-fungible-tokens-nfts:hover .badge-pill,.label.label-use-nfts:hover .badge-pill,.label.blog-category-release_notes:hover .badge-pill,.label.blog-category-features:hover .badge-pill,.label.chip-green:hover .badge-pill{background-color:#adf5ce;color:#1e8a50}html.light .label.label-blockchain,html.light .label.label-xrp,html.light .label.label-ブロックチェーン,html.light .label.label-non-fungible-tokens-nfts,html.light .label.label-use-nfts,html.light .label.blog-category-release_notes,html.light .label.blog-category-features,html.light .label.chip-green{background-color:#adf5ce;color:#145c35}html.light .label.label-blockchain .badge-pill,html.light .label.label-xrp .badge-pill,html.light .label.label-ブロックチェーン .badge-pill,html.light .label.label-non-fungible-tokens-nfts .badge-pill,html.light .label.label-use-nfts .badge-pill,html.light .label.blog-category-release_notes .badge-pill,html.light .label.blog-category-features .badge-pill,html.light .label.chip-green .badge-pill{color:#adf5ce;background-color:#145c35}html.light .label.label-blockchain:hover,html.light .label.label-xrp:hover,html.light .label.label-ブロックチェーン:hover,html.light .label.label-non-fungible-tokens-nfts:hover,html.light .label.label-use-nfts:hover,html.light .label.blog-category-release_notes:hover,html.light .label.blog-category-features:hover,html.light .label.chip-green:hover{background-color:#84f0b6;color:#000}html.light .label.label-blockchain:hover .badge-pill,html.light .label.label-xrp:hover .badge-pill,html.light .label.label-ブロックチェーン:hover .badge-pill,html.light .label.label-non-fungible-tokens-nfts:hover .badge-pill,html.light .label.label-use-nfts:hover .badge-pill,html.light .label.blog-category-release_notes:hover .badge-pill,html.light .label.blog-category-features:hover .badge-pill,html.light .label.chip-green:hover .badge-pill{color:#84f0b6;background-color:#000}.label.label-checks,.label.label-core-server,.label.label-コアサーバ,.label.label-use-interoperability,.label.label-use-web_monetization,.label.blog-category-gateway_bulletins,.label.chip-purple{background-color:#40004c;color:#ea80ff}.label.label-checks .badge-pill,.label.label-core-server .badge-pill,.label.label-コアサーバ .badge-pill,.label.label-use-interoperability .badge-pill,.label.label-use-web_monetization .badge-pill,.label.blog-category-gateway_bulletins .badge-pill,.label.chip-purple .badge-pill{background-color:#ea80ff;color:#40004c}.label.label-checks:hover,.label.label-core-server:hover,.label.label-コアサーバ:hover,.label.label-use-interoperability:hover,.label.label-use-web_monetization:hover,.label.blog-category-gateway_bulletins:hover,.label.chip-purple:hover{background-color:#6b0080;color:#f2b2ff}.label.label-checks:hover .badge-pill,.label.label-core-server:hover .badge-pill,.label.label-コアサーバ:hover .badge-pill,.label.label-use-interoperability:hover .badge-pill,.label.label-use-web_monetization:hover .badge-pill,.label.blog-category-gateway_bulletins:hover .badge-pill,.label.chip-purple:hover .badge-pill{background-color:#f2b2ff;color:#6b0080}html.light .label.label-checks,html.light .label.label-core-server,html.light .label.label-コアサーバ,html.light .label.label-use-interoperability,html.light .label.label-use-web_monetization,html.light .label.blog-category-gateway_bulletins,html.light .label.chip-purple{background-color:#f2b2ff;color:#6b0080}html.light .label.label-checks .badge-pill,html.light .label.label-core-server .badge-pill,html.light .label.label-コアサーバ .badge-pill,html.light .label.label-use-interoperability .badge-pill,html.light .label.label-use-web_monetization .badge-pill,html.light .label.blog-category-gateway_bulletins .badge-pill,html.light .label.chip-purple .badge-pill{color:#f2b2ff;background-color:#6b0080}html.light .label.label-checks:hover,html.light .label.label-core-server:hover,html.light .label.label-コアサーバ:hover,html.light .label.label-use-interoperability:hover,html.light .label.label-use-web_monetization:hover,html.light .label.blog-category-gateway_bulletins:hover,html.light .label.chip-purple:hover{background-color:#ea80ff;color:#40004c}html.light .label.label-checks:hover .badge-pill,html.light .label.label-core-server:hover .badge-pill,html.light .label.label-コアサーバ:hover .badge-pill,html.light .label.label-use-interoperability:hover .badge-pill,html.light .label.label-use-web_monetization:hover .badge-pill,html.light .label.blog-category-gateway_bulletins:hover .badge-pill,html.light .label.chip-purple:hover .badge-pill{color:#ea80ff;background-color:#40004c}.label.label-cross-currency,.label.label-security,.label.label-クロスカレンシー,.label.label-セキュリティ,.label.label-use-gaming,.label.label-use-defi,.label.blog-category-amendments,.label.chip-yellow{background-color:#4b4c00;color:#fcff80}.label.label-cross-currency .badge-pill,.label.label-security .badge-pill,.label.label-クロスカレンシー .badge-pill,.label.label-セキュリティ .badge-pill,.label.label-use-gaming .badge-pill,.label.label-use-defi .badge-pill,.label.blog-category-amendments .badge-pill,.label.chip-yellow .badge-pill{background-color:#fcff80;color:#4b4c00}.label.label-cross-currency:hover,.label.label-security:hover,.label.label-クロスカレンシー:hover,.label.label-セキュリティ:hover,.label.label-use-gaming:hover,.label.label-use-defi:hover,.label.blog-category-amendments:hover,.label.chip-yellow:hover{background-color:#7d8000;color:#fdffb2}.label.label-cross-currency:hover .badge-pill,.label.label-security:hover .badge-pill,.label.label-クロスカレンシー:hover .badge-pill,.label.label-セキュリティ:hover .badge-pill,.label.label-use-gaming:hover .badge-pill,.label.label-use-defi:hover .badge-pill,.label.blog-category-amendments:hover .badge-pill,.label.chip-yellow:hover .badge-pill{background-color:#fdffb2;color:#7d8000}html.light .label.label-cross-currency,html.light .label.label-security,html.light .label.label-クロスカレンシー,html.light .label.label-セキュリティ,html.light .label.label-use-gaming,html.light .label.label-use-defi,html.light .label.blog-category-amendments,html.light .label.chip-yellow{background-color:#fdffb2;color:#4b4c00}html.light .label.label-cross-currency .badge-pill,html.light .label.label-security .badge-pill,html.light .label.label-クロスカレンシー .badge-pill,html.light .label.label-セキュリティ .badge-pill,html.light .label.label-use-gaming .badge-pill,html.light .label.label-use-defi .badge-pill,html.light .label.blog-category-amendments .badge-pill,html.light .label.chip-yellow .badge-pill{color:#fdffb2;background-color:#4b4c00}html.light .label.label-cross-currency:hover,html.light .label.label-security:hover,html.light .label.label-クロスカレンシー:hover,html.light .label.label-セキュリティ:hover,html.light .label.label-use-gaming:hover,html.light .label.label-use-defi:hover,html.light .label.blog-category-amendments:hover,html.light .label.chip-yellow:hover{background-color:#fcff80;color:#4b4c00}html.light .label.label-cross-currency:hover .badge-pill,html.light .label.label-security:hover .badge-pill,html.light .label.label-クロスカレンシー:hover .badge-pill,html.light .label.label-セキュリティ:hover .badge-pill,html.light .label.label-use-gaming:hover .badge-pill,html.light .label.label-use-defi:hover .badge-pill,html.light .label.blog-category-amendments:hover .badge-pill,html.light .label.chip-yellow:hover .badge-pill{color:#fcff80;background-color:#4b4c00}.label.label-decentralized-exchange,.label.label-smart-contracts,.label.label-transaction-sending,.label.label-分散型取引所,.label.label-スマートコントラクト,.label.label-トランザクション送信,.label.label-use-developer_tooling,.label.label-use-payments,.label.blog-category-developer_reflections,.label.chip-blue{background-color:#002e4c;color:#80ccff}.label.label-decentralized-exchange .badge-pill,.label.label-smart-contracts .badge-pill,.label.label-transaction-sending .badge-pill,.label.label-分散型取引所 .badge-pill,.label.label-スマートコントラクト .badge-pill,.label.label-トランザクション送信 .badge-pill,.label.label-use-developer_tooling .badge-pill,.label.label-use-payments .badge-pill,.label.blog-category-developer_reflections .badge-pill,.label.chip-blue .badge-pill{background-color:#80ccff;color:#002e4c}.label.label-decentralized-exchange:hover,.label.label-smart-contracts:hover,.label.label-transaction-sending:hover,.label.label-分散型取引所:hover,.label.label-スマートコントラクト:hover,.label.label-トランザクション送信:hover,.label.label-use-developer_tooling:hover,.label.label-use-payments:hover,.label.blog-category-developer_reflections:hover,.label.chip-blue:hover{background-color:#004d80;color:#b2e0ff}.label.label-decentralized-exchange:hover .badge-pill,.label.label-smart-contracts:hover .badge-pill,.label.label-transaction-sending:hover .badge-pill,.label.label-分散型取引所:hover .badge-pill,.label.label-スマートコントラクト:hover .badge-pill,.label.label-トランザクション送信:hover .badge-pill,.label.label-use-developer_tooling:hover .badge-pill,.label.label-use-payments:hover .badge-pill,.label.blog-category-developer_reflections:hover .badge-pill,.label.chip-blue:hover .badge-pill{background-color:#b2e0ff;color:#004d80}html.light .label.label-decentralized-exchange,html.light .label.label-smart-contracts,html.light .label.label-transaction-sending,html.light .label.label-分散型取引所,html.light .label.label-スマートコントラクト,html.light .label.label-トランザクション送信,html.light .label.label-use-developer_tooling,html.light .label.label-use-payments,html.light .label.blog-category-developer_reflections,html.light .label.chip-blue{background-color:#b2e0ff;color:#004d80}html.light .label.label-decentralized-exchange .badge-pill,html.light .label.label-smart-contracts .badge-pill,html.light .label.label-transaction-sending .badge-pill,html.light .label.label-分散型取引所 .badge-pill,html.light .label.label-スマートコントラクト .badge-pill,html.light .label.label-トランザクション送信 .badge-pill,html.light .label.label-use-developer_tooling .badge-pill,html.light .label.label-use-payments .badge-pill,html.light .label.blog-category-developer_reflections .badge-pill,html.light .label.chip-blue .badge-pill{color:#b2e0ff;background-color:#004d80}html.light .label.label-decentralized-exchange:hover,html.light .label.label-smart-contracts:hover,html.light .label.label-transaction-sending:hover,html.light .label.label-分散型取引所:hover,html.light .label.label-スマートコントラクト:hover,html.light .label.label-トランザクション送信:hover,html.light .label.label-use-developer_tooling:hover,html.light .label.label-use-payments:hover,html.light .label.blog-category-developer_reflections:hover,html.light .label.chip-blue:hover{background-color:#80ccff;color:#002e4c}html.light .label.label-decentralized-exchange:hover .badge-pill,html.light .label.label-smart-contracts:hover .badge-pill,html.light .label.label-transaction-sending:hover .badge-pill,html.light .label.label-分散型取引所:hover .badge-pill,html.light .label.label-スマートコントラクト:hover .badge-pill,html.light .label.label-トランザクション送信:hover .badge-pill,html.light .label.label-use-developer_tooling:hover .badge-pill,html.light .label.label-use-payments:hover .badge-pill,html.light .label.blog-category-developer_reflections:hover .badge-pill,html.light .label.chip-blue:hover .badge-pill{color:#80ccff;background-color:#002e4c}.label.label-escrow,.label.label-tokens,.label.label-development,.label.label-トークン,.label.label-開発,.label.label-use-wallet,.label.label-use-sustainability,.label.blog-category-advisories,.label.chip-orange{background-color:#4c1a00;color:#ffaa80}.label.label-escrow .badge-pill,.label.label-tokens .badge-pill,.label.label-development .badge-pill,.label.label-トークン .badge-pill,.label.label-開発 .badge-pill,.label.label-use-wallet .badge-pill,.label.label-use-sustainability .badge-pill,.label.blog-category-advisories .badge-pill,.label.chip-orange .badge-pill{background-color:#ffaa80;color:#4c1a00}.label.label-escrow:hover,.label.label-tokens:hover,.label.label-development:hover,.label.label-トークン:hover,.label.label-開発:hover,.label.label-use-wallet:hover,.label.label-use-sustainability:hover,.label.blog-category-advisories:hover,.label.chip-orange:hover{background-color:#802b00;color:#ffccb2}.label.label-escrow:hover .badge-pill,.label.label-tokens:hover .badge-pill,.label.label-development:hover .badge-pill,.label.label-トークン:hover .badge-pill,.label.label-開発:hover .badge-pill,.label.label-use-wallet:hover .badge-pill,.label.label-use-sustainability:hover .badge-pill,.label.blog-category-advisories:hover .badge-pill,.label.chip-orange:hover .badge-pill{background-color:#ffccb2;color:#802b00}html.light .label.label-escrow,html.light .label.label-tokens,html.light .label.label-development,html.light .label.label-トークン,html.light .label.label-開発,html.light .label.label-use-wallet,html.light .label.label-use-sustainability,html.light .label.blog-category-advisories,html.light .label.chip-orange{background-color:#ffccb2;color:#802b00}html.light .label.label-escrow .badge-pill,html.light .label.label-tokens .badge-pill,html.light .label.label-development .badge-pill,html.light .label.label-トークン .badge-pill,html.light .label.label-開発 .badge-pill,html.light .label.label-use-wallet .badge-pill,html.light .label.label-use-sustainability .badge-pill,html.light .label.blog-category-advisories .badge-pill,html.light .label.chip-orange .badge-pill{color:#ffccb2;background-color:#802b00}html.light .label.label-escrow:hover,html.light .label.label-tokens:hover,html.light .label.label-development:hover,html.light .label.label-トークン:hover,html.light .label.label-開発:hover,html.light .label.label-use-wallet:hover,html.light .label.label-use-sustainability:hover,html.light .label.blog-category-advisories:hover,html.light .label.chip-orange:hover{background-color:#ffaa80;color:#4c1a00}html.light .label.label-escrow:hover .badge-pill,html.light .label.label-tokens:hover .badge-pill,html.light .label.label-development:hover .badge-pill,html.light .label.label-トークン:hover .badge-pill,html.light .label.label-開発:hover .badge-pill,html.light .label.label-use-wallet:hover .badge-pill,html.light .label.label-use-sustainability:hover .badge-pill,html.light .label.blog-category-advisories:hover .badge-pill,html.light .label.chip-orange:hover .badge-pill{color:#ffaa80;background-color:#4c1a00}.label.label-fees,.label.label-payments,.label.label-data-retention,.label.label-手数料,.label.label-支払い,.label.label-データ保持,.label.label-use-exchanges,.label.label-use-custody,.label.blog-category-security,.label.chip-magenta{background-color:#4c0026;color:#ff80bf}.label.label-fees .badge-pill,.label.label-payments .badge-pill,.label.label-data-retention .badge-pill,.label.label-手数料 .badge-pill,.label.label-支払い .badge-pill,.label.label-データ保持 .badge-pill,.label.label-use-exchanges .badge-pill,.label.label-use-custody .badge-pill,.label.blog-category-security .badge-pill,.label.chip-magenta .badge-pill{background-color:#ff80bf;color:#4c0026}.label.label-fees:hover,.label.label-payments:hover,.label.label-data-retention:hover,.label.label-手数料:hover,.label.label-支払い:hover,.label.label-データ保持:hover,.label.label-use-exchanges:hover,.label.label-use-custody:hover,.label.blog-category-security:hover,.label.chip-magenta:hover{background-color:#80003f;color:#ffb2d8}.label.label-fees:hover .badge-pill,.label.label-payments:hover .badge-pill,.label.label-data-retention:hover .badge-pill,.label.label-手数料:hover .badge-pill,.label.label-支払い:hover .badge-pill,.label.label-データ保持:hover .badge-pill,.label.label-use-exchanges:hover .badge-pill,.label.label-use-custody:hover .badge-pill,.label.blog-category-security:hover .badge-pill,.label.chip-magenta:hover .badge-pill{background-color:#ffb2d8;color:#80003f}html.light .label.label-fees,html.light .label.label-payments,html.light .label.label-data-retention,html.light .label.label-手数料,html.light .label.label-支払い,html.light .label.label-データ保持,html.light .label.label-use-exchanges,html.light .label.label-use-custody,html.light .label.blog-category-security,html.light .label.chip-magenta{background-color:#ffb2d8;color:#80003f}html.light .label.label-fees .badge-pill,html.light .label.label-payments .badge-pill,html.light .label.label-data-retention .badge-pill,html.light .label.label-手数料 .badge-pill,html.light .label.label-支払い .badge-pill,html.light .label.label-データ保持 .badge-pill,html.light .label.label-use-exchanges .badge-pill,html.light .label.label-use-custody .badge-pill,html.light .label.blog-category-security .badge-pill,html.light .label.chip-magenta .badge-pill{color:#ffb2d8;background-color:#80003f}html.light .label.label-fees:hover,html.light .label.label-payments:hover,html.light .label.label-data-retention:hover,html.light .label.label-手数料:hover,html.light .label.label-支払い:hover,html.light .label.label-データ保持:hover,html.light .label.label-use-exchanges:hover,html.light .label.label-use-custody:hover,html.light .label.blog-category-security:hover,html.light .label.chip-magenta:hover{background-color:#ff80bf;color:#4c0026}html.light .label.label-fees:hover .badge-pill,html.light .label.label-payments:hover .badge-pill,html.light .label.label-data-retention:hover .badge-pill,html.light .label.label-手数料:hover .badge-pill,html.light .label.label-支払い:hover .badge-pill,html.light .label.label-データ保持:hover .badge-pill,html.light .label.label-use-exchanges:hover .badge-pill,html.light .label.label-use-custody:hover .badge-pill,html.light .label.blog-category-security:hover .badge-pill,html.light .label.chip-magenta:hover .badge-pill{color:#ff80bf;background-color:#4c0026}.tag-cloud .list-inline-item{margin-top:1.5rem}.command-list-wrapper{position:sticky;top:calc(var(--navbar-height) + var(--toc-offset-top));max-height:calc(100vh - var(--navbar-height) - var(--toc-offset-top));overflow-y:auto;width:var(--toc-width)}#tx-sender-history .list-group-item{font-size:small;color:#454549}.response-metadata .timestamp{color:#454549}.throbber{width:24px;height:24px}#connection-status .card-body{border-left:0}#connection-status-item.active{background-color:#32e685;border-color:#32e685}.api-input-area .btn-group>.send-request.btn{border-bottom-right-radius:4px;border-top-right-radius:4px}#tx-sender-history ul{overflow:auto;height:220px;border:1px solid #e0e0e1}.progress small{margin-top:.5rem}.page-tx-sender .input-group .form-control,.interactive-block-ui .input-group .form-control{flex:1 1 20%;height:auto}.bootstrap-growl{max-width:90vw !important;overflow:hidden}.list-group-item-danger,#tx-sender-history .list-group-item-danger{background-color:#ff80bf;color:#000}.list-group-item-danger a,#tx-sender-history .list-group-item-danger a{color:#000}.list-group-item-danger a:hover,#tx-sender-history .list-group-item-danger a:hover{color:#000;text-decoration:underline}.rpc-tool .main h1::before,.rpc-tool .main h2::before,.rpc-tool .main h3::before{display:none}.form-text a{text-decoration:underline}@media print{.multicode>div{display:block !important}.multicode>em,.multicode>p>em{display:block !important;page-break-after:avoid}.multicode>p{display:block !important}.code_toggler{display:none}pre{white-space:pre-wrap;max-height:none !important;overflow:visible;page-break-inside:auto;word-wrap:break-word}pre code{white-space:pre-wrap !important;color:#22252b !important}code{white-space:pre-wrap !important;color:#22252b !important}.codehilite .n,.codehilite .na,.codehilite .nb,.codehilite .nc,.codehilite .nd,.codehilite .ne,.codehilite .nf,.codehilite .ni,.codehilite .nl,.codehilite .nn,.codehilite .nt,.codehilite .nv,.codehilite .nx,.codehilite .bp,.codehilite .fm,.codehilite .py{color:#22252b}article a[title=Source]{float:none}header,footer,aside{display:none !important}.navbar{display:none !important}article,#main_content_body{position:static;display:block;width:auto;height:auto;color:#000 !important;max-width:100%;overflow:visible !important}body{overflow:visible;background:#fff}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{color:#000}.interactive-block{display:none}.container{margin-top:1rem !important}}#home-purple{position:absolute;left:0;top:-400px}#home-green{position:absolute;right:-3px;top:60px}.sidelinks:hover{color:#9a52ff}.sidelinks.active{color:#9a52ff;font-weight:bold}.page-home #home-hero-container{display:flex;justify-content:center;align-items:center;width:100%;padding-top:54.8%;overflow:hidden}.page-home #home-hero-graphic{width:856px;object-fit:cover;content:url("../img/home-hero.svg");margin-bottom:24px}@media(min-width: 992px){.page-home #home-hero-graphic{min-height:470px}}@media(max-width: 991px)and (min-width: 540px){.page-home #home-hero-graphic{min-height:250px}}@media(max-width: 539px){.page-home #home-hero-graphic{min-height:170px}}.page-home #benefits-list #public{content:url("../img/icons/public.svg")}.page-home #benefits-list #streamlined{content:url("../img/icons/streamlined.svg")}.page-home #benefits-list #performance{content:url("../img/icons/performance.svg")}.page-home #benefits-list #low-cost{content:url("../img/icons/low-cost.svg")}.page-home #benefits-list #community{content:url("../img/icons/community.svg")}.page-home #benefits-list #reliability{content:url("../img/icons/reliability.svg")}.page-home #advanced-features .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-pink-purple.svg")}.page-home #advanced-features .card:nth-child(2) .card-footer{background-image:url("../img/cards/3col-neutral-blue.svg")}.page-home #advanced-features .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-light-green.svg")}.page-home #advanced-features .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-orange.svg")}.page-home #advanced-features .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-purple-blue-2.svg")}.page-home #get-started .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-orange-yellow.svg")}.page-home #get-started .card:nth-child(2) .card-footer{background-image:url("../img/cards/3col-magenta-orange.svg")}.page-home #get-started .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-green.svg")}.page-home #get-started .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-light-blue.svg")}.page-home #get-started .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-green-blue.svg")}.cta{position:absolute}.cta-top-left{top:0;left:0}.cta-bottom-right{bottom:0;right:0}.landing-bg{opacity:.6}@media(min-width: 768px){.landing-bg{opacity:1}}.landing-builtin-bg::before{content:"";position:absolute;top:0;left:0;background-repeat:no-repeat;background-position-x:left;background-position-y:top;opacity:.6}@media(min-width: 768px){.landing-builtin-bg::before{opacity:1}}#xrp-overview-blue{position:absolute;top:0;left:0}@media(max-width: 767.98px){#xrp-mark-overview{height:40px;margin-top:16px}}#wallets #wallet-ledger{content:url("../img/wallets/ledger.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-secalot{content:url("../img/wallets/secalot.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-trezor{content:url("../img/wallets/trezor.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-xumm{content:url("../img/wallets/xumm.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-trust{content:url("../img/wallets/trust.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-gatehub{content:url("../img/wallets/gatehub.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-towo{content:url("../img/wallets/towo.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-keystone{content:url("../img/wallets/keystone.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-dcent{content:url("../img/wallets/dcent.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-coin{content:url("../img/wallets/coin.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-gem{content:url("../img/wallets/gem.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#top-exchanges #exch-bitstamp{content:url("../img/exchanges/bitstamp.svg")}#top-exchanges #exch-kraken{content:url("../img/exchanges/kraken.svg")}#top-exchanges #exch-cex-io{content:url("../img/exchanges/cex-io.svg")}#top-exchanges #exch-liquid{content:url("../img/exchanges/liquid.svg")}#top-exchanges #exch-lmax{content:url("../img/exchanges/lmax.svg")}#top-exchanges #exch-bitfinex{content:url("../img/exchanges/bitfinex.svg")}#top-exchanges #exch-etoro{content:url("../img/exchanges/etoro.svg")}#top-exchanges #exch-bittrex{content:url("../img/exchanges/bittrex.png")}#top-exchanges #exch-currency-com{content:url("../img/exchanges/currency-com.png")}#top-exchanges #exch-ftx{content:url("../img/exchanges/ftx.png")}#xrpl-overview-purple{position:absolute;top:40px;left:0}@media(max-width: 767.98px){#xrpl-overview-purple{top:0;left:-20vw}}#xrpl-overview-orange{position:absolute;top:80px;right:-4px}#use-cases-orange{position:absolute;top:-480px;right:-4px}#validator-graphic{content:url(../img/validators.svg)}.page-uses .container-new{padding-left:16px;padding-right:16px}.page-uses h1{font-size:42px}.page-uses::before{transform:scaleX(-1);background-image:url(../img/backgrounds/use-cases-blue.svg)}.page-uses .card-grid{grid-gap:8px}.page-uses .card-grid img{max-height:40px}.page-uses .modal{padding:0}.page-uses .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#000;background-clip:padding-box;border:none;border-radius:0;box-shadow:none;outline:none;background:#111112}.page-uses .modal-header{border:none;background:#111112;box-shadow:0px 1px 2px #000}.page-uses .modal-header .cancel .chevron{transform:rotate(90deg)}.page-uses .modal-header .apply .chevron{transform:rotate(-90deg)}.page-uses .modal-footer{border:none;background:#111112;box-shadow:0px -1px 2px #000;align-items:unset;padding:.75rem;flex-direction:column;flex-wrap:wrap}.page-uses .card-title{margin-bottom:.5rem;line-height:26px}.page-uses .card-uses{padding:16px;margin:0;text-decoration:none;transition:all .35s ease-out}.page-uses .card-uses:hover{text-decoration:none;color:#e0e0e1;transform:translateY(-16px);text-decoration:none}.page-uses .card-body{background:#232325;border-radius:8px;height:100%;padding:32px;margin:0}.page-uses .page-events .label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.page-uses .category-header{font-weight:bold;color:#c1c1c2}.page-uses .light .category-checkbox label{color:#fff}.page-uses .category-checkbox{display:flex;align-items:center}.page-uses .category-checkbox label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.page-uses .category_count{margin-left:8px;padding:2px 16px;width:24px;height:16px;background:#350080;border-radius:100px;font-weight:600;font-size:12px;line-height:16px;color:#b480ff}.page-uses .category_sidebar{position:sticky;top:10px}.page-uses #infrastructure{content:url("../img/icons/usecases/ic_infrastructure.png")}.page-uses #developer_tooling{content:url("../img/icons/usecases/ic_developer_tooling.png")}.page-uses #interoperability{content:url("../img/icons/usecases/ic_interoperability.png")}.page-uses #wallet{content:url("../img/icons/usecases/ic_wallet.png")}.page-uses #nfts{content:url("../img/icons/usecases/ic_nfts.png")}.page-uses #exchanges{content:url("../img/icons/usecases/ic_exchanges.png")}.page-uses #gaming{content:url("../img/icons/usecases/ic_gaming.png")}.page-uses #security{content:url("../img/icons/usecases/ic_security.png")}.page-uses #payments{content:url("../img/icons/usecases/ic_payments.png")}.page-uses #web_monetization{content:url("../img/icons/usecases/ic_web_monetization.png")}.page-uses #sustainability{content:url("../img/icons/usecases/ic_sustainability.png")}.page-uses #cbdc{content:url("../img/icons/usecases/ic_cbdc.png")}.page-uses #other{content:url("../img/icons/usecases/ic_other.png")}.page-uses #carbon_markets{content:url("../img/icons/usecases/ic_carbon_markets.png")}.page-uses #custody{content:url("../img/icons/usecases/ic_custody.png")}.page-uses #defi{content:url("../img/icons/usecases/ic_defi.png")}.page-uses #use_case_companies_list #bithomp .biz-logo{max-height:40px;content:url("../img/uses/bithomp.svg")}.page-uses #use_case_companies_list #onthedex .biz-logo{max-height:40px;content:url("../img/uses/onthedex.svg")}.page-uses #use_case_companies_list #gatehub .biz-logo{max-height:40px;content:url("../img/uses/gatehub.svg")}.page-uses #use_case_companies_list #towo-labs .biz-logo{max-height:40px;content:url("../img/uses/towo-labs.svg")}.page-uses #use_case_companies_list #xrp-toolkit .biz-logo{max-height:40px;content:url("../img/uses/xrp-toolkit.svg")}.page-uses #use_case_companies_list #xrpl-org-ledger-explorer .biz-logo{max-height:40px;content:url("../img/uses/xrpl-org-ledger-explorer.svg")}.page-uses #use_case_companies_list #xrpl-rosetta .biz-logo{max-height:40px;content:url("../img/uses/xrpl-rosetta.svg")}.page-uses #use_case_companies_list #xrpscan .biz-logo{max-height:40px;content:url("../img/uses/xrpscan.svg")}.page-uses #use_case_companies_list #evernode .biz-logo{max-height:40px;content:url("../img/uses/evernode.svg")}.page-uses #use_case_companies_list #cryptum .biz-logo{max-height:40px;content:url("../img/uses/cryptum.svg")}.page-uses #use_case_companies_list #x-tokenize .biz-logo{max-height:40px;content:url("../img/uses/x-tokenize.svg")}.page-uses #use_case_companies_list #multichain .biz-logo{max-height:40px;content:url("../img/uses/multichain.svg")}.page-uses #use_case_companies_list #xumm-wallet .biz-logo{max-height:40px;content:url("../img/uses/xumm-wallet.svg")}.page-uses #use_case_companies_list #gem-wallet .biz-logo{max-height:40px;content:url("../img/uses/gem-wallet.svg")}.page-uses #use_case_companies_list #aesthetes .biz-logo{max-height:40px;content:url("../img/uses/aesthetes.svg")}.page-uses #use_case_companies_list #audiotarky .biz-logo{max-height:40px;content:url("../img/uses/audiotarky.svg")}.page-uses #use_case_companies_list #xrp-cafe .biz-logo{max-height:40px;content:url("../img/uses/xrp-cafe.svg")}.page-uses #use_case_companies_list #nft-master .biz-logo{max-height:40px;content:url("../img/uses/nft-master.svg")}.page-uses #use_case_companies_list #onxrp .biz-logo{max-height:40px;content:url("../img/uses/onxrp.svg")}.page-uses #use_case_companies_list #peerkat .biz-logo{max-height:40px;content:url("../img/uses/peerkat.svg")}.page-uses #use_case_companies_list #sologenic-nft .biz-logo{max-height:40px;content:url("../img/uses/sologenic-nft.svg")}.page-uses #use_case_companies_list #sologenic-dex .biz-logo{max-height:40px;content:url("../img/uses/sologenic-dex.svg")}.page-uses #use_case_companies_list #xp-market .biz-logo{max-height:40px;content:url("../img/uses/xp-market.svg")}.page-uses #use_case_companies_list #ledger-city .biz-logo{max-height:40px;content:url("../img/uses/ledger-city.svg")}.page-uses #use_case_companies_list #forte .biz-logo{max-height:40px;content:url("../img/uses/forte.svg")}.page-uses #use_case_companies_list #futureverse .biz-logo{max-height:40px;content:url("../img/uses/futureverse.svg")}.page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:40px;content:url("../img/uses/first-ledger-bot.svg")}.page-uses #use_case_companies_list #moai-finance .biz-logo{max-height:40px;content:url("../img/uses/moai-finance.svg")}.page-uses #use_case_companies_list #orchestra-finance .biz-logo{max-height:40px;content:url("../img/uses/orchestra-finance.svg")}.page-uses #use_case_companies_list #anchain-ai .biz-logo{max-height:40px;content:url("../img/uses/anchain-ai.svg")}.page-uses #use_case_companies_list #coil .biz-logo{max-height:40px;content:url("../img/uses/coil.svg")}.page-uses #use_case_companies_list #carbonland-trust .biz-logo{max-height:40px;content:url("../img/uses/carbonland-trust.svg")}.page-uses #use_case_companies_list #casino-coin .biz-logo{max-height:40px;content:url("../img/uses/casino-coin.svg")}.page-uses #use_case_companies_list #bitgo .biz-logo{max-height:40px;content:url("../img/uses/bitgo.svg")}.page-uses #use_case_companies_list #bitpay .biz-logo{max-height:40px;content:url("../img/uses/bitpay.svg")}.page-uses #use_case_companies_list #ripples-on-demand-liquidity .biz-logo{max-height:40px;content:url("../img/uses/ripples-on-demand-liquidity.svg")}.page-uses #use_case_companies_list #ripples-cbdc-platform .biz-logo{max-height:40px;content:url("../img/uses/ripples-cbdc-platform.svg")}.page-uses #use_case_companies_list #momento .biz-logo{max-height:40px;content:url("../img/uses/momento.svg")}.page-uses #use_case_companies_list #zerpmon .biz-logo{max-height:40px;content:url("../img/uses/zerpmon.png")}.page-uses #use_case_companies_list #Crossmark .biz-logo{max-height:40px;content:url("../img/uses/Crossmark.png")}.page-uses #use_case_companies_list #Edge .biz-logo{max-height:40px;content:url("../img/uses/Edge.png")}.page-uses .orchestra-finance{max-height:52px !important;margin:0 !important}.page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:81px !important}.page-uses #use_case_companies_list #zerpmon .biz-logo{max-height:81px !important}@media(min-width: 992px){.page-uses h1{font-size:62px}.page-uses .container-new{padding-left:64px;padding-right:64px}.page-uses .card-grid img{max-height:48px}.page-uses .card-grid{grid-gap:48px}.page-uses .card-uses{padding:24px}}#history-orange{position:absolute;top:0;right:-4px}#history-purple{position:absolute;top:-480px;left:-4px}.hidden-section{overflow:hidden;visibility:hidden;height:0}.hidden-section.show{overflow:auto;visibility:visible;height:auto}#impact-green{position:absolute;top:0;left:-4px;rotate:180deg}#impact-purple{position:absolute;top:100px;right:-4px}#impact-magenta{position:absolute;top:100px;right:-4px}#foundation-magenta{position:absolute;top:0px;left:0px}#foundation-orange{position:absolute;top:40px;right:-4px}.page-impact #map-light{display:none}.page-impact #map-dark{display:block}.page-impact .connect-list #connect-01{content:url("../img/impact/connect-01.svg")}.page-impact .connect-list #connect-02{content:url("../img/impact/connect-02.svg")}.page-impact .connect-list #connect-03{content:url("../img/impact/connect-03.svg")}.page-impact .connect-list #connect-04{content:url("../img/impact/connect-04.svg")}.page-funding .funding-list #funding-01{content:url("../img/funding/funding-01.svg")}.page-funding .funding-list #funding-02{content:url("../img/funding/funding-02.svg")}.page-funding .funding-list #funding-03{content:url("../img/funding/funding-03.svg")}.page-funding .funding-list #funding-04{content:url("../img/funding/funding-04.svg")}.page-funding #funding-orange{position:absolute;top:132px;left:-4px}@media(min-width: 992px){.page-funding .funding-box{min-height:200px}}.page-ambassadors #benefits-list #benefits-01{content:url("../img/ambassadors/benefits-01.svg")}.page-ambassadors #benefits-list #benefits-02{content:url("../img/ambassadors/benefits-02.svg")}.page-ambassadors #benefits-list #benefits-03{content:url("../img/ambassadors/benefits-03.svg")}.page-ambassadors #benefits-list #benefits-04{content:url("../img/ambassadors/benefits-04.svg")}.page-ambassadors #benefits-list #benefits-05{content:url("../img/ambassadors/benefits-05.svg")}.page-ambassadors #benefits-list #benefits-06{content:url("../img/ambassadors/benefits-06.svg")}.page-ambassadors #eligibility-list #eligibility-01{content:url("../img/ambassadors/eligibility-01.svg")}.page-ambassadors #eligibility-list #eligibility-02{content:url("../img/ambassadors/eligibility-02.svg")}.page-ambassadors #eligibility-list #eligibility-03{content:url("../img/ambassadors/eligibility-03.svg")}.page-ambassadors #eligibility-list #eligibility-04{content:url("../img/ambassadors/eligibility-04.svg")}.page-ambassadors #eligibility-list #eligibility-05{content:url("../img/ambassadors/eligibility-05.svg")}.page-ambassadors .btn{padding:.75rem}.page-ambassadors #container-scroll{height:160px;position:relative;overflow:hidden;margin-top:80px;margin-bottom:64px}.page-ambassadors .photobanner{position:absolute;top:0px;left:0px;overflow:hidden;white-space:nowrap;animation:bannermove 40s linear infinite}.page-ambassadors .photobanner-bottom{top:112px}.page-ambassadors .photobanner img{margin:0 .5em}@keyframes bannermove{0%{transform:translate(0, 0)}100%{transform:translate(-50%, 0)}}.page-ambassadors #carouselSlidesOnly{height:392px;margin-bottom:40px}@media(min-width: 992px){.page-ambassadors #carouselSlidesOnly{height:320px;margin-bottom:104px}}.page-ambassadors h6{font-size:1.25rem}.page-ambassadors .btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);vertical-align:middle;padding-left:8px;transition:transform .3s ease-out}.page-ambassadors .btn-arrow:hover{text-decoration:none;background:none !important;border:none}.page-ambassadors .btn-arrow:hover::after{background-position:left 4px bottom 4px;transform:translateX(4px)}.autoscroll-content{animation:autoscroll 15s linear infinite;white-space:nowrap;overflow:hidden;max-width:300px}#community-magenta{position:absolute;top:0px;left:0px}#community-purple{position:absolute;top:160px;right:0px}.page-events #event-hero-image{height:100%;min-height:209px;background:url(../img/events/event-hero1@2x.png);background-size:contain;background-repeat:no-repeat;background-position:center}.page-events #events-orange{position:absolute;top:0px;right:0px}.page-events .event-hero{color:#f5f5f7}.page-events .event-hero p{font-weight:500;font-size:24px;line-height:32px}.page-events .event-save-date{color:#fff;font-weight:bold;font-size:20px;line-height:26px}.page-events .event-small-gray{color:#e0e0e1}.page-events .btn{padding:.75rem}.page-events .event-card{max-width:311px;margin:32px auto;transition:all .35s ease-out;position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-clip:border-box;background-color:#232325;box-shadow:0px 5px 40px #000;border:1px solid rgba(0,0,0,.125);border-radius:8px;font-size:16px;line-height:24px;color:#e0e0e1}.page-events .event-card .event-card-header{position:relative;height:176px;background-size:contain !important;width:100%;border-radius:8px 8px 0 0}.page-events .event-card .event-card-title{position:absolute;bottom:32px;padding:0 32px;color:#f5f5f7;font-weight:bold;font-size:20px;line-height:28px}.page-events .event-card .event-card-body{padding:32px}.page-events .event-card .event-card-footer{padding:0 32px 32px}.page-events .event-card .event-card-footer .icon::before{height:24px;width:24px;content:"";margin-right:8px;background-size:contain;background-repeat:no-repeat}.page-events .event-card .icon-date::before{background:url(../img/events/event-date.svg)}.page-events .event-card .icon-location::before{background:url(../img/events/event-location.svg)}@media(min-width: 992px){.page-events .event-card{max-width:347px;margin:32px}.page-events .event-card-header{height:197px !important}}.page-events a.event-card:hover{transform:translateY(-16px);text-decoration:none}.page-events label{margin:0;padding-left:8px;color:#fff}.page-events .events-filter h6{font-size:16px}.page-events .events-filter{height:20px;width:20px}.page-events .events-filter[type=checkbox]::before{position:relative;display:block;width:20px;height:20px;content:"";background:#111112;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.page-events .events-filter[type=checkbox]::after{position:relative;display:block;top:-20px;width:20px;height:20px;content:"";background-repeat:no-repeat;background-position:center;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.page-events .events-filter[type=checkbox]:checked::before{background:#111112;border:none;border-radius:0}.page-events .events-filter[type=checkbox]:checked::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;background-color:#7919ff;border-width:2px;border-style:solid;border-color:#7919ff;border-radius:4px}.page-events .events-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}.page-events .events-filter[type=checkbox]:not(:disabled):hover::before{background:#111112;border:none;border-radius:0}.page-events .events-filter[type=checkbox]:not(:disabled):hover::after{background:#111112;border:none;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}#find-us-on-platforms .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-light-blue-3.svg)}#find-us-on-platforms .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-purple-blue-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-magenta-3.svg)}#find-us-on-platforms .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-green-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(5) .card-footer{background-image:url(../img/cards/4col-orange-yellow-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(6) .card-footer{background-image:url(../img/cards/4col-blue-purple.svg)}#find-us-on-platforms .card-deck .card:nth-child(7) .card-footer{background-image:url(../img/cards/4col-yellow-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(8) .card-footer{background-image:url(../img/cards/4col-orange-2.svg)}#find-us-on-platforms .card-deck .card{margin-bottom:2.5rem}.page-faq::before{background-image:url(../img/backgrounds/faq-bg.svg)}@media(min-width: 768px){.page-faq::before{background-size:contain}}@media(min-width: 992px){.page-faq article{max-width:704px;margin-left:auto;margin-right:auto}}.page-faq article h6:first-of-type{color:#32e685;margin-bottom:1rem;margin-top:2.5rem;font-size:1.25rem;line-height:26px;text-align:center}.page-faq article h6:first-of-type .hover_anchor{display:none}@media(min-width: 992px){.page-faq article h6:first-of-type{margin-top:6.5rem}}.page-faq article h1:first-of-type{font-size:2.625rem;line-height:1.2;margin-top:0;margin-bottom:5rem;text-align:center}.page-faq article h1:first-of-type .hover_anchor{display:none}@media(min-width: 992px){.page-faq article h1:first-of-type{font-size:3.875rem;margin-bottom:13rem}}.page-faq h2{margin-top:13rem;font-size:2rem;line-height:2.375rem;text-align:center;font-weight:700}.page-faq .q-wrapper,.mini-faq .q-wrapper{background:#232325;border-radius:4px;padding:2rem;padding-right:3rem;margin-bottom:1.5rem;position:relative;z-index:5;width:100%;transform:translateY(0%)}.page-faq .q-wrapper p a,.mini-faq .q-wrapper p a{text-decoration:none;font-weight:600;color:#9a52ff}.page-faq .q-wrapper p a:hover,.mini-faq .q-wrapper p a:hover{text-decoration:underline}.page-faq .q-wrapper h4,.mini-faq .q-wrapper h4{font-size:1.25rem;line-height:1.625rem;margin-top:0}.page-faq .q-wrapper h4::before,.mini-faq .q-wrapper h4::before{display:block;content:" ";margin-top:-40px;height:40px;visibility:hidden;pointer-events:none}.page-faq .q-wrapper h4>a,.mini-faq .q-wrapper h4>a{text-decoration:none}.page-faq .q-wrapper h4>a:hover,.mini-faq .q-wrapper h4>a:hover{text-decoration:underline;color:#fff}@media(max-width: 991.98px){.page-faq .q-wrapper h4,.mini-faq .q-wrapper h4{font-size:1rem;line-height:1.5rem}}.page-faq .q-wrapper h4 .chevron,.mini-faq .q-wrapper h4 .chevron{position:absolute;top:40px;right:2rem}.page-docs-index::before{background-position-x:right}.page-docs-index .center-search .input-group-text{height:56px;padding:.75rem .75rem .75rem 1rem;line-height:2rem}.page-docs-index .center-search .ds-input{height:56px;padding:.75rem 1rem .75rem .5rem}.page-docs-index #software-and-sdks .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-green.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-light-blue.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-orange.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-yellow.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-orange-yellow.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-magenta.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-blue-green.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-light-blue-2.svg)}.page-docs-index #docs-hot-topic .longform{margin-top:2.5rem}.page-docs-index #community-heading,.page-community #community-heading{padding-top:25rem;margin-top:0px}@media(max-width: 768px){.page-docs-index #community-heading,.page-community #community-heading{padding-top:31rem}}.page-docs-index #community-heading .hero-title,.page-community #community-heading .hero-title{position:absolute;bottom:0;left:50%;transform:translateX(-50%)}@media(min-width: 992px){.page-docs-index #community-heading,.page-community #community-heading{padding-left:0}.page-docs-index #community-heading .hero-title,.page-community #community-heading .hero-title{min-width:max-content;bottom:-83%}}.page-docs-index #community-heading .parallax,.page-community #community-heading .parallax{position:absolute;-webkit-transition:all .1s ease;-moz-transition:all .1s ease;-ms-transition:all .1s ease;-o-transition:all .1s ease;transition:all .1s ease}.page-docs-index #community-heading .one,.page-community #community-heading .one{top:160px;left:0%;opacity:.4}.page-docs-index #community-heading .two,.page-community #community-heading .two{top:130px;left:56%;height:320px;opacity:.4}.page-docs-index #community-heading .three,.page-community #community-heading .three{top:145px;right:16%;height:67px}.page-docs-index #community-heading .four,.page-community #community-heading .four{top:374px;left:8%;width:107px}.page-docs-index #community-heading .five,.page-community #community-heading .five{top:476px;width:152px;height:102px;right:5%;opacity:.4}.page-docs-index #run-a-network-node .card-deck .card:nth-child(1) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-yellow-2.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(2) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-purple.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(3) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-magenta-2.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(4) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-light-green.svg)}.page-docs-index #run-a-network-node,.page-community #run-a-network-node{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #run-a-network-node,.page-community #run-a-network-node{padding-top:104px;padding-bottom:104px}}.page-docs-index #run-a-network-node .text-cards,.page-community #run-a-network-node .text-cards{grid-gap:40px}.page-docs-index #run-a-network-node .text-cards h6::before,.page-community #run-a-network-node .text-cards h6::before{margin-top:0;height:unset}.page-docs-index #run-a-network-node .text-cards a,.page-community #run-a-network-node .text-cards a{font-size:1.25rem;line-height:26px;color:#fff;font-weight:bold}.page-docs-index #run-a-network-node .text-cards a:hover,.page-community #run-a-network-node .text-cards a:hover{text-decoration:none;background:none !important}.page-docs-index #run-a-network-node .text-cards .btn-arrow::after,.page-community #run-a-network-node .text-cards .btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.page-docs-index #xrpl-grants,.page-community #xrpl-grants{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-grants,.page-community #xrpl-grants{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-blog,.page-community #xrpl-blog{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-blog,.page-community #xrpl-blog{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-events,.page-community #xrpl-events{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-events,.page-community #xrpl-events{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-careers,.page-community #xrpl-careers{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-careers,.page-community #xrpl-careers{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-design-assets,.page-community #xrpl-design-assets{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-design-assets,.page-community #xrpl-design-assets{padding-top:104px;padding-bottom:208px}}.page-community #platform-github{content:url("../img/logos/github.svg")}.page-community #platform-twitch{content:url("../img/logos/twitch.svg")}.page-community #platform-stack-overflow{content:url("../img/logos/stack-overflow.svg")}.page-community #platform-twitter{content:url("../img/logos/twitter.svg")}.page-community #platform-discord{content:url("../img/logos/discord.svg")}.page-community #platform-youtube{content:url("../img/logos/youtube.svg")}.page-community #platform-devto{content:url("../img/logos/devto.svg")}.page-references #refs-types .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/3col-orange-2.svg)}.page-references #refs-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/3col-green-2.svg)}.page-references #refs-types .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/3col-magenta.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-light-blue-4.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-blue-green-2.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-yellow-3.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-purple-blue.svg)}.page-dev-tools #xrp-explorer .card-footer{background-image:url("../img/cards/3-col-orange.svg")}.page-dev-tools #bithomp-explorer .card-footer{background-image:url("../img/cards/3-col-light-blue.svg")}.page-dev-tools #xrpscan .card-footer{background-image:url("../img/cards/3-col-pink.svg")}.page-dev-tools #token-list .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}.page-dev-tools #websocket .card-footer{background-image:url("../img/cards/3-col-purple2.svg")}.page-dev-tools #rpc .card-footer{background-image:url("../img/cards/3-col-green.svg")}.page-dev-tools #technical-explorer .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}.page-dev-tools #faucets .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}.page-dev-tools #trasaction-sender .card-footer{background-image:url("../img/cards/3-col-light-blue2.svg")}.page-dev-tools #domain .card-footer{background-image:url("../img/cards/3-col-green-purple.svg")}.page-dev-tools #xrp-ledger .card-footer{background-image:url("../img/cards/3-col-dark-blue.svg")}.page-dev-tools #binary-visualizer .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}.page-dev-tools #token-metadata-lookup .card-footer{background-image:url("../img/cards/3-col-pink-purple.svg")}.page-dev-tools .nav-link{color:#a2a2a4;background-color:#111112;border-top:none;border-left:none;border-right:none;border-bottom-color:#454549}@media(max-width: 767.98px){.page-dev-tools .nav-tabs{display:flex;list-style:none;margin-left:0;padding-left:0;justify-content:space-between}.page-dev-tools .nav-item{display:inline-flex;width:auto;list-style:outside none none}.page-dev-tools .nav-link{display:inline-flex;width:auto;padding:1em 1em}}.page-dev-tools .nav-link.active{border-bottom-color:#9a52ff;color:#fff;font-weight:bold}.page-dev-tools .nav-tabs{border-bottom:1px solid #454549}.page-dev-tools .btn{padding:.75rem}html.light .page-dev-tools .nav-link{background-color:#f5f5f7}html.light .page-dev-tools .nav-link.active{border-bottom-color:#9a52ff;color:#000;font-weight:bold}html.light .page-dev-tools .nav-link{color:#000}html.light .page-dev-tools #trasaction-sender .card-footer{background-image:url("../img/cards/3-col-light-blue-2.svg")}.page-rwa-tokenization .right-arrow-item::after{display:inline-block;content:url("../img/icons/arrow-right-purple.svg");position:relative;top:1px;vertical-align:middle;padding-left:8px;transition:transform .3s ease-out}.page-rwa-tokenization #events-orange{position:absolute;top:0px;right:0px}.page-rwa-tokenization .token-title{color:var(--black-black-0-white, #FFF);text-align:center;font-family:"Work Sans";font-size:62px;font-style:normal;font-weight:700;line-height:70px;max-width:720px;z-index:1}@media(max-width: 991.98px){.page-rwa-tokenization .token-title{font-size:42px}}.page-rwa-tokenization .token-title-container{gap:32px;padding:104px 64px;display:flex;flex-direction:column;align-items:center;justify-content:center}.page-rwa-tokenization .token-video-container{flex-wrap:wrap;padding:104px 64px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:48px}.page-rwa-tokenization .token-video-container .token-video{width:50%;max-width:602px;height:372px}@media(max-width: 991.98px){.page-rwa-tokenization .token-video-container .token-video{width:100%}}.page-rwa-tokenization .token-video-container .token-video-text-container{max-width:520px;width:50%;display:flex;flex-direction:column;align-items:center;text-align:left;gap:24px;color:#e0e0e1;font-family:"Work Sans";font-size:24px;line-height:32px}@media(max-width: 991.98px){.page-rwa-tokenization .token-video-container .token-video-text-container{width:100%}}.page-rwa-tokenization .token-cards-wrapper{display:flex;justify-content:center}.page-rwa-tokenization .token-cards-container{display:flex;padding:100px 40px;flex-direction:column;justify-content:center;align-items:start;gap:40px;max-width:1280px}.page-rwa-tokenization .token-cards-container .cards-title-token{color:var(--black-black-0-white, #FFF);font-family:"Work Sans";font-size:32px;font-style:normal;font-weight:700;line-height:38px}.page-rwa-tokenization .token-cards-container .benefits-section{display:flex;flex-direction:column;align-items:center;font-family:"Work Sans",sans-serif;overflow:hidden}.page-rwa-tokenization .token-cards-container .section-title{font-size:32px;color:var(--black-black-0-white, #fff);font-weight:700;line-height:38px;max-width:776px;text-align:center;margin-bottom:40px}.page-rwa-tokenization .token-cards-container .benefits-container{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:40px;width:100%;max-width:1136px}@media(max-width: 991px){.page-rwa-tokenization .token-cards-container .section-title{font-size:28px;line-height:34px}}.page-rwa-tokenization .token-cards-container .benefit-card{border-radius:8px;background-color:var(--XRPL-Black-Black-80, #232325);display:flex;flex-direction:column;justify-content:flex-start;padding:40px;height:310px;width:352px}.page-rwa-tokenization .token-cards-container .benefit-icon{min-width:40px;min-height:40px;background-size:contain;background-repeat:no-repeat}.page-rwa-tokenization .token-cards-container .benefit-icon.low-fees{background-image:url(../img/tokenization/low-fees.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.access{background-image:url(../img/tokenization/cross-chain.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.native-compliance{background-image:url(../img/tokenization/native-compliance.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.delegated-token-management{background-image:url(../img/tokenization/delegated-token-management.png)}.page-rwa-tokenization .token-cards-container .benefit-title{color:var(--black-black-0-white, #fff);font-size:20px;font-weight:700;line-height:26px;margin-top:-10px}.page-rwa-tokenization .token-cards-container .benefit-description{color:var(--Black-Black-20, #e0e0e1);font-size:16px;font-weight:400;line-height:24px;margin-top:16px}@media(max-width: 991px){.page-rwa-tokenization .token-cards-container .benefit-card{padding:20px}}.page-rwa-tokenization .upcoming-events{display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:100px 40px;max-width:1200px;width:100%}.page-rwa-tokenization .upcoming-events__title{max-width:620px;align-self:stretch;color:#fff;font:700 32px/38px Work Sans,-apple-system,Roboto,Helvetica,sans-serif;margin-bottom:64px}.page-rwa-tokenization .upcoming-events__logo-container{display:flex;align-items:center;gap:60px;justify-content:center;flex-wrap:wrap}.page-rwa-tokenization .token-events-wrapper{padding-top:0px;display:flex;justify-content:center}.page-rwa-tokenization .company-logo{flex:0 0 auto;width:140px;aspect-ratio:var(--aspect-ratio);background-size:contain;background-repeat:no-repeat;background-position:center}@media(max-width: 991px){.page-rwa-tokenization .upcoming-events__title{margin-bottom:40px}.page-rwa-tokenization .upcoming-events{text-align:center}.page-rwa-tokenization .upcoming-events__logo-container{justify-content:center}}@media(max-width: 575.98px){.page-rwa-tokenization .small-100{width:100%}}.page-rwa-tokenization .company-logo{cursor:pointer;flex:0 0 auto;max-width:140px;aspect-ratio:var(--aspect-ratio);background-size:contain;background-repeat:no-repeat;background-position:center}.page-rwa-tokenization .company-logo.zoniqx{background-image:url(../img/tokenization/zoniqx.png)}.page-rwa-tokenization .company-logo.archax{background-image:url(../img/tokenization/archax.png)}.page-rwa-tokenization .company-logo.palisade{background-image:url(../img/tokenization/palisade.png)}.page-rwa-tokenization .company-logo.axiology{background-image:url(../img/tokenization/axiology.png)}.page-rwa-tokenization .company-logo.open-eden{background-image:url(../img/tokenization/open-eden.png)}.page-rwa-tokenization .company-logo.ondo{background-image:url(../img/tokenization/ondo.png)}.page-rwa-tokenization .company-logo.meld{background-image:url(../img/tokenization/meld.png)}.page-rwa-tokenization .company-logo.ripple-logo{background-image:url(../img/tokenization/ripple-logo.png)}.page-rwa-tokenization .company-logo.hidden-road{background-image:url(../img/tokenization/hidden-road.png)}.page-rwa-tokenization .company-logo{max-height:66px;max-width:100px;width:100%;height:100%}.page-rwa-tokenization .token-developer-tools-section .developer-tools{font-family:"Work Sans",sans-serif;padding:180px 0;color:#fff}.page-rwa-tokenization .token-developer-tools-section .developer-tools__header{margin-bottom:64px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__title{font-size:32px;font-weight:700;line-height:1;margin-bottom:24px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__description{font-size:16px;line-height:24px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__list{list-style:none;padding:0;margin:0}.page-rwa-tokenization .token-developer-tools-section .feature-item{margin-bottom:16px;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item a:hover{text-decoration:none}.page-rwa-tokenization .token-developer-tools-section .feature-item__content{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item__content:hover .right-arrow-item::after{transform:translateX(4px)}.page-rwa-tokenization .token-developer-tools-section .feature-item__title{font-size:16px;color:#e0e0e1;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item__icon{width:24px;height:24px;object-fit:contain}.page-rwa-tokenization .token-developer-tools-section .feature-item__divider{height:1px;opacity:.3;background-color:#fff}.page-rwa-tokenization .token-developer-tools-section .developer-tools__image{width:110%;height:124%;background-image:url("../img/tokenization/graphic.png");background-size:contain;background-repeat:no-repeat;background-position:center}.page-rwa-tokenization .token-developer-tools-section .m-h-300{min-height:300px}@media(max-width: 991px){.page-rwa-tokenization .token-developer-tools-section .developer-tools{padding:50px 0}.page-rwa-tokenization .token-developer-tools-section .developer-tools__header{margin-bottom:40px}}.page-rwa-tokenization .token-features-section .rwa-tokenization{font-family:"Work Sans",sans-serif;padding:100px 40px;padding-top:0px;color:#fff}.page-rwa-tokenization .token-features-section .container{max-width:1200px;margin:0 auto}.page-rwa-tokenization .token-features-section .rwa-header{text-align:start;margin-bottom:40px}.page-rwa-tokenization .token-features-section .rwa-title{font-size:32px;font-weight:700;line-height:38px}.page-rwa-tokenization .token-features-section .cta-container{display:flex;justify-content:flex-start;gap:24px}.page-rwa-tokenization .token-features-section .btn{font-size:16px;font-weight:700;padding:8px 16px;border-radius:4px;text-decoration:none}.page-rwa-tokenization .token-features-section .btn-primary{background-color:#7919ff;color:#fff}.page-rwa-tokenization .token-features-section .btn-link{color:#9a52ff}@media(max-width: 991px){.page-rwa-tokenization .token-features-section .auto-bridge{padding:18px !important}.page-rwa-tokenization .token-features-section .rwa-tokenization{padding:50px 20px}.page-rwa-tokenization .token-features-section .feature-grid{gap:20px}.page-rwa-tokenization .token-features-section .cta-container{flex-direction:column;align-items:center}}.page-rwa-tokenization .token-features-section .feature-grid{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;margin-bottom:20px}.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 100%;max-width:100%;margin-bottom:20px;position:relative}@media(min-width: 768px){.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 calc(50% - 40px);max-width:calc(50% - 40px)}}@media(min-width: 1200px){.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 calc(25% - 30px);max-width:calc(25% - 30px)}}.page-rwa-tokenization .token-features-section .feature-card:hover .right-arrow-item::after{transform:translateX(4px)}.page-rwa-tokenization .token-features-section .feature-header{margin-bottom:16px;position:relative}.page-rwa-tokenization .token-features-section .feature-title{display:flex;align-items:flex-start;justify-content:space-between;font-size:20px;font-weight:700;line-height:26px;color:#fff;width:100%;flex-wrap:wrap}@media(max-width: 767px){.page-rwa-tokenization .token-features-section .feature-title{padding-right:30px;flex-wrap:nowrap;justify-content:flex-start}}@media(min-width: 768px)and (max-width: 1199px){.page-rwa-tokenization .token-features-section .feature-title{flex-wrap:nowrap;padding-right:30px;justify-content:flex-start}}.page-rwa-tokenization .token-features-section .feature-icon{width:16px;height:16px;margin-left:8px}.page-rwa-tokenization .token-features-section .feature-description{font-size:16px;line-height:24px;color:#e0e0e1}.page-rwa-tokenization .max-w-1150{max-width:1150px !important}.page-rwa-tokenization .custom-gap{justify-content:start !important}.page-rwa-tokenization .mt-16{margin-top:16px}.page-rwa-tokenization .com-card{min-width:auto !important;padding:40px !important;height:fit-content;max-height:388px !important}.page-rwa-tokenization .section-padding{padding:100px 40px}.page-rwa-tokenization .card-description{min-height:96px}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{display:flex !important;flex-wrap:wrap !important;gap:40px !important;justify-content:center !important;max-width:1280px;margin:100px auto;padding:0 40px}@media(max-width: 1199px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{gap:32px;margin:80px auto}}@media(max-width: 991px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{gap:24px;padding:0 20px;margin:60px auto}}@media(max-width: 767px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{flex-direction:column;align-items:center;gap:24px}}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{flex:1 1 calc(50% - 20px) !important;min-width:300px !important;max-width:600px !important;width:auto !important;height:auto !important;max-height:none !important;margin:0 !important}@media(max-width: 1199px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{flex:1 1 100% !important;max-width:600px !important}}@media(max-width: 991px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{max-width:500px !important}}@media(max-width: 767px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{min-width:100% !important;max-width:100% !important;padding:32px !important}}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .card-content{height:100%;display:flex;flex-direction:column}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .card-content .card-description{flex-grow:1;min-height:auto;margin-bottom:24px}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .card-content .card-links{margin-top:auto}@media(max-width: 991px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .top-right-img,.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .bottom-right-img{height:250px}}@media(max-width: 767px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .top-right-img,.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .bottom-right-img{height:200px}}.page-rwa-tokenization .token-utility-section{padding-top:100px}.page-rwa-tokenization .token-utility-section .section-title{font-size:32px;font-weight:700;line-height:38px;text-align:start;margin-bottom:64px;color:#fff}.page-rwa-tokenization .token-utility-section .utility-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:40px}@media(max-width: 1199px){.page-rwa-tokenization .token-utility-section .utility-grid{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 767px){.page-rwa-tokenization .token-utility-section .utility-grid{grid-template-columns:1fr}}.page-rwa-tokenization .token-utility-section .utility-card .utility-title{font-size:20px;font-weight:700;line-height:26px;margin-bottom:16px;color:#fff}.page-rwa-tokenization .token-utility-section .utility-card .utility-description{font-size:16px;line-height:24px;color:#e0e0e1}.page-rwa-tokenization .token-utility-section .utility-card .utility-description a{color:#9a52ff;text-decoration:none}.page-rwa-tokenization .token-utility-section .utility-card .utility-description a:hover{text-decoration:underline}.json-view{display:block;color:#4d4d4d;text-align:left;--json-property:#009033;--json-index:#676dff;--json-number:#676dff;--json-string:#b2762e;--json-boolean:#dc155e;--json-null:#dc155e}.json-view .json-view--property{color:var(--json-property)}.json-view .json-view--index{color:var(--json-index)}.json-view .json-view--number{color:var(--json-number)}.json-view .json-view--string{color:var(--json-string)}.json-view .json-view--boolean{color:var(--json-boolean)}.json-view .json-view--null{color:var(--json-null)}.json-view .jv-indent{padding-left:1em}.json-view .jv-chevron{display:inline-block;vertical-align:-20%;cursor:pointer;opacity:.4;width:1em;height:1em}:is(.json-view .jv-chevron:hover, .json-view .jv-size:hover + .jv-chevron){opacity:.8}.json-view .jv-size{cursor:pointer;opacity:.4;font-size:.875em;font-style:italic;margin-left:.5em;vertical-align:-5%;line-height:1}.json-view :is(.json-view--copy, .json-view--edit),.json-view .json-view--link svg{display:none;width:1em;height:1em;margin-left:.25em;cursor:pointer}.json-view .json-view--input{width:120px;margin-left:.25em;border-radius:4px;border:1px solid currentColor;padding:0px 4px;font-size:87.5%;line-height:1.25;background:transparent}.json-view .json-view--deleting{outline:1px solid #da0000;background-color:#da000011;text-decoration-line:line-through}:is(.json-view:hover, .json-view--pair:hover)>:is(.json-view--copy, .json-view--edit),:is(.json-view:hover, .json-view--pair:hover)>.json-view--link svg{display:inline-block}.json-view .jv-button{background:transparent;outline:none;border:none;cursor:pointer;color:inherit}.json-view .cursor-pointer{cursor:pointer}.json-view svg{vertical-align:-10%}.jv-size-chevron~svg{vertical-align:-16%}.json-view_a11y{color:#545454;--json-property:#aa5d00;--json-index:#007299;--json-number:#007299;--json-string:green;--json-boolean:#d91e18;--json-null:#d91e18}.json-view_github{color:#005cc5;--json-property:#005cc5;--json-index:#005cc5;--json-number:#005cc5;--json-string:#032f62;--json-boolean:#005cc5;--json-null:#005cc5}.json-view_vscode{color:#005cc5;--json-property:#0451a5;--json-index:blue;--json-number:blue;--json-string:#a31515;--json-boolean:blue;--json-null:blue}.json-view_atom{color:#383a42;--json-property:#e45649;--json-index:#986801;--json-number:#986801;--json-string:#50a14f;--json-boolean:#0184bc;--json-null:#0184bc}.json-view_winter-is-coming{color:#0431fa;--json-property:#3a9685;--json-index:#ae408b;--json-number:#ae408b;--json-string:#8123a9;--json-boolean:#0184bc;--json-null:#0184bc}.json-view{font-family:"Space Mono",monospace;padding:1em;background:#232325;overflow:hidden;color:#f5f5f7 !important;font-size:14px;letter-spacing:0}.json-view svg{height:11px !important;color:#f5f5f7}.jv-button{color:#ff6719 !important;font-size:14px}.jv-indent{border-left:1px solid #454549;margin:4px}.json-view--boolean{color:#e50071 !important}.json-view--pair{margin:4px}.json-view--property{color:#f5f5f7 !important}.json-view--null,.json-view--undefined{display:inline-block;padding:1px 2px;border-radius:3px;background-color:#454549;color:#f5f5f7 !important;font-size:11px}.json-view--number{color:#84f0b6 !important}.json-view--string{color:#ff6719 !important}.rpc-tool .nav-link{cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:6px 9px}.dev-blog .image-container{transform:translateY(15%);z-index:1}.dev-blog .text-bg{background-color:#232325;padding:60px 40px;width:100%;border-radius:30px}@media(min-width: 992px){.dev-blog .image-container{transform:translateX(15%)}.dev-blog .text-bg{padding:50px 60px}}.dev-blog .line-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.dev-blog #blog-purple{position:absolute;top:0px;left:0px}.dev-blog #card-date{color:#a2a2a4}.dev-blog .post-date{text-decoration:overline solid #32e685 10%}.dev-blog #category-list #general{content:url("../img/blog/general.png");max-width:100%;width:100%}.dev-blog #category-list #developer_reflections{content:url("../img/blog/developer_reflections.png");max-width:100%;width:100%}.dev-blog #category-list #amendments{content:url("../img/blog/amendments.png");max-width:100%;width:100%}.dev-blog #category-list #advisories{content:url("../img/blog/advisories.png");max-width:100%;width:100%}.dev-blog #category-list #release_notes{content:url("../img/blog/release_notes.png");max-width:100%;width:100%}.dev-blog #category-list #development{content:url("../img/blog/development.png");max-width:100%;width:100%}.dev-blog #category-list #gateway_bulletins{content:url("../img/blog/gateway_bulletins.png");max-width:100%;width:100%}.dev-blog #category-list #features{content:url("../img/blog/features.png");max-width:100%;width:100%}.dev-blog #category-list #security{content:url("../img/blog/security.png");max-width:100%;width:100%}.dev-blog #category-list .label{width:fit-content}@media(min-width: 768px)and (max-width: 991px){.dev-blog #category-list{display:block}.dev-blog #category-list img{display:block;margin-bottom:10px}.dev-blog #category-list .label{display:block !important;margin-bottom:15px}}.dev-blog .category_sidebar{position:sticky;top:132px}.dev-blog .category-checkbox{display:flex;align-items:center}.dev-blog .dropdown{position:relative;display:inline-block}.dev-blog .dropdown-btn{color:#fff;background-color:#232325;border-color:#232325;border-style:solid;border-radius:4px;padding:8px 16px;font-size:16px;cursor:pointer;text-align:start;padding-right:10px}.dev-blog .dropdown-btn img{content:url("../img/icons/chevron-arrow-down.svg");width:10px;height:13px;padding:8px}.dev-blog .dropdown-content{display:flex;align-items:start;background-color:#232325;padding:16px 8px;width:254px;height:auto;border-radius:4px}.dev-blog .category-checkbox label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.dev-blog .category-header{font-weight:normal;width:200px;color:#f5f5f7}.dev-blog label{margin:0;padding-left:8px;color:#fff}.dev-blog .blog-filter h6{font-size:16px}.dev-blog .blog-filter[type=checkbox]::before{position:relative;display:block;width:20px;height:20px;content:"";background:#111112;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.dev-blog .blog-filter[type=checkbox]::after{position:relative;display:block;top:-20px;width:20px;height:20px;content:"";background-repeat:no-repeat;background-position:center;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.dev-blog .blog-filter[type=checkbox]:checked::before{background:#111112;border:none;border-radius:0}.dev-blog .blog-filter[type=checkbox]:checked::after{background-image:url(../img/blog/blog-check.svg);background-repeat:no-repeat;background-position:center;background-color:#7919ff;border-width:2px;border-style:solid;border-color:#7919ff;border-radius:4px}.dev-blog .blog-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/blog/blog-check.svg);background-repeat:no-repeat;background-position:center;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}.dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::before{background:#111112;border:none;border-radius:0}.dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::after{background:#111112;border:none;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}#feedback-content .docked-widget{border:none !important;background-color:transparent !important;position:static !important;box-shadow:none !important;width:auto !important}#feedback-content .widget-form-wrapper{position:static !important;box-shadow:none !important;display:block;background-color:#232325 !important;border-width:0 !important;padding:24px !important;border-radius:8px !important}#feedback-content .widget-form-wrapper div{background-color:#232325 !important}#feedback-content .widget-form-wrapper textarea{background-color:#fff !important;opacity:1 !important;border:none !important;border-radius:4px !important;margin:0 !important;width:100% !important;color:#000 !important}#feedback-content .widget-form-wrapper .widget-header-title{background:none !important;flex-grow:0 !important;padding-right:1rem !important;height:auto !important;padding:0 !important;margin-bottom:10px !important}#feedback-content .widget-form-wrapper .widget-header-footer{background:none !important}#feedback-content .widget-form-wrapper .widget-form-footer{padding-right:0 !important}#feedback-content .widget-form-wrapper .submit{background-color:#7919ff !important;font-weight:bold !important;color:#fff !important;border:none !important;border-color:transparent !important;border-radius:4px !important;margin:0 !important;margin-top:8px !important}#feedback-content .widget-form-wrapper .submit:hover{background:#5f00e5 !important}#feedback-content .widget-form-wrapper .submit.disabled,#feedback-content .widget-form-wrapper .submit[disabled=disabled]{background-color:#4a00b2 !important}#feedback-content .widget-form-wrapper .submit.disabled:hover,#feedback-content .widget-form-wrapper .submit[disabled=disabled]:hover{background-color:#4a00b2 !important}#feedback-content .widget-form-wrapper .cancel{margin:0 !important;margin-top:8px !important;color:#b480ff !important;font-weight:600 !important}#feedback-content #closeFeedback{display:none}#feedback-content .widget-helpful .widget-header{background-color:#232325 !important;border-radius:8px !important}#feedback-content .widget-helpful .widget-header-title{color:#fff !important}.video-image{transition:all .35s ease-out;cursor:pointer}.video-image:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}#video-overlay{position:fixed;top:0;left:0;z-index:1190;height:100%;width:100%;background:#fff;opacity:.6;display:none}#video{display:none;position:fixed;top:10%;left:15%;width:70%;z-index:1200}#video-container{position:relative;top:50%;left:50%;-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);max-width:982px;padding:0 20px}#videoWrapper{position:absolute;top:0;left:0;height:calc(90vh - 100px);width:80vw}#videoWrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}#video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-external-link{color:#9a52ff;font-weight:600}.video-external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:24px;padding:9px 4px 0 8px;width:2rem;background-position:left 8px bottom 0px;transition:background-position 100ms ease-in-out}.video-external-link.video-external-link:hover::after{background-position:left 12px bottom 8px}.video-title{line-height:1.2}@media(min-width: 768px){.video-title{font-size:1rem}}@media(max-width: 768px){.page-community .sm-align-items-start{align-items:start !important}}.page-community .numbers-animation{width:218px;height:96px}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.page-community .bounce-arrow{animation:bounce 1.5s infinite;animation-timing-function:ease-in-out;height:26px;width:26px;position:relative;top:24px}.page-community .m-gif{height:108px}.page-community .middle-image{margin:0 auto;height:35px}.page-community .bg-hero{width:100%;height:635px}.page-community #center-image{cursor:pointer}.page-community .gradient-num-three{background:linear-gradient(35deg, #84F0B6 -0.3%, #B480FF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .middle-image-two{margin:0 auto;height:52px}.page-community .gradient-num-two{background:linear-gradient(35deg, #EA80FF -0.3%, #80CCFF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .gradient-num{background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .surround-gradient{background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .surround-gradient-two{background:linear-gradient(35deg, #EA80FF -0.3%, #80CCFF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .surround-gradient-three{background:linear-gradient(35deg, #84F0B6 -0.3%, #B480FF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .main-title{color:var(--black-black-0, #FFF);text-align:center;font-family:Work Sans;font-size:62px;font-style:normal;font-weight:700;line-height:70px}@media(max-width: 768px){.page-community .main-title{font-size:42px;line-height:52px;text-align:left}}.page-community .get-funding-btn{width:90%;margin:0 auto}@media(max-width: 768px){.page-community .cd-none-sm{display:none !important}}@media(min-width: 769px){.page-community .cd-none-lg{display:none !important}}.page-community .icon-date{padding-right:4px;content:url(../img/events/event-date.svg)}.page-community .icon-location{padding-right:4px;content:url(../img/events/event-location.svg)}.page-community .builders-wrap{white-space:nowrap}@media(min-width: 768px){.page-community .builders-wrap{white-space:normal}}.page-community #community-table{padding:20px 93px;max-width:1280px;margin:0 auto;border-radius:5px;padding-top:165px}@media(min-width: 992px){.page-community #community-table{padding-top:512px}}@media(max-width: 768px){.page-community #community-table{margin:0;padding:20px;margin-top:100px !important}}.page-community .eyebrow-convo{text-align:start;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:26px;padding-bottom:5px}.page-community .final-tr{border:none !important}.page-community #community-table h4{text-align:start;margin:10px 0;font-family:Work Sans;font-size:32px;font-style:normal;font-weight:700;line-height:38px}.page-community #community-table table{width:100%;margin-top:31px;border-collapse:collapse}.page-community #community-table tr{padding:10px 10px;border-bottom:1px solid #343437}.page-community #community-table td{overflow:hidden;max-width:34vw;position:relative;vertical-align:middle}.page-community .scrolling-text{display:inline-block}.page-community #community-table img{max-width:52px;height:29px}.page-community .td-img{padding:10px;width:69px}.page-community .td-img .discord-icon{content:url(../img/community/ic_discord.png)}.page-community .td-img .twitter-icon{content:url(../img/community/ic_twitter.png)}.page-community .td-img .youtube-icon{content:url(../img/community/ic_youtube.png)}.page-community .td-img .xrpl-icon{content:url(../img/community/ic_xrpl.png)}.page-community .td-img .github-icon{content:url(../img/community/ic_github.png)}.page-community .td-img .stackoverflow-icon{content:url(../img/community/ic_stackoverflow.png)}.page-community .text-external-link{display:inline-flex;align-items:center;margin-left:10px}.page-community .external-link-contribute{display:inline-block;vertical-align:middle;padding-right:41px;height:16px;background:url(../img/icons/arrow-up-right.svg) no-repeat center center;transition:transform .3s ease}.page-community .text-external-link:hover .external-link-contribute{transform:translate(5px, -5px)}.page-community table td{position:relative;padding-right:25px}.page-community table td .text-external-link{position:absolute;right:5px;top:50%;transform:translateY(-50%)}@media(max-width: 768px){.page-community #community-table img{width:96px;height:29px}.page-community #community-table{width:100%}.page-community .td-img{min-width:60px}}.page-community .funding-text{color:var(#FFFFFF);font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:44px;padding-bottom:4px}.page-community .xrpl-events-section{padding:50px 40px;margin:100px auto;display:flex;justify-content:space-around;align-items:center;max-width:1280px}@media screen and (max-width: 768px){.page-community .xrpl-events-section{flex-direction:column;align-items:start}.page-community .xrpl-events-section .header-div{text-align:center}.page-community .xrpl-events-section .header{display:flex;flex-direction:column;align-items:start}.page-community .xrpl-events-section .header h6{margin-bottom:.5rem;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:28px}.page-community .xrpl-events-section .header h4{font-family:Work Sans;font-size:28px;font-style:normal;font-weight:700;line-height:34px}.page-community .xrpl-events-section .description{text-align:start;margin-top:2rem;font-family:Work Sans;font-size:24px;font-style:normal;font-weight:500;line-height:28px}.page-community .xrpl-events-section .view-all-events-btn{float:left}.page-community .xrpl-events-section .upcoming-event{text-align:start;margin-top:2rem;padding:1rem 0}.page-community .xrpl-events-section .upcoming-event .days-count{margin-bottom:1rem}}.page-community .xrpl-events-section .header-div{padding-top:27px}.page-community .xrpl-events-section .header h6{padding-left:1.5px;font-family:"Work Sans",sans-serif;font-size:20px;font-weight:700;color:var(--black-black-0, #FFF);text-align:start}.page-community .xrpl-events-section .header h4{text-align:start;font-family:"Work Sans",sans-serif;font-size:32px;font-weight:700;color:var(--black-black-0, #FFF)}.page-community .xrpl-events-section .description{font-family:"Work Sans",sans-serif;font-size:20px;font-weight:500;max-width:444px;color:var(--black-black-10-gray-200, #E0E0E1);line-height:32px}.page-community .xrpl-events-section .view-all-events-btn{display:inline-block;margin-top:1rem}.page-community .xrpl-events-section .upcoming-event{margin-top:2rem}.page-community .xrpl-events-section .upcoming-event .upcoming-label{position:relative;top:7px;font-family:"Work Sans",sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--black-black-30, #C1C1C2)}.page-community .xrpl-events-section .upcoming-event .days-count{font-weight:300;margin-bottom:21px;line-height:99px;font-size:88px;background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.page-community .xrpl-events-section .upcoming-event .days-word{vertical-align:bottom;font-weight:normal;margin-bottom:21px;line-height:99px;font-size:40px;background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.page-community .xrpl-events-section .upcoming-event h5{font-family:"Work Sans",sans-serif;font-size:16px;font-weight:700;color:var(--black-black-10, #F5F5F7)}.page-community .xrpl-events-section .upcoming-event .event-details,.page-community .xrpl-events-section .upcoming-event .event-location{font-family:"Work Sans",sans-serif;font-size:12px;font-weight:600;color:var(--black-black-30, #C1C1C2)}.page-community .community-funding{display:flex;flex-wrap:wrap;justify-content:space-between;max-width:1280px;margin:100px auto;padding-right:54px;padding-left:73px;margin-top:120px}.page-community .funding-section{flex:1;padding:20px;color:var(--black-black-0)}.page-community .small-text{color:var(--black-black-30, #C1C1C2);font-family:Work Sans;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;padding-left:11px;text-align:start}.page-community .funding-section h2{font-size:32px;font-weight:700;line-height:38px;margin-top:10px;margin-bottom:40px}.page-community .funding-section p{color:var(--black-black-20);font-size:24px;font-weight:500;line-height:32px;margin-bottom:40px}.page-community .stats{flex:1;display:flex;justify-content:space-between}@media(max-width: 768px){.page-community .stats{flex-direction:column;align-items:start;text-align:start;padding-left:7px}}.page-community .stacked-stats{display:flex;flex-direction:column;justify-content:space-between}.page-community .stat{align-self:center;text-align:center;margin:0 auto;display:flex;flex-direction:column}@media(max-width: 768px){.page-community .stat{margin:0px;text-align:start;align-self:start}}.page-community .number{opacity:1;font-size:88px;display:flex;padding:10px;align-items:center;line-height:96px;font-weight:300}@media screen and (max-width: 768px){.page-community .community-funding{flex-direction:column-reverse;padding-left:16px;padding-right:16px}.page-community .funding-section,.page-community .stats{width:100%}}.page-community .carousel{position:relative;width:1280px;margin:0 auto;margin-top:106px;max-width:100%}.page-community .carousel .flex-align{display:flex;align-items:center}@media(max-width: 768px){.page-community .carousel{width:100%}}.page-community .center-image-wrapper{position:relative;width:552px;height:314px}@media(max-width: 1118px){.page-community .center-image-wrapper{width:55%;height:auto}}@media(max-width: 768px){.page-community .center-image-wrapper{margin:0 auto;width:86%}}.page-community .image-container{display:flex;justify-content:space-around;align-items:center;overflow:hidden}.page-community .image-container img{max-width:100%;transition:transform .7s ease-in-out,opacity .7s ease-in-out}.page-community #center-image{width:100%}.page-community #left-image,.page-community #right-image{width:252px;height:144px;opacity:.7}@media(max-width: 1118px){.page-community #left-image,.page-community #right-image{width:15%;height:auto}}@media(max-width: 768px){.page-community #left-image,.page-community #right-image{display:none;margin:0}}.page-community #left-image.exit,.page-community #right-image.exit{transform:translateX(-100%);opacity:0}.page-community #left-image.enter,.page-community #right-image.enter{transform:translateX(100%);opacity:0}.page-community #center-image.exit{transform:scale(0.8);opacity:0}.page-community #center-image.enter{transform:scale(1);opacity:1}.page-community .nav-btn{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;background:none;border:none;cursor:pointer}.page-community #prev-btn{left:0}.page-community #next-btn{right:0}.page-community .event-info{position:absolute;bottom:10px;left:32px;display:flex;flex-direction:column;gap:4px}@media(max-width: 768px){.page-community .event-info{left:7px}}.page-community .event-info span{color:#fff;font-family:Work Sans;font-size:12px;font-style:normal;font-weight:600;line-height:16px}.page-community .event-info .name{padding-bottom:5px;color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:24px}.page-community .arrow-wrapper{display:flex;justify-content:center;padding-top:24px}.page-community :root{--black-black-0: #FFF;--black-black-10: #F5F5F7;--black-black-30: #C1C1C2}.page-community .community-spotlight-wrapper{display:flex;padding:20px;max-width:1280px;min-height:582px;margin:100px auto;gap:48px;padding-right:54px;padding-left:73px}.page-community .community-spotlight{flex:1;display:flex;flex-direction:column;padding-right:10px}.page-community .projects-wrapper{flex:1;position:relative;display:flex;justify-content:center;gap:48px}@media(max-width: 768px){.page-community .projects-wrapper{gap:48px}}.page-community .project-card{background-color:transparent;border-radius:4px;height:fit-content;width:252px;max-height:456px}@media(max-width: 768px){.page-community .project-card{width:99%}}.page-community .project-card.bottom-right{align-self:end}.page-community .card-image{border-radius:4px;height:144px;width:252px;background-color:#2c2b2b;display:flex;align-items:center}.page-community .spotlight-title,.page-community .project-title{color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:16px}.page-community .spotlight-subtitle{color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:16px}.page-community .project-description{color:var(--black-black-30, #C1C1C2);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.page-community .card-details{background-color:transparent;display:flex;flex-direction:column;text-align:start;padding:15px;height:fit-content}.page-community .view-project{color:var(--blue-purple-blue-purple-50, #7919FF);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:16px;cursor:pointer;text-decoration:none}@media(max-width: 1076px){.page-community .project-card.bottom-right{align-self:auto}.page-community .community-spotlight-wrapper{flex-direction:column;align-items:center;margin-left:0px;padding-right:26px;padding-left:26px}.page-community .community-spotlight,.page-community .projects-wrapper{width:100%;margin:0;padding:0}.page-community .projects-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;position:static}.page-community .card-image{width:100%}.page-community .card-details{gap:16px;margin-top:10px}.page-community .project-card{position:static;margin:20px 0;height:fit-content}}.page-community .w-222{width:222px}.page-community .bottom-cards-section .com-card .card-content{display:flex;flex-direction:column;justify-content:space-between;gap:16px;position:relative;z-index:1;height:100%}.page-community .bottom-cards-section .com-card{border-radius:8px;padding:36px;background:#232325;min-width:352px;height:442px;max-width:352px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.page-community .bottom-cards-section.bug-bounty{justify-content:space-around}.page-community .bottom-cards-section.bug-bounty .com-card{min-width:559px;max-width:559px;height:442px}.page-community .pr-bt16{position:relative;bottom:16px}.page-community .pr-bt28{position:relative;bottom:28px}.page-community .bottom-cards-section{display:flex;flex-direction:row;justify-content:space-around;gap:48px;max-width:1280px;margin:70px auto}.page-community .bottom-cards-section .com-card{padding:36px;background:#232325;min-width:352px;height:442px;max-width:352px;position:relative}.page-community .bottom-cards-section .com-card .top-left-img{position:absolute;top:0;height:292px;left:0;content:url(../img/community/card-bg-1.svg)}.page-community .bottom-cards-section .com-card .top-right-img.bug-bounty-card-bg{content:url(../img/community/bug-bounty-card-bg.png)}.page-community .bottom-cards-section .com-card .bottom-right-img.bug-bounty-card-bg-2{content:url(../img/community/bug-bounty-card-bg-2.png)}.page-community .bottom-cards-section .com-card .bottom-right-img{position:absolute;bottom:0;right:0;height:333px;content:url(../img/community/card-bg-2.svg)}.page-community .bottom-cards-section .com-card .top-right-img{height:390px;position:absolute;top:0;right:0;content:url(../img/community/card-bg-3.svg)}.page-community .bottom-cards-section .com-card .card-content{display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}.page-community .bottom-cards-section .com-card .card-content .card-title{margin-bottom:0px !important;color:var(--black-black-0-white, #FFF);white-space:nowrap;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:26px}.page-community .bottom-cards-section .com-card .card-content .card-subtitle{color:var(--black-black-0, #FFF);font-family:Work Sans;font-size:24px;font-style:normal;font-weight:700;line-height:32px;margin-top:2px}.page-community .bottom-cards-section .com-card .card-content .card-description{color:var(--black-black-20, #E0E0E1);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin-top:15px;margin-bottom:15px}.page-community .bottom-cards-section .com-card .card-content .card-description a{color:#9a52ff}.page-community .bottom-cards-section .com-card .card-content .card-links{display:flex;flex-direction:column;gap:8px}.page-community .bottom-cards-section .com-card .card-content .com-card-link{text-decoration:none;cursor:pointer;color:#9a52ff;font-family:Work Sans;font-size:16px;font-style:normal;font-weight:600;line-height:24px}@media(max-width: 767.98px){.page-community .bottom-cards-section .com-card .card-content .com-card-link{display:block;width:100%}}.page-community .bottom-cards-section .com-card .card-content .com-card-link::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);position:relative;top:1px;vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.page-community .bottom-cards-section .com-card .card-content .com-card-link:hover{border:none}.page-community .bottom-cards-section .com-card .card-content .com-card-link:hover::after{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}@media(max-width: 768px){.page-community .pr-bt28{position:relative;bottom:0px}.page-community .pr-bt16{position:relative;bottom:0px}.page-community .bottom-cards-section{flex-direction:column;align-items:center;padding:20px}.page-community .bottom-cards-section.bug-bounty{justify-content:space-around}.page-community .bottom-cards-section.bug-bounty .com-card{min-width:352px;height:fit-content;max-width:352px}.page-community .bottom-cards-section .com-card{margin-bottom:20px;display:block;width:100%}}.page-community .num-separator{width:32px;height:1px;background:var(--black-black-70, #343437);margin-bottom:32px;margin-top:1px}.page-community .stat-separator{width:32px;height:1px;background:var(--black-black-70, #343437);margin-bottom:32px;margin-top:8px}.page-community .ml-8{margin-left:8px}.page-community .ml-19{margin-left:19px}.page-community .ml-14{margin-left:11px}.page-community .header-div .header{gap:10px;display:flex;flex-direction:column;padding-bottom:35px}.page-community .spotlight-subtitle{font-size:32px;font-weight:700;line-height:38px;margin-top:10px;margin-bottom:40px}.page-community .spotlight-description{color:var(--black-black-20);font-size:24px;font-weight:500;line-height:32px;margin-bottom:40px}.sdk-img{align-self:center}.light .sdk-img{content:url(../img/graphics/sdk-white.png)}.light .ref-book-illustration{content:url(../img/graphics/ref-book-light.png)}.light .tutorial-illustration{content:url(../img/graphics/tutorials-illustration-light.png)}.light .concepts-doc-illustration{content:url(../img/graphics/concepts-docs-light.png)}.light .use-cases .wallet-illustration{content:url(../img/graphics/wallet-light.svg)}.light .use-cases .token-illustration{content:url(../img/graphics/tokens-light.png)}.light .use-cases .connections-illustration{content:url(../img/graphics/nodes-light.svg)}.light .quickstart-image{content:url(../img/graphics/getting-started-pages-light.png)}.light .dev-tools-img{content:url(../img/graphics/dev-tools-light.svg)}.light .dev-tools-link:hover p{color:#000}.dark .sdk-img{content:url(../img/graphics/sdk-black.png)}.dark .ref-book-illustration{content:url(../img/graphics/ref-book.png)}.dark .tutorial-illustration{content:url(../img/graphics/tutorials-illustration.png)}.dark .concepts-doc-illustration{content:url(../img/graphics/concepts-doc.png)}.dark .use-cases .wallet-illustration{content:url(../img/graphics/wallet-dark.png)}.dark .use-cases .token-illustration{content:url(../img/graphics/tokens-dark.png)}.dark .use-cases .connections-illustration{content:url(../img/graphics/nodes-dark.png)}.dark .quickstart-image{content:url(../img/graphics/getting-started-pages-dark.svg)}.dark .dev-tools-img{content:url(../img/graphics/dev-tools-dark.png)}.dark .dev-tools-link:hover p{color:#fff}.dark .flat-card-grid .nav-link:hover{color:#e0e0e1}.get-started-img,.flat-card{max-width:100%;max-height:100%}.faded-text{font-family:"Work Sans";font-style:normal;font-weight:400;font-size:15.5667px;line-height:23px}.page-docs-index section{padding-top:64px;padding-bottom:64px}.page-docs-index .dev-tools-link h6::before{margin-top:-20px;height:20px}.page-docs-index .dev-tools-link h6:hover{text-decoration:underline;text-decoration-color:#9a52ff;background:none !important}.page-docs-index .dev-tools-link:hover p{text-decoration:none !important;background:none !important;display:inline-block}.page-docs-index .dev-tools-link a:hover{color:#9a52ff;text-decoration:none !important}.page-docs-index .dev-tools-link .btn-arrow::after{content:url(../img/icons/arrow-right-purple.svg);width:1.5rem;height:1.5rem}.page-docs-index .langs>a{display:block}.page-docs-index .langs h5:hover{text-decoration:underline;text-decoration-color:#9a52ff;background:none !important}.page-docs-index .langs a:hover{text-decoration:none !important}.page-docs-index .langs .btn-arrow::after{content:url(../img/icons/arrow-right-purple.svg);vertical-align:baseline;width:1.5rem;height:1.5rem}.page-docs-index .langs h5{margin-block-start:0 !important}.page-docs-index .langs h5::before{margin-top:0;height:0}.page-docs-index h1{font-size:3.875rem}.page-docs-index .arrow-purple::after{content:url(../img/icons/arrow-right-purple.svg)}.page-docs-index .documentation-index:hover,.page-docs-index .documentation-index::after{color:#9a52ff;text-decoration:none !important;background:none !important}@media(max-width: 765px){.page-docs-index h1{font-size:3rem}.page-docs-index .flat-card-grid{grid-gap:24px}.page-docs-index .flat-card-grid .flat-card{padding:32px 12px}.page-docs-index::before{display:none}}#langs-cards{grid-gap:40px}@media(max-width: 991.98px){.page-docs-index .langs-cards{grid-template-columns:1fr 1fr;grid-auto-rows:auto}}.dev-tools-img{max-width:100%;max-height:100%;margin:auto}.page-docs .h4::before{margin-top:0;height:0}.page-docs .row{margin-right:0;margin-left:0}.page-docs .video-grid{grid-gap:35px}.page-docs .title-space{margin-bottom:16px}.page-docs .circled-logo{margin-left:.1rem}.flat-card-grid{grid-gap:15px;max-width:100%;min-height:384px}.flat-card-grid .flat-card{padding:32px 50px;height:100%;width:100%;box-shadow:none}.flat-card-grid .flat-card-padding{margin-bottom:75px}.flat-card-grid img{width:auto;height:115px;margin-left:auto;margin-right:auto}.flat-card-grid .nav-link{border:none !important}.flat-card-grid .nav-link:hover{text-decoration:underline;text-decoration-color:#9a52ff}.flat-card-grid .nav-link::after{content:none !important}@media(max-width: 991.98px){.flat-card-grid .flat-card-padding{margin-bottom:0}.flat-card-grid .nav-link::after{content:" " !important}.flat-card-grid .flat-card .btn{display:none}}.float-up-on-hover{transition:all .35s ease-out;cursor:pointer}.float-up-on-hover:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}.float-up-on-hover .video-image:hover{-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}@media(min-width: 992px){.align-button-on-bottom .btn-primary{position:absolute;bottom:0}}.center-image{display:flex;justify-content:center}.quickstart-card .quickstart-image{margin-left:-20px;margin-right:-20px;margin-bottom:-20px}@media(min-width: 992px){.quickstart-card{margin-left:-32px;margin-right:-32px;margin-bottom:-32px;width:calc(100% + 64px)}}.explore-links .card-grid{grid-gap:40px}.full-documentation-link{margin-top:-35px}button.MarkpromptFloatingTrigger{bottom:4.5rem;border-radius:4px;right:16px;border:1px solid transparent;color:var(--markprompt-primaryForeground);background-color:var(--markprompt-primary)}@media(min-width: 992px){button.MarkpromptFloatingTrigger{right:32px}}html.light .MarkpromptContentDialog a{color:#7919ff}html.light .MarkpromptContentDialog h3:not(.chip){color:#000}.MarkpromptExtendedFeedbackTextInput{background-color:#fff;color:#000}.MarkpromptOverlay{z-index:20}.MarkpromptContentDialog{z-index:10000}.osano-cm-close{box-sizing:content-box !important}.osano-cm-switch{box-sizing:content-box !important}.osano-cm-widget{right:16px;width:50px;height:50px;border:1px solid transparent}@media(min-width: 992px){.osano-cm-widget{right:32px}}html.light article p code,html.light article table code,html.light article li>code{background-color:#e0e0e1;color:#111112}html.light body{background-color:#f5f5f7;color:#000}html.light #topnav-theme .custom-theme-toggle .custom-control-label::before{background-color:transparent;background-position:bottom right;transform:rotate(-15deg)}html.light h1:not(.chip),html.light h2:not(.chip),html.light h3:not(.chip),html.light h4:not(.chip),html.light h5:not(.chip),html.light h6:not(.chip),html.light .h1:not(.chip),html.light .h2:not(.chip),html.light .h3:not(.chip),html.light .h4:not(.chip),html.light .h5:not(.chip),html.light .h6:not(.chip){color:#000}html.light h1.green-500,html.light h2.green-500,html.light h3.green-500,html.light h4.green-500,html.light h5.green-500,html.light h6.green-500,html.light .h1.green-500,html.light .h2.green-500,html.light .h3.green-500,html.light .h4.green-500,html.light .h5.green-500,html.light .h6.green-500{color:#28b86a;text-shadow:#fff 0 0 2px,#fff -1px -1px 2px,#fff 1px 1px 2px}html.light .bg-grey-800{background-color:#fcfcfd}html.light .grey-400{color:#454549}html.light .text-muted{color:#232325 !important}html.light .longform{color:#232325}html.light .numbers{color:#000}html.light .stat-highlight,html.light .eyebrow{color:#111112}html.light .invertible-img{filter:invert(100%)}html.light .arrow-link::after{content:url("../img/lightmode/icon-long-arrow.svg")}html.light .search .input-group-text,html.light .input-group .input-group-text,html.light .form-group .input-group-text{background-color:#e0e0e1;color:#232325}html.light .search label .input-group-text,html.light .search .form-control:not(.btn),html.light .input-group label .input-group-text,html.light .input-group .form-control:not(.btn),html.light .form-group label .input-group-text,html.light .form-group .form-control:not(.btn){color:#000;background-color:#e0e0e1;border-color:#e0e0e1}html.light .search .ds-input,html.light .input-group .ds-input,html.light .form-group .ds-input{color:#000;background-color:#e0e0e1;border-color:#e0e0e1}html.light .search .ds-input:focus,html.light .input-group .ds-input:focus,html.light .form-group .ds-input:focus{border-color:#9a52ff}html.light .list-group-item{border-color:#232325;background-color:#f5f5f7}html.light .list-group-item.disabled{color:#a2a2a4}html.light .progress{background-color:#e0e0e1}html.light [data-component-name="Search/SearchIcon"]>path{fill:#000}html.light a,html.light nav a,html.light a:not([role=button]){color:#000}html.light a.btn-primary,html.light nav a.btn-primary,html.light a:not([role=button]).btn-primary{color:#fff}html.light a.btn-primary:hover,html.light nav a.btn-primary:hover,html.light a:not([role=button]).btn-primary:hover{color:#fff}html.light a:hover,html.light a:active,html.light a.active,html.light nav a:hover,html.light nav a:active,html.light nav a.active,html.light a:not([role=button]):hover,html.light a:not([role=button]):active,html.light a:not([role=button]).active{color:#7919ff}html.light a:not(.btn):focus,html.light nav a:not(.btn):focus,html.light a:not([role=button]):not(.btn):focus{background-color:transparent}html.light a.card:hover,html.light:active,html.light.active{color:#000}html.light .landing-table tbody td{color:#232325}html.light .btn-outline-secondary,html.light article a.button,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary{color:#111112;border-color:#111112}html.light .btn-outline-secondary:not(:disabled):not(.disabled):hover,html.light .btn-outline-secondary:not(:disabled):not(.disabled):active,html.light article a.button:not(:disabled):not(.disabled):hover,html.light article a.button:not(:disabled):not(.disabled):active,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary:not(:disabled):not(.disabled):hover,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary:not(:disabled):not(.disabled):active{color:#9a52ff;border-color:#9a52ff;background-color:transparent}html.light .breadcrumb{background:#f5f5f7}html.light .breadcrumb-item a{color:#454549}html.light .breadcrumb-item a:hover{color:#9a52ff}html.light .top-nav{background:#f5f5f7}html.light .top-nav #topnav-pages .nav-link{color:#000}html.light .top-nav .navbar-brand .logo{content:url(../img/XRPLedger_DevPortal-black.svg);height:40px}html.light .top-nav #dropdown-hero-for-docs>img{content:url(../img/icons/lightmode/docs.svg)}html.light .top-nav #dropdown-hero-for-community>img{content:url(../img/icons/lightmode/contribute.svg)}html.light .top-nav .dropdown-menu{background-color:#f5f5f7;border-color:#f5f5f7;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .top-nav .dropdown-menu a:hover,html.light .top-nav .dropdown-menu a.active{color:#7919ff}html.light .top-nav .dropdown-menu .dropdown-item.dropdown-hero>img{background-color:#fcfcfd}html.light .top-nav .dropdown-menu .dropdown-item.dropdown-hero p{color:#343437}html.light .top-nav .dropdown-menu .dropdown-item.active{color:#7919ff}html.light .top-nav .dropdown-menu h5{color:#454549}html.light .top-nav .dropdown-menu .col-for-get_started{background-color:#e0e0e1}html.light .top-nav #topnav-button{background-color:#e0e0e1}@media(max-width: 991.98px){html.light .top-nav .navbar-toggler .navbar-toggler-icon::after,html.light .top-nav .navbar-toggler .navbar-toggler-icon::before,html.light .top-nav .navbar-toggler .navbar-toggler-icon div{background-color:#111112}html.light .top-nav .navbar-nav .nav-link,html.light .top-nav .navbar-collapse>.nav-item{background:#e0e0e1}html.light .top-nav #top-main-nav{background-color:#c1c1c2}}html.light aside .sidenav_cat_title{color:#000}html.light .page-toc .level-1 a,html.light .command-list .separator{color:#000}html.light aside a:hover,html.light aside .sidenav_cat_title:hover,html.light aside a.active,html.light aside a.active:hover,html.light aside .active>a,html.light aside .active>a:hover{color:#7919ff}html.light .dactyl-tree-nav nav{border-left:1px solid #000}html.light .dactyl-tree-nav nav .nav-link:hover,html.light .dactyl-tree-nav nav .nav-link:active{border-left-color:#7919ff}html.light .dactyl-tree-nav nav .active>.nav-link{border-left-color:#7919ff}html.light .page-toc,html.light .command-list{border-left:1px solid #000}html.light .page-toc .level-3,html.light .command-list .level-3{border-left:1px solid #000}html.light .page-toc li a:hover,html.light .page-toc li a .active,html.light .command-list li a:hover,html.light .command-list li a .active{border-left-color:#7919ff}html.light .footer-brand .logo{filter:invert(100%)}html.light .copyright-license{text-shadow:#fff 0px 0px 2px,#fff 1px 1px 2px,#fff 2px 2px 3px,#fff 2px 2px 4px,#fff 2px 2px 5px,#fff 2px 2px 6px,#fff -1px -1px 2px,#fff -2px -2px 3px,#fff -2px -2px 4px}html.light a.osano-cm-link{color:#fff}html.light article .card,html.light .landing .card,html.light .cta-card,html.light aside .card{color:#000;background-color:#fcfcfd;box-shadow:0px 5px 20px 0px #c1c1c2}html.light #code-samples-deck .card{box-shadow:0px 5px 20px 0px #c1c1c2}html.light #code-samples-deck .card-header{border-bottom:none;background-color:#fcfcfd}html.light #code-samples-deck .card-footer{background-color:#fcfcfd}html.light .page-faq.landing-builtin-bg::before,html.light .mini-faq.landing-builtin-bg::before{opacity:.6}html.light .page-faq .q-wrapper,html.light .mini-faq .q-wrapper{background-color:#fcfcfd;color:#000;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .page-faq .q-wrapper>h4 a.expander:hover,html.light .mini-faq .q-wrapper>h4 a.expander:hover{color:#000}html.light .page-community .com-card{background:#fff}html.light .page-community .project-description{color:#343437}html.light .page-community #platform-stack-overflow{content:url("../img/logos/lightmode/stack-overflow.svg")}html.light .page-community #platform-discord{content:url("../img/logos/lightmode/discord.svg")}html.light .status.not_enabled{color:#aeb200}html.light .pg-category{color:#454549}html.light .landing .nav .nav-link{color:#232325;border-bottom-color:#c1c1c2}html.light .landing .circled-logo{background-color:#e0e0e1}html.light .landing .circled-logo img[src="assets/img/logos/globe.svg"]{filter:invert(100%)}html.light .landing p a,html.light .landing .longform a{color:#7919ff}html.light .devportal-callout.caution,html.light .devportal-callout.注意{border-color:#aeb200}html.light .devportal-callout.caution>strong:first-child::before,html.light .devportal-callout.注意>strong:first-child::before{color:#aeb200}html.light .devportal-callout.tip,html.light .devportal-callout.ヒント{border-color:#2dcf78}html.light .devportal-callout.tip>strong:first-child::before,html.light .devportal-callout.ヒント>strong:first-child::before{color:#2dcf78}html.light code{color:#000}html.light pre code,html.light pre{background-color:#e0e0e1}html.light .multicode a{color:#000}html.light .multicode a.current{color:#fff}html.light .multicode a:hover{text-decoration:none;background-color:#e0e0e1;color:#fff}html.light .multicode a:focus{background-color:#232325}html.light .codehilite .btn-outline-secondary{background-color:#232325;color:#f5f5f7;border-color:#f5f5f7}html.light .interactive-block .breadcrumb-item.done a::after{color:#145c35}html.light .modal-content{background-color:#fcfcfd}html.light .rpc-tool pre .toggle{color:#fff}html.light .rpc-tool pre .toggle:hover{color:#b480ff}html.light .page-home #home-hero-graphic{content:url("../img/lightmode/home-hero.svg")}html.light .page-home #benefits-list #public{content:url("../img/icons/lightmode/public.svg")}html.light .page-home #benefits-list #streamlined{content:url("../img/icons/lightmode/streamlined.svg")}html.light .page-home #benefits-list #performance{content:url("../img/icons/lightmode/performance.svg")}html.light .page-home #benefits-list #low-cost{content:url("../img/icons/lightmode/low-cost.svg")}html.light .page-home #benefits-list #community{content:url("../img/icons/lightmode/community.svg")}html.light .page-home #benefits-list #reliability{content:url("../img/icons/lightmode/reliability.svg")}html.light #validator-graphic{content:url("../img/lightmode/validators.svg")}html.light #wallets #wallet-xumm{content:url("../img/wallets/lightmode/xumm.svg")}html.light #wallets #wallet-bitfrost{content:url("../img/wallets/lightmode/bitfrost.png")}html.light #wallets #wallet-towo{content:url("../img/wallets/lightmode/towo.svg")}html.light #wallets #wallet-keystone{content:url("../img/wallets/lightmode/keystone.svg")}html.light #wallets #wallet-dcent{content:url("../img/wallets/lightmode/dcent.svg")}html.light #wallets #wallet-coin{content:url("../img/wallets/lightmode/coin.svg")}html.light #wallets #wallet-gem{content:url("../img/wallets/lightmode/gem.svg")}html.light #top-exchanges #exch-bitstamp{content:url("../img/exchanges/lightmode/bitstamp.svg")}html.light #top-exchanges #exch-cex-io{content:url("../img/exchanges/lightmode/cex-io.svg")}html.light #top-exchanges #exch-liquid{content:url("../img/exchanges/lightmode/liquid.svg")}html.light #top-exchanges #exch-bitfinex{content:url("../img/exchanges/lightmode/bitfinex.svg")}html.light #top-exchanges #exch-bittrex{content:url("../img/exchanges/lightmode/bittrex.png")}html.light #top-exchanges #exch-currency-com{content:url("../img/exchanges/lightmode/currency-com.png")}html.light #top-exchanges #exch-ftx{content:url("../img/exchanges/lightmode/ftx.png")}html.light #top-exchanges #exch-lmax{content:url("../img/exchanges/lightmode/lmax.png")}html.light .timeline-dot{background-color:#f5f5f7}html.light .page-uses .card-body{background:#fff;color:#343437}html.light .page-uses .modal-footer,html.light .page-uses .modal-header{background-color:#fcfcfd}html.light .page-uses #infrastructure{content:url("../img/icons/usecases/lightmode/ic_infrastructure.png")}html.light .page-uses #developer_tooling{content:url("../img/icons/usecases/lightmode/ic_developer_tooling.png")}html.light .page-uses #interoperability{content:url("../img/icons/usecases/lightmode/ic_interoperability.png")}html.light .page-uses #wallet{content:url("../img/icons/usecases/lightmode/ic_wallet.png")}html.light .page-uses #nfts{content:url("../img/icons/usecases/lightmode/ic_nfts.png")}html.light .page-uses #exchanges{content:url("../img/icons/usecases/lightmode/ic_exchanges.png")}html.light .page-uses #gaming{content:url("../img/icons/usecases/lightmode/ic_gaming.png")}html.light .page-uses #security{content:url("../img/icons/usecases/lightmode/ic_security.png")}html.light .page-uses #payments{content:url("../img/icons/usecases/lightmode/ic_payments.png")}html.light .page-uses #web_monetization{content:url("../img/icons/usecases/lightmode/ic_web_monetization.png")}html.light .page-uses #sustainability{content:url("../img/icons/usecases/lightmode/ic_sustainability.png")}html.light .page-uses #cbdc{content:url("../img/icons/usecases/lightmode/ic_cbdc.png")}html.light .page-uses #custody{content:url("../img/icons/usecases/lightmode/ic_custody.png")}html.light .page-uses #other{content:url("../img/icons/usecases/lightmode/ic_other.png")}html.light .page-uses #carbon_markets{content:url("../img/icons/usecases/lightmode/ic_carbon_markets.png")}html.light .page-uses #defi{content:url("../img/icons/usecases/lightmode/ic_defi.png")}html.light .page-uses .category-header{color:#343437}html.light .page-uses .category_count{background:#d2b2ff;color:#350080}html.light .page-uses .section-text-title{color:#000}html.light .page-uses #use_case_companies_list #bitgo .biz-logo{max-height:40px;content:url("../img/uses/lightmode/bitgo.svg")}html.light .page-uses #use_case_companies_list #sologenic-nft .biz-logo{max-height:40px;content:url("../img/uses/lightmode/sologenic-nft.svg")}html.light .page-uses #use_case_companies_list #carbonland-trust .biz-logo{max-height:40px;content:url("../img/uses/lightmode/carbonland-trust.svg")}html.light .page-uses #use_case_companies_list #futureverse .biz-logo{max-height:40px;content:url("../img/uses/lightmode/futureverse.png")}html.light .page-uses #use_case_companies_list #moai-finance .biz-logo{max-height:40px;content:url("../img/uses/lightmode/moai-finance.svg")}html.light .page-uses #use_case_companies_list #orchestra-finance .biz-logo{max-height:40px;content:url("../img/uses/lightmode/orchestra-finance.svg")}html.light .page-uses #use_case_companies_list #x-tokenize .biz-logo{max-height:40px;content:url("../img/uses/lightmode/x-tokenize.svg")}html.light .page-uses #use_case_companies_list #casino-coin .biz-logo{max-height:40px;content:url("../img/uses/lightmode/casino-coin.svg")}html.light .page-uses #use_case_companies_list #xrp-cafe .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrp-cafe.svg")}html.light .page-uses #use_case_companies_list #coil .biz-logo{max-height:40px;content:url("../img/uses/lightmode/coil.svg")}html.light .page-uses #use_case_companies_list #xrp-toolkit .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrp-toolkit.svg")}html.light .page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:40px;content:url("../img/uses/lightmode/first-ledger-bot.svg")}html.light .page-uses #use_case_companies_list #cryptum .biz-logo{max-height:40px;content:url("../img/uses/lightmode/cryptum.svg")}html.light .page-uses #use_case_companies_list #xrpl-org-ledger-explorer .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpl-org-ledger-explorer.svg")}html.light .page-uses #use_case_companies_list #evernode .biz-logo{max-height:40px;content:url("../img/uses/lightmode/evernode.svg")}html.light .page-uses #use_case_companies_list #xrpl-rosetta .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpl-rosetta.svg")}html.light .page-uses #use_case_companies_list #ripples-cbdc-platform .biz-logo{max-height:40px;content:url("../img/uses/lightmode/ripples-cbdc-platform.svg")}html.light .page-uses #use_case_companies_list #xrpscan .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpscan.svg")}html.light .page-uses #use_case_companies_list #ripples-on-demand-liquidity .biz-logo{max-height:40px;content:url("../img/uses/lightmode/ripples-on-demand-liquidity.svg")}html.light .page-uses #use_case_companies_list #xumm-wallet .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xumm-wallet.svg")}html.light .page-uses #use_case_companies_list #sologenic-dex .biz-logo{max-height:40px;content:url("../img/uses/lightmode/sologenic-dex.svg")}html.light .page-uses #use_case_companies_list #Crossmark .biz-logo{max-height:40px;content:url("../img/uses/lightmode/Crossmark.png")}html.light .page-uses #use_case_companies_list #threezy .biz-logo{max-height:40px;content:url("../img/uses/lightmode/threezy.png")}html.light .page-uses .modal-content-uses .first-ledger-bot{content:url("../img/uses/lightmode/first-ledger-bot.svg")}html.light .page-uses .modal-content-uses .moai-finance{content:url("../img/uses/lightmode/moai-finance.svg")}html.light .page-uses .modal-content-uses .orchestra-finance{max-height:52px;margin:0;content:url("../img/uses/lightmode/orchestra-finance.svg")}html.light .page-uses #bitpay .biz-logo,html.light .page-uses #forte .biz-logo,html.light .page-uses #xrplorer .biz-logo,html.light .page-uses #gatehub .biz-logo{filter:invert(100%)}html.light .landing-bg{opacity:.4}@media(min-width: 768px){html.light .landing-bg{opacity:1}}html.light .landing-builtin-bg::before{opacity:.4}@media(min-width: 768px){html.light .landing-builtin-bg::before{opacity:1}}html.light #feedback-content .widget-form-wrapper{background-color:#fff !important}html.light #feedback-content .widget-form-wrapper div{background-color:#fff !important}html.light #feedback-content .widget-form-wrapper textarea{background-color:#f5f5f7 !important}html.light #feedback-content .widget-form-wrapper .widget-header-title{color:#111112 !important}html.light #feedback-content .widget-form-wrapper .cancel{color:#7919ff !important}html.light #feedback-content .widget-helpful .widget-header{background-color:#fff !important}html.light #feedback-content .widget-helpful .widget-header-title{color:#111112 !important}html.light #feedback-content .widget-helpful .widget-header-icon{filter:invert(100%)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/lightmode/4col-green.svg)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue.svg)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-yellow.svg)}html.light .page-docs-index #doc-types .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-2.svg)}html.light .page-docs-index .funding-text,html.light .page-community .funding-text{color:#232325}html.light .page-docs-index .stat .small-text,html.light .page-community .stat .small-text{color:#232325}html.light .page-docs-index .project-card,html.light .page-community .project-card{background-color:transparent}html.light .page-docs-index .card-details,html.light .page-community .card-details{background-color:transparent}html.light .page-docs-index .card-image,html.light .page-community .card-image{background:#e0e0e1}html.light .page-docs-index #community-table tr,html.light .page-community #community-table tr{border-bottom:1px solid #34343740}html.light .page-docs-index .card-description,html.light .page-community .card-description{color:#343437 !important}html.light .page-docs-index .card-subtitle,html.light .page-community .card-subtitle{color:#111112 !important}html.light .page-docs-index .card-title,html.light .page-community .card-title{color:#111112 !important}html.light .page-docs-index .main-title,html.light .page-community .main-title{color:#111112}html.light .page-docs-index .event-location,html.light .page-community .event-location{color:#232325 !important}html.light .page-docs-index .event-details,html.light .page-community .event-details{color:#232325 !important}html.light .page-docs-index .upcoming-event .event-name,html.light .page-community .upcoming-event .event-name{color:#111112}html.light .page-docs-index .upcoming-label,html.light .page-community .upcoming-label{color:#232325 !important}html.light .page-docs-index .description,html.light .page-community .description{color:#232325}html.light .page-docs-index .events-text,html.light .page-community .events-text{color:#111112}html.light .page-docs-index .discord-icon,html.light .page-community .discord-icon{content:url(../img/community/ic_discord_light.png)}html.light .page-docs-index .twitter-icon,html.light .page-community .twitter-icon{content:url(../img/community/ic_twitter_light.png)}html.light .page-docs-index .youtube-icon,html.light .page-community .youtube-icon{content:url(../img/community/ic_youtube_light.png)}html.light .page-docs-index .xrpl-icon,html.light .page-community .xrpl-icon{content:url(../img/community/ic_xrpl_light.png)}html.light .page-docs-index .github-icon,html.light .page-community .github-icon{content:url(../img/community/ic_github_light.png)}html.light .page-docs-index .stackoverflow-icon,html.light .page-community .stackoverflow-icon{content:url(../img/community/ic_stackoverflow_light.png)}html.light .page-docs-index #run-a-network-node .card-deck .card:nth-child(4) .card-footer,html.light .page-community #run-a-network-node .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-light-green.svg)}html.light .page-docs-index #run-a-network-node .text-cards a,html.light .page-community #run-a-network-node .text-cards a{color:#000}html.light .page-docs-index #xrpl-blog .blog-graphic,html.light .page-community #xrpl-blog .blog-graphic{content:url(../img/community/lightmode/community-blog@2x.png)}html.light .page-docs-index #xrpl-events .text-light,html.light .page-community #xrpl-events .text-light{color:#000 !important}html.light .page-docs-index #xrplGrantsDark g,html.light .page-docs-index #xrplGrantsDark-small g,html.light .page-docs-index #careersDark g,html.light .page-docs-index #careersDark-small g,html.light .page-community #xrplGrantsDark g,html.light .page-community #xrplGrantsDark-small g,html.light .page-community #careersDark g,html.light .page-community #careersDark-small g{filter:invert(100%) brightness(0.8)}html.light #find-us-on-platforms .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-3.svg)}html.light .page-references #refs-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/3col-green-2.svg)}html.light .page-references #xrpl-protocol .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-4.svg)}html.light ::-webkit-input-placeholder{color:#454549}html.light :-ms-input-placeholder{color:#454549}html.light ::-moz-placeholder{color:#454549;opacity:1}html.light :-moz-placeholder{color:#454549;opacity:1}html.light .page-events label{color:#111112}html.light .page-events .event-card{color:#000;background-color:#fcfcfd;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .page-events a.event-card:hover{color:#000}html.light .page-events .event-hero{color:#111112}html.light .page-events .event-save-date{color:#111112}html.light .page-events .event-small-gray{color:#454549}html.light .page-events #event-hero-image{height:100%;min-height:209px;background:url(../img/events/event-hero1-light@2x.png);background-size:contain;background-repeat:no-repeat;background-position:center}html.light .page-events .icon-date::before{background:url(../img/events/event-date-light.svg)}html.light .page-events .icon-location::before{background:url(../img/events/event-location-light.svg)}html.light .page-events .events-filter[type=checkbox]::before{background-color:#f5f5f7}html.light .page-events .events-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;background-color:#5f00e5;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}html.light .page-events .events-filter[type=checkbox]:not(:disabled):hover::before{background-color:#f5f5f7}html.light .page-events .events-filter[type=checkbox]:not(:disabled):hover::after{background-color:#f5f5f7}html.light .page-ambassadors #benefits-list #benefits-01{content:url("../img/ambassadors/lightmode/benefits-01.svg")}html.light .page-ambassadors #benefits-list #benefits-02{content:url("../img/ambassadors/lightmode/benefits-02.svg")}html.light .page-ambassadors #benefits-list #benefits-03{content:url("../img/ambassadors/lightmode/benefits-03.svg")}html.light .page-ambassadors #benefits-list #benefits-04{content:url("../img/ambassadors/lightmode/benefits-04.svg")}html.light .page-ambassadors #benefits-list #benefits-05{content:url("../img/ambassadors/lightmode/benefits-05.svg")}html.light .page-ambassadors #benefits-list #benefits-06{content:url("../img/ambassadors/lightmode/benefits-06.svg")}html.light .page-ambassadors #eligibility-list #eligibility-01{content:url("../img/ambassadors/lightmode/eligibility-01.svg")}html.light .page-ambassadors #eligibility-list #eligibility-02{content:url("../img/ambassadors/lightmode/eligibility-02.svg")}html.light .page-ambassadors #eligibility-list #eligibility-03{content:url("../img/ambassadors/lightmode/eligibility-03.svg")}html.light .page-ambassadors #eligibility-list #eligibility-04{content:url("../img/ambassadors/lightmode/eligibility-04.svg")}html.light .page-ambassadors #eligibility-list #eligibility-05{content:url("../img/ambassadors/lightmode/eligibility-05.svg")}html.light .page-funding .funding-list #funding-01{content:url("../img/funding/lightmode/funding-01.svg")}html.light .page-funding .funding-list #funding-02{content:url("../img/funding/lightmode/funding-02.svg")}html.light .page-funding .funding-list #funding-03{content:url("../img/funding/lightmode/funding-03.svg")}html.light .page-funding .funding-list #funding-04{content:url("../img/funding/lightmode/funding-04.svg")}html.light .page-funding #xrplGrantsDark{filter:invert(100%) brightness(0.8)}html.light .page-impact .connect-list #connect-01{content:url("../img/impact/lightmode/connect-01.svg")}html.light .page-impact .connect-list #connect-02{content:url("../img/impact/lightmode/connect-02.svg")}html.light .page-impact .connect-list #connect-03{content:url("../img/impact/lightmode/connect-03.svg")}html.light .page-impact .connect-list #connect-04{content:url("../img/impact/lightmode/connect-04.svg")}html.light .page-impact #map-light{display:block}html.light .page-impact #map-dark{display:none}html.light main article .card-grid{color:#000}html.light main article .card-grid code{background-color:#d6fae7}html.light main article .card-grid .card-icon-container,html.light main article .card-grid.card-grid-3xN .card-icon-container{background:#c1c1c2}html.light [data-component-name="Footer/Footer"] [data-component-name="Footer/FooterColumn"]{text-shadow:#f5f5f7 0px 0px 2px,#f5f5f7 1px 1px 2px,#f5f5f7 2px 2px 3px,#f5f5f7 2px 2px 4px,#f5f5f7 2px 2px 5px,#f5f5f7 2px 2px 6px,#f5f5f7 -1px -1px 2px,#f5f5f7 -2px -2px 3px,#f5f5f7 -2px -2px 4px}html.light .dev-blog .text-bg{background-color:#fff}html.light .dev-blog #card-date{color:#454549}html.light .dev-blog .category-header{color:#111112}html.light .dev-blog label{color:#343437}html.light .dev-blog .blog-filter[type=checkbox]::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:checked::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/blog/blog-check-light-mode.svg)}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::after{background:#f5f5f7}html.light .dev-blog .post-date{text-decoration:overline solid #145c35 10%}html.light .dev-blog #general-badge{background-color:#fff;color:#343437}html.light .dev-blog #release_notes-badge{background-color:#32e685;color:#145c35}html.light .dev-blog #advisories-badge{background-color:#ff6719;color:#4c1a00}html.light .dev-blog #amendments-badge{background-color:#faff19;color:#4b4c00}html.light .dev-blog #development-badge{background-color:#7919ff;color:#20004c}html.light .dev-blog #developer_reflections-badge{background-color:#19a3ff;color:#002e4c}html.light .dev-blog #gateway_bulletins-badge{background-color:#d919ff;color:#40004c}html.light .dev-blog #features-badge{background-color:#32e685;color:#145c35}html.light .dev-blog #security-badge{background-color:#ff198b;color:#4c0026}html.light .dev-blog .dropdown-btn{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}html.light .dev-blog .dropdown-btn img{content:url("../img/icons/lightmode/chevron-arrow-down.svg")}html.light .dev-blog .dropdown-content{background-color:#e0e0e1}html.light .page-tokenization .project-cards .project-logo{filter:invert(100%)}html.light .page-tokenization .article-card{background-color:#fff}html.light .page-tokenization .article-card-background{filter:drop-shadow(0px 1px 18px rgba(24, 24, 24, 0.5))}html.light .page-tokenization .evernode{content:url("../img/logos/evernode.svg")}html.light .page-tokenization .prev img{content:url("../img/icons/prev_light.svg")}html.light .page-tokenization .next img{content:url("../img/icons/prev_light.svg");transform:scaleX(-1)}html.light .page-tokenization .arrow-button{background-color:#e0e0e1}html.light .page-rwa-tokenization .section-title{color:#000}html.light .page-rwa-tokenization .utility-card .utility-title{color:#000}html.light .page-rwa-tokenization .utility-card .utility-description{color:#000}html.light .page-rwa-tokenization .benefit-icon.low-fees{background-image:url(../img/tokenization/lightmode/low-fees.png)}html.light .page-rwa-tokenization .benefit-icon.access{background-image:url(../img/tokenization/lightmode/cross-chain.png)}html.light .page-rwa-tokenization .benefit-icon.native-compliance{background-image:url(../img/tokenization/lightmode/native-compliance.png)}html.light .page-rwa-tokenization .benefit-icon.delegated-token-management{background-image:url(../img/tokenization/lightmode/delegated-token-management.png)}html.light .page-rwa-tokenization .company-logo.open-eden{background-image:url(../img/tokenization/lightmode/open-eden.png)}html.light .page-rwa-tokenization .company-logo.zoniqx{background-image:url(../img/tokenization/lightmode/zoniqx.png)}html.light .page-rwa-tokenization .company-logo.axiology{background-image:url(../img/tokenization/lightmode/axiology.png)}html.light .page-rwa-tokenization .company-logo.archax{background-image:url(../img/tokenization/lightmode/archax.png)}html.light .page-rwa-tokenization .company-logo.meld{background-image:url(../img/tokenization/lightmode/meld.png)}html.light .page-rwa-tokenization .company-logo.palisade{background-image:url(../img/tokenization/lightmode/palisade.png)}html.light .page-rwa-tokenization .company-logo.ripple-logo{background-image:url(../img/tokenization/lightmode/ripple-logo.png)}html.light .page-rwa-tokenization .company-logo.ondo{background-image:url(../img/tokenization/lightmode/ondo.png)}html.light .page-rwa-tokenization .company-logo.hidden-road{background-image:url(../img/tokenization/lightmode/hidden-road.png)}html.light .page-rwa-tokenization .token-features-section .btn-link{color:#7919ff}html.light .page-rwa-tokenization .card-description a{color:#7919ff !important}html.light .page-rwa-tokenization .developer-tools__image{background-image:url("../img/tokenization/lightmode/graphic.png")}html.light .page-rwa-tokenization .right-arrow-item::after{content:url("../img/icons/lightmode/arrow-right-purple.svg")}html.light .page-rwa-tokenization .token-video-text-container p{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .cards-title-token{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .benefit-card{background:#fff}html.light .page-rwa-tokenization .benefit-card .benefit-title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .benefit-card .benefit-description{color:var(--XRPL-Black-Black-80, #232325)}html.light .page-rwa-tokenization .developer-tools__description{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-item__title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-item__divider{background-color:#000}html.light .page-rwa-tokenization .rwa-subtitle{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-description{color:var(--XRPL-Black-Black-80, #232325)}html.light .page-rwa-tokenization .com-card-link{color:#7919ff !important} + */:root{--blue: #19A3FF;--indigo: #6610f2;--purple: #9A52FF;--pink: #FF198B;--red: #dc3545;--orange: #FF6719;--yellow: #FAFF19;--green: #32E685;--teal: #20c997;--cyan: #17a2b8;--white: #FFFFFF;--gray: #454549;--gray-dark: #232325;--primary: #9A52FF;--secondary: #E0E0E1;--success: #32E685;--info: #19A3FF;--warning: #FAFF19;--danger: #FF198B;--light: #FFFFFF;--dark: #111112;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-family-monospace: "Space Mono", monospace}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#e0e0e1;text-align:left;background-color:#111112}[tabindex="-1"]:focus:not(:focus-visible){outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#fff;text-decoration:none;background-color:transparent}a:hover{color:#9a52ff;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:"Space Mono",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#e0e0e1;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-weight:500;line-height:1.2;color:#fff}h1,.h1{font-size:2.5rem}h2,.h2{font-size:2rem}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}small,.small{font-size:0.875em;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:0.875em;color:#454549}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#111112;border:1px solid #c1c1c2;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.075);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#454549}code{font-size:87.5%;color:#e0e0e1;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#111112;border-radius:4px;box-shadow:inset 0 -0.1rem 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;font-size:87.5%;color:#111112}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col-xl,.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-lg,.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-md,.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-sm,.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col,.col-auto,.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media(min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-sm-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media(min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media(min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-lg-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media(min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}.table{width:100%;margin-bottom:1rem;color:#e0e0e1}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #c1c1c2}.table thead th{vertical-align:bottom;border-bottom:2px solid #c1c1c2}.table tbody+tbody{border-top:2px solid #c1c1c2}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #c1c1c2}.table-bordered th,.table-bordered td{border:1px solid #c1c1c2}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#e0e0e1;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:#e3cfff}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#caa5ff}.table-hover .table-primary:hover{background-color:#d4b6ff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#d4b6ff}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#f6f6f7}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#efefef}.table-hover .table-secondary:hover{background-color:#e9e9eb}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#e9e9eb}.table-success,.table-success>th,.table-success>td{background-color:#c6f8dd}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#94f2c0}.table-hover .table-success:hover{background-color:#aff5cf}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#aff5cf}.table-info,.table-info>th,.table-info>td{background-color:#bfe5ff}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#87cfff}.table-hover .table-info:hover{background-color:#a6dbff}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a6dbff}.table-warning,.table-warning>th,.table-warning>td{background-color:#feffbf}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#fcff87}.table-hover .table-warning:hover{background-color:#feffa6}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#feffa6}.table-danger,.table-danger>th,.table-danger>td{background-color:#ffbfdf}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#ff87c3}.table-hover .table-danger:hover{background-color:#ffa6d2}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ffa6d2}.table-light,.table-light>th,.table-light>td{background-color:#fff}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#fff}.table-hover .table-light:hover{background-color:#f2f2f2}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#f2f2f2}.table-dark,.table-dark>th,.table-dark>td{background-color:#bcbcbd}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#838384}.table-hover .table-dark:hover{background-color:#afafb0}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#afafb0}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#232325;border-color:#363639}.table .thead-light th{color:#343437;background-color:#e0e0e1;border-color:#c1c1c2}.table-dark{color:#fff;background-color:#232325}.table-dark th,.table-dark td,.table-dark thead th{border-color:#363639}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media(max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media(max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media(max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media(max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.25em + 2rem + 2px);padding:1rem 1.5rem;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;background-color:#232325;background-clip:padding-box;border:1px solid transparent;border-radius:4px;box-shadow:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#fff;background-color:#232325;border-color:#e4d2ff;outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.form-control::placeholder{color:#a2a2a4;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#454549;opacity:1}input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}select.form-control:focus::-ms-value{color:#fff;background-color:#232325}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(1rem + 1px);padding-bottom:calc(1rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.25}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:1rem 0;margin-bottom:0;font-size:1rem;line-height:1.25;color:#e0e0e1;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{color:#e0e0e1}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#32e685}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#111112;background-color:rgba(50,230,133,.9);border-radius:4px}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#32e685;padding-right:calc(1.25em + 2rem) !important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2332E685' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.3125em + 0.5rem) center;background-size:calc(0.625em + 1rem) calc(0.625em + 1rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{padding-right:6rem !important;background-position:right 3rem center}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.25em + 2rem);background-position:top calc(0.3125em + 0.5rem) right calc(0.3125em + 0.5rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#32e685;padding-right:calc(0.75em + 4rem) !important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat,#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2332E685' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 2.5rem/calc(0.625em + 1rem) calc(0.625em + 1rem) no-repeat}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#32e685}.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip{display:block}.was-validated .custom-control-input:valid~.custom-control-label,.custom-control-input.is-valid~.custom-control-label{color:#32e685}.was-validated .custom-control-input:valid~.custom-control-label::before,.custom-control-input.is-valid~.custom-control-label::before{border-color:#32e685}.was-validated .custom-control-input:valid:checked~.custom-control-label::before,.custom-control-input.is-valid:checked~.custom-control-label::before{border-color:#5feca0;background-color:#5feca0}.was-validated .custom-control-input:valid:focus~.custom-control-label::before,.custom-control-input.is-valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before{border-color:#32e685}.was-validated .custom-file-input:valid~.custom-file-label,.custom-file-input.is-valid~.custom-file-label{border-color:#32e685}.was-validated .custom-file-input:valid:focus~.custom-file-label,.custom-file-input.is-valid:focus~.custom-file-label{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#ff198b}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#fff;background-color:rgba(255,25,139,.9);border-radius:4px}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#ff198b;padding-right:calc(1.25em + 2rem) !important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23FF198B' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF198B' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.3125em + 0.5rem) center;background-size:calc(0.625em + 1rem) calc(0.625em + 1rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{padding-right:6rem !important;background-position:right 3rem center}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.25em + 2rem);background-position:top calc(0.3125em + 0.5rem) right calc(0.3125em + 0.5rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#ff198b;padding-right:calc(0.75em + 4rem) !important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat,#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23FF198B' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF198B' stroke='none'/%3e%3c/svg%3e") center right 2.5rem/calc(0.625em + 1rem) calc(0.625em + 1rem) no-repeat}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#ff198b}.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip{display:block}.was-validated .custom-control-input:invalid~.custom-control-label,.custom-control-input.is-invalid~.custom-control-label{color:#ff198b}.was-validated .custom-control-input:invalid~.custom-control-label::before,.custom-control-input.is-invalid~.custom-control-label::before{border-color:#ff198b}.was-validated .custom-control-input:invalid:checked~.custom-control-label::before,.custom-control-input.is-invalid:checked~.custom-control-label::before{border-color:#ff4ca5;background-color:#ff4ca5}.was-validated .custom-control-input:invalid:focus~.custom-control-label::before,.custom-control-input.is-invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before{border-color:#ff198b}.was-validated .custom-file-input:invalid~.custom-file-label,.custom-file-input.is-invalid~.custom-file-label{border-color:#ff198b}.was-validated .custom-file-input:invalid:focus~.custom-file-label,.custom-file-input.is-invalid:focus~.custom-file-label{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media(min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#e0e0e1;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:1rem 1.5rem;font-size:0.875rem;line-height:1.25;border-radius:4px;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#e0e0e1;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:none}.btn.disabled,.btn:disabled{opacity:.65;box-shadow:none}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled):active,.btn:not(:disabled):not(.disabled).active{box-shadow:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#9a52ff;border-color:#9a52ff;box-shadow:none}.btn-primary:hover{color:#fff;background-color:#842cff;border-color:#7c1fff}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#842cff;border-color:#7c1fff;box-shadow:0 0 0 .2rem rgba(169,108,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#7c1fff;border-color:#7512ff}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(169,108,255,.5)}.btn-secondary{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1;box-shadow:none}.btn-secondary:hover{color:#111112;background-color:#cdcdce;border-color:#c6c6c8}.btn-secondary:focus,.btn-secondary.focus{color:#111112;background-color:#cdcdce;border-color:#c6c6c8;box-shadow:0 0 0 .2rem rgba(193,193,194,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#111112;background-color:#c6c6c8;border-color:#c0c0c2}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(193,193,194,.5)}.btn-success{color:#111112;background-color:#32e685;border-color:#32e685;box-shadow:none}.btn-success:hover{color:#fff;background-color:#1ad772;border-color:#19cc6c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#1ad772;border-color:#19cc6c;box-shadow:0 0 0 .2rem rgba(45,198,116,.5)}.btn-success.disabled,.btn-success:disabled{color:#111112;background-color:#32e685;border-color:#32e685}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#19cc6c;border-color:#18c166}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(45,198,116,.5)}.btn-info{color:#fff;background-color:#19a3ff;border-color:#19a3ff;box-shadow:none}.btn-info:hover{color:#fff;background-color:#0091f2;border-color:#0089e5}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#0091f2;border-color:#0089e5;box-shadow:0 0 0 .2rem rgba(60,177,255,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#0089e5;border-color:#0082d8}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(60,177,255,.5)}.btn-warning{color:#111112;background-color:#faff19;border-color:#faff19;box-shadow:none}.btn-warning:hover{color:#111112;background-color:#ecf200;border-color:#e0e500}.btn-warning:focus,.btn-warning.focus{color:#111112;background-color:#ecf200;border-color:#e0e500;box-shadow:0 0 0 .2rem rgba(215,219,24,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#111112;background-color:#faff19;border-color:#faff19}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#111112;background-color:#e0e500;border-color:#d4d800}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(215,219,24,.5)}.btn-danger{color:#fff;background-color:#ff198b;border-color:#ff198b;box-shadow:none}.btn-danger:hover{color:#fff;background-color:#f20078;border-color:#e50072}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#f20078;border-color:#e50072;box-shadow:0 0 0 .2rem rgba(255,60,156,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#e50072;border-color:#d8006b}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,60,156,.5)}.btn-light{color:#111112;background-color:#fff;border-color:#fff;box-shadow:none}.btn-light:hover{color:#111112;background-color:#ececec;border-color:#e6e6e6}.btn-light:focus,.btn-light.focus{color:#111112;background-color:#ececec;border-color:#e6e6e6;box-shadow:0 0 0 .2rem rgba(219,219,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#111112;background-color:#fff;border-color:#fff}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#111112;background-color:#e6e6e6;border-color:#dfdfdf}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(219,219,219,.5)}.btn-dark{color:#fff;background-color:#111112;border-color:#111112;box-shadow:none}.btn-dark:hover{color:#fff;background-color:#000;border-color:#000}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:#000;border-color:#000;box-shadow:0 0 0 .2rem rgba(53,53,54,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#111112;border-color:#111112}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(53,53,54,.5)}.btn-outline-primary{color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:hover{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#9a52ff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.btn-outline-secondary{color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:hover{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#e0e0e1;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.btn-outline-success{color:#32e685;border-color:#32e685}.btn-outline-success:hover{color:#111112;background-color:#32e685;border-color:#32e685}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#32e685;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#111112;background-color:#32e685;border-color:#32e685}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.btn-outline-info{color:#19a3ff;border-color:#19a3ff}.btn-outline-info:hover{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#19a3ff;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.btn-outline-warning{color:#faff19;border-color:#faff19}.btn-outline-warning:hover{color:#111112;background-color:#faff19;border-color:#faff19}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#faff19;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#111112;background-color:#faff19;border-color:#faff19}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.btn-outline-danger{color:#ff198b;border-color:#ff198b}.btn-outline-danger:hover{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#ff198b;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.btn-outline-light{color:#fff;border-color:#fff}.btn-outline-light:hover{color:#111112;background-color:#fff;border-color:#fff}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#fff;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#111112;background-color:#fff;border-color:#fff}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-outline-dark{color:#111112;border-color:#111112}.btn-outline-dark:hover{color:#fff;background-color:#111112;border-color:#111112}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#111112;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#111112;border-color:#111112}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.btn-link{font-weight:400;color:#fff;text-decoration:none}.btn-link:hover{color:#9a52ff;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#454549;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.width{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.width{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid;border-right:.4em solid transparent;border-bottom:0;border-left:.4em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#e0e0e1;text-align:left;list-style:none;background-color:#111112;background-clip:padding-box;border:1px solid #111112;border-radius:4px;box-shadow:0px 5px 40px #000}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:0;border-right:.4em solid transparent;border-bottom:.4em solid;border-left:.4em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid transparent;border-right:0;border-bottom:.4em solid transparent;border-left:.4em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.34em;vertical-align:.34em;content:"";border-top:.4em solid transparent;border-right:.4em solid;border-bottom:.4em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=top],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #000}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#fff;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#9a52ff;text-decoration:none;background-color:#111112}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:transparent}.dropdown-item.disabled,.dropdown-item:disabled{color:#838386;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:0.875rem;color:#454549;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#fff}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group.show .dropdown-toggle{box-shadow:none}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.form-control:not(:last-child),.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:1rem 1.5rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;text-align:center;white-space:nowrap;background-color:#454549;border:1px solid transparent;border-radius:4px}.input-group-text input[type=radio],.input-group-text input[type=checkbox]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + 0.5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:2.5rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;print-color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#9a52ff;background-color:#9a52ff}.custom-control-input:focus~.custom-control-label::before{box-shadow:none,0 0 0 .2rem rgba(154,82,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#e4d2ff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#fff;border-color:#fff}.custom-control-input[disabled]~.custom-control-label,.custom-control-input:disabled~.custom-control-label{color:#454549}.custom-control-input[disabled]~.custom-control-label::before,.custom-control-input:disabled~.custom-control-label::before{background-color:#454549}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#232325;border:1px solid #838386;box-shadow:none}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:4px}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23FFFFFF' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#9a52ff;background-color:#9a52ff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23FFFFFF' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(0.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#838386;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#232325;transform:translateX(0.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.25em + 2rem + 2px);padding:1rem 2.5rem 1rem 1.5rem;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;vertical-align:middle;background:#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat;border:1px solid transparent;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.075);appearance:none}.custom-select:focus{border-color:#e4d2ff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 0 .2rem rgba(154,82,255,.25)}.custom-select:focus::-ms-value{color:#fff;background-color:#232325}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:1.5rem;background-image:none}.custom-select:disabled{color:#454549;background-color:#e0e0e1}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}.custom-select-sm{height:calc(1.5em + 0.5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.25em + 2rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.25em + 2rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#e4d2ff;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.custom-file-input[disabled]~.custom-file-label,.custom-file-input:disabled~.custom-file-label{background-color:#454549}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.25em + 2rem + 2px);padding:1rem 1.5rem;overflow:hidden;font-weight:400;line-height:1.25;color:#fff;background-color:#232325;border:1px solid transparent;border-radius:4px;box-shadow:none}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.25em + 2rem);padding:1rem 1.5rem;line-height:1.25;color:#fff;content:"Browse";background-color:#454549;border-left:inherit;border-radius:0 4px 4px 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#fff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#c1c1c2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#fff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#c1c1c2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#fff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-fill-lower{background-color:#c1c1c2;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#c1c1c2;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#838386}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#838386}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#838386}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:1rem 2rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#454549;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #c1c1c2}.nav-tabs .nav-link{margin-bottom:-1px;background-color:transparent;border:1px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:#e0e0e1 #e0e0e1 #c1c1c2}.nav-tabs .nav-link.disabled{color:#454549;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#343437;background-color:#111112;border-color:#c1c1c2 #c1c1c2 #111112}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:4px}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#9a52ff}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:0 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-sm,.navbar .container-md,.navbar .container-lg,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:1.25rem;padding-bottom:1.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:1rem;padding-bottom:1rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media(max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media(max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media(max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media(max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:#454549}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:#454549;border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%23454549' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#454549}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#fff}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#9a52ff}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:#fff;border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%23FFFFFF' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#fff}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#232325;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:8px}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:7px;border-top-right-radius:7px}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:7px;border-bottom-left-radius:7px}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:2rem}.card-title{margin-bottom:2rem}.card-subtitle{margin-top:-1rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:2rem}.card-header{padding:2rem 2rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:7px 7px 0 0}.card-footer{padding:2rem 2rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 7px 7px}.card-header-tabs{margin-right:-1rem;margin-bottom:-2rem;margin-left:-1rem;border-bottom:0}.card-header-pills{margin-right:-1rem;margin-left:-1rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:7px}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:7px;border-top-right-radius:7px}.card-img,.card-img-bottom{border-bottom-right-radius:7px;border-bottom-left-radius:7px}.card-deck .card{margin-bottom:1.25rem}@media(min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-1.25rem;margin-left:-1.25rem}.card-deck .card{flex:1 0 0%;margin-right:1.25rem;margin-bottom:0;margin-left:1.25rem}}.card-group>.card{margin-bottom:15px}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:2rem}@media(min-width: 576px){.card-columns{column-count:3;column-gap:2rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#111112;border-radius:4px}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#454549;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#a2a2a4}.pagination{display:flex;padding-left:0;list-style:none;border-radius:4px}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#fff;background-color:#fff;border:1px solid #c1c1c2}.page-link:hover{z-index:2;color:#9a52ff;text-decoration:none;background-color:#e0e0e1;border-color:#c1c1c2}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.page-item:last-child .page-link{border-top-right-radius:4px;border-bottom-right-radius:4px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#9a52ff;border-color:#9a52ff}.page-item.disabled .page-link{color:#454549;pointer-events:none;cursor:auto;background-color:#fff;border-color:#c1c1c2}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:8px;border-bottom-left-radius:8px}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:8px;border-bottom-right-radius:8px}.pagination-sm .page-link{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:4px;border-bottom-right-radius:4px}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:4px;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#9a52ff}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#7c1fff}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.badge-secondary{color:#111112;background-color:#e0e0e1}a.badge-secondary:hover,a.badge-secondary:focus{color:#111112;background-color:#c6c6c8}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.badge-success{color:#111112;background-color:#32e685}a.badge-success:hover,a.badge-success:focus{color:#111112;background-color:#19cc6c}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.badge-info{color:#fff;background-color:#19a3ff}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#0089e5}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.badge-warning{color:#111112;background-color:#faff19}a.badge-warning:hover,a.badge-warning:focus{color:#111112;background-color:#e0e500}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.badge-danger{color:#fff;background-color:#ff198b}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#e50072}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.badge-light{color:#111112;background-color:#fff}a.badge-light:hover,a.badge-light:focus{color:#111112;background-color:#e6e6e6}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.badge-dark{color:#fff;background-color:#111112}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#000}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e0e0e1;border-radius:8px}@media(min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:4px}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#502b85;background-color:#ebdcff;border-color:#e3cfff}.alert-primary hr{border-top-color:#d4b6ff}.alert-primary .alert-link{color:#391f5e}.alert-secondary{color:#747475;background-color:#f9f9f9;border-color:#f6f6f7}.alert-secondary hr{border-top-color:#e9e9eb}.alert-secondary .alert-link{color:#5b5b5b}.alert-success{color:#1a7845;background-color:#d6fae7;border-color:#c6f8dd}.alert-success hr{border-top-color:#aff5cf}.alert-success .alert-link{color:#114e2d}.alert-info{color:#0d5585;background-color:#d1edff;border-color:#bfe5ff}.alert-info hr{border-top-color:#a6dbff}.alert-info .alert-link{color:#083757}.alert-warning{color:#82850d;background-color:#feffd1;border-color:#feffbf}.alert-warning hr{border-top-color:#feffa6}.alert-warning .alert-link{color:#555708}.alert-danger{color:#850d48;background-color:#ffd1e8;border-color:#ffbfdf}.alert-danger hr{border-top-color:#ffa6d2}.alert-danger .alert-link{color:#57082f}.alert-light{color:#858585;background-color:#fff;border-color:#fff}.alert-light hr{border-top-color:#f2f2f2}.alert-light .alert-link{color:#6c6c6c}.alert-dark{color:#090909;background-color:#cfcfd0;border-color:#bcbcbd}.alert-dark hr{border-top-color:#afafb0}.alert-dark .alert-link{color:#000}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:0.75rem;background-color:#111112;border-radius:4px;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#9a52ff;transition:width .6s ease}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:4px}.list-group-item-action{width:100%;color:#343437;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#343437;text-decoration:none;background-color:#f5f5f7}.list-group-item-action:active{color:#e0e0e1;background-color:#e0e0e1}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#111112;border:1px solid #232325}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#e0e0e1;pointer-events:none;background-color:#111112}.list-group-item.active{z-index:2;color:#fff;background-color:#9a52ff;border-color:#9a52ff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#502b85;background-color:#e3cfff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#502b85;background-color:#d4b6ff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#502b85;border-color:#502b85}.list-group-item-secondary{color:#747475;background-color:#f6f6f7}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#747475;background-color:#e9e9eb}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#747475;border-color:#747475}.list-group-item-success{color:#1a7845;background-color:#c6f8dd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#1a7845;background-color:#aff5cf}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#1a7845;border-color:#1a7845}.list-group-item-info{color:#0d5585;background-color:#bfe5ff}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0d5585;background-color:#a6dbff}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0d5585;border-color:#0d5585}.list-group-item-warning{color:#82850d;background-color:#feffbf}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#82850d;background-color:#feffa6}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#82850d;border-color:#82850d}.list-group-item-danger{color:#850d48;background-color:#ffbfdf}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#850d48;background-color:#ffa6d2}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#850d48;border-color:#850d48}.list-group-item-light{color:#858585;background-color:#fff}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#858585;background-color:#f2f2f2}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#858585;border-color:#858585}.list-group-item-dark{color:#090909;background-color:#bcbcbd}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#090909;background-color:#afafb0}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#090909;border-color:#090909}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#ff198b;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#ff198b;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:0.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#454549;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#000;background-clip:padding-box;border:1px solid #e0e0e1;border-radius:8px;box-shadow:0 .25rem .5rem rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #c1c1c2;border-top-left-radius:7px;border-top-right-radius:7px}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #c1c1c2;border-bottom-right-radius:7px;border-bottom-left-radius:7px}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.modal-content{box-shadow:0 .5rem 1rem rgba(0,0,0,.5)}.modal-sm{max-width:300px}}@media(min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:4px}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:8px;box-shadow:0 .25rem .5rem rgba(0,0,0,.2)}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 8px}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^=top]{margin-bottom:.5rem}.bs-popover-top>.arrow,.bs-popover-auto[x-placement^=top]>.arrow{bottom:calc(-0.5rem - 1px)}.bs-popover-top>.arrow::before,.bs-popover-auto[x-placement^=top]>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-top>.arrow::after,.bs-popover-auto[x-placement^=top]>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^=right]{margin-left:.5rem}.bs-popover-right>.arrow,.bs-popover-auto[x-placement^=right]>.arrow{left:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:8px 0}.bs-popover-right>.arrow::before,.bs-popover-auto[x-placement^=right]>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-right>.arrow::after,.bs-popover-auto[x-placement^=right]>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^=bottom]{margin-top:.5rem}.bs-popover-bottom>.arrow,.bs-popover-auto[x-placement^=bottom]>.arrow{top:calc(-0.5rem - 1px)}.bs-popover-bottom>.arrow::before,.bs-popover-auto[x-placement^=bottom]>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-bottom>.arrow::after,.bs-popover-auto[x-placement^=bottom]>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-0.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-left,.bs-popover-auto[x-placement^=left]{margin-right:.5rem}.bs-popover-left>.arrow,.bs-popover-auto[x-placement^=left]>.arrow{right:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:8px 0}.bs-popover-left>.arrow::before,.bs-popover-auto[x-placement^=left]>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-left>.arrow::after,.bs-popover-auto[x-placement^=left]>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:#fff;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:7px;border-top-right-radius:7px}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#e0e0e1}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFFFFF' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFFFFF' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;border:.25em solid currentcolor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;background-color:currentcolor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#9a52ff !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#7c1fff !important}.bg-secondary{background-color:#e0e0e1 !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#c6c6c8 !important}.bg-success{background-color:#32e685 !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#19cc6c !important}.bg-info{background-color:#19a3ff !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#0089e5 !important}.bg-warning{background-color:#faff19 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#e0e500 !important}.bg-danger{background-color:#ff198b !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#e50072 !important}.bg-light{background-color:#fff !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#e6e6e6 !important}.bg-dark{background-color:#111112 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#000 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:transparent !important}.border{border:1px solid #c1c1c2 !important}.border-top{border-top:1px solid #c1c1c2 !important}.border-right{border-right:1px solid #c1c1c2 !important}.border-bottom{border-bottom:1px solid #c1c1c2 !important}.border-left{border-left:1px solid #c1c1c2 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#9a52ff !important}.border-secondary{border-color:#e0e0e1 !important}.border-success{border-color:#32e685 !important}.border-info{border-color:#19a3ff !important}.border-warning{border-color:#faff19 !important}.border-danger{border-color:#ff198b !important}.border-light{border-color:#fff !important}.border-dark{border-color:#111112 !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:4px !important}.rounded{border-radius:4px !important}.rounded-top{border-top-left-radius:4px !important;border-top-right-radius:4px !important}.rounded-right{border-top-right-radius:4px !important;border-bottom-right-radius:4px !important}.rounded-bottom{border-bottom-right-radius:4px !important;border-bottom-left-radius:4px !important}.rounded-left{border-top-left-radius:4px !important;border-bottom-left-radius:4px !important}.rounded-lg{border-radius:8px !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media(min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media(min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media(min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media(min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714286%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media(min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media(min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media(min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media(min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media(min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media(min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media(min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media(min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports(position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-0.25rem !important}.mt-n1,.my-n1{margin-top:-0.25rem !important}.mr-n1,.mx-n1{margin-right:-0.25rem !important}.mb-n1,.my-n1{margin-bottom:-0.25rem !important}.ml-n1,.mx-n1{margin-left:-0.25rem !important}.m-n2{margin:-0.5rem !important}.mt-n2,.my-n2{margin-top:-0.5rem !important}.mr-n2,.mx-n2{margin-right:-0.5rem !important}.mb-n2,.my-n2{margin-bottom:-0.5rem !important}.ml-n2,.mx-n2{margin-left:-0.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media(min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-0.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-0.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-0.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-0.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-0.25rem !important}.m-sm-n2{margin:-0.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-0.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-0.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-0.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-0.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media(min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-0.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-0.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-0.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-0.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-0.25rem !important}.m-md-n2{margin:-0.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-0.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-0.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-0.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-0.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media(min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-0.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-0.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-0.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-0.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-0.25rem !important}.m-lg-n2{margin:-0.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-0.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-0.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-0.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-0.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media(min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-0.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-0.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-0.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-0.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-0.25rem !important}.m-xl-n2{margin:-0.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-0.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-0.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-0.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-0.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:"Space Mono",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media(min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#9a52ff !important}a.text-primary:hover,a.text-primary:focus{color:#6d06ff !important}.text-secondary{color:#e0e0e1 !important}a.text-secondary:hover,a.text-secondary:focus{color:#b9b9bb !important}.text-success{color:#32e685 !important}a.text-success:hover,a.text-success:focus{color:#16b560 !important}.text-info{color:#19a3ff !important}a.text-info:hover,a.text-info:focus{color:#007acc !important}.text-warning{color:#faff19 !important}a.text-warning:hover,a.text-warning:focus{color:#c7cc00 !important}.text-danger{color:#ff198b !important}a.text-danger:hover,a.text-danger:focus{color:#cc0065 !important}.text-light{color:#fff !important}a.text-light:hover,a.text-light:focus{color:#d9d9d9 !important}.text-dark{color:#111112 !important}a.text-dark:hover,a.text-dark:focus{color:#000 !important}.text-body{color:#e0e0e1 !important}.text-muted{color:#e0e0e1 !important}.text-black-50{color:rgba(0,0,0,.5) !important}.text-white-50{color:rgba(255,255,255,.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;word-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #838386;page-break-inside:avoid}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #c1c1c2 !important}.table-dark{color:inherit}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#c1c1c2}.table .thead-dark th{color:inherit;border-color:#c1c1c2}}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}pre,code{font-feature-settings:"liga" 0;font-variant-ligatures:none}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:bold}h1,.h1{font-size:3.875rem;line-height:70px}@media(max-width: 480px){h1,.h1{font-size:2.625rem;line-height:48px}}h2,.h2{font-size:3.5rem;line-height:62px}@media(max-width: 767.98px){h2,.h2{font-size:1.75rem;line-height:34px}}@media(max-width: 767.98px){h2-sm,.h2-sm{font-size:1.75rem !important;line-height:34px !important}}h3,.h3{font-size:3rem;line-height:52px}@media(max-width: 767.98px){h3,.h3{font-size:1.5rem;line-height:28px}}@media(max-width: 767.98px){h3-sm,.h3-sm{font-size:1.5rem;line-height:28px}}h4,.h4{font-size:2rem;line-height:38px}@media(max-width: 767.98px){h4,.h4{font-size:1.25rem;line-height:26px}}h5,.h5{font-size:1.5rem;line-height:32px}@media(max-width: 767.98px){h5,.h5{font-size:1.125rem;line-height:26px}}h6,.h6{font-size:1.25rem;line-height:26px}@media(max-width: 767.98px){h6,.h6{font-size:1rem;line-height:24px}}.longform{font-size:1.5rem;line-height:32px;color:#f5f5f7;font-weight:500}@media(max-width: 767.98px){.longform{font-size:1.25rem;line-height:26px}}.numbers{font-size:6rem;line-height:104px;font-weight:bold;color:#fff}@media(max-width: 767.98px){.numbers{font-size:3.875rem;line-height:70px}}p{font-size:1rem;line-height:24px}.fs-base{font-size:1rem}.fs-3{font-size:.75rem;line-height:1rem}.fs-4-5{font-size:1.125rem}.fs-5{font-size:1.25rem}.fs-5-5{font-size:1.375rem}.fs-6{font-size:1.5rem}.normal{font-weight:normal}.bold{font-weight:bold}.text-largest{font-size:1.5rem;font-weight:normal}.text-large{font-size:1.125rem}.text-small{font-size:.875rem}.text-smaller{font-size:.75rem}.text-smallest{font-size:.625rem}.arrow-link{text-decoration:none}.arrow-link:after{content:url(../img/icon-long-arrow.svg);width:28px;padding-left:7px;transition:all .2s ease-in-out;display:inline-block;text-decoration:none}.arrow-link:hover:after{padding-left:14px}.lang-ja{font-family:"Work Sans","Noto Sans JP",sans-serif}.lang-ja h1,.lang-ja h2,.lang-ja h3,.lang-ja h4,.lang-ja h5,.lang-ja .navbar .navbar-nav .nav-link,.lang-ja article .children-display li a,.lang-ja .right-sidebar .level-1 a,.lang-ja .right-sidebar .separator{font-family:"Work Sans","Noto Sans JP",sans-serif}.search .input-group-text{border-width:0;color:#fff;background-color:#232325;border-radius:4px 0 0 4px;padding:.5rem .5rem .5rem 1rem;line-height:1.5}.search .ds-input{background-color:#232325;border-radius:0 4px 4px 0;padding:.75rem 1rem .75rem .5rem;width:100%;border:1px solid #232325}.search .ds-input:focus{box-shadow:none;border-color:#9a52ff}.search .algolia-autocomplete{flex-grow:1}#algolia-autocomplete-listbox-0{z-index:1100 !important}.xrp-ledger-dev-portal .DocSearch-Modal{top:85px;background-color:#232325;box-shadow:none}html .DocSearch-Modal{box-shadow:none}html .DocSearch-Button{height:32px;border-radius:4px}html .DocSearch-Button:hover{border-radius:4px}html .DocSearch-Modal{max-width:55%}@media(min-width: 1200px){html .DocSearch-Modal{margin-right:112px}}@media(max-width: 991.98px){html .algolia-autocomplete .ds-dropdown-menu{min-width:unset}html .DocSearch-Modal{top:112px;max-width:100%;margin-left:0;margin-right:0}}html .DocSearch-Container{z-index:99999 !important;background-color:transparent !important}html #centersearchboxcontainer{justify-content:center}html #topsearchboxcontainer{justify-content:right}html .algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{background-color:#111112;border:0;border-radius:8px}html .algolia-autocomplete .algolia-docsearch-suggestion--category-header{border:0;font-weight:bold}html .algolia-autocomplete .algolia-docsearch-suggestion--text{font-size:.8rem}html .algolia-autocomplete .ds-dropdown-menu::before{border:0}.dark .DocSearch-Modal{background-color:#232325}.dark .DocSearch-Cancel{color:#9a52ff}.dark .DocSearch-Form{box-shadow:inset 0 0 0 2px #9a52ff;background-color:#232325}.dark .DocSearch-Hit-source{color:#9a52ff}.dark .DocSearch-Hits mark{color:#9a52ff}.dark .DocSearch-Hit-source,.dark .DocSearch-Hit-Container,.dark .DocSearch-Footer{background-color:#232325}.dark .DocSearch-Hit a{background-color:#232325;box-shadow:none}.dark .DocSearch-Hit-source{color:#a2a2a4}.dark .DocSearch-Input{color:#fff}.dark .DocSearch-Hit-title,.dark .DocSearch-Hit-path,.dark .DocSearch-Label,.dark .DocSearch-Help{color:#f5f5f7 !important}.dark .DocSearch-Hit[aria-selected=true] a{background:#343437}.dark .DocSearch-Hit[aria-selected=true] a .DocSearch-Hit-Container{background-color:#343437}.dark .DocSearch-Hit[aria-selected=true] a mark{color:#9a52ff !important}.dark .DocSearch-Prefill{color:#9a52ff}.dark .DocSearch-Button{background:#232325}.dark .DocSearch-Button:hover{background:#232325;box-shadow:inset 0 0 0 2px #9a52ff}.dark .DocSearch-Button:hover .DocSearch-Button-Placeholder{color:#fff}.dark .DocSearch-Search-Icon{color:#fff !important}.dark .DocSearch-Logo svg .cls-1,.dark .DocSearch-Logo svg .cls-2{fill:#fff}.dark .DocSearch-Commands-Key{color:#232325}.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header{color:#fff;border-bottom:2px solid #9a52ff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{color:#fff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--title{color:#fff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--text{color:#e0e0e1}.dark .algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#fff;background-color:#343437}.dark .algolia-autocomplete .ds-dropdown-menu::before{background-color:#111112}.dark .algolia-autocomplete .algolia-docsearch-suggestion{background-color:#111112}.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight,.dark .algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{box-shadow:none;background-color:#343437}body{position:relative}section{position:relative}.landing{padding:0}.square{position:relative;flex-basis:calc(50% - 30px);margin:15px;box-sizing:border-box;justify-content:center;align-items:center;border-radius:8px}.square::before{content:"";display:block;padding-top:100%}@media(min-width: 992px){.square{flex-basis:calc(25% - 30px)}}.square-50{flex-basis:calc(50% - 30px)}@media(max-width: 767.98px){.square-50{flex-basis:calc(50% - 20px)}}.nav-grid-lg{display:flex;flex-direction:column}.nav-grid-lg .nav-item{width:100%}.nav-grid-lg .nav-item .nav-link{display:flex}.nav-grid-lg .nav-item .nav-link span{flex-grow:0}.nav-grid-lg .nav-item .nav-link img{max-height:2rem}.nav-grid-lg .nav-grid-head{margin-top:2.5rem}@media(min-width: 992px){.nav-grid-lg{display:grid;grid-auto-flow:column;grid-column-gap:80px}.nav-grid-lg .nav-grid-head{margin-top:0}}.col-lg{padding-left:0;padding-right:0}@media(min-width: 992px){.cols-of-1{grid-template-rows:repeat(1, min-content)}}@media(min-width: 992px){.cols-of-2{grid-template-rows:repeat(2, min-content)}}@media(min-width: 992px){.cols-of-3{grid-template-rows:repeat(3, min-content)}}@media(min-width: 992px){.cols-of-4{grid-template-rows:repeat(4, min-content)}}@media(min-width: 992px){.cols-of-5{grid-template-rows:repeat(5, min-content)}}@media(min-width: 992px){.cols-of-6{grid-template-rows:repeat(6, min-content)}}.card-grid{display:grid;grid-gap:40px;padding:0;width:100%;grid-template-columns:1fr}@media(min-width: 992px){.card-grid{grid-gap:80px}}.card-grid .col{padding-left:0;padding-right:0;min-width:100%}.card-grid.card-grid-4xN{grid-auto-rows:auto;grid-template-columns:repeat(2, 1fr)}@media(min-width: 992px){.card-grid.card-grid-4xN{grid-template-columns:repeat(4, 1fr)}}.card-grid.card-grid-3xN{grid-auto-rows:auto}@media(min-width: 992px){.card-grid.card-grid-3xN{grid-template-columns:1fr 1fr 1fr}}.card-grid.card-grid-2xN{grid-template-columns:1fr 1fr;grid-auto-rows:auto}@media(max-width: 991.98px){.card-grid.card-grid-2xN{grid-template-columns:1fr}}.card-grid.card-grid-1x2{grid-template-columns:1fr 2fr;grid-auto-rows:auto}@media(max-width: 991.98px){.card-grid.card-grid-1x2{display:flex}}.card-grid .card{padding:20px;border:0;min-height:264px}@media(min-width: 768px){.card-grid .card{min-height:347px}}@media(min-width: 992px){.card-grid .card{padding:40px}}.card-grid .card .card-body{padding:8px;padding-bottom:24px}.card-grid .card .card-body .card-icon-container{width:50px;height:50px}.card-grid .card .card-body .card-icon-container img{width:70%;height:70%}.card-grid.section-hero{padding-left:0}.container-new{display:flex;flex-wrap:wrap;margin:0 auto;padding:0 32px;max-width:100%;z-index:1}@media(min-width: 768px){.container-new{max-width:608px}}@media(min-width: 992px){.container-new{max-width:942px}}@media(min-width: 1200px){.container-new{max-width:1280px}}@media(max-width: 991.98px){article{overflow-wrap:break-word;word-wrap:break-word;overflow:hidden}}@media(max-width: 480px){html{overflow-x:hidden !important}}@media(max-width: 400px){.navbar .navbar-brand .brand-text{margin-right:0;letter-spacing:-0.08rem}.navbar .navbar-brand{margin-right:0}.navbar .navbar-brand .logo{margin-right:0;margin-left:-1rem}.btn{white-space:normal}}.timeline-wrapper{z-index:999;position:relative}.timeline:before{content:"";position:absolute;top:-40px;left:18px;height:95%;width:4px;background:linear-gradient(180deg, #feff01 0%, #ff2d9a 33%, #a3088f 66%, rgba(44, 4, 128, 0.85) 100%)}@media(max-width: 991.98px){.timeline:before{left:8px}}.timeline-dot{margin-top:94px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-ms-flex-negative:0;flex-shrink:0;width:18px;height:18px;border-radius:50%;background:#111112;box-sizing:border-box}.timeline-block:first-child .timeline-dot{border:3px solid #faff19}.timeline-block:nth-child(2) .timeline-dot{border:3px solid #ff884b}.timeline-block:nth-child(3) .timeline-dot{border:3px solid #c000e5}.timeline-block:nth-child(4) .timeline-dot{border:3px solid #40004c}.timeline-block{display:flex;position:relative;z-index:1}.timeline-content{flex-grow:1;position:relative;margin-left:1.25em}.timeline h4{margin-top:-4px}@media(min-width: 768px){.timeline:before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.timeline-dot{-ms-flex-order:1;order:1;margin-left:calc(5% - 9px);will-change:transform}.timeline-block:nth-child(even){-ms-flex-direction:row-reverse;flex-direction:row-reverse}.timeline-dot{margin-right:calc(5% - 9px)}.timeline-content{width:45%;-ms-flex-positive:0;flex-grow:0;will-change:transform;margin:0;--line-height-multiplier: 1.2}}@media(min-width: 992px){[data-component-name="TableOfContent/TableOfContent"]{margin-right:32px}}aside li a{color:#fff;text-decoration:none;font-size:1.05rem}aside .sidenav_cat_title{color:#fff}aside a:hover,aside .sidenav_cat_title:hover{color:#9a52ff}aside a.active,aside a.active:hover,aside .active>a,aside .active>a:hover{color:#9a52ff;font-weight:700}aside a.active-parent,aside .active-parent>a{font-weight:700}.page-toc .level-1 a,.command-list .separator{font-weight:700;color:#fff}.nav-toggler{position:absolute;width:1.75em;height:1.75em;line-height:0;display:grid;justify-content:center;align-content:center}.nav-toggler::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid;border-right:.4em solid transparent;border-bottom:0;border-left:.4em solid transparent}.nav-toggler:empty::after{margin-left:0}.nav-toggler::after{transition-duration:.3s}.nav-toggler.collapsed::after{transform:rotate(-90deg)}.dactyl-tree-nav nav{margin-left:1rem;padding-left:0;border-left:1px solid #fff}.dactyl-tree-nav nav .nav-link:hover,.dactyl-tree-nav nav .nav-link:active{border-left:1px solid #9a52ff;margin-left:-1px}.dactyl-tree-nav nav .active>.nav-link{border-left:2px solid #9a52ff;margin-left:-1px;padding-left:calc(1rem - 1px)}.dactyl-tree-nav .nav-item{position:relative}.dactyl-tree-nav .nav-item .nav-link{padding:.25rem 1rem;font-size:.9rem}.dactyl-tree-nav .nav-item.nav-parent{padding-top:0}.dactyl-tree-nav .nav-item.nav-parent .nav-link{padding-left:0;padding-top:0;font-size:1.125rem;line-height:initial}.dactyl-tree-nav .nav-item .nav-toggler+.nav-link{padding-left:2rem}.dactyl-tree-nav>.nav-item{padding:.5rem 0;font-size:1.125rem}.dactyl-tree-nav>.nav-item>.nav-link{font-weight:bold}.dactyl-tree-nav .collapsing.nav{flex-wrap:unset}.toc-header{font-weight:bold;font-size:14px;padding:1rem 0}.toc-header h4{line-height:20px;font-size:1.2em;padding:0;margin:0}#page-toc-wrapper .card-body{list-style-type:none}.page-toc,.command-list{padding-left:0;border-left:1px solid #fff}.page-toc li,.command-list li{list-style-type:none;padding:0}.page-toc li.separator,.command-list li.separator{padding:.25rem 1rem}.page-toc li a,.command-list li a{display:block;margin-top:5px;padding:.25rem 1rem;font-size:.9rem}.page-toc li a:hover,.page-toc li a .active,.command-list li a:hover,.command-list li a .active{text-decoration:none;border-left:1px solid #9a52ff;margin-left:-1px}.page-toc li.active a,.page-toc li.active a:hover,.command-list li.active a,.command-list li.active a:hover{border-left:2px solid #9a52ff;padding-left:calc(1rem - 1px);margin-left:-1px}.page-toc .level-3,.command-list .level-3{margin-left:16px;border-left:1px solid #fff;margin-bottom:0;padding-bottom:5px}.page-toc .level-3 a,.command-list .level-3 a{margin-top:0;padding-bottom:5px}.page-toc.no-sideline,.command-list.no-sideline{border-left:0}.page-toc.no-sideline a:hover,.page-toc.no-sideline a.active,.command-list.no-sideline a:hover,.command-list.no-sideline a.active{border-left:0;margin-left:0}.command-list li a{margin-top:0}.h32{height:32px}.w32{width:32px}.h36{height:36px}.w36{width:36px}.h40{height:40px}.w40{width:40px}.w44{width:44px}.w48{width:48px}.w-100{width:100%}.min-vh100{min-height:100vh}.vw100{width:100vw;min-width:100%}@media(max-width: 767.98px){.mb-3-sm-i{margin-bottom:1rem !important}}.ml-5{margin-left:1.25rem}@media(min-width: 768px){.ml-5-until-md{margin-left:1.25rem}}.mr-5{margin-right:1.25rem}@media(min-width: 768px){.mr-5-until-md{margin-right:1.25rem}}.mb-6{margin-bottom:1.5rem}@media(max-width: 767.98px){.mb-6-sm{margin-bottom:1.5rem}}.mt-6{margin-top:1.5rem}@media(min-width: 576px){.mt-6-until-sm{margin-top:1.5rem !important}}.mb-8{margin-bottom:2rem}@media(max-width: 767.98px){.mb-8-sm{margin-bottom:2rem}}.mt-8{margin-top:2rem}@media(min-width: 576px){.mt-8-until-sm{margin-top:2rem !important}}.mt-9{margin-top:2.25rem}.mb-9{margin-bottom:2.25rem}.mt-10{margin-top:2.5rem}@media(max-width: 767.98px){.mt-10-sm{margin-top:2.5rem}}.mb-10{margin-bottom:2.5rem}@media(min-width: 576px){.mb-10-until-sm{margin-bottom:2.5rem}}@media(max-width: 767.98px){.mb-10-sm{margin-bottom:2.5rem}}.ml-10{margin-left:2.5rem}.mr-10{margin-right:2.5rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}@media(min-width: 576px){.mx-10-until-sm{margin-left:2.5rem;margin-right:2.5rem}}@media(min-width: 768px){.mx-10-until-md{margin-left:2.5rem;margin-right:2.5rem}}@media(max-width: 767.98px){.mx-10-sm{margin-left:2.5rem;margin-right:2.5rem}}.mt-12{margin-top:3rem}.mb-12{margin-bottom:3rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mt-13{margin-top:3.25rem}.mb-13{margin-bottom:3.25rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}@media(max-width: 767.98px){.mt-16-sm{margin-top:4rem}}.mb-16{margin-bottom:4rem}@media(max-width: 767.98px){.mb-16-sm{margin-bottom:4rem}}.mb-18{margin-bottom:4.5rem}.mt-20{margin-top:5rem}@media(max-width: 767.98px){.mt-20-sm{margin-top:5rem}}@media(min-width: 576px){.mt-20-until-sm{margin-top:5rem}}.mb-20{margin-bottom:5rem}@media(max-width: 767.98px){.mb-20-sm{margin-bottom:5rem}}@media(min-width: 576px){.mb-20-until-sm{margin-bottom:5rem}}.my-20{margin-top:5rem;margin-bottom:5rem}.my-26{margin-top:6.5rem;margin-bottom:6.5rem}.mb-30{margin-bottom:7.5rem}.mt-30{margin-top:7.5rem}@media(min-width: 576px){.mt-30-until-sm{margin-top:7.5rem}}.mt-40{margin-top:10rem}@media(min-width: 576px){.mt-40-until-sm{margin-top:10rem}}.mb-40{margin-bottom:10rem}@media(min-width: 576px){.mb-40-until-sm{margin-bottom:10rem}}.mb-49{margin-bottom:12.25rem}.mb-50{margin-bottom:12.5rem}@media(min-width: 576px){.mb-50-until-sm{margin-bottom:12.5rem}}@media(max-width: 767.98px){.pl-0-sm{padding-left:0 !important}}@media(max-width: 767.98px){.pr-0-sm{padding-right:0 !important}}@media(max-width: 767.98px){.pt-3-sm{padding-top:1rem !important}}.p-6{padding:1.5rem}@media(max-width: 767.98px){.p-6-sm{padding:1.5rem}}.p-8{padding:2rem}@media(max-width: 767.98px){.p-8-sm{padding:2rem}}.p-10{padding:2.5rem}@media(min-width: 576px){.p-10-until-sm{padding:2.5rem}}.py-20{padding-bottom:5rem;padding-top:5rem}.px-20{padding-left:5rem;padding-right:5rem}.pt-20{padding-top:5rem}.pb-20{padding-bottom:5rem}.py-26{padding-top:6.5rem;padding-bottom:6.5rem}@media(max-width: 767.98px){.py-26{padding-top:2.5rem;padding-bottom:2.5rem}}.pt-26{padding-top:2.5rem}@media(min-width: 576px){.pt-26-until-sm{padding-top:6.5rem}}.pb-26{padding-bottom:6.5rem}@media(min-width: 576px){.pb-26-until-sm{padding-bottom:6.5rem}}.pt-30{padding-top:7.5rem}.pb-30{padding-bottom:7.5rem}.pt-40{padding-top:10rem}@media(min-width: 576px){.pt-40-until-sm{padding-top:10rem}}.pb-40{padding-bottom:10rem}.pb-50{padding-bottom:12.5rem}.pt-50{padding-top:12.5rem}.py-50{padding-bottom:12.5rem;padding-top:12.5rem}@media(min-width: 576px){.py-50-until-sm{padding-bottom:12.5rem;padding-top:12.5rem}}.floating-nav{top:6rem}.last-section{margin-bottom:100px}.bottom-0{bottom:0}.justify-center{justify-content:center}@media(max-width: 767.98px){.justify-center-sm{justify-content:center}}@media(max-width: 575.98px){.overflow-xs{overflow:scroll}.overflow-x-xs{overflow-x:scroll;overflow-y:hidden}}@media(min-width: 768px){.position-sm-absolute{position:absolute}}.va-middle{vertical-align:middle}.ls-none{list-style:none}.no-wrap{white-space:nowrap}.align-items-stretch{align-items:stretch}.underline{text-decoration:underline}@media(max-width: 575.98px){.d-none-xs{display:none}}@media(max-width: 767.98px){.d-none-sm{display:none}}@media(min-width: 992px){.d-none-lg{display:none}}.d-block{display:block}.border-green{border:1px solid #9a52ff}.border-none{border:none !important}.grey-400{color:#a2a2a4}.grey-500{color:#838386}.grey-700{color:#343437}.white{color:#fff}.stat-highlight{color:#32e685}.br-8{border-radius:8px}@media(max-width: 767.98px){br.until-sm{content:""}}.z-index-1{z-index:1}.bb-gray{border-bottom:1px solid #454549}@keyframes arrowDance{0%{padding-left:7px}50%{padding-left:14px}100%{padding-left:7px}}@keyframes arrowDance2{0%{right:0}50%{right:7px}100%{right:0}}@keyframes arrowDanceDiag{0%{right:7px;margin-top:0}50%{right:0;margin-top:-7px}100%{right:7px;margin-top:0}}.btn,article a.button,article .btn{font-weight:bold;cursor:pointer;text-decoration:none;transition:.2s;padding:.5rem 1rem;line-height:16px}article a.button{padding:.5rem 1rem;margin:0 .5rem;display:inline-block}.btn.disabled,button.disabled,.btn[disabled=disabled],button[disabled=disabled]{cursor:not-allowed}.btn-primary code,.btn-secondary code{color:inherit}.btn-primary{background:#7919ff;font-weight:bold;color:#fff;border:none;border-color:transparent}.btn-primary:hover{background:#5f00e5}.btn-primary.disabled,.btn-primary[disabled=disabled]{background:#4a00b2}.btn-primary.disabled:hover,.btn-primary[disabled=disabled]:hover{background:#4a00b2}@media(max-width: 767.98px){.btn-arrow{display:block;width:100%}}.btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right.svg);position:relative;top:1px;vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.btn-arrow:hover{background:#5f00e5 !important;border:none}.btn-arrow:hover::after{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.btn-arrow-out::after{background-position:left 0px bottom 0px;content:" ";background-image:url(../img/icons/arrow-up-right-white.svg);background-repeat:no-repeat;display:inline-block;padding:4px 8px 4px 12px;transition:background-position .3s ease-in-out;margin-left:4px}.btn-arrow-out:hover::after{background-position:left 4px bottom 4px}@media(max-width: 767.98px){.btn-arrow-out{display:block;width:100%}}.jump-to-top{display:none;position:fixed;bottom:36px;right:36px;font-weight:700;z-index:1000}.jump-to-top::after{display:none}.accordian-row{background:#232325;border-radius:5px;padding:32px}.accordian-row h3 a{position:relative;padding-right:2rem}.accordian-row h3 a:hover{color:#fff}.accordian-row .chevron{position:absolute;top:0;right:0}article table{clear:right;margin-bottom:48px}article table code{word-break:normal;white-space:nowrap;overflow-wrap:normal}article table th{border-bottom:2px solid #e0e0e1}article table tr{border-bottom:1px solid #e0e0e1}article table th,article table td{padding:.2em;vertical-align:text-top}article table td:nth-child(1){font-weight:bold}.landing-table th,.landing-table tr{border-bottom:2px solid #454549}.landing-table td{width:33.33%;padding:16px 40px 16px 0}.landing-table td:nth-child(1){font-weight:normal}@media(max-width: 767.98px){.landing-table td{font-size:.875rem}}.landing-table tr:last-child{border-bottom:none}.landing-table tbody td{color:#e0e0e1}.dblue{color:#454549}#overview-table td:nth-child(1){width:40%}#overview-table td:nth-child(2){width:30%}#overview-table tbody td{padding:2rem .75rem}@media(max-width: 991.98px){#overview-table{font-size:.875rem}#overview-table thead .h4{font-size:1.125rem}}article table{clear:right;margin-bottom:48px}article table code{word-break:normal;white-space:nowrap;overflow-wrap:normal}article table th{border-bottom:2px solid #e0e0e1}article table tr{border-bottom:1px solid #e0e0e1}article table th,article table td{padding:.2em;vertical-align:text-top}article table td:nth-child(1){font-weight:bold}.landing-table th,.landing-table tr{border-bottom:2px solid #454549}.landing-table td{width:33.33%;padding:16px 40px 16px 0}.landing-table td:nth-child(1){font-weight:normal}@media(max-width: 767.98px){.landing-table td{font-size:.875rem}}.landing-table tr:last-child{border-bottom:none}.landing-table tbody td{color:#e0e0e1}.dblue{color:#454549}#overview-table td:nth-child(1){width:40%}#overview-table td:nth-child(2){width:30%}#overview-table tbody td{padding:2rem .75rem}@media(max-width: 991.98px){#overview-table{font-size:.875rem}#overview-table thead .h4{font-size:1.125rem}}.modal-uses.exchanges .logo-item{max-height:58px;margin:5px;width:145px;height:28px;max-width:none}.modal-content-uses .carbonland-trust{max-width:218px}.modal-content-uses .first-ledger-bot{min-height:100px !important;position:relative;bottom:20px;content:url("../img/uses/first-ledger-bot.svg")}.modal-content-uses .orchestra-finance{min-height:56px !important;content:url("../img/uses/orchestra-finance.svg")}.modal-content-uses .moai-finance{min-height:100px !important;position:relative;bottom:20px;content:url("../img/uses/moai-finance.svg")}.modal-content-uses .ledger-city{margin:0px !important;position:relative;bottom:4px;left:6px;max-height:47px !important}.modal-content-uses .zerpmon{margin:0px;min-width:80px;min-height:84px;position:relative;bottom:13px;content:url("../img/uses/zerpmon.png") !important}#use_case_companies_list #threezy .biz-logo{max-height:40px;content:url("../img/uses/modallogos/threezy.png")}html.light .cryptum{content:url(../img/uses/lightmode/cryptum.jpg) !important;height:58px;max-width:max-content;width:184px;max-height:none;margin:0px;padding-bottom:10px}.xrp-ledger{content:url(../img/uses/modallogos/xrp-ledger.png)}html.light .xrp-ledger{content:url(../img/uses/lightmode/xrp-ledger.png)}.gatehub{content:url(../img/uses/modallogos/gatehub.png)}html.light .gatehub{content:url(../img/uses/lightmode/gatehub.png)}.towolabs{content:url(../img/uses/modallogos/towolabs.png)}html.light .towolabs{content:url(../img/uses/lightmode/towolabs.png)}.xrpscan{content:url(../img/uses/modallogos/xrpscan.png)}html.light .xrpscan{content:url(../img/uses/lightmode/xrpscan.png)}.xrp-toolkit{content:url(../img/uses/modallogos/xrp-toolkit.png)}html.light .xrp-toolkit{content:url(../img/uses/lightmode/xrp-toolkit.png)}.bithomp{content:url(../img/uses/modallogos/bithomp.png)}html.light .bithomp{content:url(../img/uses/lightmode/bithomp.png)}.onthedex{content:url(../img/uses/modallogos/onthedex.png)}html.light .onthedex{content:url(../img/uses/lightmode/onthedex.png)}.cryptum{content:url(../img/uses/modallogos/cryptum.png)}html.light .cryptum{content:url(../img/uses/lightmode/cryptum.png)}.evernode{content:url(../img/uses/modallogos/evernode.png)}html.light .evernode{content:url(../img/uses/lightmode/evernode.png)}.threezy{content:url(../img/uses/modallogos/threezy.png)}html.light .threezy{content:url(../img/uses/lightmode/threezy.png)}.tokenize{content:url(../img/uses/modallogos/tokenize.png)}html.light .tokenize{content:url(../img/uses/lightmode/tokenize.png)}.multichain{content:url(../img/uses/modallogos/multichain.png)}html.light .multichain{content:url(../img/uses/lightmode/multichain.png)}.crossmark{content:url(../img/uses/modallogos/crossmark.png)}html.light .crossmark{content:url(../img/uses/lightmode/crossmark.png)}.edge{content:url(../img/uses/modallogos/edge.png)}html.light .edge{content:url(../img/uses/lightmode/edge.png)}.gem-wallet{content:url(../img/uses/modallogos/gem-wallet.png)}html.light .gem-wallet{content:url(../img/uses/lightmode/gem-wallet.png)}.xumm{content:url(../img/uses/modallogos/xumm.png)}html.light .xumm{content:url(../img/uses/lightmode/xumm.png)}.aesthetes{content:url(../img/uses/modallogos/aesthetes.png)}html.light .aesthetes{content:url(../img/uses/lightmode/aesthetes.png)}.audiotarky{content:url(../img/uses/modallogos/audiotarky.png)}html.light .audiotarky{content:url(../img/uses/lightmode/audiotarky.png)}.nftmaster{content:url(../img/uses/modallogos/nftmaster.png)}html.light .nftmaster{content:url(../img/uses/lightmode/nftmaster.png)}.peerkat{content:url(../img/uses/modallogos/peerkat.png)}html.light .peerkat{content:url(../img/uses/lightmode/peerkat.png)}.sologenic_dex{content:url(../img/uses/modallogos/sologenic_dex.png)}html.light .sologenic_dex{content:url(../img/uses/lightmode/sologenic_dex.png)}.xrp-cafe{content:url(../img/uses/modallogos/xrp-cafe.png)}html.light .xrp-cafe{content:url(../img/uses/lightmode/xrp-cafe.png)}.xrp-oval{content:url(../img/uses/modallogos/xrp-oval.png)}html.light .xrp-oval{content:url(../img/uses/lightmode/xrp-oval.png)}.sologenic_dex{content:url(../img/uses/modallogos/sologenic_dex.png)}html.light .sologenic_dex{content:url(../img/uses/lightmode/sologenic_dex.png)}.xpmarket{content:url(../img/uses/modallogos/xpmarket.png)}html.light .xpmarket{content:url(../img/uses/lightmode/xpmarket.png)}.orchestra-finance{content:url(../img/uses/modallogos/orchestra-finance.png)}html.light .orchestra-finance{content:url(../img/uses/lightmode/orchestra-finance.png)}.moai-finance{content:url(../img/uses/modallogos/moai-finance.png)}html.light .moai-finance{content:url(../img/uses/lightmode/moai-finance.png)}.first-ledger-bot{content:url(../img/uses/modallogos/first-ledger-bot.png)}html.light .first-ledger-bot{content:url(../img/uses/lightmode/first-ledger-bot.png)}.forte{content:url(../img/uses/modallogos/forte.png)}html.light .forte{content:url(../img/uses/lightmode/forte.png)}.ledger-city{content:url(../img/uses/modallogos/ledger-city.png)}html.light .ledger-city{content:url(../img/uses/lightmode/ledger-city.png)}.futureverse{content:url(../img/uses/modallogos/futureverse.png)}html.light .futureverse{content:url(../img/uses/lightmode/futureverse.png)}.zerpmon{content:url(../img/uses/modallogos/zerpmon.png)}html.light .zerpmon{content:url(../img/uses/lightmode/zerpmon.png)}.anchain{content:url(../img/uses/modallogos/anchain.png)}html.light .anchain{content:url(../img/uses/lightmode/anchain.png)}.ripple{content:url(../img/uses/modallogos/ripple.png)}html.light .ripple{content:url(../img/uses/lightmode/ripple.png)}.supermojo{content:url(../img/uses/modallogos/supermojo.png)}html.light .supermojo{content:url(../img/uses/lightmode/supermojo.png)}.ripple{content:url(../img/uses/modallogos/ripple.png)}html.light .ripple{content:url(../img/uses/lightmode/ripple.png)}.carbonland-trust{content:url(../img/uses/modallogos/carbonland-trust.png)}html.light .carbonland-trust{content:url(../img/uses/lightmode/carbonland-trust.png)}.gatehub{content:url(../img/uses/modallogos/gatehub.png)}html.light .gatehub{content:url(../img/uses/lightmode/gatehub.png)}.bitgo{content:url(../img/uses/modallogos/bitgo.png)}html.light .bitgo{content:url(../img/uses/lightmode/bitgo.png)}.arrow-button.left-arrow img{content:url(../img/uses/left-arrow.svg)}.arrow-button.right-arrow img{content:url(../img/uses/right-arrow.svg)}.right-arrow-button.right-arrow img{background-color:transparent;border:none;cursor:pointer}.html.light .arrow-button.left-arrow img{content:url(../img/uses/left-arrow-light.svg)}.html.light .arrow-button.right-arrow img{content:url(../img/uses/right-arrow-light.svg)}.related-tasks-links a{color:#454549;text-decoration:none}.related-tasks-links a:hover{color:#000}.arrows-container{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;z-index:10}@media only screen and (max-width: 768px){.arrows-container{top:30px}}.arrow-button{background-color:transparent;border:none;cursor:pointer}.arrow-button img{width:40px;height:40px}.left-arrow{margin-left:40px}@media only screen and (max-width: 768px){.left-arrow{margin-left:0px}}.right-arrow{margin-right:40px}@media only screen and (max-width: 768px){.right-arrow{margin-right:0px}}.modal-uses{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.4)}.modal-content-uses{padding-top:40px;position:relative;background-color:#232325;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);padding:40px 20px 20px 20px;width:60% !important;height:520px;display:flex;flex-direction:column;align-items:center;overflow-y:hidden}@media only screen and (max-width: 1024px){.modal-content-uses{overflow-y:auto}}.modal-content-uses::before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg, #b480ff -0.32%, #5f00e6 32.7%, #1aa4ff 61.53%, #19ff83 100.32%, #19ff83 100.32%)}.content-section{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:20px}.section-image{display:block}.section-text-title{font-family:"Work Sans";font-style:normal;font-weight:500;font-size:24px;line-height:32px;text-align:center;color:#fff}.section-text-description{max-width:320px;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:16px;line-height:24px;text-align:center;color:#c1c1c2}.apps-built{position:relative;top:17px;left:50px;font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#e0e0e1}.numbers-animation{width:218px;height:96px}.arrow-animation{position:relative;right:23px;top:-11px;width:60px !important}.explore-projects{font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#7919ff;position:relative;top:-9px;right:27px}.section-separator{width:50%;border:0;border-top:1px solid #ccc}.logo-item.anchain{height:34px !important;max-width:146px !important}.threezy-logo{margin:4px;max-height:55px !important}.blockforce-logo{margin:0px !important;max-height:45px !important}.Evernode-logo{margin-right:39px}.logo-grid{display:grid;grid-template-rows:repeat(2, 1fr);grid-template-columns:repeat(4, 1fr);grid-gap:8px;justify-items:center}.flex-center{display:flex;justify-content:center}.top-row,.bottom-row{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}@media only screen and (max-width: 768px){.top-row,.bottom-row{justify-content:space-around;gap:10px;margin-bottom:0}}.top-row{margin-bottom:10px}.bottom-row{margin-top:10px}.logo-item{max-height:45px;max-width:108px;margin:5px}.close{color:#aaa;float:right;font-size:28px;font-weight:bold;cursor:pointer}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}#use-case-card-grid{grid-template-columns:repeat(2, 1fr)}@media(min-width: 768px){#use-case-card-grid{grid-template-columns:repeat(3, 1fr)}}@media(min-width: 992px){#use-case-card-grid{grid-template-columns:repeat(4, 1fr)}}@media(max-width: 1220px)and (min-width: 1024px){#use-case-card-grid{grid-template-columns:repeat(3, 1fr)}}.use-case-circle{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border:1px solid #343437;border-radius:50%;margin-bottom:30px;cursor:pointer}@media(min-width: 768px){.use-case-circle{aspect-ratio:1/1;min-width:200px !important;min-height:200px !important}}@media(min-width: 992px){.use-case-circle{aspect-ratio:1/1;min-width:250px !important;min-height:250px !important}}.use-case-circle:hover{border-color:#838386}.circle-content{display:flex;flex-direction:column;align-items:center;gap:13px}.circle-img{width:40px;height:40px}.circle-text{font-family:"Work Sans";font-style:normal;font-weight:700;white-space:nowrap;font-size:16px;margin-bottom:0px}.join-xrpl-section{display:flex;flex-direction:column;align-items:center}.colorful-join-text-wrapper{display:flex;justify-content:center;flex-direction:column;padding:0 5%;box-sizing:border-box}@media(min-width: 992px){.colorful-join-text-wrapper{padding:0 4%}}.colorful-join-text{display:block;width:100%;text-align:left;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:32px;line-height:38px;background:linear-gradient(90deg, #feff01 0%, #ff2d9a 30.82%, #e24cff 64.01%, #9a52ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#numbersAnimation{display:block}#numbersAnimationLight{display:none}html.light .section-separator{background:#c1c1c2}html.light .section-text-description{color:#343437}html.light .modal-content-uses{background:#fff}html.light #numbersAnimation{display:none}html.light #numbersAnimationLight{display:block}html.light .apps-built{position:relative;top:17px;left:50px;font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#232325}html.light .colorful-join-text{display:block;width:100%;text-align:left;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:32px;line-height:38px;background:linear-gradient(90deg, #b480ff -0.32%, #5f00e6 32.7%, #1aa4ff 61.53%, #19ff83 100.32%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(min-width: 992px){html.light .colorful-join-text{width:750px}}@media(min-width: 992px){.colorful-join-text{width:750px}}.pill-box{display:inline-flex;align-items:center;justify-content:center;padding:3.69087px 29.527px;width:73.05px;height:37.38px;background:#7919ff;border:3.69087px solid #5f00e5;border-radius:184.543px}.pill-number{font-family:"Work Sans";font-style:normal;font-weight:600;font-size:22.1452px;color:#f0e5ff}.use-case-steps h2{margin-top:10px;margin-bottom:10px;font-size:1.728em;line-height:32px;font-weight:700}.use-case-steps h2 a{text-decoration:none}.use-case-steps h2:first-of-type:before{display:none}.use-case h1{font-size:2.4em;padding-bottom:10px}.use-case-steps h2:before{margin-top:-30px;height:0}.use-case-steps h2:first-of-type{margin-top:-30px}.related-tasks-links ul{list-style-type:none;padding-left:0}.related-tasks-links ul li{margin:0px;padding-top:2px}.related-tasks-links a:hover::after{padding-left:.5em}.related-tasks-links a::after{content:" ➝";padding-left:0;transition:all .2s ease-in-out}.page-tokenization .tokenization-graphic{content:url("../img/backgrounds/tokenization-illustration.svg");width:100%;height:100%}.page-tokenization .show-md{display:none}@media(max-width: 991.98px){.page-tokenization .show-md{display:block}}.page-tokenization .hide-md{display:block}@media(max-width: 991.98px){.page-tokenization .hide-md{display:none}}.page-tokenization .tokenization-use-case{font-size:12px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #454549}.page-tokenization .tokenization-use-case .arrow-button img{width:15px;height:15px}.page-tokenization .tokenization-stats{width:100%;height:250px;border-radius:8px;background:linear-gradient(88deg, #9A52FF -14.32%, #32E685 45.35%, #19A3FF 100.76%);padding:4rem 2rem;display:grid;grid-template-columns:repeat(4, 1fr)}@media(max-width: 991.98px){.page-tokenization .tokenization-stats{display:block;height:100%;width:100%;padding:0 25%}}.page-tokenization .stat-container{color:#000;text-align:center;border-right:2px solid #000}@media(max-width: 991.98px){.page-tokenization .stat-container{border-right:none;padding-bottom:3rem;padding-top:2rem;border-bottom:2px solid #000}}.page-tokenization .stat-container:last-child{border:none}.page-tokenization .stat-container .stat{font-size:3rem;font-weight:300}.page-tokenization .stat-container p{font-weight:400}.page-tokenization .security-card{position:relative;border-radius:.5rem;background-color:transparent;white-space:normal;box-sizing:border-box}.page-tokenization .security-card::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(90deg, #d91aff 26.41%, #1aa4ff 100.32%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;z-index:-1}.page-tokenization .security-card p{margin-bottom:0 !important}@media(max-width: 767.98px){.page-tokenization .security-card .h6{font-size:1.25rem}}.page-tokenization .security-card-grid{gap:1rem;grid-template-columns:repeat(2, 1fr)}@media(min-width: 1200px){.page-tokenization .security-card-grid{grid-template-columns:repeat(4, 1fr)}}@media(max-width: 768px){.page-tokenization .security-card-grid{grid-template-columns:repeat(1, 1fr)}}.page-tokenization .video-external-link .link-text{margin-left:.25rem}.page-tokenization .video-external-link{margin-bottom:9px}.page-tokenization .tokenization-color-bar{align-self:stretch;height:.25rem;border-radius:2rem;background:var(--Gradient-3, linear-gradient(90deg, #FEFF01 0%, #FF2D9A 30.82%, #E24CFF 64.01%, #9A52FF 100%))}.page-tokenization .project-cards-container{gap:3rem}.page-tokenization .project-cards{width:100%}.page-tokenization .project-cards .project-name{word-break:break-word}.page-tokenization .project-cards .card{min-height:240px}.page-tokenization .project-cards .col::before{content:"";position:absolute;top:0;left:0;width:100%;height:.25rem;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.page-tokenization .project-cards .col.odd::before{background:linear-gradient(90deg, #D91AFF 26.41%, #1AA4FF 100.32%)}.page-tokenization .project-cards .col.even::before{background:linear-gradient(90deg, #4BB7FF -0.32%, #32E685 30.61%)}.page-tokenization .project-cards .project-logo{width:100%;height:50px;vertical-align:center;padding:0 .5rem}.page-tokenization .project-cards img{max-width:100%;height:auto;display:block;box-sizing:border-box}.page-tokenization .amy{content:url("../img/logos/amy.svg")}.page-tokenization .carbonland{content:url("../img/logos/carbonland.svg")}.page-tokenization .evernode{content:url("../img/logos/evernode.svg")}.page-tokenization .nautilus{content:url("../img/logos/nautilus.svg")}.page-tokenization .onXRP{content:url("../img/logos/onXRP.svg")}.page-tokenization .raised-in-space{content:url("../img/logos/raised-in-space.svg")}.page-tokenization .sologenic{content:url("../img/logos/sologenic.svg")}.page-tokenization .xaman{content:url("../img/logos/xaman-labs.svg")}.page-tokenization .xrpcafe{content:url("../img/logos/xrpcafe.svg")}.page-tokenization .prev img{content:url("../img/icons/prev.svg")}.page-tokenization .next img{content:url("../img/icons/prev.svg");transform:scaleX(-1)}.page-tokenization .arrow-wrapper{gap:1rem}.page-tokenization .arrow-button{background-color:#232325;border-radius:.25rem;align-items:center;justify-content:center}.page-tokenization .next.hover-color:hover img{content:url("../img/icons/next-purple.svg");transform:scaleX(1)}.page-tokenization .prev.hover-color:hover img{content:url("../img/icons/next-purple.svg");transform:scaleX(-1)}.page-tokenization .related-articles{gap:2.5rem}.page-tokenization .related-articles .col{background-color:#000;padding:2rem !important;border-radius:.5rem}.page-tokenization .related-articles .time{position:relative;padding-top:.5rem}.page-tokenization .related-articles .time::before{content:"";position:absolute;top:0;left:0;width:50px;height:4px;background-color:#32e685}.page-tokenization .project-cards a,.page-tokenization .related-articles a{text-decoration:none}.page-tokenization .project-cards a:hover .project-name{color:#9a52ff}.page-tokenization .related-articles a:hover .h5{color:#9a52ff}.page-tokenization .article-card-container{position:relative;width:100%}.page-tokenization .article-card-container:nth-child(1) .article-card-background{background-image:linear-gradient(86deg, #B20058 -21.16%, #E24CFF 31.78%, #9A52FF 101.64%)}.page-tokenization .article-card-container:nth-child(2) .article-card-background{background-image:linear-gradient(22deg, #B480FF -6.54%, #5F00E5 50.87%, #1AA4FF 114.16%)}.page-tokenization .article-card-container:nth-child(3) .article-card-background{background-image:linear-gradient(162deg, #B480FF -11.11%, #1AA4FF 56.26%, #2DCF78 112.84%)}.page-tokenization .article-card-background{height:calc(100% + 1.5rem);width:100%;z-index:1;background-size:cover;position:absolute;top:-0.75rem;border-radius:.5rem}.page-tokenization .article-card{width:100%;height:100%;position:relative;top:0;left:.75rem;z-index:2;display:block}body,.landing.page-uses{overflow-x:hidden}.dark [data-component-name="Breadcrumbs/Breadcrumbs"]+div>a>svg>rect{fill:transparent}[data-component-name="layouts/RootLayout"]{padding-top:132px}.top-nav{background-color:#111112;height:80px;padding:0}.top-nav .navbar-brand{text-decoration:none;white-space:pre;-webkit-transition:opacity .2s ease,color .2s ease;transition:opacity .2s ease,color .2s ease;padding-left:2rem}.top-nav .navbar-brand .logo{margin-left:0;content:url(../img/XRPLedger_DevPortal-white.svg);width:162px;height:40px;display:block}.top-nav .navbar-brand:hover{opacity:.75}@media(max-width: 991.98px){.top-nav .navbar-brand{padding-left:2rem}.top-nav .navbar-brand img{width:120px}}.top-nav .nav-item{font-weight:600}@media(min-width: 992px){.top-nav #topnav-pages{flex-grow:1}}.top-nav #topnav-pages .nav-link{color:#f5f5f7;font-size:1rem;line-height:1.25rem;text-decoration:none;font-weight:600}.top-nav .dropdown-toggle{position:relative}.top-nav .dropdown-menu{border-width:0}.top-nav .dropdown-menu h5{font-weight:400;font-size:12px;color:#a2a2a4;margin-bottom:0}.top-nav .dropdown-menu .dropdown-item{line-height:1rem;padding:.75rem 0;white-space:normal}.top-nav .dropdown-menu .dropdown-item.dropdown-hero{width:100%;display:flex;padding:1rem 2rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero>img{width:68px;height:68px;background-color:#232325;border-radius:4px;flex-grow:0;padding:.75rem;margin-right:2rem;margin-top:auto;margin-bottom:auto}.top-nav .dropdown-menu .dropdown-item.dropdown-hero p{font-size:14px;color:#c1c1c2;margin:0;white-space:normal}.top-nav .dropdown-menu .dropdown-item.dropdown-hero h4{font-size:1.25rem;font-weight:600;margin-bottom:0;line-height:2rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero:hover h4{color:#9a52ff}.top-nav .dropdown-menu .dropdown-item.dropdown-hero:hover p{font-weight:400}.top-nav .dropdown-menu .dropdown-item:last-child{padding-bottom:0}.top-nav .dropdown-menu .dropdown-item:first-child{padding-top:0}.top-nav .dropdown-menu .col-for-get_started{background-color:#232325}.top-nav .dropdown-menu a:hover{color:#9a52ff;background-color:inherit}.top-nav .dropdown-menu h5:hover{background-color:inherit}.top-nav #topnav-search{flex-grow:1}.top-nav #topnav-search .input-group{flex-grow:1;flex-wrap:nowrap}@media(max-width: 991.98px){.top-nav #topnav-search .form-inline{padding:1rem 2rem}}.top-nav #topnav-search .input-group-text{height:40px}.top-nav #topnav-search .ds-input{height:40px}.top-nav #topnav-language .dropdown-item{font-weight:600}@media(min-width: 992px){.top-nav{padding:0 2rem}.top-nav .navbar-brand{margin-left:0;padding-left:0}.top-nav .dropdown-toggle::after{display:none}.top-nav .dropdown-toggle>span{border-bottom:2px solid transparent}.top-nav .dropdown .dropdown-toggle:hover>span:not(.chevron){padding-bottom:8px;border-bottom:2px solid #9a52ff;margin-bottom:-8px}.top-nav .dropdown-menu{border-radius:0 0 8px 8px;padding:2.5rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero{padding:0}.top-nav .dropdown-menu.show{display:grid;gap:40px}.top-nav .dropdown-menu.show#topnav_dd_about{grid-template-columns:180px 180px 180px}.top-nav .dropdown-menu.show#topnav_dd_docs{grid-template-columns:180px 180px 260px;left:-200px}.top-nav .dropdown-menu.show#topnav_dd_community{grid-template-columns:200px}.top-nav .dropdown-menu.show#topnav_dd_resources{grid-template-columns:195px 180px 180px;left:-200px}.top-nav .dropdown-menu.show .dropdown-hero{grid-row:1;grid-column:1/4}.top-nav .dropdown-menu.show #dropdown-hero-for-docs{grid-column:1/3}.top-nav .dropdown-menu.show .col-for-xrp_ledger{grid-row:1/3;grid-column:1}.top-nav .dropdown-menu.show .col-for-xrp{grid-column:2}.top-nav .dropdown-menu.show .col-for-sustainability,.top-nav .dropdown-menu.show .col-for-持続可能性{grid-column:2}.top-nav .dropdown-menu.show .col-for-about,.top-nav .dropdown-menu.show .col-for-概要{grid-row:1/3;grid-column:3}.top-nav .dropdown-menu.show .col-for-article_types{grid-column:1;grid-row:2}.top-nav .dropdown-menu.show .col-for-use_cases{grid-column:2;grid-row:2}.top-nav .dropdown-menu.show .col-for-get_started{grid-column:3;grid-row:1/3;margin:-40px -40px -40px 0;padding:40px}.top-nav .dropdown-menu.show .col-for-development{grid-column:1}.top-nav .dropdown-menu.show .col-for-current-status,.top-nav .dropdown-menu.show .col-for-現在のステータス{grid-column:2}.top-nav .dropdown-menu.show .col-for-join-in,.top-nav .dropdown-menu.show .col-for-参加する{grid-column:3}.top-nav .dropdown-menu.smaller-dropdown{min-width:180px;padding:1.25rem}.top-nav #topnav-pages{flex-grow:0}}@media(min-width: 992px)and (min-width: 992px)and (max-width: 1133px){.top-nav #topnav-pages .nav-link{padding:1rem 1rem}}@media(min-width: 992px){.top-nav #topnav-language{flex-grow:0}.top-nav #topnav-language hr{display:none}.top-nav #topnav-language #language_selector_header_btn{padding-right:0}}@media(min-width: 992px)and (min-width: 992px)and (max-width: 1133px){.top-nav #topnav-language #language_selector_header_btn{padding-left:1rem}}@media(min-width: 992px)and (min-width: 1200px){.top-nav #topnav-search{margin-left:3.5rem;margin-right:.5rem}.top-nav #topnav-language{margin-right:.5rem}.top-nav #topnav-button{margin-left:.2rem;margin-right:1rem}}@media(max-width: 991.98px){.top-nav .navbar-toggler{border:0;padding:30px 2rem;font-size:1rem;display:inline-block}.top-nav .navbar-toggler .navbar-toggler-icon{background:none;height:20px;width:20px;position:relative}.top-nav .navbar-toggler .navbar-toggler-icon::after,.top-nav .navbar-toggler .navbar-toggler-icon::before,.top-nav .navbar-toggler .navbar-toggler-icon div{position:absolute;content:" ";background-color:#f5f5f7;display:block;width:100%;height:3px;transition:all .2s ease}.top-nav .navbar-toggler .navbar-toggler-icon::before{top:0}.top-nav .navbar-toggler .navbar-toggler-icon::after{bottom:0}.top-nav .navbar-toggler .navbar-toggler-icon div{top:calc(50% - 1.5px)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon::before{transform:translateY(8px) rotate(135deg)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon::after{transform:translateY(-9px) rotate(-135deg)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon div{transform:scale(0)}.top-nav .navbar-nav{align-items:unset !important}.top-nav .navbar-nav #topnav-button{background-color:#111112;padding:1rem 1.5rem}.top-nav .navbar-nav #topnav-search [data-component-name="Search/SearchTrigger"]{cursor:pointer}.top-nav .navbar-nav .nav-link,.top-nav .navbar-collapse>.nav-item{line-height:150%;background:#111112}.top-nav .navbar-nav .nav-link label,.top-nav .navbar-collapse>.nav-item label{margin-bottom:0}.top-nav .navbar-nav .nav-link{padding:1rem 2rem}.top-nav .dropdown-menu{margin:0;width:100%;overflow:auto;transition:all .2s ease;height:0;display:block;padding:0;border-radius:0}.top-nav .dropdown-menu.show{height:calc(100vh - 80px - 52px)}.top-nav .dropdown-menu.show>:last-child{padding-bottom:4rem}.top-nav .dropdown-menu.show#topnav_dd_docs{display:grid;grid-template-columns:minmax(187px, 1fr) minmax(187px, 1fr);gap:1px;left:-200px}.top-nav .dropdown-menu.show#topnav_dd_docs .dropdown-hero{grid-column:1/3;grid-row:1}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-document_types{grid-column:1;grid-row:2}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-use_cases{grid-column:2;grid-row:2}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-get_started{grid-column:1/3;grid-row:4;margin:-1px;padding-top:33px}.top-nav .dropdown-menu .navcol{padding:1rem 2rem}.top-nav .dropdown-menu.smaller-dropdown{padding:0 2rem}.top-nav .dropdown-menu.smaller-dropdown.show{padding:1rem 2rem;height:auto}.top-nav .dropdown-menu .dropdown-hero:first-child{padding-top:1rem}.top-nav .dropdown-toggle:not(.with-caret)::before,.top-nav .dropdown-toggle:not(.with-caret)::after{border:0;font-family:FontAwesome;color:#9a52ff;font-size:.75rem;transition:all .2s ease;overflow:clip;width:1rem}.top-nav .dropdown-toggle:not(.with-caret)::before{content:"";display:inline-block;margin-bottom:-5px}.top-nav .dropdown-toggle:not(.with-caret)::after{content:"";position:absolute;right:2rem}.top-nav .dropdown.show .dropdown-toggle::after{text-indent:5rem}.top-nav .dropdown:not(.show) .dropdown-toggle::before{width:0;height:0;text-indent:-5rem}.top-nav .dropdown-toggle.with-caret::after{border:0}.top-nav #top-main-nav{background-color:#232325;padding-top:32px;position:relative}.top-nav #top-main-nav.submenu-expanded{padding-top:0}.top-nav #top-main-nav.submenu-expanded .dropdown:not(.show) .dropdown-toggle{display:none}.top-nav #top-main-nav.submenu-expanded #topnav-search,.top-nav #top-main-nav.submenu-expanded #topnav-language,.top-nav #top-main-nav.submenu-expanded #topnav-theme{height:0;overflow:clip;padding-top:0;padding-bottom:0}.top-nav #topnav-search{position:absolute;top:0;right:105px}.top-nav #topnav-search .input-group{flex-wrap:nowrap}.top-nav #topnav-language{position:absolute;top:0;right:65px}.top-nav #topnav-language hr{border-top:1px solid #232325;margin-top:.25rem;margin-bottom:.25rem;display:static}.top-nav #topnav-theme{position:absolute;top:0;right:26px}}article h1:before,article h2:before,article h3:before,article h4:before,article h5:before,article h6:before,.interactive-block:before{display:block;content:" ";margin-top:-24px;height:60px;visibility:hidden;pointer-events:none}article h1:first-of-type:before{margin-top:-40px}.chevron{position:relative;display:inline-block;width:.75rem;height:.5625rem}.chevron span{position:absolute;top:.25rem;display:inline-block;width:.5rem;height:.15rem;background-color:#9a52ff;transition:all .2s ease;border:none}.chevron:not(.expander) span:first-of-type{left:0;transform:rotate(45deg)}.chevron:not(.expander) span:last-of-type{right:0;transform:rotate(-45deg)}.chevron.active span:first-of-type{transform:rotate(-45deg)}.chevron.active span:first-of-type{transform:rotate(45deg)}.dropdown.show .chevron span:first-of-type,.expander:not(.collapsed) .chevron span:first-of-type{transform:rotate(-45deg)}.dropdown.show .chevron span:last-of-type,.expander:not(.collapsed) .chevron span:last-of-type{transform:rotate(45deg)}#topnav-theme>div{border-radius:var(--language-picker-border-radius);color:var(--language-picker-text-color);background-color:var(--language-picker-background-color);border:1px solid var(--language-picker-border-color);padding:var(--language-picker-input-padding-vertical) var(--language-picker-input-padding-horizontal);min-height:var(--language-picker-min-height)}@media(max-width: 991.98px){.navbar-collapse,.dropdown-menu{box-shadow:0px 25px 40px -20px #000}}.web-banner{text-decoration:none;display:flex;justify-content:space-between;height:52px;background:#32e685 !important;padding:7px 35px;font-family:"Space Grotesk";z-index:10;cursor:pointer;color:#000 !important;text-align:center;font-family:"Space Grotesk";font-size:26px;font-style:normal;font-weight:600;letter-spacing:-0.32px}.web-banner:hover{text-decoration:none;color:#fff}.web-banner:hover .button-icon{animation:iconJitter .7s cubic-bezier(0.16, 1, 0.3, 1) forwards;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}.web-banner::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#e0e500;z-index:0;transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(0.7, 0, 0.84, 0);will-change:transform}.web-banner:hover::after{transform:scaleX(1);transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}.web-banner>*{position:relative;z-index:1}@media(max-width: 768px){.web-banner{font-size:18px;padding:11px 35px}.web-banner .banner-button{gap:11px !important}.web-banner .button-text{margin-bottom:4px}}@media(max-width: 564px){.web-banner{font-size:15px;padding:9px 40px}.web-banner .button-text{margin-bottom:0px}.web-banner .banner-event-details{gap:0px !important;flex-direction:column;text-align:left;line-height:21px}.web-banner .banner-event-details .event-date{position:relative;top:-5px}.web-banner .banner-button{align-self:baseline;gap:8px !important;margin-top:-2px !important;padding-top:0px !important}}.web-banner .banner-button{display:flex;align-items:center;gap:14.5px;padding-top:1px}.web-banner .banner-button img{width:24.5px;height:33.7px}@media(max-width: 768px){.web-banner .banner-button img{width:15.5px;height:17px;margin-top:4px}}@media(max-width: 564px){.web-banner .banner-button img{width:14.5px;height:13.85px}}.web-banner .banner-event-details{display:flex;gap:32px}.web-banner .button-icon{transform-style:preserve-3d;aspect-ratio:.71;object-fit:contain;animation:none;transform:rotateZ(0deg);transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1);align-self:stretch;margin:auto 0;transform-style:preserve-3d}@keyframes iconJitter{from{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(0deg) skew(0deg, 0deg)}to{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(45deg) skew(0deg, 0deg)}}.web-banner a{text-decoration:none}.button-icon{animation:iconJitter .7s ease-in-out;animation-iteration-count:1;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}@keyframes iconReturn{from{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(45deg) skew(0deg, 0deg)}to{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(0deg) skew(0deg, 0deg)}}.web-banner.has-hover:not(:hover) .button-icon{animation:iconReturn .7s ease-in-out forwards;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}[data-component-name="Markdown/Markdown"] article{padding-bottom:50px}[data-component-name="Markdown/Markdown"] article p code,[data-component-name="Markdown/Markdown"] article table code,[data-component-name="Markdown/Markdown"] article li>code{background-color:#0a2e1b;color:#5beb9d}[data-component-name="Markdown/Markdown"] article a{text-decoration:underline}[data-component-name="Markdown/Markdown"] article h1{font-size:3rem;margin-top:32px;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article h1:first-child{margin-top:0;line-height:1.2}[data-component-name="Markdown/Markdown"] article h2,[data-component-name="Markdown/Markdown"] article h2.md{margin-top:2.5rem;margin-bottom:1.5rem;font-size:2.5rem;font-weight:600;line-height:1.2}[data-component-name="Markdown/Markdown"] article h3,[data-component-name="Markdown/Markdown"] article h3.md{font-size:2.125rem;margin-top:2rem;margin-bottom:1rem;line-height:1.2}[data-component-name="Markdown/Markdown"] article h4{font-size:1.75rem;margin-top:1.5rem;margin-bottom:.5rem;line-height:1.2}[data-component-name="Markdown/Markdown"] article h5{font-size:1.25rem;margin-top:1.25rem;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article h6{font-size:1rem;margin-top:1rem;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article li{margin:6px;margin-top:24px}[data-component-name="Markdown/Markdown"] article li p{margin:0}[data-component-name="Markdown/Markdown"] article a[title=Source],[data-component-name="Markdown/Markdown"] article a[title=ソース]{float:right;padding-left:20px}[data-component-name="Markdown/Markdown"] article h1.invisible,[data-component-name="Markdown/Markdown"] article h2.invisible,[data-component-name="Markdown/Markdown"] article h3.invisible,[data-component-name="Markdown/Markdown"] article h4.invisible,[data-component-name="Markdown/Markdown"] article h5.invisible,[data-component-name="Markdown/Markdown"] article h6.invisible{font-size:0;line-height:0;margin:0}[data-component-name="Markdown/Markdown"] article h1.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h2.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h3.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h4.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h5.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h6.invisible .hover_anchor{display:none}[data-component-name="Markdown/Markdown"] article .shield{display:inline-block !important;vertical-align:middle}.blurb a{text-decoration:underline}.hover_anchor{visibility:hidden;padding-left:1rem;font-size:1.25rem}h1:hover .hover_anchor,h2:hover .hover_anchor,h3:hover .hover_anchor,h4:hover .hover_anchor,h5:hover .hover_anchor,h6:hover .hover_anchor{visibility:visible;text-decoration:none}pre{color:#fff;background-color:#232325;word-wrap:normal;padding:2rem;border-radius:4px}pre code{white-space:pre;color:#fff;background-color:#232325}.multicode{padding:0;z-index:1;position:relative}.multicode pre{background:none;border:none;border-radius:0;padding:0;clear:both}.multicode pre code{overflow:auto;max-height:24em;border-radius:0 4px 4px 4px;display:block;padding:2rem}.multicode pre code.expanded{overflow:visible;max-height:none;position:absolute;min-width:100%}.multicode ul{margin:0 !important;padding:0}.multicode ul li{display:block;float:left;list-style-type:none;margin-right:0px;margin-left:0px;border:0;clear:none}.multicode a{text-decoration:none;color:#fff;background-color:transparent;padding:.75rem 2rem;margin:0;border-radius:4px 4px 0 0}.multicode a.current{background-color:#232325}.multicode a:hover{text-decoration:none;background-color:#232325;color:#9a52ff;padding-bottom:.625rem}.multicode .btn{z-index:10}.multicode .codetabs{position:relative;z-index:10}.clipboard-btn{z-index:10;margin-right:10px}.codehilite{background:#232325;color:#fff}.codehilite .c,.codehilite .ch,.codehilite .cm,.codehilite .cp,.codehilite .cpf,.codehilite .c1,.codehilite .cs{color:#838386}.codehilite .k,.codehilite .kc,.codehilite .kd,.codehilite .kn,.codehilite .kp,.codehilite .kr,.codehilite .kt{color:#ff6719}.codehilite .m,.codehilite .mb,.codehilite .mh,.codehilite .mi,.codehilite .mo,.codehilite .il{color:#19a3ff}.codehilite .n,.codehilite .na,.codehilite .nb,.codehilite .nc,.codehilite .nd,.codehilite .ne,.codehilite .nf,.codehilite .ni,.codehilite .nl,.codehilite .nn,.codehilite .nt,.codehilite .nv,.codehilite .nx,.codehilite .bp,.codehilite .fm,.codehilite .py{color:#fff}.codehilite .p{color:#e0e0e1}.codehilite .s,.codehilite .s1,.codehilite .s2,.codehilite .sa,.codehilite .sb,.codehilite .sc,.codehilite .dl,.codehilite .sd,.codehilite .se,.codehilite .sh,.codehilite .si,.codehilite .sr,.codehilite .ss,.codehilite .sx{color:#28b86a}.codehilite{background:transparent;position:relative}.codehilite .btn-group{top:1rem;right:1rem;position:absolute}.multicode .codehilite .btn-group{top:70px;right:20px}#redocly_root .cm-foldPlaceholder{background-color:#232325;border:none;font-size:18px}article img{max-width:100%;height:auto}article svg{max-width:100%}article .floating-diagram{margin:.5rem;float:left}article li{clear:left}html:not(.light) article svg[fill=black]{fill:#fff;stroke:#fff}html:not(.light) article svg[fill=black] *[fill=white]{fill:#000}html:not(.light) article svg[fill=black] *[stroke=white]{stroke:#000}html:not(.light) article svg[fill=black] *[fill=black]{fill:#fff}html:not(.light) article svg[fill=black] *[stroke=black]{stroke:#fff}html:not(.light) article svg[fill=black] g[fill=blue]{fill:#19a3ff}html:not(.light) article svg[fill=black] g[stroke=blue]{stroke:#19a3ff}html:not(.light) article svg[fill=black] g[fill="rgb(120,120,120)"]{fill:#e0e0e1}html:not(.light) article svg[fill=black] g[stroke="rgb(120,120,120)"]{stroke:#e0e0e1}html:not(.light) article svg[fill=black] g[fill="rgb(200,200,200)"]{fill:#343437}html:not(.light) article svg[fill=black] g[fill="rgb(70,70,70)"]{fill:#838386}html:not(.light) article svg[fill=black] g[stroke="rgb(70,70,70)"]{stroke:#838386}html:not(.light) article svg[fill=black] g[fill="rgb(29,180,255)"]{fill:#9a52ff}html:not(.light) article svg[fill=black] g[stroke="rgb(29,180,255)"]{stroke:#9a52ff}html:not(.light) article svg[fill=black] rect[stroke="rgb(245,247,249)"]{stroke:#000}html:not(.light) article svg[fill=black] g[fill=lime],html:not(.light) article svg[fill=black] g[fill="rgb(0,255,0)"]{fill:#9a52ff}html:not(.light) article svg[fill=black] g[stroke=lime],html:not(.light) article svg[fill=black] g[stroke="rgb(0,255,0)"]{stroke:#9a52ff}html:not(.light) article svg[fill=black] g[fill=yellow],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#faff19}html:not(.light) article svg[fill=black] g[fill=yellow] path[stroke=black],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"] path[stroke=black]{stroke:#000}html:not(.light) article svg[fill=black] g[fill=red],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#ff198b}html:not(.light) article svg[fill=black] g[stroke=red],html:not(.light) article svg[fill=black] g[stroke="rgb(255,255,0)"]{stroke:#ff198b}html:not(.light) article svg[fill=black] g[fill=yellow]+g text,html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]+g text{fill:#000}html:not(.light) article svg[fill=black] g[fill=lime]+g text{fill:#000}html:not(.light) article svg[fill=none] path[fill="#000000"]{fill:#fff}html:not(.light) article svg[fill=none] path[stroke="#000000"]{stroke:#fff}html:not(.light) article svg[fill=none] path[fill="#ffffff"]{fill:#000}html:not(.light) article svg[fill=none] path[stroke="#ffffff"]{stroke:#000}html:not(.light) article svg[fill=none] path[fill="#23292f"],html:not(.light) article svg[fill=none] path[fill="#23282f"]{fill:#fff}html:not(.light) article svg[fill=none] path[stroke="#23292f"],html:not(.light) article svg[fill=none] path[stroke="#23282f"]{stroke:#fff}html:not(.light) article svg[fill=none] path[fill="#2c3e50"],html:not(.light) article svg[fill=none] path[fill="#2b3e51"]{fill:#e0e0e1}html:not(.light) article svg[fill=none] path[stroke="#2c3e50"],html:not(.light) article svg[fill=none] path[stroke="#2b3e51"]{stroke:#e0e0e1}html:not(.light) article svg[fill=none] path[fill="#1c2835"]{fill:#f5f5f7}html:not(.light) article svg[fill=none] path[stroke="#1c2835"]{stroke:#f5f5f7}html:not(.light) article svg[fill=none] path[fill="#21aa47"]{fill:#32e685}html:not(.light) article svg[fill=none] path[stroke="#21aa47"]{stroke:#32e685}html:not(.light) article svg[fill=none] path[fill="#e64b3b"]{fill:#dc3545}html:not(.light) article svg[fill=none] path[stroke="#e64b3b"]{stroke:#dc3545}html:not(.light) article svg[fill=none] path[stroke="#27a2db"],html:not(.light) article svg[fill=none] path[stroke="#00aae4"]{stroke:#9a52ff}html:not(.light) article svg[fill=none] path[fill="#27a2db"],html:not(.light) article svg[fill=none] path[fill="#00aae4"]{fill:#9a52ff}html:not(.light) article svg[fill=none] path[fill="#e6e7e8"]{fill:#232325}html:not(.light) article svg[fill=none] path[stroke="#e6e7e8"]{stroke:#232325}html:not(.light) article svg[fill=none] path[stroke="#ffbf27"]{stroke:#d919ff}html:not(.light) article svg[fill=none] path[fill="#00ff00"]{fill:#32e685}html:not(.light) article svg[fill=none] path[stroke="#00ff00"]{stroke:#32e685}html:not(.light) article svg[fill=none] path[fill="#ff00ff"]{fill:#ff198b}html:not(.light) article svg[fill=none] path[stroke="#ff00ff"]{stroke:#ff198b}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#ffffff"]{stop-color:#343437}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#e6e7e8"]{stop-color:#232325}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#dbdcdd"]{stop-color:#000}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#b1b3b5"]{stop-color:#111112}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#29a1da"]{stop-color:#2dcf78}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#2789b9"]{stop-color:#5beb9d}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#6bc1ec"]{stop-color:#adf5ce}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#8ad6f4"]{stop-color:#84f0b6}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#fab913"]{stop-color:#f2b2ff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#fad26b"]{stop-color:#ea80ff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#f8a136"]{stop-color:#e24cff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#f7931a"]{stop-color:#c000e5}html.light svg[fill=black] g[fill=blue]{fill:#006bb2}html.light svg[fill=black] g[stroke=blue]{stroke:#19a3ff}html.light svg[fill=black] g[fill="rgb(120,120,120)"]{fill:#343437}html.light svg[fill=black] g[stroke="rgb(120,120,120)"]{stroke:#343437}html.light svg[fill=black] g[fill="rgb(200,200,200)"]{fill:#a2a2a4}html.light svg[fill=black] g[fill="rgb(70,70,70)"]{fill:#343437}html.light svg[fill=black] g[stroke="rgb(70,70,70)"]{stroke:#343437}html.light svg[fill=black] g[fill="rgb(29,180,255)"]{fill:#19a3ff}html.light svg[fill=black] g[stroke="rgb(29,180,255)"]{stroke:#006bb2}html.light svg[fill=black] rect[stroke="rgb(245,247,249)"]{stroke:#fcfcfd}html.light svg[fill=black] g[fill=lime],html.light svg[fill=black] g[fill="rgb(0,255,0)"]{fill:#5beb9d}html.light svg[fill=black] g[stroke=lime],html.light svg[fill=black] g[stroke="rgb(0,255,0)"]{stroke:#28b86a}html.light svg[fill=black] g[fill=yellow],html.light svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#fcff80}html.light svg[fill=black] g[fill=red],html.light svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#ff4ba4}html.light svg[fill=black] g[stroke=red],html.light svg[fill=black] g[stroke="rgb(255,255,0)"]{stroke:#ff198b}html.light svg[fill=none] rect[fill="#111112"]{fill:#f5f5f7}html.light svg[fill=none] path[fill=white]{fill:#000}html.light svg[fill=none] path[fill="#343437"]{fill:#c1c1c2}html.light svg[fill=none] path[fill="#A2A2A4"],html.light svg[fill=none] rect[fill="#A2A2A4"],html.light svg[fill=none] ellipse[fill="#A2A2A4"]{fill:#454549}html.light svg[fill=none] path[fill="#232325"]{fill:#e0e0e1}html.light svg[fill=none] path[fill="#F5F5F7"]{fill:#111112}html.light svg[fill=none] path[stroke="#F5F5F7"]{stroke:#111112}html.light svg[fill=none] path[stroke="#FF198B"]{stroke:#b20058}html.light svg[fill=none] linearGradient stop[stop-color="#F5F5F7"]{stop-color:#111112}html.light svg[fill=none] linearGradient stop[stop-color="#C1C1C2"]{stop-color:#343437}.external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:16px;padding:0 4px 0 8px;width:16px;height:16px;background-position:center;transition:transform 100ms ease-in-out}.external-link:hover::after{transform:translate(3px, -3px)}.external-link .fa-external-link{display:none}.top-nav .dropdown .external-link::after,.xrpl-footer .external-link::after{background-position:left 6px bottom 1px;width:2rem}@-moz-document url-prefix(){@supports(animation: calc(0s)){.top-nav .dropdown .external-link::after,.xrpl-footer .external-link::after{background-position:left 8px bottom 2px}}}.top-nav .dropdown .external-link:hover::after,.xrpl-footer .external-link:hover::after{background-position:left 8px bottom 3px}.q-wrapper .external-link::after{background-position:left 0 bottom 7px}.q-wrapper .external-link:hover::after{background-position:left 4px bottom 11px}.li-links{position:relative;border-bottom:2px solid #454549}.li-links a{width:100%;padding:16px 0}.li-links a::after{position:absolute;right:4px;content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:1.5rem;padding:0 .5rem;background-position:left 0 bottom -0.1rem;transition:background-position 100ms ease-in-out}.li-links a:hover::after{background-position:left .2rem bottom .1rem}[data-component-name="Footer/Footer"]{padding:7.5rem 2rem}[data-component-name="Footer/Footer"] [data-component-name="Footer/FooterColumn"]{text-shadow:#111112 0px 0px 2px,#111112 1px 1px 2px,#111112 2px 2px 3px,#111112 2px 2px 4px,#111112 2px 2px 5px,#111112 2px 2px 6px,#111112 -1px -1px 2px,#111112 -2px -2px 3px,#111112 -2px -2px 4px}@media(min-width: 992px){[data-component-name="Footer/Footer"]{background-image:url(../img/backgrounds/footer.svg);background-size:cover;background-repeat:no-repeat;background-position:bottom right}}@media(max-width: 991.98px){[data-component-name="Footer/Footer"] .col-lg:not(:first-child){margin-top:4rem}}[data-component-name="Footer/Footer"] h5{font-size:1rem;font-weight:600;color:#a2a2a4}[data-component-name="Footer/Footer"] .nav-link{padding:.75rem 0;line-height:1}[data-component-name="Footer/Footer"] .absolute-bottom-footer{font-size:10px;line-height:1rem}@media(max-width: 991.98px){[data-component-name="Footer/Footer"] .absolute-bottom-footer .copyright-license{margin-top:3rem}}.devportal-callout.tip,.devportal-callout.ヒント{border-color:#32e685}.devportal-callout.tip>strong:first-child:before,.devportal-callout.ヒント>strong:first-child:before{color:#32e685}.devportal-callout.note>strong:first-child:before,.devportal-callout.注記>strong:first-child:before{color:#19a3ff}.devportal-callout.note,.devportal-callout.注記{border-color:#19a3ff}.devportal-callout.caution,.devportal-callout.注意{border-color:#faff19}.devportal-callout.caution>strong:first-child:before,.devportal-callout.注意>strong:first-child:before{color:#faff19}.devportal-callout.warning,.devportal-callout.警告{border-color:#ff198b}.devportal-callout.warning>strong:first-child:before,.devportal-callout.警告>strong:first-child:before{color:#ff198b}blockquote,.devportal-callout{border-style:solid;border-radius:0;border-width:1px;border-left-width:4px;padding:5px;padding-left:25px;page-break-inside:avoid}.devportal-callout>strong:first-child{display:block;page-break-after:avoid}.devportal-callout.tip>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.note>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.caution>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.warning>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}@media(min-width: 992px){.card,.cta-card,.q-wrapper{box-shadow:0px 5px 40px #000}}#code-samples-deck .card{box-shadow:none;margin:0 2rem 5rem 2rem}#code-samples-deck .card-header{border-bottom:none;background-color:unset}#code-samples-deck .card-footer{background-color:unset;font-size:initial}#code-samples-deck .card-deck .card a{margin:0 2.5rem 5rem 2.5rem}#code-samples-deck .circled-logo{margin-left:-15px}@media(min-width: 992px){.code-contribute{width:75vw;position:relative;left:20%;right:20%;margin-left:-30vw;margin-right:-30vw}}.contribute::before{content:"";display:block;height:2px;width:100%;position:absolute;top:0}.contribute .dot{height:16px;width:16px;background-color:#111112;border-radius:50%;border:3px solid #fbff4c;display:inline-block;position:absolute;top:-7px;left:-6px}@media(max-width: 991.98px){.contribute::before{left:0;height:100%;width:2px;top:15px}.contribute .dot{top:5px;left:-6px}}.contribute_1::before{background:-webkit-linear-gradient(left, #feff01, #ff2d9a)}.contribute_1 .dot{border-color:#fbff4c}.contribute_2::before{background:-webkit-linear-gradient(left, #ff2d9a, #e24cff)}.contribute_2 .dot{border-color:#ff198b}.contribute_3::before{background:-webkit-linear-gradient(left, #e24cff, #9a52ff)}.contribute_3 .dot{border-color:#c000e5}.contribute_4::before{background:-webkit-linear-gradient(left, #9a52ff, #9a52ff)}.contribute_4 .dot{border-color:#9a52ff}.card>img{border-radius:8px 8px 0 0}.card-body>p,.card-body>p:not(:last-child){padding:0;margin-bottom:2rem}main a.card{border:0;color:#fff}a.card:hover,a:hover .card-new,[data-component-name="Markdown/Markdown"] a.card{text-decoration:none !important}a.card:hover h3{text-decoration:underline}.circled-logo{background-color:#454549;border-radius:50%;padding:.65rem;width:50px;height:50px;margin-bottom:.75rem;border:2px solid #232325}.circled-logo img{width:26px;height:26px;display:inline-block}.light .circled-logo{border:none}.cols-of-1{grid-template-rows:repeat(1, min-content)}.cols-of-2{grid-template-rows:repeat(2, min-content)}.cols-of-3{grid-template-rows:repeat(3, min-content)}.cols-of-4{grid-template-rows:repeat(4, min-content)}.cols-of-5{grid-template-rows:repeat(5, min-content)}.cols-of-6{grid-template-rows:repeat(6, min-content)}.cols-of-7{grid-template-rows:repeat(7, min-content)}.cols-of-8{grid-template-rows:repeat(8, min-content)}.cols-of-9{grid-template-rows:repeat(9, min-content)}.cols-of-10{grid-template-rows:repeat(10, min-content)}.card-deck{margin-top:2.5rem;margin-left:-1.25rem;margin-right:-1.25rem;margin-bottom:5rem;flex-grow:1}@media(min-width: 992px){.card-deck{margin-top:5rem}}.card-deck .card{flex-grow:0;flex-basis:100%;margin:0 1.25rem 5rem 1.25rem;background-position:bottom;background-repeat:no-repeat;background-size:contain}.card-deck.row-cols-1 .card{flex-basis:100%;min-height:264px}@media(min-width: 768px){.card-deck.row-cols-1 .card{min-height:347px}}@media(min-width: 1200px){.card-deck.row-cols-lg-3{margin-left:-2.5rem;margin-right:-2.5rem}}@media(min-width: 992px){.card-deck.row-cols-lg-3 .card{flex-basis:calc(33% - 2.5rem )}}@media(min-width: 1200px){.card-deck.row-cols-lg-3 .card{margin:0 2.5rem 5rem 2.5rem;flex-basis:calc(33% - 5rem )}}@media(min-width: 992px){.card-deck.row-cols-lg-4 .card{flex-basis:calc(25% - 2.5rem )}}.card-deck a.card{transition:all .35s ease-out;cursor:pointer}.card-deck a.card:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}.card-deck .card-footer{font-size:0;padding:1rem;background-position:bottom;background-repeat:no-repeat;background-size:cover;border-top:0}@media(max-width: 991.98px){.card-deck{margin-top:2rem}.card-deck .card-body{padding:1rem}.card-deck.row-cols-1 .card{margin:.75rem .75rem 5rem .75rem;max-width:calc(100% - 1.5rem)}.card-deck.row-cols-2 .card{margin:.75rem;max-width:calc(50% - 1.5rem)}}main article .card-grid.card-grid-3xN{grid-gap:1rem}main article .card-grid.card-grid-3xN .card{padding:0;margin:.5rem}main article .card-grid.card-grid-3xN .card .card-body{padding:1rem}main article .card-grid.card-grid-3xN .card .card-icon-container{width:50px;height:50px;background:#454549;display:flex;justify-content:center;align-items:center;border-radius:50%;margin-bottom:12px}main article .card-grid.card-grid-3xN .card .card-icon-container img{width:70%;height:70%}main article .card-grid.card-grid-3xN .card .card-footer{font-size:0;line-height:0;padding:1rem;background-position:bottom;background-repeat:no-repeat;background-size:cover;border-top:0}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-green-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-magenta-3.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-green-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-light-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3col-orange-yellow-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-pink-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-green-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-magenta.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-purple2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-neutral-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-purple-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3col-light-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-blue-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-dark-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-magenta-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3-col-light-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-magenta-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-orange-3.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-blue-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3-col-light-blue2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-orange-yellow.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3-col-pink.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-green-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-orange-2.svg")}.cta-card{text-align:center;background-color:#232325}.card-subhead{font-size:1rem;margin-bottom:.25rem;margin-top:.5rem}.breadcrumbs-wrap{position:relative;z-index:11;padding:0 0 2rem 0}.interactive-block .breadcrumbs-wrap{padding:0}.breadcrumb-item+.breadcrumb-item:before{content:"";font-family:FontAwesome;padding-right:5px}.breadcrumbs-wrap .breadcrumb{padding:0;margin-bottom:0;font-size:.833em}.breadcrumb-item a{color:#e0e0e1;text-decoration:none}.breadcrumb-item a:hover{color:#9a52ff}.landing .container-fluid.section-hero,.landing .section-hero.container-sm,.landing .section-hero.container-md,.landing .section-hero.container-lg,.landing .section-hero.container-xl{padding:48px 0}.landing article .children-display>ul>li,.landing article .curated-links>ul>li{margin-top:24px}.landing article .children-display li a,.landing article .curated-links li a{font-weight:700;font-size:1.25rem;text-decoration:none}.landing article .children-display li a:hover,.landing article .curated-links li a:hover{text-decoration:underline}.landing section:first-of-type h1:first-child{margin-top:0;line-height:1.2}.landing .level-1,.landing .level-2{margin-top:0}.landing .curated-links ul,.landing .curated-links ol,.landing .children-display ul{padding-left:0;margin-bottom:0}.landing .section-hero .blurb{font-size:1.2em;line-height:1.71em}.landing .doc-index .level-1{list-style-type:disc;margin-left:1rem}.landing .doc-index .level-2{list-style-type:circle;margin-left:2rem}.landing .doc-index .level-3{list-style-type:square;margin-left:3rem}.landing .doc-index .level-4{list-style-type:disc;margin-left:4rem}.landing .doc-index .level-5{margin-left:5rem;list-style-type:circle}.landing .doc-index .level-6{margin-left:6rem;list-style-type:square}.landing p a,.landing h5 a{color:#9a52ff;font-weight:600}.landing p a:hover,.landing h5 a:hover{text-decoration:underline}.landing .display-4{margin-bottom:1.5rem}.landing #test-net-servers h3{font-size:1.4rem;font-weight:700}.landing #test-net-servers pre{overflow-x:auto}.landing section:first-of-type{border-top-width:0}.landing #main_content_wrapper{border-bottom:none;margin-top:80px}.landing .marketing-wrapper{margin-top:10rem;margin-bottom:6rem}@media(max-width: 767.98px){.landing .marketing-wrapper{margin-top:6rem}}.landing .nav .nav-link{padding:1rem 2rem 1rem 0;color:#e0e0e1;border-bottom:1px solid #232325;position:relative}.landing .nav .nav-link:hover{color:#9a52ff}.landing .nav .nav-link:not(.external-link)::after{content:" ";background-image:url(../img/icons/arrow-right-purple.svg);background-repeat:no-repeat;background-position:center;background-size:1rem;position:absolute;right:0;width:1.5rem;height:1.5rem;transition:all .2s ease}.landing .nav .nav-link:not(.external-link):hover::after{animation:arrowDance2 1.2s infinite}.landing .nav .nav-link.external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;position:absolute;background-position:center;background-size:.75rem;right:7px;width:1.5rem;height:1.5rem;transition:all .2s ease}.landing .nav .nav-link.external-link:hover::after{animation:arrowDanceDiag 1.2s infinite}.landing .card-body .nav .nav-link{border-bottom:1px solid #454549}.alert-info{color:#fff;background-color:#006bb2;border-width:0}.alert-info a{text-decoration:underline;color:#fff}.alert-info a:hover{color:#e0e0e1}.highlight-subcard{margin:1.5rem 0;padding:1rem;border:2px solid #fff;background:#111112}.interactive-block-inner{border:1px dashed #9a52ff;padding:10px;margin:5px}.interactive-block-ui>button{margin:10px 0}.interactive-block input:invalid{box-shadow:inset 0 0 5px 5px #ff198b}.interactive-block .breadcrumbs-wrap{margin-bottom:11px}.interactive-block .breadcrumb-item{margin-top:6px}.interactive-block .breadcrumb-item a{text-decoration:none}.interactive-block .breadcrumb-item.current a{font-weight:bold}.interactive-block .breadcrumb-item.active a{color:#b480ff}.interactive-block .breadcrumb-item.disabled a{color:#454549}.interactive-block .breadcrumb-item.done a:after{content:"";font-family:FontAwesome;color:#e0e0e1;padding-right:5px;padding-left:5px}.interactive-block .waiting-for-tx{word-break:break-word}.ws-console{height:200px;overflow:auto}.status{cursor:help;padding:1px 2px;font-weight:normal;text-indent:0}.status.not_enabled{color:#faff19}.status.removed{color:#ff198b}.labels-wrap ul::before{content:"";font-family:FontAwesome;font-size:1.5rem}.labels-wrap .list-inline-item{margin-top:.5rem}.pg-category{color:#a2a2a4}.pg-category::after{content:"";font-family:FontAwesome;padding-left:5px}.label{border-radius:100px;border-width:0;padding:.5rem 1rem;font-weight:bold;text-decoration:none !important;text-align:center;white-space:nowrap;background-color:#111112;color:#c1c1c2}.label .badge-pill{width:24px;height:24px;border-radius:50px;margin-left:.5rem;font-weight:400;line-height:23px;font-size:16px;padding:0;margin-top:-2px}html.light .label{background-color:#e0e0e1;color:#232325}html.light .label .badge-pill{color:#e0e0e1;background-color:#232325}html.light .label:hover{background-color:#c1c1c2;color:#111112}html.light .label:hover .badge-pill{color:#c1c1c2;background-color:#111112}.label .badge-pill{color:#111112;background-color:#c1c1c2}.label:hover{color:#e0e0e1;background-color:#232325}.label:hover .badge-pill{color:#232325;background-color:#e0e0e1}.label.label-accounts,.label.label-payment-channels,.label.label-amm,.label.label-アカウント,.label.label-payment-channel,.label.label-use-infrastructure,.label.label-use-security,.label.blog-category-development,.label.chip-indigo{background-color:#20004c;color:#b480ff}.label.label-accounts .badge-pill,.label.label-payment-channels .badge-pill,.label.label-amm .badge-pill,.label.label-アカウント .badge-pill,.label.label-payment-channel .badge-pill,.label.label-use-infrastructure .badge-pill,.label.label-use-security .badge-pill,.label.blog-category-development .badge-pill,.label.chip-indigo .badge-pill{color:#20004c;background-color:#b480ff}.label.label-accounts:hover,.label.label-payment-channels:hover,.label.label-amm:hover,.label.label-アカウント:hover,.label.label-payment-channel:hover,.label.label-use-infrastructure:hover,.label.label-use-security:hover,.label.blog-category-development:hover,.label.chip-indigo:hover{background-color:#350080;color:#d2b2ff}.label.label-accounts:hover .badge-pill,.label.label-payment-channels:hover .badge-pill,.label.label-amm:hover .badge-pill,.label.label-アカウント:hover .badge-pill,.label.label-payment-channel:hover .badge-pill,.label.label-use-infrastructure:hover .badge-pill,.label.label-use-security:hover .badge-pill,.label.blog-category-development:hover .badge-pill,.label.chip-indigo:hover .badge-pill{color:#350080;background-color:#d2b2ff}html.light .label.label-accounts,html.light .label.label-payment-channels,html.light .label.label-amm,html.light .label.label-アカウント,html.light .label.label-payment-channel,html.light .label.label-use-infrastructure,html.light .label.label-use-security,html.light .label.blog-category-development,html.light .label.chip-indigo{background-color:#d2b2ff;color:#350080}html.light .label.label-accounts .badge-pill,html.light .label.label-payment-channels .badge-pill,html.light .label.label-amm .badge-pill,html.light .label.label-アカウント .badge-pill,html.light .label.label-payment-channel .badge-pill,html.light .label.label-use-infrastructure .badge-pill,html.light .label.label-use-security .badge-pill,html.light .label.blog-category-development .badge-pill,html.light .label.chip-indigo .badge-pill{color:#d2b2ff;background-color:#350080}html.light .label.label-accounts:hover,html.light .label.label-payment-channels:hover,html.light .label.label-amm:hover,html.light .label.label-アカウント:hover,html.light .label.label-payment-channel:hover,html.light .label.label-use-infrastructure:hover,html.light .label.label-use-security:hover,html.light .label.blog-category-development:hover,html.light .label.chip-indigo:hover{background-color:#b480ff;color:#20004c}html.light .label.label-accounts:hover .badge-pill,html.light .label.label-payment-channels:hover .badge-pill,html.light .label.label-amm:hover .badge-pill,html.light .label.label-アカウント:hover .badge-pill,html.light .label.label-payment-channel:hover .badge-pill,html.light .label.label-use-infrastructure:hover .badge-pill,html.light .label.label-use-security:hover .badge-pill,html.light .label.blog-category-development:hover .badge-pill,html.light .label.chip-indigo:hover .badge-pill{color:#b480ff;background-color:#20004c}.label.label-blockchain,.label.label-xrp,.label.label-ブロックチェーン,.label.label-non-fungible-tokens-nfts,.label.label-use-nfts,.label.blog-category-release_notes,.label.blog-category-features,.label.chip-green{background-color:#145c35;color:#84f0b6}.label.label-blockchain .badge-pill,.label.label-xrp .badge-pill,.label.label-ブロックチェーン .badge-pill,.label.label-non-fungible-tokens-nfts .badge-pill,.label.label-use-nfts .badge-pill,.label.blog-category-release_notes .badge-pill,.label.blog-category-features .badge-pill,.label.chip-green .badge-pill{background-color:#84f0b6;color:#145c35}.label.label-blockchain:hover,.label.label-xrp:hover,.label.label-ブロックチェーン:hover,.label.label-non-fungible-tokens-nfts:hover,.label.label-use-nfts:hover,.label.blog-category-release_notes:hover,.label.blog-category-features:hover,.label.chip-green:hover{background-color:#1e8a50;color:#adf5ce}.label.label-blockchain:hover .badge-pill,.label.label-xrp:hover .badge-pill,.label.label-ブロックチェーン:hover .badge-pill,.label.label-non-fungible-tokens-nfts:hover .badge-pill,.label.label-use-nfts:hover .badge-pill,.label.blog-category-release_notes:hover .badge-pill,.label.blog-category-features:hover .badge-pill,.label.chip-green:hover .badge-pill{background-color:#adf5ce;color:#1e8a50}html.light .label.label-blockchain,html.light .label.label-xrp,html.light .label.label-ブロックチェーン,html.light .label.label-non-fungible-tokens-nfts,html.light .label.label-use-nfts,html.light .label.blog-category-release_notes,html.light .label.blog-category-features,html.light .label.chip-green{background-color:#adf5ce;color:#145c35}html.light .label.label-blockchain .badge-pill,html.light .label.label-xrp .badge-pill,html.light .label.label-ブロックチェーン .badge-pill,html.light .label.label-non-fungible-tokens-nfts .badge-pill,html.light .label.label-use-nfts .badge-pill,html.light .label.blog-category-release_notes .badge-pill,html.light .label.blog-category-features .badge-pill,html.light .label.chip-green .badge-pill{color:#adf5ce;background-color:#145c35}html.light .label.label-blockchain:hover,html.light .label.label-xrp:hover,html.light .label.label-ブロックチェーン:hover,html.light .label.label-non-fungible-tokens-nfts:hover,html.light .label.label-use-nfts:hover,html.light .label.blog-category-release_notes:hover,html.light .label.blog-category-features:hover,html.light .label.chip-green:hover{background-color:#84f0b6;color:#000}html.light .label.label-blockchain:hover .badge-pill,html.light .label.label-xrp:hover .badge-pill,html.light .label.label-ブロックチェーン:hover .badge-pill,html.light .label.label-non-fungible-tokens-nfts:hover .badge-pill,html.light .label.label-use-nfts:hover .badge-pill,html.light .label.blog-category-release_notes:hover .badge-pill,html.light .label.blog-category-features:hover .badge-pill,html.light .label.chip-green:hover .badge-pill{color:#84f0b6;background-color:#000}.label.label-checks,.label.label-core-server,.label.label-コアサーバ,.label.label-use-interoperability,.label.label-use-web_monetization,.label.blog-category-gateway_bulletins,.label.chip-purple{background-color:#40004c;color:#ea80ff}.label.label-checks .badge-pill,.label.label-core-server .badge-pill,.label.label-コアサーバ .badge-pill,.label.label-use-interoperability .badge-pill,.label.label-use-web_monetization .badge-pill,.label.blog-category-gateway_bulletins .badge-pill,.label.chip-purple .badge-pill{background-color:#ea80ff;color:#40004c}.label.label-checks:hover,.label.label-core-server:hover,.label.label-コアサーバ:hover,.label.label-use-interoperability:hover,.label.label-use-web_monetization:hover,.label.blog-category-gateway_bulletins:hover,.label.chip-purple:hover{background-color:#6b0080;color:#f2b2ff}.label.label-checks:hover .badge-pill,.label.label-core-server:hover .badge-pill,.label.label-コアサーバ:hover .badge-pill,.label.label-use-interoperability:hover .badge-pill,.label.label-use-web_monetization:hover .badge-pill,.label.blog-category-gateway_bulletins:hover .badge-pill,.label.chip-purple:hover .badge-pill{background-color:#f2b2ff;color:#6b0080}html.light .label.label-checks,html.light .label.label-core-server,html.light .label.label-コアサーバ,html.light .label.label-use-interoperability,html.light .label.label-use-web_monetization,html.light .label.blog-category-gateway_bulletins,html.light .label.chip-purple{background-color:#f2b2ff;color:#6b0080}html.light .label.label-checks .badge-pill,html.light .label.label-core-server .badge-pill,html.light .label.label-コアサーバ .badge-pill,html.light .label.label-use-interoperability .badge-pill,html.light .label.label-use-web_monetization .badge-pill,html.light .label.blog-category-gateway_bulletins .badge-pill,html.light .label.chip-purple .badge-pill{color:#f2b2ff;background-color:#6b0080}html.light .label.label-checks:hover,html.light .label.label-core-server:hover,html.light .label.label-コアサーバ:hover,html.light .label.label-use-interoperability:hover,html.light .label.label-use-web_monetization:hover,html.light .label.blog-category-gateway_bulletins:hover,html.light .label.chip-purple:hover{background-color:#ea80ff;color:#40004c}html.light .label.label-checks:hover .badge-pill,html.light .label.label-core-server:hover .badge-pill,html.light .label.label-コアサーバ:hover .badge-pill,html.light .label.label-use-interoperability:hover .badge-pill,html.light .label.label-use-web_monetization:hover .badge-pill,html.light .label.blog-category-gateway_bulletins:hover .badge-pill,html.light .label.chip-purple:hover .badge-pill{color:#ea80ff;background-color:#40004c}.label.label-cross-currency,.label.label-security,.label.label-クロスカレンシー,.label.label-セキュリティ,.label.label-use-gaming,.label.label-use-defi,.label.blog-category-amendments,.label.chip-yellow{background-color:#4b4c00;color:#fcff80}.label.label-cross-currency .badge-pill,.label.label-security .badge-pill,.label.label-クロスカレンシー .badge-pill,.label.label-セキュリティ .badge-pill,.label.label-use-gaming .badge-pill,.label.label-use-defi .badge-pill,.label.blog-category-amendments .badge-pill,.label.chip-yellow .badge-pill{background-color:#fcff80;color:#4b4c00}.label.label-cross-currency:hover,.label.label-security:hover,.label.label-クロスカレンシー:hover,.label.label-セキュリティ:hover,.label.label-use-gaming:hover,.label.label-use-defi:hover,.label.blog-category-amendments:hover,.label.chip-yellow:hover{background-color:#7d8000;color:#fdffb2}.label.label-cross-currency:hover .badge-pill,.label.label-security:hover .badge-pill,.label.label-クロスカレンシー:hover .badge-pill,.label.label-セキュリティ:hover .badge-pill,.label.label-use-gaming:hover .badge-pill,.label.label-use-defi:hover .badge-pill,.label.blog-category-amendments:hover .badge-pill,.label.chip-yellow:hover .badge-pill{background-color:#fdffb2;color:#7d8000}html.light .label.label-cross-currency,html.light .label.label-security,html.light .label.label-クロスカレンシー,html.light .label.label-セキュリティ,html.light .label.label-use-gaming,html.light .label.label-use-defi,html.light .label.blog-category-amendments,html.light .label.chip-yellow{background-color:#fdffb2;color:#4b4c00}html.light .label.label-cross-currency .badge-pill,html.light .label.label-security .badge-pill,html.light .label.label-クロスカレンシー .badge-pill,html.light .label.label-セキュリティ .badge-pill,html.light .label.label-use-gaming .badge-pill,html.light .label.label-use-defi .badge-pill,html.light .label.blog-category-amendments .badge-pill,html.light .label.chip-yellow .badge-pill{color:#fdffb2;background-color:#4b4c00}html.light .label.label-cross-currency:hover,html.light .label.label-security:hover,html.light .label.label-クロスカレンシー:hover,html.light .label.label-セキュリティ:hover,html.light .label.label-use-gaming:hover,html.light .label.label-use-defi:hover,html.light .label.blog-category-amendments:hover,html.light .label.chip-yellow:hover{background-color:#fcff80;color:#4b4c00}html.light .label.label-cross-currency:hover .badge-pill,html.light .label.label-security:hover .badge-pill,html.light .label.label-クロスカレンシー:hover .badge-pill,html.light .label.label-セキュリティ:hover .badge-pill,html.light .label.label-use-gaming:hover .badge-pill,html.light .label.label-use-defi:hover .badge-pill,html.light .label.blog-category-amendments:hover .badge-pill,html.light .label.chip-yellow:hover .badge-pill{color:#fcff80;background-color:#4b4c00}.label.label-decentralized-exchange,.label.label-smart-contracts,.label.label-transaction-sending,.label.label-分散型取引所,.label.label-スマートコントラクト,.label.label-トランザクション送信,.label.label-use-developer_tooling,.label.label-use-payments,.label.blog-category-developer_reflections,.label.chip-blue{background-color:#002e4c;color:#80ccff}.label.label-decentralized-exchange .badge-pill,.label.label-smart-contracts .badge-pill,.label.label-transaction-sending .badge-pill,.label.label-分散型取引所 .badge-pill,.label.label-スマートコントラクト .badge-pill,.label.label-トランザクション送信 .badge-pill,.label.label-use-developer_tooling .badge-pill,.label.label-use-payments .badge-pill,.label.blog-category-developer_reflections .badge-pill,.label.chip-blue .badge-pill{background-color:#80ccff;color:#002e4c}.label.label-decentralized-exchange:hover,.label.label-smart-contracts:hover,.label.label-transaction-sending:hover,.label.label-分散型取引所:hover,.label.label-スマートコントラクト:hover,.label.label-トランザクション送信:hover,.label.label-use-developer_tooling:hover,.label.label-use-payments:hover,.label.blog-category-developer_reflections:hover,.label.chip-blue:hover{background-color:#004d80;color:#b2e0ff}.label.label-decentralized-exchange:hover .badge-pill,.label.label-smart-contracts:hover .badge-pill,.label.label-transaction-sending:hover .badge-pill,.label.label-分散型取引所:hover .badge-pill,.label.label-スマートコントラクト:hover .badge-pill,.label.label-トランザクション送信:hover .badge-pill,.label.label-use-developer_tooling:hover .badge-pill,.label.label-use-payments:hover .badge-pill,.label.blog-category-developer_reflections:hover .badge-pill,.label.chip-blue:hover .badge-pill{background-color:#b2e0ff;color:#004d80}html.light .label.label-decentralized-exchange,html.light .label.label-smart-contracts,html.light .label.label-transaction-sending,html.light .label.label-分散型取引所,html.light .label.label-スマートコントラクト,html.light .label.label-トランザクション送信,html.light .label.label-use-developer_tooling,html.light .label.label-use-payments,html.light .label.blog-category-developer_reflections,html.light .label.chip-blue{background-color:#b2e0ff;color:#004d80}html.light .label.label-decentralized-exchange .badge-pill,html.light .label.label-smart-contracts .badge-pill,html.light .label.label-transaction-sending .badge-pill,html.light .label.label-分散型取引所 .badge-pill,html.light .label.label-スマートコントラクト .badge-pill,html.light .label.label-トランザクション送信 .badge-pill,html.light .label.label-use-developer_tooling .badge-pill,html.light .label.label-use-payments .badge-pill,html.light .label.blog-category-developer_reflections .badge-pill,html.light .label.chip-blue .badge-pill{color:#b2e0ff;background-color:#004d80}html.light .label.label-decentralized-exchange:hover,html.light .label.label-smart-contracts:hover,html.light .label.label-transaction-sending:hover,html.light .label.label-分散型取引所:hover,html.light .label.label-スマートコントラクト:hover,html.light .label.label-トランザクション送信:hover,html.light .label.label-use-developer_tooling:hover,html.light .label.label-use-payments:hover,html.light .label.blog-category-developer_reflections:hover,html.light .label.chip-blue:hover{background-color:#80ccff;color:#002e4c}html.light .label.label-decentralized-exchange:hover .badge-pill,html.light .label.label-smart-contracts:hover .badge-pill,html.light .label.label-transaction-sending:hover .badge-pill,html.light .label.label-分散型取引所:hover .badge-pill,html.light .label.label-スマートコントラクト:hover .badge-pill,html.light .label.label-トランザクション送信:hover .badge-pill,html.light .label.label-use-developer_tooling:hover .badge-pill,html.light .label.label-use-payments:hover .badge-pill,html.light .label.blog-category-developer_reflections:hover .badge-pill,html.light .label.chip-blue:hover .badge-pill{color:#80ccff;background-color:#002e4c}.label.label-escrow,.label.label-tokens,.label.label-development,.label.label-トークン,.label.label-開発,.label.label-use-wallet,.label.label-use-sustainability,.label.blog-category-advisories,.label.chip-orange{background-color:#4c1a00;color:#ffaa80}.label.label-escrow .badge-pill,.label.label-tokens .badge-pill,.label.label-development .badge-pill,.label.label-トークン .badge-pill,.label.label-開発 .badge-pill,.label.label-use-wallet .badge-pill,.label.label-use-sustainability .badge-pill,.label.blog-category-advisories .badge-pill,.label.chip-orange .badge-pill{background-color:#ffaa80;color:#4c1a00}.label.label-escrow:hover,.label.label-tokens:hover,.label.label-development:hover,.label.label-トークン:hover,.label.label-開発:hover,.label.label-use-wallet:hover,.label.label-use-sustainability:hover,.label.blog-category-advisories:hover,.label.chip-orange:hover{background-color:#802b00;color:#ffccb2}.label.label-escrow:hover .badge-pill,.label.label-tokens:hover .badge-pill,.label.label-development:hover .badge-pill,.label.label-トークン:hover .badge-pill,.label.label-開発:hover .badge-pill,.label.label-use-wallet:hover .badge-pill,.label.label-use-sustainability:hover .badge-pill,.label.blog-category-advisories:hover .badge-pill,.label.chip-orange:hover .badge-pill{background-color:#ffccb2;color:#802b00}html.light .label.label-escrow,html.light .label.label-tokens,html.light .label.label-development,html.light .label.label-トークン,html.light .label.label-開発,html.light .label.label-use-wallet,html.light .label.label-use-sustainability,html.light .label.blog-category-advisories,html.light .label.chip-orange{background-color:#ffccb2;color:#802b00}html.light .label.label-escrow .badge-pill,html.light .label.label-tokens .badge-pill,html.light .label.label-development .badge-pill,html.light .label.label-トークン .badge-pill,html.light .label.label-開発 .badge-pill,html.light .label.label-use-wallet .badge-pill,html.light .label.label-use-sustainability .badge-pill,html.light .label.blog-category-advisories .badge-pill,html.light .label.chip-orange .badge-pill{color:#ffccb2;background-color:#802b00}html.light .label.label-escrow:hover,html.light .label.label-tokens:hover,html.light .label.label-development:hover,html.light .label.label-トークン:hover,html.light .label.label-開発:hover,html.light .label.label-use-wallet:hover,html.light .label.label-use-sustainability:hover,html.light .label.blog-category-advisories:hover,html.light .label.chip-orange:hover{background-color:#ffaa80;color:#4c1a00}html.light .label.label-escrow:hover .badge-pill,html.light .label.label-tokens:hover .badge-pill,html.light .label.label-development:hover .badge-pill,html.light .label.label-トークン:hover .badge-pill,html.light .label.label-開発:hover .badge-pill,html.light .label.label-use-wallet:hover .badge-pill,html.light .label.label-use-sustainability:hover .badge-pill,html.light .label.blog-category-advisories:hover .badge-pill,html.light .label.chip-orange:hover .badge-pill{color:#ffaa80;background-color:#4c1a00}.label.label-fees,.label.label-payments,.label.label-data-retention,.label.label-手数料,.label.label-支払い,.label.label-データ保持,.label.label-use-exchanges,.label.label-use-custody,.label.blog-category-security,.label.chip-magenta{background-color:#4c0026;color:#ff80bf}.label.label-fees .badge-pill,.label.label-payments .badge-pill,.label.label-data-retention .badge-pill,.label.label-手数料 .badge-pill,.label.label-支払い .badge-pill,.label.label-データ保持 .badge-pill,.label.label-use-exchanges .badge-pill,.label.label-use-custody .badge-pill,.label.blog-category-security .badge-pill,.label.chip-magenta .badge-pill{background-color:#ff80bf;color:#4c0026}.label.label-fees:hover,.label.label-payments:hover,.label.label-data-retention:hover,.label.label-手数料:hover,.label.label-支払い:hover,.label.label-データ保持:hover,.label.label-use-exchanges:hover,.label.label-use-custody:hover,.label.blog-category-security:hover,.label.chip-magenta:hover{background-color:#80003f;color:#ffb2d8}.label.label-fees:hover .badge-pill,.label.label-payments:hover .badge-pill,.label.label-data-retention:hover .badge-pill,.label.label-手数料:hover .badge-pill,.label.label-支払い:hover .badge-pill,.label.label-データ保持:hover .badge-pill,.label.label-use-exchanges:hover .badge-pill,.label.label-use-custody:hover .badge-pill,.label.blog-category-security:hover .badge-pill,.label.chip-magenta:hover .badge-pill{background-color:#ffb2d8;color:#80003f}html.light .label.label-fees,html.light .label.label-payments,html.light .label.label-data-retention,html.light .label.label-手数料,html.light .label.label-支払い,html.light .label.label-データ保持,html.light .label.label-use-exchanges,html.light .label.label-use-custody,html.light .label.blog-category-security,html.light .label.chip-magenta{background-color:#ffb2d8;color:#80003f}html.light .label.label-fees .badge-pill,html.light .label.label-payments .badge-pill,html.light .label.label-data-retention .badge-pill,html.light .label.label-手数料 .badge-pill,html.light .label.label-支払い .badge-pill,html.light .label.label-データ保持 .badge-pill,html.light .label.label-use-exchanges .badge-pill,html.light .label.label-use-custody .badge-pill,html.light .label.blog-category-security .badge-pill,html.light .label.chip-magenta .badge-pill{color:#ffb2d8;background-color:#80003f}html.light .label.label-fees:hover,html.light .label.label-payments:hover,html.light .label.label-data-retention:hover,html.light .label.label-手数料:hover,html.light .label.label-支払い:hover,html.light .label.label-データ保持:hover,html.light .label.label-use-exchanges:hover,html.light .label.label-use-custody:hover,html.light .label.blog-category-security:hover,html.light .label.chip-magenta:hover{background-color:#ff80bf;color:#4c0026}html.light .label.label-fees:hover .badge-pill,html.light .label.label-payments:hover .badge-pill,html.light .label.label-data-retention:hover .badge-pill,html.light .label.label-手数料:hover .badge-pill,html.light .label.label-支払い:hover .badge-pill,html.light .label.label-データ保持:hover .badge-pill,html.light .label.label-use-exchanges:hover .badge-pill,html.light .label.label-use-custody:hover .badge-pill,html.light .label.blog-category-security:hover .badge-pill,html.light .label.chip-magenta:hover .badge-pill{color:#ff80bf;background-color:#4c0026}.tag-cloud .list-inline-item{margin-top:1.5rem}.command-list-wrapper{position:sticky;top:calc(var(--navbar-height) + var(--toc-offset-top));max-height:calc(100vh - var(--navbar-height) - var(--toc-offset-top));overflow-y:auto;width:var(--toc-width)}#tx-sender-history .list-group-item{font-size:small;color:#454549}.response-metadata .timestamp{color:#454549}.throbber{width:24px;height:24px}#connection-status .card-body{border-left:0}#connection-status-item.active{background-color:#32e685;border-color:#32e685}.api-input-area .btn-group>.send-request.btn{border-bottom-right-radius:4px;border-top-right-radius:4px}#tx-sender-history ul{overflow:auto;height:220px;border:1px solid #e0e0e1}.progress small{margin-top:.5rem}.page-tx-sender .input-group .form-control,.interactive-block-ui .input-group .form-control{flex:1 1 20%;height:auto}.bootstrap-growl{max-width:90vw !important;overflow:hidden}.list-group-item-danger,#tx-sender-history .list-group-item-danger{background-color:#ff80bf;color:#000}.list-group-item-danger a,#tx-sender-history .list-group-item-danger a{color:#000}.list-group-item-danger a:hover,#tx-sender-history .list-group-item-danger a:hover{color:#000;text-decoration:underline}.rpc-tool .main h1::before,.rpc-tool .main h2::before,.rpc-tool .main h3::before{display:none}.form-text a{text-decoration:underline}@media print{.multicode>div{display:block !important}.multicode>em,.multicode>p>em{display:block !important;page-break-after:avoid}.multicode>p{display:block !important}.code_toggler{display:none}pre{white-space:pre-wrap;max-height:none !important;overflow:visible;page-break-inside:auto;word-wrap:break-word}pre code{white-space:pre-wrap !important;color:#22252b !important}code{white-space:pre-wrap !important;color:#22252b !important}.codehilite .n,.codehilite .na,.codehilite .nb,.codehilite .nc,.codehilite .nd,.codehilite .ne,.codehilite .nf,.codehilite .ni,.codehilite .nl,.codehilite .nn,.codehilite .nt,.codehilite .nv,.codehilite .nx,.codehilite .bp,.codehilite .fm,.codehilite .py{color:#22252b}article a[title=Source]{float:none}header,footer,aside{display:none !important}.navbar{display:none !important}article,#main_content_body{position:static;display:block;width:auto;height:auto;color:#000 !important;max-width:100%;overflow:visible !important}body{overflow:visible;background:#fff}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{color:#000}.interactive-block{display:none}.container{margin-top:1rem !important}}#home-purple{position:absolute;left:0;top:-400px}#home-green{position:absolute;right:-3px;top:60px}.sidelinks:hover{color:#9a52ff}.sidelinks.active{color:#9a52ff;font-weight:bold}.page-home #home-hero-container{display:flex;justify-content:center;align-items:center;width:100%;padding-top:54.8%;overflow:hidden}.page-home #home-hero-graphic{width:100%;max-width:856px;height:auto;object-fit:cover;content:url("../img/home-hero.svg");margin-bottom:24px;display:block;margin-left:auto;margin-right:auto}@media(min-width: 992px){.page-home #home-hero-graphic{min-height:470px}}@media(max-width: 991px)and (min-width: 540px){.page-home #home-hero-graphic{min-height:250px}}@media(max-width: 539px){.page-home #home-hero-graphic{min-height:170px}}.page-home #benefits-list #public{content:url("../img/icons/public.svg")}.page-home #benefits-list #streamlined{content:url("../img/icons/streamlined.svg")}.page-home #benefits-list #performance{content:url("../img/icons/performance.svg")}.page-home #benefits-list #low-cost{content:url("../img/icons/low-cost.svg")}.page-home #benefits-list #community{content:url("../img/icons/community.svg")}.page-home #benefits-list #reliability{content:url("../img/icons/reliability.svg")}.page-home #advanced-features .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-pink-purple.svg")}.page-home #advanced-features .card:nth-child(2) .card-footer{background-image:url("../img/cards/3col-neutral-blue.svg")}.page-home #advanced-features .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-light-green.svg")}.page-home #advanced-features .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-orange.svg")}.page-home #advanced-features .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-purple-blue-2.svg")}.page-home #get-started .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-orange-yellow.svg")}.page-home #get-started .card:nth-child(2) .card-footer{background-image:url("../img/cards/3col-magenta-orange.svg")}.page-home #get-started .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-green.svg")}.page-home #get-started .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-light-blue.svg")}.page-home #get-started .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-green-blue.svg")}.cta{position:absolute}.cta-top-left{top:0;left:0}.cta-bottom-right{bottom:0;right:0}.landing-bg{opacity:.6}@media(min-width: 768px){.landing-bg{opacity:1}}.landing-builtin-bg::before{content:"";position:absolute;top:0;left:0;background-repeat:no-repeat;background-position-x:left;background-position-y:top;opacity:.6}@media(min-width: 768px){.landing-builtin-bg::before{opacity:1}}#xrp-overview-blue{position:absolute;top:0;left:0}@media(max-width: 767.98px){#xrp-mark-overview{height:40px;margin-top:16px}}#wallets #wallet-ledger{content:url("../img/wallets/ledger.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-secalot{content:url("../img/wallets/secalot.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-trezor{content:url("../img/wallets/trezor.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-xumm{content:url("../img/wallets/xumm.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-trust{content:url("../img/wallets/trust.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-gatehub{content:url("../img/wallets/gatehub.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-towo{content:url("../img/wallets/towo.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-keystone{content:url("../img/wallets/keystone.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-dcent{content:url("../img/wallets/dcent.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-coin{content:url("../img/wallets/coin.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-gem{content:url("../img/wallets/gem.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#top-exchanges #exch-bitstamp{content:url("../img/exchanges/bitstamp.svg")}#top-exchanges #exch-kraken{content:url("../img/exchanges/kraken.svg")}#top-exchanges #exch-cex-io{content:url("../img/exchanges/cex-io.svg")}#top-exchanges #exch-liquid{content:url("../img/exchanges/liquid.svg")}#top-exchanges #exch-lmax{content:url("../img/exchanges/lmax.svg")}#top-exchanges #exch-bitfinex{content:url("../img/exchanges/bitfinex.svg")}#top-exchanges #exch-etoro{content:url("../img/exchanges/etoro.svg")}#top-exchanges #exch-bittrex{content:url("../img/exchanges/bittrex.png")}#top-exchanges #exch-currency-com{content:url("../img/exchanges/currency-com.png")}#top-exchanges #exch-ftx{content:url("../img/exchanges/ftx.png")}#xrpl-overview-purple{position:absolute;top:40px;left:0}@media(max-width: 767.98px){#xrpl-overview-purple{top:0;left:-20vw}}#xrpl-overview-orange{position:absolute;top:80px;right:-4px}#use-cases-orange{position:absolute;top:-480px;right:-4px}#validator-graphic{content:url(../img/validators.svg)}.page-uses .container-new{padding-left:16px;padding-right:16px}.page-uses h1{font-size:42px}.page-uses::before{transform:scaleX(-1);background-image:url(../img/backgrounds/use-cases-blue.svg)}.page-uses .card-grid{grid-gap:8px}.page-uses .card-grid img{max-height:40px}.page-uses .modal{padding:0}.page-uses .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#000;background-clip:padding-box;border:none;border-radius:0;box-shadow:none;outline:none;background:#111112}.page-uses .modal-header{border:none;background:#111112;box-shadow:0px 1px 2px #000}.page-uses .modal-header .cancel .chevron{transform:rotate(90deg)}.page-uses .modal-header .apply .chevron{transform:rotate(-90deg)}.page-uses .modal-footer{border:none;background:#111112;box-shadow:0px -1px 2px #000;align-items:unset;padding:.75rem;flex-direction:column;flex-wrap:wrap}.page-uses .card-title{margin-bottom:.5rem;line-height:26px}.page-uses .card-uses{padding:16px;margin:0;text-decoration:none;transition:all .35s ease-out}.page-uses .card-uses:hover{text-decoration:none;color:#e0e0e1;transform:translateY(-16px);text-decoration:none}.page-uses .card-body{background:#232325;border-radius:8px;height:100%;padding:32px;margin:0}.page-uses .page-events .label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.page-uses .category-header{font-weight:bold;color:#c1c1c2}.page-uses .light .category-checkbox label{color:#fff}.page-uses .category-checkbox{display:flex;align-items:center}.page-uses .category-checkbox label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.page-uses .category_count{margin-left:8px;padding:2px 16px;width:24px;height:16px;background:#350080;border-radius:100px;font-weight:600;font-size:12px;line-height:16px;color:#b480ff}.page-uses .category_sidebar{position:sticky;top:10px}.page-uses #infrastructure{content:url("../img/icons/usecases/ic_infrastructure.png")}.page-uses #developer_tooling{content:url("../img/icons/usecases/ic_developer_tooling.png")}.page-uses #interoperability{content:url("../img/icons/usecases/ic_interoperability.png")}.page-uses #wallet{content:url("../img/icons/usecases/ic_wallet.png")}.page-uses #nfts{content:url("../img/icons/usecases/ic_nfts.png")}.page-uses #exchanges{content:url("../img/icons/usecases/ic_exchanges.png")}.page-uses #gaming{content:url("../img/icons/usecases/ic_gaming.png")}.page-uses #security{content:url("../img/icons/usecases/ic_security.png")}.page-uses #payments{content:url("../img/icons/usecases/ic_payments.png")}.page-uses #web_monetization{content:url("../img/icons/usecases/ic_web_monetization.png")}.page-uses #sustainability{content:url("../img/icons/usecases/ic_sustainability.png")}.page-uses #cbdc{content:url("../img/icons/usecases/ic_cbdc.png")}.page-uses #other{content:url("../img/icons/usecases/ic_other.png")}.page-uses #carbon_markets{content:url("../img/icons/usecases/ic_carbon_markets.png")}.page-uses #custody{content:url("../img/icons/usecases/ic_custody.png")}.page-uses #defi{content:url("../img/icons/usecases/ic_defi.png")}.page-uses #use_case_companies_list #bithomp .biz-logo{max-height:40px;content:url("../img/uses/bithomp.svg")}.page-uses #use_case_companies_list #onthedex .biz-logo{max-height:40px;content:url("../img/uses/onthedex.svg")}.page-uses #use_case_companies_list #gatehub .biz-logo{max-height:40px;content:url("../img/uses/gatehub.svg")}.page-uses #use_case_companies_list #towo-labs .biz-logo{max-height:40px;content:url("../img/uses/towo-labs.svg")}.page-uses #use_case_companies_list #xrp-toolkit .biz-logo{max-height:40px;content:url("../img/uses/xrp-toolkit.svg")}.page-uses #use_case_companies_list #xrpl-org-ledger-explorer .biz-logo{max-height:40px;content:url("../img/uses/xrpl-org-ledger-explorer.svg")}.page-uses #use_case_companies_list #xrpl-rosetta .biz-logo{max-height:40px;content:url("../img/uses/xrpl-rosetta.svg")}.page-uses #use_case_companies_list #xrpscan .biz-logo{max-height:40px;content:url("../img/uses/xrpscan.svg")}.page-uses #use_case_companies_list #evernode .biz-logo{max-height:40px;content:url("../img/uses/evernode.svg")}.page-uses #use_case_companies_list #cryptum .biz-logo{max-height:40px;content:url("../img/uses/cryptum.svg")}.page-uses #use_case_companies_list #x-tokenize .biz-logo{max-height:40px;content:url("../img/uses/x-tokenize.svg")}.page-uses #use_case_companies_list #multichain .biz-logo{max-height:40px;content:url("../img/uses/multichain.svg")}.page-uses #use_case_companies_list #xumm-wallet .biz-logo{max-height:40px;content:url("../img/uses/xumm-wallet.svg")}.page-uses #use_case_companies_list #gem-wallet .biz-logo{max-height:40px;content:url("../img/uses/gem-wallet.svg")}.page-uses #use_case_companies_list #aesthetes .biz-logo{max-height:40px;content:url("../img/uses/aesthetes.svg")}.page-uses #use_case_companies_list #audiotarky .biz-logo{max-height:40px;content:url("../img/uses/audiotarky.svg")}.page-uses #use_case_companies_list #xrp-cafe .biz-logo{max-height:40px;content:url("../img/uses/xrp-cafe.svg")}.page-uses #use_case_companies_list #nft-master .biz-logo{max-height:40px;content:url("../img/uses/nft-master.svg")}.page-uses #use_case_companies_list #onxrp .biz-logo{max-height:40px;content:url("../img/uses/onxrp.svg")}.page-uses #use_case_companies_list #peerkat .biz-logo{max-height:40px;content:url("../img/uses/peerkat.svg")}.page-uses #use_case_companies_list #sologenic-nft .biz-logo{max-height:40px;content:url("../img/uses/sologenic-nft.svg")}.page-uses #use_case_companies_list #sologenic-dex .biz-logo{max-height:40px;content:url("../img/uses/sologenic-dex.svg")}.page-uses #use_case_companies_list #xp-market .biz-logo{max-height:40px;content:url("../img/uses/xp-market.svg")}.page-uses #use_case_companies_list #ledger-city .biz-logo{max-height:40px;content:url("../img/uses/ledger-city.svg")}.page-uses #use_case_companies_list #forte .biz-logo{max-height:40px;content:url("../img/uses/forte.svg")}.page-uses #use_case_companies_list #futureverse .biz-logo{max-height:40px;content:url("../img/uses/futureverse.svg")}.page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:40px;content:url("../img/uses/first-ledger-bot.svg")}.page-uses #use_case_companies_list #moai-finance .biz-logo{max-height:40px;content:url("../img/uses/moai-finance.svg")}.page-uses #use_case_companies_list #orchestra-finance .biz-logo{max-height:40px;content:url("../img/uses/orchestra-finance.svg")}.page-uses #use_case_companies_list #anchain-ai .biz-logo{max-height:40px;content:url("../img/uses/anchain-ai.svg")}.page-uses #use_case_companies_list #coil .biz-logo{max-height:40px;content:url("../img/uses/coil.svg")}.page-uses #use_case_companies_list #carbonland-trust .biz-logo{max-height:40px;content:url("../img/uses/carbonland-trust.svg")}.page-uses #use_case_companies_list #casino-coin .biz-logo{max-height:40px;content:url("../img/uses/casino-coin.svg")}.page-uses #use_case_companies_list #bitgo .biz-logo{max-height:40px;content:url("../img/uses/bitgo.svg")}.page-uses #use_case_companies_list #bitpay .biz-logo{max-height:40px;content:url("../img/uses/bitpay.svg")}.page-uses #use_case_companies_list #ripples-on-demand-liquidity .biz-logo{max-height:40px;content:url("../img/uses/ripples-on-demand-liquidity.svg")}.page-uses #use_case_companies_list #ripples-cbdc-platform .biz-logo{max-height:40px;content:url("../img/uses/ripples-cbdc-platform.svg")}.page-uses #use_case_companies_list #momento .biz-logo{max-height:40px;content:url("../img/uses/momento.svg")}.page-uses #use_case_companies_list #zerpmon .biz-logo{max-height:40px;content:url("../img/uses/zerpmon.png")}.page-uses #use_case_companies_list #Crossmark .biz-logo{max-height:40px;content:url("../img/uses/Crossmark.png")}.page-uses #use_case_companies_list #Edge .biz-logo{max-height:40px;content:url("../img/uses/Edge.png")}.page-uses .orchestra-finance{max-height:52px !important;margin:0 !important}.page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:81px !important}.page-uses #use_case_companies_list #zerpmon .biz-logo{max-height:81px !important}@media(min-width: 992px){.page-uses h1{font-size:62px}.page-uses .container-new{padding-left:64px;padding-right:64px}.page-uses .card-grid img{max-height:48px}.page-uses .card-grid{grid-gap:48px}.page-uses .card-uses{padding:24px}}#history-orange{position:absolute;top:0;right:-4px}#history-purple{position:absolute;top:-480px;left:-4px}.hidden-section{overflow:hidden;visibility:hidden;height:0}.hidden-section.show{overflow:auto;visibility:visible;height:auto}#impact-green{position:absolute;top:0;left:-4px;rotate:180deg}#impact-purple{position:absolute;top:100px;right:-4px}#impact-magenta{position:absolute;top:100px;right:-4px}#foundation-magenta{position:absolute;top:0px;left:0px}#foundation-orange{position:absolute;top:40px;right:-4px}.page-impact #map-light{display:none}.page-impact #map-dark{display:block}.page-impact .connect-list #connect-01{content:url("../img/impact/connect-01.svg")}.page-impact .connect-list #connect-02{content:url("../img/impact/connect-02.svg")}.page-impact .connect-list #connect-03{content:url("../img/impact/connect-03.svg")}.page-impact .connect-list #connect-04{content:url("../img/impact/connect-04.svg")}.page-funding .funding-list #funding-01{content:url("../img/funding/funding-01.svg")}.page-funding .funding-list #funding-02{content:url("../img/funding/funding-02.svg")}.page-funding .funding-list #funding-03{content:url("../img/funding/funding-03.svg")}.page-funding .funding-list #funding-04{content:url("../img/funding/funding-04.svg")}.page-funding #funding-orange{position:absolute;top:132px;left:-4px}@media(min-width: 992px){.page-funding .funding-box{min-height:200px}}.page-ambassadors #benefits-list #benefits-01{content:url("../img/ambassadors/benefits-01.svg")}.page-ambassadors #benefits-list #benefits-02{content:url("../img/ambassadors/benefits-02.svg")}.page-ambassadors #benefits-list #benefits-03{content:url("../img/ambassadors/benefits-03.svg")}.page-ambassadors #benefits-list #benefits-04{content:url("../img/ambassadors/benefits-04.svg")}.page-ambassadors #benefits-list #benefits-05{content:url("../img/ambassadors/benefits-05.svg")}.page-ambassadors #benefits-list #benefits-06{content:url("../img/ambassadors/benefits-06.svg")}.page-ambassadors #eligibility-list #eligibility-01{content:url("../img/ambassadors/eligibility-01.svg")}.page-ambassadors #eligibility-list #eligibility-02{content:url("../img/ambassadors/eligibility-02.svg")}.page-ambassadors #eligibility-list #eligibility-03{content:url("../img/ambassadors/eligibility-03.svg")}.page-ambassadors #eligibility-list #eligibility-04{content:url("../img/ambassadors/eligibility-04.svg")}.page-ambassadors #eligibility-list #eligibility-05{content:url("../img/ambassadors/eligibility-05.svg")}.page-ambassadors .btn{padding:.75rem}.page-ambassadors #container-scroll{height:160px;position:relative;overflow:hidden;margin-top:80px;margin-bottom:64px}.page-ambassadors .photobanner{position:absolute;top:0px;left:0px;overflow:hidden;white-space:nowrap;animation:bannermove 40s linear infinite}.page-ambassadors .photobanner-bottom{top:112px}.page-ambassadors .photobanner img{margin:0 .5em}@keyframes bannermove{0%{transform:translate(0, 0)}100%{transform:translate(-50%, 0)}}.page-ambassadors #carouselSlidesOnly{height:392px;margin-bottom:40px}@media(min-width: 992px){.page-ambassadors #carouselSlidesOnly{height:320px;margin-bottom:104px}}.page-ambassadors h6{font-size:1.25rem}.page-ambassadors .btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);vertical-align:middle;padding-left:8px;transition:transform .3s ease-out}.page-ambassadors .btn-arrow:hover{text-decoration:none;background:none !important;border:none}.page-ambassadors .btn-arrow:hover::after{background-position:left 4px bottom 4px;transform:translateX(4px)}.autoscroll-content{animation:autoscroll 15s linear infinite;white-space:nowrap;overflow:hidden;max-width:300px}#community-magenta{position:absolute;top:0px;left:0px}#community-purple{position:absolute;top:160px;right:0px}.page-events #event-hero-image{height:100%;min-height:209px;background:url(../img/events/event-hero1@2x.png);background-size:contain;background-repeat:no-repeat;background-position:center}.page-events #events-orange{position:absolute;top:0px;right:0px}.page-events .event-hero{color:#f5f5f7}.page-events .event-hero p{font-weight:500;font-size:24px;line-height:32px}.page-events .event-save-date{color:#fff;font-weight:bold;font-size:20px;line-height:26px}.page-events .event-small-gray{color:#e0e0e1}.page-events .btn{padding:.75rem}.page-events .event-card{max-width:311px;margin:32px auto;transition:all .35s ease-out;position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-clip:border-box;background-color:#232325;box-shadow:0px 5px 40px #000;border:1px solid rgba(0,0,0,.125);border-radius:8px;font-size:16px;line-height:24px;color:#e0e0e1}.page-events .event-card .event-card-header{position:relative;height:176px;background-size:contain !important;width:100%;border-radius:8px 8px 0 0}.page-events .event-card .event-card-title{position:absolute;bottom:32px;padding:0 32px;color:#f5f5f7;font-weight:bold;font-size:20px;line-height:28px}.page-events .event-card .event-card-body{padding:32px}.page-events .event-card .event-card-footer{padding:0 32px 32px}.page-events .event-card .event-card-footer .icon::before{height:24px;width:24px;content:"";margin-right:8px;background-size:contain;background-repeat:no-repeat}.page-events .event-card .icon-date::before{background:url(../img/events/event-date.svg)}.page-events .event-card .icon-location::before{background:url(../img/events/event-location.svg)}@media(min-width: 992px){.page-events .event-card{max-width:347px;margin:32px}.page-events .event-card-header{height:197px !important}}.page-events a.event-card:hover{transform:translateY(-16px);text-decoration:none}.page-events label{margin:0;padding-left:8px;color:#fff}.page-events .events-filter h6{font-size:16px}.page-events .events-filter{height:20px;width:20px}.page-events .events-filter[type=checkbox]::before{position:relative;display:block;width:20px;height:20px;content:"";background:#111112;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.page-events .events-filter[type=checkbox]::after{position:relative;display:block;top:-20px;width:20px;height:20px;content:"";background-repeat:no-repeat;background-position:center;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.page-events .events-filter[type=checkbox]:checked::before{background:#111112;border:none;border-radius:0}.page-events .events-filter[type=checkbox]:checked::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;background-color:#7919ff;border-width:2px;border-style:solid;border-color:#7919ff;border-radius:4px}.page-events .events-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}.page-events .events-filter[type=checkbox]:not(:disabled):hover::before{background:#111112;border:none;border-radius:0}.page-events .events-filter[type=checkbox]:not(:disabled):hover::after{background:#111112;border:none;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}#find-us-on-platforms .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-light-blue-3.svg)}#find-us-on-platforms .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-purple-blue-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-magenta-3.svg)}#find-us-on-platforms .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-green-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(5) .card-footer{background-image:url(../img/cards/4col-orange-yellow-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(6) .card-footer{background-image:url(../img/cards/4col-blue-purple.svg)}#find-us-on-platforms .card-deck .card:nth-child(7) .card-footer{background-image:url(../img/cards/4col-yellow-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(8) .card-footer{background-image:url(../img/cards/4col-orange-2.svg)}#find-us-on-platforms .card-deck .card{margin-bottom:2.5rem}.page-faq::before{background-image:url(../img/backgrounds/faq-bg.svg)}@media(min-width: 768px){.page-faq::before{background-size:contain}}@media(min-width: 992px){.page-faq article{max-width:704px;margin-left:auto;margin-right:auto}}.page-faq article h6:first-of-type{color:#32e685;margin-bottom:1rem;margin-top:2.5rem;font-size:1.25rem;line-height:26px;text-align:center}.page-faq article h6:first-of-type .hover_anchor{display:none}@media(min-width: 992px){.page-faq article h6:first-of-type{margin-top:6.5rem}}.page-faq article h1:first-of-type{font-size:2.625rem;line-height:1.2;margin-top:0;margin-bottom:5rem;text-align:center}.page-faq article h1:first-of-type .hover_anchor{display:none}@media(min-width: 992px){.page-faq article h1:first-of-type{font-size:3.875rem;margin-bottom:13rem}}.page-faq h2{margin-top:13rem;font-size:2rem;line-height:2.375rem;text-align:center;font-weight:700}.page-faq .q-wrapper,.mini-faq .q-wrapper{background:#232325;border-radius:4px;padding:2rem;padding-right:3rem;margin-bottom:1.5rem;position:relative;z-index:5;width:100%;transform:translateY(0%)}.page-faq .q-wrapper p a,.mini-faq .q-wrapper p a{text-decoration:none;font-weight:600;color:#9a52ff}.page-faq .q-wrapper p a:hover,.mini-faq .q-wrapper p a:hover{text-decoration:underline}.page-faq .q-wrapper h4,.mini-faq .q-wrapper h4{font-size:1.25rem;line-height:1.625rem;margin-top:0}.page-faq .q-wrapper h4::before,.mini-faq .q-wrapper h4::before{display:block;content:" ";margin-top:-40px;height:40px;visibility:hidden;pointer-events:none}.page-faq .q-wrapper h4>a,.mini-faq .q-wrapper h4>a{text-decoration:none}.page-faq .q-wrapper h4>a:hover,.mini-faq .q-wrapper h4>a:hover{text-decoration:underline;color:#fff}@media(max-width: 991.98px){.page-faq .q-wrapper h4,.mini-faq .q-wrapper h4{font-size:1rem;line-height:1.5rem}}.page-faq .q-wrapper h4 .chevron,.mini-faq .q-wrapper h4 .chevron{position:absolute;top:40px;right:2rem}.page-docs-index::before{background-position-x:right}.page-docs-index .center-search .input-group-text{height:56px;padding:.75rem .75rem .75rem 1rem;line-height:2rem}.page-docs-index .center-search .ds-input{height:56px;padding:.75rem 1rem .75rem .5rem}.page-docs-index #software-and-sdks .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-green.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-light-blue.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-orange.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-yellow.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-orange-yellow.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-magenta.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-blue-green.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-light-blue-2.svg)}.page-docs-index #docs-hot-topic .longform{margin-top:2.5rem}.page-docs-index #community-heading,.page-community #community-heading{padding-top:25rem;margin-top:0px}@media(max-width: 768px){.page-docs-index #community-heading,.page-community #community-heading{padding-top:31rem}}.page-docs-index #community-heading .hero-title,.page-community #community-heading .hero-title{position:absolute;bottom:0;left:50%;transform:translateX(-50%)}@media(min-width: 992px){.page-docs-index #community-heading,.page-community #community-heading{padding-left:0}.page-docs-index #community-heading .hero-title,.page-community #community-heading .hero-title{min-width:max-content;bottom:-83%}}.page-docs-index #community-heading .parallax,.page-community #community-heading .parallax{position:absolute;-webkit-transition:all .1s ease;-moz-transition:all .1s ease;-ms-transition:all .1s ease;-o-transition:all .1s ease;transition:all .1s ease}.page-docs-index #community-heading .one,.page-community #community-heading .one{top:160px;left:0%;opacity:.4}.page-docs-index #community-heading .two,.page-community #community-heading .two{top:130px;left:56%;height:320px;opacity:.4}.page-docs-index #community-heading .three,.page-community #community-heading .three{top:145px;right:16%;height:67px}.page-docs-index #community-heading .four,.page-community #community-heading .four{top:374px;left:8%;width:107px}.page-docs-index #community-heading .five,.page-community #community-heading .five{top:476px;width:152px;height:102px;right:5%;opacity:.4}.page-docs-index #run-a-network-node .card-deck .card:nth-child(1) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-yellow-2.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(2) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-purple.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(3) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-magenta-2.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(4) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-light-green.svg)}.page-docs-index #run-a-network-node,.page-community #run-a-network-node{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #run-a-network-node,.page-community #run-a-network-node{padding-top:104px;padding-bottom:104px}}.page-docs-index #run-a-network-node .text-cards,.page-community #run-a-network-node .text-cards{grid-gap:40px}.page-docs-index #run-a-network-node .text-cards h6::before,.page-community #run-a-network-node .text-cards h6::before{margin-top:0;height:unset}.page-docs-index #run-a-network-node .text-cards a,.page-community #run-a-network-node .text-cards a{font-size:1.25rem;line-height:26px;color:#fff;font-weight:bold}.page-docs-index #run-a-network-node .text-cards a:hover,.page-community #run-a-network-node .text-cards a:hover{text-decoration:none;background:none !important}.page-docs-index #run-a-network-node .text-cards .btn-arrow::after,.page-community #run-a-network-node .text-cards .btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.page-docs-index #xrpl-grants,.page-community #xrpl-grants{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-grants,.page-community #xrpl-grants{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-blog,.page-community #xrpl-blog{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-blog,.page-community #xrpl-blog{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-events,.page-community #xrpl-events{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-events,.page-community #xrpl-events{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-careers,.page-community #xrpl-careers{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-careers,.page-community #xrpl-careers{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-design-assets,.page-community #xrpl-design-assets{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-design-assets,.page-community #xrpl-design-assets{padding-top:104px;padding-bottom:208px}}.page-community #platform-github{content:url("../img/logos/github.svg")}.page-community #platform-twitch{content:url("../img/logos/twitch.svg")}.page-community #platform-stack-overflow{content:url("../img/logos/stack-overflow.svg")}.page-community #platform-twitter{content:url("../img/logos/twitter.svg")}.page-community #platform-discord{content:url("../img/logos/discord.svg")}.page-community #platform-youtube{content:url("../img/logos/youtube.svg")}.page-community #platform-devto{content:url("../img/logos/devto.svg")}.page-references #refs-types .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/3col-orange-2.svg)}.page-references #refs-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/3col-green-2.svg)}.page-references #refs-types .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/3col-magenta.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-light-blue-4.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-blue-green-2.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-yellow-3.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-purple-blue.svg)}.page-dev-tools #xrp-explorer .card-footer{background-image:url("../img/cards/3-col-orange.svg")}.page-dev-tools #bithomp-explorer .card-footer{background-image:url("../img/cards/3-col-light-blue.svg")}.page-dev-tools #xrpscan .card-footer{background-image:url("../img/cards/3-col-pink.svg")}.page-dev-tools #token-list .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}.page-dev-tools #websocket .card-footer{background-image:url("../img/cards/3-col-purple2.svg")}.page-dev-tools #rpc .card-footer{background-image:url("../img/cards/3-col-green.svg")}.page-dev-tools #technical-explorer .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}.page-dev-tools #faucets .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}.page-dev-tools #trasaction-sender .card-footer{background-image:url("../img/cards/3-col-light-blue2.svg")}.page-dev-tools #domain .card-footer{background-image:url("../img/cards/3-col-green-purple.svg")}.page-dev-tools #xrp-ledger .card-footer{background-image:url("../img/cards/3-col-dark-blue.svg")}.page-dev-tools #binary-visualizer .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}.page-dev-tools #token-metadata-lookup .card-footer{background-image:url("../img/cards/3-col-pink-purple.svg")}.page-dev-tools .nav-link{color:#a2a2a4;background-color:#111112;border-top:none;border-left:none;border-right:none;border-bottom-color:#454549}@media(max-width: 767.98px){.page-dev-tools .nav-tabs{display:flex;list-style:none;margin-left:0;padding-left:0;justify-content:space-between}.page-dev-tools .nav-item{display:inline-flex;width:auto;list-style:outside none none}.page-dev-tools .nav-link{display:inline-flex;width:auto;padding:1em 1em}}.page-dev-tools .nav-link.active{border-bottom-color:#9a52ff;color:#fff;font-weight:bold}.page-dev-tools .nav-tabs{border-bottom:1px solid #454549}.page-dev-tools .btn{padding:.75rem}html.light .page-dev-tools .nav-link{background-color:#f5f5f7}html.light .page-dev-tools .nav-link.active{border-bottom-color:#9a52ff;color:#000;font-weight:bold}html.light .page-dev-tools .nav-link{color:#000}html.light .page-dev-tools #trasaction-sender .card-footer{background-image:url("../img/cards/3-col-light-blue-2.svg")}.page-rwa-tokenization .right-arrow-item::after{display:inline-block;content:url("../img/icons/arrow-right-purple.svg");position:relative;top:1px;vertical-align:middle;padding-left:8px;transition:transform .3s ease-out}.page-rwa-tokenization #events-orange{position:absolute;top:0px;right:0px}.page-rwa-tokenization .token-title{color:var(--black-black-0-white, #FFF);text-align:center;font-family:"Work Sans";font-size:62px;font-style:normal;font-weight:700;line-height:70px;max-width:720px;z-index:1}@media(max-width: 991.98px){.page-rwa-tokenization .token-title{font-size:42px}}.page-rwa-tokenization .token-title-container{gap:32px;padding:104px 64px;display:flex;flex-direction:column;align-items:center;justify-content:center}.page-rwa-tokenization .token-video-container{flex-wrap:wrap;padding:104px 64px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:48px}.page-rwa-tokenization .token-video-container .token-video{width:50%;max-width:602px;height:372px}@media(max-width: 991.98px){.page-rwa-tokenization .token-video-container .token-video{width:100%}}.page-rwa-tokenization .token-video-container .token-video-text-container{max-width:520px;width:50%;display:flex;flex-direction:column;align-items:center;text-align:left;gap:24px;color:#e0e0e1;font-family:"Work Sans";font-size:24px;line-height:32px}@media(max-width: 991.98px){.page-rwa-tokenization .token-video-container .token-video-text-container{width:100%}}.page-rwa-tokenization .token-cards-wrapper{display:flex;justify-content:center}.page-rwa-tokenization .token-cards-container{display:flex;padding:100px 40px;flex-direction:column;justify-content:center;align-items:start;gap:40px;max-width:1280px}.page-rwa-tokenization .token-cards-container .cards-title-token{color:var(--black-black-0-white, #FFF);font-family:"Work Sans";font-size:32px;font-style:normal;font-weight:700;line-height:38px}.page-rwa-tokenization .token-cards-container .benefits-section{display:flex;flex-direction:column;align-items:center;font-family:"Work Sans",sans-serif;overflow:hidden}.page-rwa-tokenization .token-cards-container .section-title{font-size:32px;color:var(--black-black-0-white, #fff);font-weight:700;line-height:38px;max-width:776px;text-align:center;margin-bottom:40px}.page-rwa-tokenization .token-cards-container .benefits-container{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:40px;width:100%;max-width:1136px}@media(max-width: 991px){.page-rwa-tokenization .token-cards-container .section-title{font-size:28px;line-height:34px}}.page-rwa-tokenization .token-cards-container .benefit-card{border-radius:8px;background-color:var(--XRPL-Black-Black-80, #232325);display:flex;flex-direction:column;justify-content:flex-start;padding:40px;height:310px;width:352px}.page-rwa-tokenization .token-cards-container .benefit-icon{min-width:40px;min-height:40px;background-size:contain;background-repeat:no-repeat}.page-rwa-tokenization .token-cards-container .benefit-icon.low-fees{background-image:url(../img/tokenization/low-fees.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.access{background-image:url(../img/tokenization/cross-chain.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.native-compliance{background-image:url(../img/tokenization/native-compliance.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.delegated-token-management{background-image:url(../img/tokenization/delegated-token-management.png)}.page-rwa-tokenization .token-cards-container .benefit-title{color:var(--black-black-0-white, #fff);font-size:20px;font-weight:700;line-height:26px;margin-top:-10px}.page-rwa-tokenization .token-cards-container .benefit-description{color:var(--Black-Black-20, #e0e0e1);font-size:16px;font-weight:400;line-height:24px;margin-top:16px}@media(max-width: 991px){.page-rwa-tokenization .token-cards-container .benefit-card{padding:20px}}.page-rwa-tokenization .upcoming-events{display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:100px 40px;max-width:1200px;width:100%}.page-rwa-tokenization .upcoming-events__title{max-width:620px;align-self:stretch;color:#fff;font:700 32px/38px Work Sans,-apple-system,Roboto,Helvetica,sans-serif;margin-bottom:64px}.page-rwa-tokenization .upcoming-events__logo-container{display:flex;align-items:center;gap:60px;justify-content:center;flex-wrap:wrap}.page-rwa-tokenization .token-events-wrapper{padding-top:0px;display:flex;justify-content:center}.page-rwa-tokenization .company-logo{flex:0 0 auto;width:140px;aspect-ratio:var(--aspect-ratio);background-size:contain;background-repeat:no-repeat;background-position:center}@media(max-width: 991px){.page-rwa-tokenization .upcoming-events__title{margin-bottom:40px}.page-rwa-tokenization .upcoming-events{text-align:center}.page-rwa-tokenization .upcoming-events__logo-container{justify-content:center}}@media(max-width: 575.98px){.page-rwa-tokenization .small-100{width:100%}}.page-rwa-tokenization .company-logo{cursor:pointer;flex:0 0 auto;max-width:140px;aspect-ratio:var(--aspect-ratio);background-size:contain;background-repeat:no-repeat;background-position:center}.page-rwa-tokenization .company-logo.zoniqx{background-image:url(../img/tokenization/zoniqx.png)}.page-rwa-tokenization .company-logo.archax{background-image:url(../img/tokenization/archax.png)}.page-rwa-tokenization .company-logo.palisade{background-image:url(../img/tokenization/palisade.png)}.page-rwa-tokenization .company-logo.axiology{background-image:url(../img/tokenization/axiology.png)}.page-rwa-tokenization .company-logo.open-eden{background-image:url(../img/tokenization/open-eden.png)}.page-rwa-tokenization .company-logo.ondo{background-image:url(../img/tokenization/ondo.png)}.page-rwa-tokenization .company-logo.meld{background-image:url(../img/tokenization/meld.png)}.page-rwa-tokenization .company-logo.ripple-logo{background-image:url(../img/tokenization/ripple-logo.png)}.page-rwa-tokenization .company-logo.hidden-road{background-image:url(../img/tokenization/hidden-road.png)}.page-rwa-tokenization .company-logo{max-height:66px;max-width:100px;width:100%;height:100%}.page-rwa-tokenization .token-developer-tools-section .developer-tools{font-family:"Work Sans",sans-serif;padding:180px 0;color:#fff}.page-rwa-tokenization .token-developer-tools-section .developer-tools__header{margin-bottom:64px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__title{font-size:32px;font-weight:700;line-height:1;margin-bottom:24px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__description{font-size:16px;line-height:24px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__list{list-style:none;padding:0;margin:0}.page-rwa-tokenization .token-developer-tools-section .feature-item{margin-bottom:16px;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item a:hover{text-decoration:none}.page-rwa-tokenization .token-developer-tools-section .feature-item__content{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item__content:hover .right-arrow-item::after{transform:translateX(4px)}.page-rwa-tokenization .token-developer-tools-section .feature-item__title{font-size:16px;color:#e0e0e1;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item__icon{width:24px;height:24px;object-fit:contain}.page-rwa-tokenization .token-developer-tools-section .feature-item__divider{height:1px;opacity:.3;background-color:#fff}.page-rwa-tokenization .token-developer-tools-section .developer-tools__image{width:110%;height:124%;background-image:url("../img/tokenization/graphic.png");background-size:contain;background-repeat:no-repeat;background-position:center}.page-rwa-tokenization .token-developer-tools-section .m-h-300{min-height:300px}@media(max-width: 991px){.page-rwa-tokenization .token-developer-tools-section .developer-tools{padding:50px 0}.page-rwa-tokenization .token-developer-tools-section .developer-tools__header{margin-bottom:40px}}.page-rwa-tokenization .token-features-section .rwa-tokenization{font-family:"Work Sans",sans-serif;padding:100px 40px;padding-top:0px;color:#fff}.page-rwa-tokenization .token-features-section .container{max-width:1200px;margin:0 auto}.page-rwa-tokenization .token-features-section .rwa-header{text-align:start;margin-bottom:40px}.page-rwa-tokenization .token-features-section .rwa-title{font-size:32px;font-weight:700;line-height:38px}.page-rwa-tokenization .token-features-section .cta-container{display:flex;justify-content:flex-start;gap:24px}.page-rwa-tokenization .token-features-section .btn{font-size:16px;font-weight:700;padding:8px 16px;border-radius:4px;text-decoration:none}.page-rwa-tokenization .token-features-section .btn-primary{background-color:#7919ff;color:#fff}.page-rwa-tokenization .token-features-section .btn-link{color:#9a52ff}@media(max-width: 991px){.page-rwa-tokenization .token-features-section .auto-bridge{padding:18px !important}.page-rwa-tokenization .token-features-section .rwa-tokenization{padding:50px 20px}.page-rwa-tokenization .token-features-section .feature-grid{gap:20px}.page-rwa-tokenization .token-features-section .cta-container{flex-direction:column;align-items:center}}.page-rwa-tokenization .token-features-section .feature-grid{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;margin-bottom:20px}.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 100%;max-width:100%;margin-bottom:20px;position:relative}@media(min-width: 768px){.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 calc(50% - 40px);max-width:calc(50% - 40px)}}@media(min-width: 1200px){.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 calc(25% - 30px);max-width:calc(25% - 30px)}}.page-rwa-tokenization .token-features-section .feature-card:hover .right-arrow-item::after{transform:translateX(4px)}.page-rwa-tokenization .token-features-section .feature-header{margin-bottom:16px;position:relative}.page-rwa-tokenization .token-features-section .feature-title{display:flex;align-items:flex-start;justify-content:space-between;font-size:20px;font-weight:700;line-height:26px;color:#fff;width:100%;flex-wrap:wrap}@media(max-width: 767px){.page-rwa-tokenization .token-features-section .feature-title{padding-right:30px;flex-wrap:nowrap;justify-content:flex-start}}@media(min-width: 768px)and (max-width: 1199px){.page-rwa-tokenization .token-features-section .feature-title{flex-wrap:nowrap;padding-right:30px;justify-content:flex-start}}.page-rwa-tokenization .token-features-section .feature-icon{width:16px;height:16px;margin-left:8px}.page-rwa-tokenization .token-features-section .feature-description{font-size:16px;line-height:24px;color:#e0e0e1}.page-rwa-tokenization .max-w-1150{max-width:1150px !important}.page-rwa-tokenization .custom-gap{justify-content:start !important}.page-rwa-tokenization .mt-16{margin-top:16px}.page-rwa-tokenization .com-card{min-width:auto !important;padding:40px !important;height:fit-content;max-height:388px !important}.page-rwa-tokenization .section-padding{padding:100px 40px}.page-rwa-tokenization .card-description{min-height:96px}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{display:flex !important;flex-wrap:wrap !important;gap:40px !important;justify-content:center !important;max-width:1280px;margin:100px auto;padding:0 40px}@media(max-width: 1199px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{gap:32px;margin:80px auto}}@media(max-width: 991px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{gap:24px;padding:0 20px;margin:60px auto}}@media(max-width: 767px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{flex-direction:column;align-items:center;gap:24px}}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{flex:1 1 calc(50% - 20px) !important;min-width:300px !important;max-width:600px !important;width:auto !important;height:auto !important;max-height:none !important;margin:0 !important}@media(max-width: 1199px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{flex:1 1 100% !important;max-width:600px !important}}@media(max-width: 991px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{max-width:500px !important}}@media(max-width: 767px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{min-width:100% !important;max-width:100% !important;padding:32px !important}}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .card-content{height:100%;display:flex;flex-direction:column}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .card-content .card-description{flex-grow:1;min-height:auto;margin-bottom:24px}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .card-content .card-links{margin-top:auto}@media(max-width: 991px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .top-right-img,.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .bottom-right-img{height:250px}}@media(max-width: 767px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .top-right-img,.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .bottom-right-img{height:200px}}.page-rwa-tokenization .token-utility-section{padding-top:100px}.page-rwa-tokenization .token-utility-section .section-title{font-size:32px;font-weight:700;line-height:38px;text-align:start;margin-bottom:64px;color:#fff}.page-rwa-tokenization .token-utility-section .utility-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:40px}@media(max-width: 1199px){.page-rwa-tokenization .token-utility-section .utility-grid{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 767px){.page-rwa-tokenization .token-utility-section .utility-grid{grid-template-columns:1fr}}.page-rwa-tokenization .token-utility-section .utility-card .utility-title{font-size:20px;font-weight:700;line-height:26px;margin-bottom:16px;color:#fff}.page-rwa-tokenization .token-utility-section .utility-card .utility-description{font-size:16px;line-height:24px;color:#e0e0e1}.page-rwa-tokenization .token-utility-section .utility-card .utility-description a{color:#9a52ff;text-decoration:none}.page-rwa-tokenization .token-utility-section .utility-card .utility-description a:hover{text-decoration:underline}.json-view{display:block;color:#4d4d4d;text-align:left;--json-property:#009033;--json-index:#676dff;--json-number:#676dff;--json-string:#b2762e;--json-boolean:#dc155e;--json-null:#dc155e}.json-view .json-view--property{color:var(--json-property)}.json-view .json-view--index{color:var(--json-index)}.json-view .json-view--number{color:var(--json-number)}.json-view .json-view--string{color:var(--json-string)}.json-view .json-view--boolean{color:var(--json-boolean)}.json-view .json-view--null{color:var(--json-null)}.json-view .jv-indent{padding-left:1em}.json-view .jv-chevron{display:inline-block;vertical-align:-20%;cursor:pointer;opacity:.4;width:1em;height:1em}:is(.json-view .jv-chevron:hover, .json-view .jv-size:hover + .jv-chevron){opacity:.8}.json-view .jv-size{cursor:pointer;opacity:.4;font-size:.875em;font-style:italic;margin-left:.5em;vertical-align:-5%;line-height:1}.json-view :is(.json-view--copy, .json-view--edit),.json-view .json-view--link svg{display:none;width:1em;height:1em;margin-left:.25em;cursor:pointer}.json-view .json-view--input{width:120px;margin-left:.25em;border-radius:4px;border:1px solid currentColor;padding:0px 4px;font-size:87.5%;line-height:1.25;background:transparent}.json-view .json-view--deleting{outline:1px solid #da0000;background-color:#da000011;text-decoration-line:line-through}:is(.json-view:hover, .json-view--pair:hover)>:is(.json-view--copy, .json-view--edit),:is(.json-view:hover, .json-view--pair:hover)>.json-view--link svg{display:inline-block}.json-view .jv-button{background:transparent;outline:none;border:none;cursor:pointer;color:inherit}.json-view .cursor-pointer{cursor:pointer}.json-view svg{vertical-align:-10%}.jv-size-chevron~svg{vertical-align:-16%}.json-view_a11y{color:#545454;--json-property:#aa5d00;--json-index:#007299;--json-number:#007299;--json-string:green;--json-boolean:#d91e18;--json-null:#d91e18}.json-view_github{color:#005cc5;--json-property:#005cc5;--json-index:#005cc5;--json-number:#005cc5;--json-string:#032f62;--json-boolean:#005cc5;--json-null:#005cc5}.json-view_vscode{color:#005cc5;--json-property:#0451a5;--json-index:blue;--json-number:blue;--json-string:#a31515;--json-boolean:blue;--json-null:blue}.json-view_atom{color:#383a42;--json-property:#e45649;--json-index:#986801;--json-number:#986801;--json-string:#50a14f;--json-boolean:#0184bc;--json-null:#0184bc}.json-view_winter-is-coming{color:#0431fa;--json-property:#3a9685;--json-index:#ae408b;--json-number:#ae408b;--json-string:#8123a9;--json-boolean:#0184bc;--json-null:#0184bc}.json-view{font-family:"Space Mono",monospace;padding:1em;background:#232325;overflow:hidden;color:#f5f5f7 !important;font-size:14px;letter-spacing:0}.json-view svg{height:11px !important;color:#f5f5f7}.jv-button{color:#ff6719 !important;font-size:14px}.jv-indent{border-left:1px solid #454549;margin:4px}.json-view--boolean{color:#e50071 !important}.json-view--pair{margin:4px}.json-view--property{color:#f5f5f7 !important}.json-view--null,.json-view--undefined{display:inline-block;padding:1px 2px;border-radius:3px;background-color:#454549;color:#f5f5f7 !important;font-size:11px}.json-view--number{color:#84f0b6 !important}.json-view--string{color:#ff6719 !important}.rpc-tool .nav-link{cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:6px 9px}.dev-blog .image-container{transform:translateY(15%);z-index:1}.dev-blog .text-bg{background-color:#232325;padding:60px 40px;width:100%;border-radius:30px}@media(min-width: 992px){.dev-blog .image-container{transform:translateX(15%)}.dev-blog .text-bg{padding:50px 60px}}.dev-blog .line-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.dev-blog #blog-purple{position:absolute;top:0px;left:0px}.dev-blog #card-date{color:#a2a2a4}.dev-blog .post-date{text-decoration:overline solid #32e685 10%}.dev-blog #category-list #general{content:url("../img/blog/general.png");max-width:100%;width:100%}.dev-blog #category-list #developer_reflections{content:url("../img/blog/developer_reflections.png");max-width:100%;width:100%}.dev-blog #category-list #amendments{content:url("../img/blog/amendments.png");max-width:100%;width:100%}.dev-blog #category-list #advisories{content:url("../img/blog/advisories.png");max-width:100%;width:100%}.dev-blog #category-list #release_notes{content:url("../img/blog/release_notes.png");max-width:100%;width:100%}.dev-blog #category-list #development{content:url("../img/blog/development.png");max-width:100%;width:100%}.dev-blog #category-list #gateway_bulletins{content:url("../img/blog/gateway_bulletins.png");max-width:100%;width:100%}.dev-blog #category-list #features{content:url("../img/blog/features.png");max-width:100%;width:100%}.dev-blog #category-list #security{content:url("../img/blog/security.png");max-width:100%;width:100%}.dev-blog #category-list .label{width:fit-content}@media(min-width: 768px)and (max-width: 991px){.dev-blog #category-list{display:block}.dev-blog #category-list img{display:block;margin-bottom:10px}.dev-blog #category-list .label{display:block !important;margin-bottom:15px}}.dev-blog .category_sidebar{position:sticky;top:132px}.dev-blog .category-checkbox{display:flex;align-items:center}.dev-blog .dropdown{position:relative;display:inline-block}.dev-blog .dropdown-btn{color:#fff;background-color:#232325;border-color:#232325;border-style:solid;border-radius:4px;padding:8px 16px;font-size:16px;cursor:pointer;text-align:start;padding-right:10px}.dev-blog .dropdown-btn img{content:url("../img/icons/chevron-arrow-down.svg");width:10px;height:13px;padding:8px}.dev-blog .dropdown-content{display:flex;align-items:start;background-color:#232325;padding:16px 8px;width:254px;height:auto;border-radius:4px}.dev-blog .category-checkbox label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.dev-blog .category-header{font-weight:normal;width:200px;color:#f5f5f7}.dev-blog label{margin:0;padding-left:8px;color:#fff}.dev-blog .blog-filter h6{font-size:16px}.dev-blog .blog-filter[type=checkbox]::before{position:relative;display:block;width:20px;height:20px;content:"";background:#111112;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.dev-blog .blog-filter[type=checkbox]::after{position:relative;display:block;top:-20px;width:20px;height:20px;content:"";background-repeat:no-repeat;background-position:center;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.dev-blog .blog-filter[type=checkbox]:checked::before{background:#111112;border:none;border-radius:0}.dev-blog .blog-filter[type=checkbox]:checked::after{background-image:url(../img/blog/blog-check.svg);background-repeat:no-repeat;background-position:center;background-color:#7919ff;border-width:2px;border-style:solid;border-color:#7919ff;border-radius:4px}.dev-blog .blog-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/blog/blog-check.svg);background-repeat:no-repeat;background-position:center;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}.dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::before{background:#111112;border:none;border-radius:0}.dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::after{background:#111112;border:none;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}#feedback-content .docked-widget{border:none !important;background-color:transparent !important;position:static !important;box-shadow:none !important;width:auto !important}#feedback-content .widget-form-wrapper{position:static !important;box-shadow:none !important;display:block;background-color:#232325 !important;border-width:0 !important;padding:24px !important;border-radius:8px !important}#feedback-content .widget-form-wrapper div{background-color:#232325 !important}#feedback-content .widget-form-wrapper textarea{background-color:#fff !important;opacity:1 !important;border:none !important;border-radius:4px !important;margin:0 !important;width:100% !important;color:#000 !important}#feedback-content .widget-form-wrapper .widget-header-title{background:none !important;flex-grow:0 !important;padding-right:1rem !important;height:auto !important;padding:0 !important;margin-bottom:10px !important}#feedback-content .widget-form-wrapper .widget-header-footer{background:none !important}#feedback-content .widget-form-wrapper .widget-form-footer{padding-right:0 !important}#feedback-content .widget-form-wrapper .submit{background-color:#7919ff !important;font-weight:bold !important;color:#fff !important;border:none !important;border-color:transparent !important;border-radius:4px !important;margin:0 !important;margin-top:8px !important}#feedback-content .widget-form-wrapper .submit:hover{background:#5f00e5 !important}#feedback-content .widget-form-wrapper .submit.disabled,#feedback-content .widget-form-wrapper .submit[disabled=disabled]{background-color:#4a00b2 !important}#feedback-content .widget-form-wrapper .submit.disabled:hover,#feedback-content .widget-form-wrapper .submit[disabled=disabled]:hover{background-color:#4a00b2 !important}#feedback-content .widget-form-wrapper .cancel{margin:0 !important;margin-top:8px !important;color:#b480ff !important;font-weight:600 !important}#feedback-content #closeFeedback{display:none}#feedback-content .widget-helpful .widget-header{background-color:#232325 !important;border-radius:8px !important}#feedback-content .widget-helpful .widget-header-title{color:#fff !important}.video-image{transition:all .35s ease-out;cursor:pointer}.video-image:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}#video-overlay{position:fixed;top:0;left:0;z-index:1190;height:100%;width:100%;background:#fff;opacity:.6;display:none}#video{display:none;position:fixed;top:10%;left:15%;width:70%;z-index:1200}#video-container{position:relative;top:50%;left:50%;-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);max-width:982px;padding:0 20px}#videoWrapper{position:absolute;top:0;left:0;height:calc(90vh - 100px);width:80vw}#videoWrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}#video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-external-link{color:#9a52ff;font-weight:600}.video-external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:24px;padding:9px 4px 0 8px;width:2rem;background-position:left 8px bottom 0px;transition:background-position 100ms ease-in-out}.video-external-link.video-external-link:hover::after{background-position:left 12px bottom 8px}.video-title{line-height:1.2}@media(min-width: 768px){.video-title{font-size:1rem}}@media(max-width: 768px){.page-community .sm-align-items-start{align-items:start !important}}.page-community .numbers-animation{width:218px;height:96px}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.page-community .bounce-arrow{animation:bounce 1.5s infinite;animation-timing-function:ease-in-out;height:26px;width:26px;position:relative;top:24px}.page-community .m-gif{height:108px}.page-community .middle-image{margin:0 auto;height:35px}.page-community .bg-hero{width:100%;height:635px}.page-community #center-image{cursor:pointer}.page-community .gradient-num-three{background:linear-gradient(35deg, #84F0B6 -0.3%, #B480FF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .middle-image-two{margin:0 auto;height:52px}.page-community .gradient-num-two{background:linear-gradient(35deg, #EA80FF -0.3%, #80CCFF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .gradient-num{background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .surround-gradient{background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .surround-gradient-two{background:linear-gradient(35deg, #EA80FF -0.3%, #80CCFF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .surround-gradient-three{background:linear-gradient(35deg, #84F0B6 -0.3%, #B480FF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .main-title{color:var(--black-black-0, #FFF);text-align:center;font-family:Work Sans;font-size:62px;font-style:normal;font-weight:700;line-height:70px}@media(max-width: 768px){.page-community .main-title{font-size:42px;line-height:52px;text-align:left}}.page-community .get-funding-btn{width:90%;margin:0 auto}@media(max-width: 768px){.page-community .cd-none-sm{display:none !important}}@media(min-width: 769px){.page-community .cd-none-lg{display:none !important}}.page-community .icon-date{padding-right:4px;content:url(../img/events/event-date.svg)}.page-community .icon-location{padding-right:4px;content:url(../img/events/event-location.svg)}.page-community .builders-wrap{white-space:nowrap}@media(min-width: 768px){.page-community .builders-wrap{white-space:normal}}.page-community #community-table{padding:20px 93px;max-width:1280px;margin:0 auto;border-radius:5px;padding-top:165px}@media(min-width: 992px){.page-community #community-table{padding-top:512px}}@media(max-width: 768px){.page-community #community-table{margin:0;padding:20px;margin-top:100px !important}}.page-community .eyebrow-convo{text-align:start;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:26px;padding-bottom:5px}.page-community .final-tr{border:none !important}.page-community #community-table h4{text-align:start;margin:10px 0;font-family:Work Sans;font-size:32px;font-style:normal;font-weight:700;line-height:38px}.page-community #community-table table{width:100%;margin-top:31px;border-collapse:collapse}.page-community #community-table tr{padding:10px 10px;border-bottom:1px solid #343437}.page-community #community-table td{overflow:hidden;max-width:34vw;position:relative;vertical-align:middle}.page-community .scrolling-text{display:inline-block}.page-community #community-table img{max-width:52px;height:29px}.page-community .td-img{padding:10px;width:69px}.page-community .td-img .discord-icon{content:url(../img/community/ic_discord.png)}.page-community .td-img .twitter-icon{content:url(../img/community/ic_twitter.png)}.page-community .td-img .youtube-icon{content:url(../img/community/ic_youtube.png)}.page-community .td-img .xrpl-icon{content:url(../img/community/ic_xrpl.png)}.page-community .td-img .github-icon{content:url(../img/community/ic_github.png)}.page-community .td-img .stackoverflow-icon{content:url(../img/community/ic_stackoverflow.png)}.page-community .text-external-link{display:inline-flex;align-items:center;margin-left:10px}.page-community .external-link-contribute{display:inline-block;vertical-align:middle;padding-right:41px;height:16px;background:url(../img/icons/arrow-up-right.svg) no-repeat center center;transition:transform .3s ease}.page-community .text-external-link:hover .external-link-contribute{transform:translate(5px, -5px)}.page-community table td{position:relative;padding-right:25px}.page-community table td .text-external-link{position:absolute;right:5px;top:50%;transform:translateY(-50%)}@media(max-width: 768px){.page-community #community-table img{width:96px;height:29px}.page-community #community-table{width:100%}.page-community .td-img{min-width:60px}}.page-community .funding-text{color:var(#FFFFFF);font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:44px;padding-bottom:4px}.page-community .xrpl-events-section{padding:50px 40px;margin:100px auto;display:flex;justify-content:space-around;align-items:center;max-width:1280px}@media screen and (max-width: 768px){.page-community .xrpl-events-section{flex-direction:column;align-items:start}.page-community .xrpl-events-section .header-div{text-align:center}.page-community .xrpl-events-section .header{display:flex;flex-direction:column;align-items:start}.page-community .xrpl-events-section .header h6{margin-bottom:.5rem;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:28px}.page-community .xrpl-events-section .header h4{font-family:Work Sans;font-size:28px;font-style:normal;font-weight:700;line-height:34px}.page-community .xrpl-events-section .description{text-align:start;margin-top:2rem;font-family:Work Sans;font-size:24px;font-style:normal;font-weight:500;line-height:28px}.page-community .xrpl-events-section .view-all-events-btn{float:left}.page-community .xrpl-events-section .upcoming-event{text-align:start;margin-top:2rem;padding:1rem 0}.page-community .xrpl-events-section .upcoming-event .days-count{margin-bottom:1rem}}.page-community .xrpl-events-section .header-div{padding-top:27px}.page-community .xrpl-events-section .header h6{padding-left:1.5px;font-family:"Work Sans",sans-serif;font-size:20px;font-weight:700;color:var(--black-black-0, #FFF);text-align:start}.page-community .xrpl-events-section .header h4{text-align:start;font-family:"Work Sans",sans-serif;font-size:32px;font-weight:700;color:var(--black-black-0, #FFF)}.page-community .xrpl-events-section .description{font-family:"Work Sans",sans-serif;font-size:20px;font-weight:500;max-width:444px;color:var(--black-black-10-gray-200, #E0E0E1);line-height:32px}.page-community .xrpl-events-section .view-all-events-btn{display:inline-block;margin-top:1rem}.page-community .xrpl-events-section .upcoming-event{margin-top:2rem}.page-community .xrpl-events-section .upcoming-event .upcoming-label{position:relative;top:7px;font-family:"Work Sans",sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--black-black-30, #C1C1C2)}.page-community .xrpl-events-section .upcoming-event .days-count{font-weight:300;margin-bottom:21px;line-height:99px;font-size:88px;background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.page-community .xrpl-events-section .upcoming-event .days-word{vertical-align:bottom;font-weight:normal;margin-bottom:21px;line-height:99px;font-size:40px;background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.page-community .xrpl-events-section .upcoming-event h5{font-family:"Work Sans",sans-serif;font-size:16px;font-weight:700;color:var(--black-black-10, #F5F5F7)}.page-community .xrpl-events-section .upcoming-event .event-details,.page-community .xrpl-events-section .upcoming-event .event-location{font-family:"Work Sans",sans-serif;font-size:12px;font-weight:600;color:var(--black-black-30, #C1C1C2)}.page-community .community-funding{display:flex;flex-wrap:wrap;justify-content:space-between;max-width:1280px;margin:100px auto;padding-right:54px;padding-left:73px;margin-top:120px}.page-community .funding-section{flex:1;padding:20px;color:var(--black-black-0)}.page-community .small-text{color:var(--black-black-30, #C1C1C2);font-family:Work Sans;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;padding-left:11px;text-align:start}.page-community .funding-section h2{font-size:32px;font-weight:700;line-height:38px;margin-top:10px;margin-bottom:40px}.page-community .funding-section p{color:var(--black-black-20);font-size:24px;font-weight:500;line-height:32px;margin-bottom:40px}.page-community .stats{flex:1;display:flex;justify-content:space-between}@media(max-width: 768px){.page-community .stats{flex-direction:column;align-items:start;text-align:start;padding-left:7px}}.page-community .stacked-stats{display:flex;flex-direction:column;justify-content:space-between}.page-community .stat{align-self:center;text-align:center;margin:0 auto;display:flex;flex-direction:column}@media(max-width: 768px){.page-community .stat{margin:0px;text-align:start;align-self:start}}.page-community .number{opacity:1;font-size:88px;display:flex;padding:10px;align-items:center;line-height:96px;font-weight:300}@media screen and (max-width: 768px){.page-community .community-funding{flex-direction:column-reverse;padding-left:16px;padding-right:16px}.page-community .funding-section,.page-community .stats{width:100%}}.page-community .carousel{position:relative;width:1280px;margin:0 auto;margin-top:106px;max-width:100%}.page-community .carousel .flex-align{display:flex;align-items:center}@media(max-width: 768px){.page-community .carousel{width:100%}}.page-community .center-image-wrapper{position:relative;width:552px;height:314px}@media(max-width: 1118px){.page-community .center-image-wrapper{width:55%;height:auto}}@media(max-width: 768px){.page-community .center-image-wrapper{margin:0 auto;width:86%}}.page-community .image-container{display:flex;justify-content:space-around;align-items:center;overflow:hidden}.page-community .image-container img{max-width:100%;transition:transform .7s ease-in-out,opacity .7s ease-in-out}.page-community #center-image{width:100%}.page-community #left-image,.page-community #right-image{width:252px;height:144px;opacity:.7}@media(max-width: 1118px){.page-community #left-image,.page-community #right-image{width:15%;height:auto}}@media(max-width: 768px){.page-community #left-image,.page-community #right-image{display:none;margin:0}}.page-community #left-image.exit,.page-community #right-image.exit{transform:translateX(-100%);opacity:0}.page-community #left-image.enter,.page-community #right-image.enter{transform:translateX(100%);opacity:0}.page-community #center-image.exit{transform:scale(0.8);opacity:0}.page-community #center-image.enter{transform:scale(1);opacity:1}.page-community .nav-btn{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;background:none;border:none;cursor:pointer}.page-community #prev-btn{left:0}.page-community #next-btn{right:0}.page-community .event-info{position:absolute;bottom:10px;left:32px;display:flex;flex-direction:column;gap:4px}@media(max-width: 768px){.page-community .event-info{left:7px}}.page-community .event-info span{color:#fff;font-family:Work Sans;font-size:12px;font-style:normal;font-weight:600;line-height:16px}.page-community .event-info .name{padding-bottom:5px;color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:24px}.page-community .arrow-wrapper{display:flex;justify-content:center;padding-top:24px}.page-community :root{--black-black-0: #FFF;--black-black-10: #F5F5F7;--black-black-30: #C1C1C2}.page-community .community-spotlight-wrapper{display:flex;padding:20px;max-width:1280px;min-height:582px;margin:100px auto;gap:48px;padding-right:54px;padding-left:73px}.page-community .community-spotlight{flex:1;display:flex;flex-direction:column;padding-right:10px}.page-community .projects-wrapper{flex:1;position:relative;display:flex;justify-content:center;gap:48px}@media(max-width: 768px){.page-community .projects-wrapper{gap:48px}}.page-community .project-card{background-color:transparent;border-radius:4px;height:fit-content;width:252px;max-height:456px}@media(max-width: 768px){.page-community .project-card{width:99%}}.page-community .project-card.bottom-right{align-self:end}.page-community .card-image{border-radius:4px;height:144px;width:252px;background-color:#2c2b2b;display:flex;align-items:center}.page-community .spotlight-title,.page-community .project-title{color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:16px}.page-community .spotlight-subtitle{color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:16px}.page-community .project-description{color:var(--black-black-30, #C1C1C2);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.page-community .card-details{background-color:transparent;display:flex;flex-direction:column;text-align:start;padding:15px;height:fit-content}.page-community .view-project{color:var(--blue-purple-blue-purple-50, #7919FF);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:16px;cursor:pointer;text-decoration:none}@media(max-width: 1076px){.page-community .project-card.bottom-right{align-self:auto}.page-community .community-spotlight-wrapper{flex-direction:column;align-items:center;margin-left:0px;padding-right:26px;padding-left:26px}.page-community .community-spotlight,.page-community .projects-wrapper{width:100%;margin:0;padding:0}.page-community .projects-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;position:static}.page-community .card-image{width:100%}.page-community .card-details{gap:16px;margin-top:10px}.page-community .project-card{position:static;margin:20px 0;height:fit-content}}.page-community .w-222{width:222px}.page-community .bottom-cards-section .com-card .card-content{display:flex;flex-direction:column;justify-content:space-between;gap:16px;position:relative;z-index:1;height:100%}.page-community .bottom-cards-section .com-card{border-radius:8px;padding:36px;background:#232325;min-width:352px;height:442px;max-width:352px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.page-community .bottom-cards-section.bug-bounty{justify-content:space-around}.page-community .bottom-cards-section.bug-bounty .com-card{min-width:559px;max-width:559px;height:442px}.page-community .pr-bt16{position:relative;bottom:16px}.page-community .pr-bt28{position:relative;bottom:28px}.page-community .bottom-cards-section{display:flex;flex-direction:row;justify-content:space-around;gap:48px;max-width:1280px;margin:70px auto}.page-community .bottom-cards-section .com-card{padding:36px;background:#232325;min-width:352px;height:442px;max-width:352px;position:relative}.page-community .bottom-cards-section .com-card .top-left-img{position:absolute;top:0;height:292px;left:0;content:url(../img/community/card-bg-1.svg)}.page-community .bottom-cards-section .com-card .top-right-img.bug-bounty-card-bg{content:url(../img/community/bug-bounty-card-bg.png)}.page-community .bottom-cards-section .com-card .bottom-right-img.bug-bounty-card-bg-2{content:url(../img/community/bug-bounty-card-bg-2.png)}.page-community .bottom-cards-section .com-card .bottom-right-img{position:absolute;bottom:0;right:0;height:333px;content:url(../img/community/card-bg-2.svg)}.page-community .bottom-cards-section .com-card .top-right-img{height:390px;position:absolute;top:0;right:0;content:url(../img/community/card-bg-3.svg)}.page-community .bottom-cards-section .com-card .card-content{display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}.page-community .bottom-cards-section .com-card .card-content .card-title{margin-bottom:0px !important;color:var(--black-black-0-white, #FFF);white-space:nowrap;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:26px}.page-community .bottom-cards-section .com-card .card-content .card-subtitle{color:var(--black-black-0, #FFF);font-family:Work Sans;font-size:24px;font-style:normal;font-weight:700;line-height:32px;margin-top:2px}.page-community .bottom-cards-section .com-card .card-content .card-description{color:var(--black-black-20, #E0E0E1);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin-top:15px;margin-bottom:15px}.page-community .bottom-cards-section .com-card .card-content .card-description a{color:#9a52ff}.page-community .bottom-cards-section .com-card .card-content .card-links{display:flex;flex-direction:column;gap:8px}.page-community .bottom-cards-section .com-card .card-content .com-card-link{text-decoration:none;cursor:pointer;color:#9a52ff;font-family:Work Sans;font-size:16px;font-style:normal;font-weight:600;line-height:24px}@media(max-width: 767.98px){.page-community .bottom-cards-section .com-card .card-content .com-card-link{display:block;width:100%}}.page-community .bottom-cards-section .com-card .card-content .com-card-link::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);position:relative;top:1px;vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.page-community .bottom-cards-section .com-card .card-content .com-card-link:hover{border:none}.page-community .bottom-cards-section .com-card .card-content .com-card-link:hover::after{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}@media(max-width: 768px){.page-community .pr-bt28{position:relative;bottom:0px}.page-community .pr-bt16{position:relative;bottom:0px}.page-community .bottom-cards-section{flex-direction:column;align-items:center;padding:20px}.page-community .bottom-cards-section.bug-bounty{justify-content:space-around}.page-community .bottom-cards-section.bug-bounty .com-card{min-width:352px;height:fit-content;max-width:352px}.page-community .bottom-cards-section .com-card{margin-bottom:20px;display:block;width:100%}}.page-community .num-separator{width:32px;height:1px;background:var(--black-black-70, #343437);margin-bottom:32px;margin-top:1px}.page-community .stat-separator{width:32px;height:1px;background:var(--black-black-70, #343437);margin-bottom:32px;margin-top:8px}.page-community .ml-8{margin-left:8px}.page-community .ml-19{margin-left:19px}.page-community .ml-14{margin-left:11px}.page-community .header-div .header{gap:10px;display:flex;flex-direction:column;padding-bottom:35px}.page-community .spotlight-subtitle{font-size:32px;font-weight:700;line-height:38px;margin-top:10px;margin-bottom:40px}.page-community .spotlight-description{color:var(--black-black-20);font-size:24px;font-weight:500;line-height:32px;margin-bottom:40px}.sdk-img{align-self:center}.light .sdk-img{content:url(../img/graphics/sdk-white.png)}.light .ref-book-illustration{content:url(../img/graphics/ref-book-light.png)}.light .tutorial-illustration{content:url(../img/graphics/tutorials-illustration-light.png)}.light .concepts-doc-illustration{content:url(../img/graphics/concepts-docs-light.png)}.light .use-cases .wallet-illustration{content:url(../img/graphics/wallet-light.svg)}.light .use-cases .token-illustration{content:url(../img/graphics/tokens-light.png)}.light .use-cases .connections-illustration{content:url(../img/graphics/nodes-light.svg)}.light .quickstart-image{content:url(../img/graphics/getting-started-pages-light.png)}.light .dev-tools-img{content:url(../img/graphics/dev-tools-light.svg)}.light .dev-tools-link:hover p{color:#000}.dark .sdk-img{content:url(../img/graphics/sdk-black.png)}.dark .ref-book-illustration{content:url(../img/graphics/ref-book.png)}.dark .tutorial-illustration{content:url(../img/graphics/tutorials-illustration.png)}.dark .concepts-doc-illustration{content:url(../img/graphics/concepts-doc.png)}.dark .use-cases .wallet-illustration{content:url(../img/graphics/wallet-dark.png)}.dark .use-cases .token-illustration{content:url(../img/graphics/tokens-dark.png)}.dark .use-cases .connections-illustration{content:url(../img/graphics/nodes-dark.png)}.dark .quickstart-image{content:url(../img/graphics/getting-started-pages-dark.svg)}.dark .dev-tools-img{content:url(../img/graphics/dev-tools-dark.png)}.dark .dev-tools-link:hover p{color:#fff}.dark .flat-card-grid .nav-link:hover{color:#e0e0e1}.get-started-img,.flat-card{max-width:100%;max-height:100%}.faded-text{font-family:"Work Sans";font-style:normal;font-weight:400;font-size:15.5667px;line-height:23px}.page-docs-index section{padding-top:64px;padding-bottom:64px}.page-docs-index .dev-tools-link h6::before{margin-top:-20px;height:20px}.page-docs-index .dev-tools-link h6:hover{text-decoration:underline;text-decoration-color:#9a52ff;background:none !important}.page-docs-index .dev-tools-link:hover p{text-decoration:none !important;background:none !important;display:inline-block}.page-docs-index .dev-tools-link a:hover{color:#9a52ff;text-decoration:none !important}.page-docs-index .dev-tools-link .btn-arrow::after{content:url(../img/icons/arrow-right-purple.svg);width:1.5rem;height:1.5rem}.page-docs-index .langs>a{display:block}.page-docs-index .langs h5:hover{text-decoration:underline;text-decoration-color:#9a52ff;background:none !important}.page-docs-index .langs a:hover{text-decoration:none !important}.page-docs-index .langs .btn-arrow::after{content:url(../img/icons/arrow-right-purple.svg);vertical-align:baseline;width:1.5rem;height:1.5rem}.page-docs-index .langs h5{margin-block-start:0 !important}.page-docs-index .langs h5::before{margin-top:0;height:0}.page-docs-index h1{font-size:3.875rem}.page-docs-index .arrow-purple::after{content:url(../img/icons/arrow-right-purple.svg)}.page-docs-index .documentation-index:hover,.page-docs-index .documentation-index::after{color:#9a52ff;text-decoration:none !important;background:none !important}@media(max-width: 765px){.page-docs-index h1{font-size:3rem}.page-docs-index .flat-card-grid{grid-gap:24px}.page-docs-index .flat-card-grid .flat-card{padding:32px 12px}.page-docs-index::before{display:none}}#langs-cards{grid-gap:40px}@media(max-width: 991.98px){.page-docs-index .langs-cards{grid-template-columns:1fr 1fr;grid-auto-rows:auto}}.dev-tools-img{max-width:100%;max-height:100%;margin:auto}.page-docs .h4::before{margin-top:0;height:0}.page-docs .row{margin-right:0;margin-left:0}.page-docs .video-grid{grid-gap:35px}.page-docs .title-space{margin-bottom:16px}.page-docs .circled-logo{margin-left:.1rem}.flat-card-grid{grid-gap:15px;max-width:100%;min-height:384px}.flat-card-grid .flat-card{padding:32px 50px;height:100%;width:100%;box-shadow:none}.flat-card-grid .flat-card-padding{margin-bottom:75px}.flat-card-grid img{width:auto;height:115px;margin-left:auto;margin-right:auto}.flat-card-grid .nav-link{border:none !important}.flat-card-grid .nav-link:hover{text-decoration:underline;text-decoration-color:#9a52ff}.flat-card-grid .nav-link::after{content:none !important}@media(max-width: 991.98px){.flat-card-grid .flat-card-padding{margin-bottom:0}.flat-card-grid .nav-link::after{content:" " !important}.flat-card-grid .flat-card .btn{display:none}}.float-up-on-hover{transition:all .35s ease-out;cursor:pointer}.float-up-on-hover:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}.float-up-on-hover .video-image:hover{-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}@media(min-width: 992px){.align-button-on-bottom .btn-primary{position:absolute;bottom:0}}.center-image{display:flex;justify-content:center}.quickstart-card .quickstart-image{margin-left:-20px;margin-right:-20px;margin-bottom:-20px}@media(min-width: 992px){.quickstart-card{margin-left:-32px;margin-right:-32px;margin-bottom:-32px;width:calc(100% + 64px)}}.explore-links .card-grid{grid-gap:40px}.full-documentation-link{margin-top:-35px}button.MarkpromptFloatingTrigger{bottom:4.5rem;border-radius:4px;right:16px;border:1px solid transparent;color:var(--markprompt-primaryForeground);background-color:var(--markprompt-primary)}@media(min-width: 992px){button.MarkpromptFloatingTrigger{right:32px}}html.light .MarkpromptContentDialog a{color:#7919ff}html.light .MarkpromptContentDialog h3:not(.chip){color:#000}.MarkpromptExtendedFeedbackTextInput{background-color:#fff;color:#000}.MarkpromptOverlay{z-index:20}.MarkpromptContentDialog{z-index:10000}.osano-cm-close{box-sizing:content-box !important}.osano-cm-switch{box-sizing:content-box !important}.osano-cm-widget{right:16px;width:50px;height:50px;border:1px solid transparent}@media(min-width: 992px){.osano-cm-widget{right:32px}}html.light article p code,html.light article table code,html.light article li>code{background-color:#e0e0e1;color:#111112}html.light body{background-color:#f5f5f7;color:#000}html.light #topnav-theme .custom-theme-toggle .custom-control-label::before{background-color:transparent;background-position:bottom right;transform:rotate(-15deg)}html.light h1:not(.chip),html.light h2:not(.chip),html.light h3:not(.chip),html.light h4:not(.chip),html.light h5:not(.chip),html.light h6:not(.chip),html.light .h1:not(.chip),html.light .h2:not(.chip),html.light .h3:not(.chip),html.light .h4:not(.chip),html.light .h5:not(.chip),html.light .h6:not(.chip){color:#000}html.light h1.green-500,html.light h2.green-500,html.light h3.green-500,html.light h4.green-500,html.light h5.green-500,html.light h6.green-500,html.light .h1.green-500,html.light .h2.green-500,html.light .h3.green-500,html.light .h4.green-500,html.light .h5.green-500,html.light .h6.green-500{color:#28b86a;text-shadow:#fff 0 0 2px,#fff -1px -1px 2px,#fff 1px 1px 2px}html.light .bg-grey-800{background-color:#fcfcfd}html.light .grey-400{color:#454549}html.light .text-muted{color:#232325 !important}html.light .longform{color:#232325}html.light .numbers{color:#000}html.light .stat-highlight,html.light .eyebrow{color:#111112}html.light .invertible-img{filter:invert(100%)}html.light .arrow-link::after{content:url("../img/lightmode/icon-long-arrow.svg")}html.light .search .input-group-text,html.light .input-group .input-group-text,html.light .form-group .input-group-text{background-color:#e0e0e1;color:#232325}html.light .search label .input-group-text,html.light .search .form-control:not(.btn),html.light .input-group label .input-group-text,html.light .input-group .form-control:not(.btn),html.light .form-group label .input-group-text,html.light .form-group .form-control:not(.btn){color:#000;background-color:#e0e0e1;border-color:#e0e0e1}html.light .search .ds-input,html.light .input-group .ds-input,html.light .form-group .ds-input{color:#000;background-color:#e0e0e1;border-color:#e0e0e1}html.light .search .ds-input:focus,html.light .input-group .ds-input:focus,html.light .form-group .ds-input:focus{border-color:#9a52ff}html.light .list-group-item{border-color:#232325;background-color:#f5f5f7}html.light .list-group-item.disabled{color:#a2a2a4}html.light .progress{background-color:#e0e0e1}html.light [data-component-name="Search/SearchIcon"]>path{fill:#000}html.light a,html.light nav a,html.light a:not([role=button]){color:#000}html.light a.btn-primary,html.light nav a.btn-primary,html.light a:not([role=button]).btn-primary{color:#fff}html.light a.btn-primary:hover,html.light nav a.btn-primary:hover,html.light a:not([role=button]).btn-primary:hover{color:#fff}html.light a:hover,html.light a:active,html.light a.active,html.light nav a:hover,html.light nav a:active,html.light nav a.active,html.light a:not([role=button]):hover,html.light a:not([role=button]):active,html.light a:not([role=button]).active{color:#7919ff}html.light a:not(.btn):focus,html.light nav a:not(.btn):focus,html.light a:not([role=button]):not(.btn):focus{background-color:transparent}html.light a.card:hover,html.light:active,html.light.active{color:#000}html.light .landing-table tbody td{color:#232325}html.light .btn-outline-secondary,html.light article a.button,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary{color:#111112;border-color:#111112}html.light .btn-outline-secondary:not(:disabled):not(.disabled):hover,html.light .btn-outline-secondary:not(:disabled):not(.disabled):active,html.light article a.button:not(:disabled):not(.disabled):hover,html.light article a.button:not(:disabled):not(.disabled):active,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary:not(:disabled):not(.disabled):hover,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary:not(:disabled):not(.disabled):active{color:#9a52ff;border-color:#9a52ff;background-color:transparent}html.light .breadcrumb{background:#f5f5f7}html.light .breadcrumb-item a{color:#454549}html.light .breadcrumb-item a:hover{color:#9a52ff}html.light .top-nav{background:#f5f5f7}html.light .top-nav #topnav-pages .nav-link{color:#000}html.light .top-nav .navbar-brand .logo{content:url(../img/XRPLedger_DevPortal-black.svg);height:40px}html.light .top-nav #dropdown-hero-for-docs>img{content:url(../img/icons/lightmode/docs.svg)}html.light .top-nav #dropdown-hero-for-community>img{content:url(../img/icons/lightmode/contribute.svg)}html.light .top-nav .dropdown-menu{background-color:#f5f5f7;border-color:#f5f5f7;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .top-nav .dropdown-menu a:hover,html.light .top-nav .dropdown-menu a.active{color:#7919ff}html.light .top-nav .dropdown-menu .dropdown-item.dropdown-hero>img{background-color:#fcfcfd}html.light .top-nav .dropdown-menu .dropdown-item.dropdown-hero p{color:#343437}html.light .top-nav .dropdown-menu .dropdown-item.active{color:#7919ff}html.light .top-nav .dropdown-menu h5{color:#454549}html.light .top-nav .dropdown-menu .col-for-get_started{background-color:#e0e0e1}html.light .top-nav #topnav-button{background-color:#e0e0e1}@media(max-width: 991.98px){html.light .top-nav .navbar-toggler .navbar-toggler-icon::after,html.light .top-nav .navbar-toggler .navbar-toggler-icon::before,html.light .top-nav .navbar-toggler .navbar-toggler-icon div{background-color:#111112}html.light .top-nav .navbar-nav .nav-link,html.light .top-nav .navbar-collapse>.nav-item{background:#e0e0e1}html.light .top-nav #top-main-nav{background-color:#c1c1c2}}html.light aside .sidenav_cat_title{color:#000}html.light .page-toc .level-1 a,html.light .command-list .separator{color:#000}html.light aside a:hover,html.light aside .sidenav_cat_title:hover,html.light aside a.active,html.light aside a.active:hover,html.light aside .active>a,html.light aside .active>a:hover{color:#7919ff}html.light .dactyl-tree-nav nav{border-left:1px solid #000}html.light .dactyl-tree-nav nav .nav-link:hover,html.light .dactyl-tree-nav nav .nav-link:active{border-left-color:#7919ff}html.light .dactyl-tree-nav nav .active>.nav-link{border-left-color:#7919ff}html.light .page-toc,html.light .command-list{border-left:1px solid #000}html.light .page-toc .level-3,html.light .command-list .level-3{border-left:1px solid #000}html.light .page-toc li a:hover,html.light .page-toc li a .active,html.light .command-list li a:hover,html.light .command-list li a .active{border-left-color:#7919ff}html.light .footer-brand .logo{filter:invert(100%)}html.light .copyright-license{text-shadow:#fff 0px 0px 2px,#fff 1px 1px 2px,#fff 2px 2px 3px,#fff 2px 2px 4px,#fff 2px 2px 5px,#fff 2px 2px 6px,#fff -1px -1px 2px,#fff -2px -2px 3px,#fff -2px -2px 4px}html.light a.osano-cm-link{color:#fff}html.light article .card,html.light .landing .card,html.light .cta-card,html.light aside .card{color:#000;background-color:#fcfcfd;box-shadow:0px 5px 20px 0px #c1c1c2}html.light #code-samples-deck .card{box-shadow:0px 5px 20px 0px #c1c1c2}html.light #code-samples-deck .card-header{border-bottom:none;background-color:#fcfcfd}html.light #code-samples-deck .card-footer{background-color:#fcfcfd}html.light .page-faq.landing-builtin-bg::before,html.light .mini-faq.landing-builtin-bg::before{opacity:.6}html.light .page-faq .q-wrapper,html.light .mini-faq .q-wrapper{background-color:#fcfcfd;color:#000;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .page-faq .q-wrapper>h4 a.expander:hover,html.light .mini-faq .q-wrapper>h4 a.expander:hover{color:#000}html.light .page-community .com-card{background:#fff}html.light .page-community .project-description{color:#343437}html.light .page-community #platform-stack-overflow{content:url("../img/logos/lightmode/stack-overflow.svg")}html.light .page-community #platform-discord{content:url("../img/logos/lightmode/discord.svg")}html.light .status.not_enabled{color:#aeb200}html.light .pg-category{color:#454549}html.light .landing .nav .nav-link{color:#232325;border-bottom-color:#c1c1c2}html.light .landing .circled-logo{background-color:#e0e0e1}html.light .landing .circled-logo img[src="assets/img/logos/globe.svg"]{filter:invert(100%)}html.light .landing p a,html.light .landing .longform a{color:#7919ff}html.light .devportal-callout.caution,html.light .devportal-callout.注意{border-color:#aeb200}html.light .devportal-callout.caution>strong:first-child::before,html.light .devportal-callout.注意>strong:first-child::before{color:#aeb200}html.light .devportal-callout.tip,html.light .devportal-callout.ヒント{border-color:#2dcf78}html.light .devportal-callout.tip>strong:first-child::before,html.light .devportal-callout.ヒント>strong:first-child::before{color:#2dcf78}html.light code{color:#000}html.light pre code,html.light pre{background-color:#e0e0e1}html.light .multicode a{color:#000}html.light .multicode a.current{color:#fff}html.light .multicode a:hover{text-decoration:none;background-color:#e0e0e1;color:#fff}html.light .multicode a:focus{background-color:#232325}html.light .codehilite .btn-outline-secondary{background-color:#232325;color:#f5f5f7;border-color:#f5f5f7}html.light .interactive-block .breadcrumb-item.done a::after{color:#145c35}html.light .modal-content{background-color:#fcfcfd}html.light .rpc-tool pre .toggle{color:#fff}html.light .rpc-tool pre .toggle:hover{color:#b480ff}html.light .page-home #home-hero-graphic{content:url("../img/lightmode/home-hero.svg")}html.light .page-home #benefits-list #public{content:url("../img/icons/lightmode/public.svg")}html.light .page-home #benefits-list #streamlined{content:url("../img/icons/lightmode/streamlined.svg")}html.light .page-home #benefits-list #performance{content:url("../img/icons/lightmode/performance.svg")}html.light .page-home #benefits-list #low-cost{content:url("../img/icons/lightmode/low-cost.svg")}html.light .page-home #benefits-list #community{content:url("../img/icons/lightmode/community.svg")}html.light .page-home #benefits-list #reliability{content:url("../img/icons/lightmode/reliability.svg")}html.light #validator-graphic{content:url("../img/lightmode/validators.svg")}html.light #wallets #wallet-xumm{content:url("../img/wallets/lightmode/xumm.svg")}html.light #wallets #wallet-bitfrost{content:url("../img/wallets/lightmode/bitfrost.png")}html.light #wallets #wallet-towo{content:url("../img/wallets/lightmode/towo.svg")}html.light #wallets #wallet-keystone{content:url("../img/wallets/lightmode/keystone.svg")}html.light #wallets #wallet-dcent{content:url("../img/wallets/lightmode/dcent.svg")}html.light #wallets #wallet-coin{content:url("../img/wallets/lightmode/coin.svg")}html.light #wallets #wallet-gem{content:url("../img/wallets/lightmode/gem.svg")}html.light #top-exchanges #exch-bitstamp{content:url("../img/exchanges/lightmode/bitstamp.svg")}html.light #top-exchanges #exch-cex-io{content:url("../img/exchanges/lightmode/cex-io.svg")}html.light #top-exchanges #exch-liquid{content:url("../img/exchanges/lightmode/liquid.svg")}html.light #top-exchanges #exch-bitfinex{content:url("../img/exchanges/lightmode/bitfinex.svg")}html.light #top-exchanges #exch-bittrex{content:url("../img/exchanges/lightmode/bittrex.png")}html.light #top-exchanges #exch-currency-com{content:url("../img/exchanges/lightmode/currency-com.png")}html.light #top-exchanges #exch-ftx{content:url("../img/exchanges/lightmode/ftx.png")}html.light #top-exchanges #exch-lmax{content:url("../img/exchanges/lightmode/lmax.png")}html.light .timeline-dot{background-color:#f5f5f7}html.light .page-uses .card-body{background:#fff;color:#343437}html.light .page-uses .modal-footer,html.light .page-uses .modal-header{background-color:#fcfcfd}html.light .page-uses #infrastructure{content:url("../img/icons/usecases/lightmode/ic_infrastructure.png")}html.light .page-uses #developer_tooling{content:url("../img/icons/usecases/lightmode/ic_developer_tooling.png")}html.light .page-uses #interoperability{content:url("../img/icons/usecases/lightmode/ic_interoperability.png")}html.light .page-uses #wallet{content:url("../img/icons/usecases/lightmode/ic_wallet.png")}html.light .page-uses #nfts{content:url("../img/icons/usecases/lightmode/ic_nfts.png")}html.light .page-uses #exchanges{content:url("../img/icons/usecases/lightmode/ic_exchanges.png")}html.light .page-uses #gaming{content:url("../img/icons/usecases/lightmode/ic_gaming.png")}html.light .page-uses #security{content:url("../img/icons/usecases/lightmode/ic_security.png")}html.light .page-uses #payments{content:url("../img/icons/usecases/lightmode/ic_payments.png")}html.light .page-uses #web_monetization{content:url("../img/icons/usecases/lightmode/ic_web_monetization.png")}html.light .page-uses #sustainability{content:url("../img/icons/usecases/lightmode/ic_sustainability.png")}html.light .page-uses #cbdc{content:url("../img/icons/usecases/lightmode/ic_cbdc.png")}html.light .page-uses #custody{content:url("../img/icons/usecases/lightmode/ic_custody.png")}html.light .page-uses #other{content:url("../img/icons/usecases/lightmode/ic_other.png")}html.light .page-uses #carbon_markets{content:url("../img/icons/usecases/lightmode/ic_carbon_markets.png")}html.light .page-uses #defi{content:url("../img/icons/usecases/lightmode/ic_defi.png")}html.light .page-uses .category-header{color:#343437}html.light .page-uses .category_count{background:#d2b2ff;color:#350080}html.light .page-uses .section-text-title{color:#000}html.light .page-uses #use_case_companies_list #bitgo .biz-logo{max-height:40px;content:url("../img/uses/lightmode/bitgo.svg")}html.light .page-uses #use_case_companies_list #sologenic-nft .biz-logo{max-height:40px;content:url("../img/uses/lightmode/sologenic-nft.svg")}html.light .page-uses #use_case_companies_list #carbonland-trust .biz-logo{max-height:40px;content:url("../img/uses/lightmode/carbonland-trust.svg")}html.light .page-uses #use_case_companies_list #futureverse .biz-logo{max-height:40px;content:url("../img/uses/lightmode/futureverse.png")}html.light .page-uses #use_case_companies_list #moai-finance .biz-logo{max-height:40px;content:url("../img/uses/lightmode/moai-finance.svg")}html.light .page-uses #use_case_companies_list #orchestra-finance .biz-logo{max-height:40px;content:url("../img/uses/lightmode/orchestra-finance.svg")}html.light .page-uses #use_case_companies_list #x-tokenize .biz-logo{max-height:40px;content:url("../img/uses/lightmode/x-tokenize.svg")}html.light .page-uses #use_case_companies_list #casino-coin .biz-logo{max-height:40px;content:url("../img/uses/lightmode/casino-coin.svg")}html.light .page-uses #use_case_companies_list #xrp-cafe .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrp-cafe.svg")}html.light .page-uses #use_case_companies_list #coil .biz-logo{max-height:40px;content:url("../img/uses/lightmode/coil.svg")}html.light .page-uses #use_case_companies_list #xrp-toolkit .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrp-toolkit.svg")}html.light .page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:40px;content:url("../img/uses/lightmode/first-ledger-bot.svg")}html.light .page-uses #use_case_companies_list #cryptum .biz-logo{max-height:40px;content:url("../img/uses/lightmode/cryptum.svg")}html.light .page-uses #use_case_companies_list #xrpl-org-ledger-explorer .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpl-org-ledger-explorer.svg")}html.light .page-uses #use_case_companies_list #evernode .biz-logo{max-height:40px;content:url("../img/uses/lightmode/evernode.svg")}html.light .page-uses #use_case_companies_list #xrpl-rosetta .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpl-rosetta.svg")}html.light .page-uses #use_case_companies_list #ripples-cbdc-platform .biz-logo{max-height:40px;content:url("../img/uses/lightmode/ripples-cbdc-platform.svg")}html.light .page-uses #use_case_companies_list #xrpscan .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpscan.svg")}html.light .page-uses #use_case_companies_list #ripples-on-demand-liquidity .biz-logo{max-height:40px;content:url("../img/uses/lightmode/ripples-on-demand-liquidity.svg")}html.light .page-uses #use_case_companies_list #xumm-wallet .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xumm-wallet.svg")}html.light .page-uses #use_case_companies_list #sologenic-dex .biz-logo{max-height:40px;content:url("../img/uses/lightmode/sologenic-dex.svg")}html.light .page-uses #use_case_companies_list #Crossmark .biz-logo{max-height:40px;content:url("../img/uses/lightmode/Crossmark.png")}html.light .page-uses #use_case_companies_list #threezy .biz-logo{max-height:40px;content:url("../img/uses/lightmode/threezy.png")}html.light .page-uses .modal-content-uses .first-ledger-bot{content:url("../img/uses/lightmode/first-ledger-bot.svg")}html.light .page-uses .modal-content-uses .moai-finance{content:url("../img/uses/lightmode/moai-finance.svg")}html.light .page-uses .modal-content-uses .orchestra-finance{max-height:52px;margin:0;content:url("../img/uses/lightmode/orchestra-finance.svg")}html.light .page-uses #bitpay .biz-logo,html.light .page-uses #forte .biz-logo,html.light .page-uses #xrplorer .biz-logo,html.light .page-uses #gatehub .biz-logo{filter:invert(100%)}html.light .landing-bg{opacity:.4}@media(min-width: 768px){html.light .landing-bg{opacity:1}}html.light .landing-builtin-bg::before{opacity:.4}@media(min-width: 768px){html.light .landing-builtin-bg::before{opacity:1}}html.light #feedback-content .widget-form-wrapper{background-color:#fff !important}html.light #feedback-content .widget-form-wrapper div{background-color:#fff !important}html.light #feedback-content .widget-form-wrapper textarea{background-color:#f5f5f7 !important}html.light #feedback-content .widget-form-wrapper .widget-header-title{color:#111112 !important}html.light #feedback-content .widget-form-wrapper .cancel{color:#7919ff !important}html.light #feedback-content .widget-helpful .widget-header{background-color:#fff !important}html.light #feedback-content .widget-helpful .widget-header-title{color:#111112 !important}html.light #feedback-content .widget-helpful .widget-header-icon{filter:invert(100%)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/lightmode/4col-green.svg)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue.svg)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-yellow.svg)}html.light .page-docs-index #doc-types .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-2.svg)}html.light .page-docs-index .funding-text,html.light .page-community .funding-text{color:#232325}html.light .page-docs-index .stat .small-text,html.light .page-community .stat .small-text{color:#232325}html.light .page-docs-index .project-card,html.light .page-community .project-card{background-color:transparent}html.light .page-docs-index .card-details,html.light .page-community .card-details{background-color:transparent}html.light .page-docs-index .card-image,html.light .page-community .card-image{background:#e0e0e1}html.light .page-docs-index #community-table tr,html.light .page-community #community-table tr{border-bottom:1px solid #34343740}html.light .page-docs-index .card-description,html.light .page-community .card-description{color:#343437 !important}html.light .page-docs-index .card-subtitle,html.light .page-community .card-subtitle{color:#111112 !important}html.light .page-docs-index .card-title,html.light .page-community .card-title{color:#111112 !important}html.light .page-docs-index .main-title,html.light .page-community .main-title{color:#111112}html.light .page-docs-index .event-location,html.light .page-community .event-location{color:#232325 !important}html.light .page-docs-index .event-details,html.light .page-community .event-details{color:#232325 !important}html.light .page-docs-index .upcoming-event .event-name,html.light .page-community .upcoming-event .event-name{color:#111112}html.light .page-docs-index .upcoming-label,html.light .page-community .upcoming-label{color:#232325 !important}html.light .page-docs-index .description,html.light .page-community .description{color:#232325}html.light .page-docs-index .events-text,html.light .page-community .events-text{color:#111112}html.light .page-docs-index .discord-icon,html.light .page-community .discord-icon{content:url(../img/community/ic_discord_light.png)}html.light .page-docs-index .twitter-icon,html.light .page-community .twitter-icon{content:url(../img/community/ic_twitter_light.png)}html.light .page-docs-index .youtube-icon,html.light .page-community .youtube-icon{content:url(../img/community/ic_youtube_light.png)}html.light .page-docs-index .xrpl-icon,html.light .page-community .xrpl-icon{content:url(../img/community/ic_xrpl_light.png)}html.light .page-docs-index .github-icon,html.light .page-community .github-icon{content:url(../img/community/ic_github_light.png)}html.light .page-docs-index .stackoverflow-icon,html.light .page-community .stackoverflow-icon{content:url(../img/community/ic_stackoverflow_light.png)}html.light .page-docs-index #run-a-network-node .card-deck .card:nth-child(4) .card-footer,html.light .page-community #run-a-network-node .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-light-green.svg)}html.light .page-docs-index #run-a-network-node .text-cards a,html.light .page-community #run-a-network-node .text-cards a{color:#000}html.light .page-docs-index #xrpl-blog .blog-graphic,html.light .page-community #xrpl-blog .blog-graphic{content:url(../img/community/lightmode/community-blog@2x.png)}html.light .page-docs-index #xrpl-events .text-light,html.light .page-community #xrpl-events .text-light{color:#000 !important}html.light .page-docs-index #xrplGrantsDark g,html.light .page-docs-index #xrplGrantsDark-small g,html.light .page-docs-index #careersDark g,html.light .page-docs-index #careersDark-small g,html.light .page-community #xrplGrantsDark g,html.light .page-community #xrplGrantsDark-small g,html.light .page-community #careersDark g,html.light .page-community #careersDark-small g{filter:invert(100%) brightness(0.8)}html.light #find-us-on-platforms .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-3.svg)}html.light .page-references #refs-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/3col-green-2.svg)}html.light .page-references #xrpl-protocol .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-4.svg)}html.light ::-webkit-input-placeholder{color:#454549}html.light :-ms-input-placeholder{color:#454549}html.light ::-moz-placeholder{color:#454549;opacity:1}html.light :-moz-placeholder{color:#454549;opacity:1}html.light .page-events label{color:#111112}html.light .page-events .event-card{color:#000;background-color:#fcfcfd;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .page-events a.event-card:hover{color:#000}html.light .page-events .event-hero{color:#111112}html.light .page-events .event-save-date{color:#111112}html.light .page-events .event-small-gray{color:#454549}html.light .page-events #event-hero-image{height:100%;min-height:209px;background:url(../img/events/event-hero1-light@2x.png);background-size:contain;background-repeat:no-repeat;background-position:center}html.light .page-events .icon-date::before{background:url(../img/events/event-date-light.svg)}html.light .page-events .icon-location::before{background:url(../img/events/event-location-light.svg)}html.light .page-events .events-filter[type=checkbox]::before{background-color:#f5f5f7}html.light .page-events .events-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;background-color:#5f00e5;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}html.light .page-events .events-filter[type=checkbox]:not(:disabled):hover::before{background-color:#f5f5f7}html.light .page-events .events-filter[type=checkbox]:not(:disabled):hover::after{background-color:#f5f5f7}html.light .page-ambassadors #benefits-list #benefits-01{content:url("../img/ambassadors/lightmode/benefits-01.svg")}html.light .page-ambassadors #benefits-list #benefits-02{content:url("../img/ambassadors/lightmode/benefits-02.svg")}html.light .page-ambassadors #benefits-list #benefits-03{content:url("../img/ambassadors/lightmode/benefits-03.svg")}html.light .page-ambassadors #benefits-list #benefits-04{content:url("../img/ambassadors/lightmode/benefits-04.svg")}html.light .page-ambassadors #benefits-list #benefits-05{content:url("../img/ambassadors/lightmode/benefits-05.svg")}html.light .page-ambassadors #benefits-list #benefits-06{content:url("../img/ambassadors/lightmode/benefits-06.svg")}html.light .page-ambassadors #eligibility-list #eligibility-01{content:url("../img/ambassadors/lightmode/eligibility-01.svg")}html.light .page-ambassadors #eligibility-list #eligibility-02{content:url("../img/ambassadors/lightmode/eligibility-02.svg")}html.light .page-ambassadors #eligibility-list #eligibility-03{content:url("../img/ambassadors/lightmode/eligibility-03.svg")}html.light .page-ambassadors #eligibility-list #eligibility-04{content:url("../img/ambassadors/lightmode/eligibility-04.svg")}html.light .page-ambassadors #eligibility-list #eligibility-05{content:url("../img/ambassadors/lightmode/eligibility-05.svg")}html.light .page-funding .funding-list #funding-01{content:url("../img/funding/lightmode/funding-01.svg")}html.light .page-funding .funding-list #funding-02{content:url("../img/funding/lightmode/funding-02.svg")}html.light .page-funding .funding-list #funding-03{content:url("../img/funding/lightmode/funding-03.svg")}html.light .page-funding .funding-list #funding-04{content:url("../img/funding/lightmode/funding-04.svg")}html.light .page-funding #xrplGrantsDark{filter:invert(100%) brightness(0.8)}html.light .page-impact .connect-list #connect-01{content:url("../img/impact/lightmode/connect-01.svg")}html.light .page-impact .connect-list #connect-02{content:url("../img/impact/lightmode/connect-02.svg")}html.light .page-impact .connect-list #connect-03{content:url("../img/impact/lightmode/connect-03.svg")}html.light .page-impact .connect-list #connect-04{content:url("../img/impact/lightmode/connect-04.svg")}html.light .page-impact #map-light{display:block}html.light .page-impact #map-dark{display:none}html.light main article .card-grid{color:#000}html.light main article .card-grid code{background-color:#d6fae7}html.light main article .card-grid .card-icon-container,html.light main article .card-grid.card-grid-3xN .card-icon-container{background:#c1c1c2}html.light [data-component-name="Footer/Footer"] [data-component-name="Footer/FooterColumn"]{text-shadow:#f5f5f7 0px 0px 2px,#f5f5f7 1px 1px 2px,#f5f5f7 2px 2px 3px,#f5f5f7 2px 2px 4px,#f5f5f7 2px 2px 5px,#f5f5f7 2px 2px 6px,#f5f5f7 -1px -1px 2px,#f5f5f7 -2px -2px 3px,#f5f5f7 -2px -2px 4px}html.light .dev-blog .text-bg{background-color:#fff}html.light .dev-blog #card-date{color:#454549}html.light .dev-blog .category-header{color:#111112}html.light .dev-blog label{color:#343437}html.light .dev-blog .blog-filter[type=checkbox]::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:checked::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/blog/blog-check-light-mode.svg)}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::after{background:#f5f5f7}html.light .dev-blog .post-date{text-decoration:overline solid #145c35 10%}html.light .dev-blog #general-badge{background-color:#fff;color:#343437}html.light .dev-blog #release_notes-badge{background-color:#32e685;color:#145c35}html.light .dev-blog #advisories-badge{background-color:#ff6719;color:#4c1a00}html.light .dev-blog #amendments-badge{background-color:#faff19;color:#4b4c00}html.light .dev-blog #development-badge{background-color:#7919ff;color:#20004c}html.light .dev-blog #developer_reflections-badge{background-color:#19a3ff;color:#002e4c}html.light .dev-blog #gateway_bulletins-badge{background-color:#d919ff;color:#40004c}html.light .dev-blog #features-badge{background-color:#32e685;color:#145c35}html.light .dev-blog #security-badge{background-color:#ff198b;color:#4c0026}html.light .dev-blog .dropdown-btn{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}html.light .dev-blog .dropdown-btn img{content:url("../img/icons/lightmode/chevron-arrow-down.svg")}html.light .dev-blog .dropdown-content{background-color:#e0e0e1}html.light .page-tokenization .project-cards .project-logo{filter:invert(100%)}html.light .page-tokenization .article-card{background-color:#fff}html.light .page-tokenization .article-card-background{filter:drop-shadow(0px 1px 18px rgba(24, 24, 24, 0.5))}html.light .page-tokenization .evernode{content:url("../img/logos/evernode.svg")}html.light .page-tokenization .prev img{content:url("../img/icons/prev_light.svg")}html.light .page-tokenization .next img{content:url("../img/icons/prev_light.svg");transform:scaleX(-1)}html.light .page-tokenization .arrow-button{background-color:#e0e0e1}html.light .page-rwa-tokenization .section-title{color:#000}html.light .page-rwa-tokenization .utility-card .utility-title{color:#000}html.light .page-rwa-tokenization .utility-card .utility-description{color:#000}html.light .page-rwa-tokenization .benefit-icon.low-fees{background-image:url(../img/tokenization/lightmode/low-fees.png)}html.light .page-rwa-tokenization .benefit-icon.access{background-image:url(../img/tokenization/lightmode/cross-chain.png)}html.light .page-rwa-tokenization .benefit-icon.native-compliance{background-image:url(../img/tokenization/lightmode/native-compliance.png)}html.light .page-rwa-tokenization .benefit-icon.delegated-token-management{background-image:url(../img/tokenization/lightmode/delegated-token-management.png)}html.light .page-rwa-tokenization .company-logo.open-eden{background-image:url(../img/tokenization/lightmode/open-eden.png)}html.light .page-rwa-tokenization .company-logo.zoniqx{background-image:url(../img/tokenization/lightmode/zoniqx.png)}html.light .page-rwa-tokenization .company-logo.axiology{background-image:url(../img/tokenization/lightmode/axiology.png)}html.light .page-rwa-tokenization .company-logo.archax{background-image:url(../img/tokenization/lightmode/archax.png)}html.light .page-rwa-tokenization .company-logo.meld{background-image:url(../img/tokenization/lightmode/meld.png)}html.light .page-rwa-tokenization .company-logo.palisade{background-image:url(../img/tokenization/lightmode/palisade.png)}html.light .page-rwa-tokenization .company-logo.ripple-logo{background-image:url(../img/tokenization/lightmode/ripple-logo.png)}html.light .page-rwa-tokenization .company-logo.ondo{background-image:url(../img/tokenization/lightmode/ondo.png)}html.light .page-rwa-tokenization .company-logo.hidden-road{background-image:url(../img/tokenization/lightmode/hidden-road.png)}html.light .page-rwa-tokenization .token-features-section .btn-link{color:#7919ff}html.light .page-rwa-tokenization .card-description a{color:#7919ff !important}html.light .page-rwa-tokenization .developer-tools__image{background-image:url("../img/tokenization/lightmode/graphic.png")}html.light .page-rwa-tokenization .right-arrow-item::after{content:url("../img/icons/lightmode/arrow-right-purple.svg")}html.light .page-rwa-tokenization .token-video-text-container p{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .cards-title-token{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .benefit-card{background:#fff}html.light .page-rwa-tokenization .benefit-card .benefit-title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .benefit-card .benefit-description{color:var(--XRPL-Black-Black-80, #232325)}html.light .page-rwa-tokenization .developer-tools__description{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-item__title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-item__divider{background-color:#000}html.light .page-rwa-tokenization .rwa-subtitle{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-description{color:var(--XRPL-Black-Black-80, #232325)}html.light .page-rwa-tokenization .com-card-link{color:#7919ff !important} diff --git a/styles/_pages.scss b/styles/_pages.scss index bdb42e25a6..8a04c01c22 100644 --- a/styles/_pages.scss +++ b/styles/_pages.scss @@ -33,10 +33,16 @@ } #home-hero-graphic { - width: 856px; + width: 100%; + max-width: 856px; + height: auto; object-fit: cover; content: url("../img/home-hero.svg"); margin-bottom: 24px; + display: block; + margin-left: auto; + margin-right: auto; + @media (min-width: 992px) { min-height: 470px; } From 0b589610ae6c88629b9bc1d732734b49f8076b56 Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Mon, 14 Jul 2025 13:59:42 -0700 Subject: [PATCH 25/41] Add missing accepted credentials object snippet --- .../_snippets/accepted-credentials-objects.md | 22 +++++++++++++++++ .../ledger-entry-types/permissioneddomain.md | 24 +------------------ .../types/permissioneddomainset.md | 2 ++ 3 files changed, 25 insertions(+), 23 deletions(-) create mode 100644 docs/_snippets/accepted-credentials-objects.md diff --git a/docs/_snippets/accepted-credentials-objects.md b/docs/_snippets/accepted-credentials-objects.md new file mode 100644 index 0000000000..1d0ee86002 --- /dev/null +++ b/docs/_snippets/accepted-credentials-objects.md @@ -0,0 +1,22 @@ +Each member of the `AcceptedCredentials` array is an inner object named `Credential` with the following nested fields: + +| Field | JSON Type | [Internal Type][] | Required? | Description | +|:-----------------|:---------------------|:------------------|:----------|--------------| +| `Issuer` | String - [Address][] | AccountID | Yes | The issuer of the credential. | +| `CredentialType` | String | Blob | Yes | The type of credential, as hexadecimal. This is an arbitrary value from 1 to 64 bytes that the issuer sets when they issue a credential. | + +{% admonition type="info" name="Note" %} +In the usual JSON format, inner objects are wrapped in an object with one field, whose name defines the inner object type. In this case, the wrapping field is named `Credential`. For example: + +```json +"AcceptedCredentials": [ + { + "Credential": { + "Issuer": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", + "CredentialType": "6D795F63726564656E7469616C" + } + }, + // ... additional Credential inner objects ... +] +``` +{% /admonition %} diff --git a/docs/references/protocol/ledger-data/ledger-entry-types/permissioneddomain.md b/docs/references/protocol/ledger-data/ledger-entry-types/permissioneddomain.md index b28a05ef21..8d5542d111 100644 --- a/docs/references/protocol/ledger-data/ledger-entry-types/permissioneddomain.md +++ b/docs/references/protocol/ledger-data/ledger-entry-types/permissioneddomain.md @@ -52,31 +52,9 @@ In addition to the [common fields](../common-fields.md), {% code-page-name /%} e | `PreviousTxnLgrSeq` | Number | UInt32 | Yes | The [index of the ledger][Ledger Index] that contains the transaction that most recently modified this object. | | `Sequence` | Number | UInt32 | Yes | The `Sequence` value of the transaction that created this entry. | - ### AcceptedCredentials Objects -Each member of the `AcceptedCredentials` array is an inner object named `Credential` with the following nested fields: - -| Field | JSON Type | [Internal Type][] | Required? | Description | -|:-----------------|:---------------------|:------------------|:----------|--------------| -| `Issuer` | String - [Address][] | AccountID | Yes | The issuer of the credential. | -| `CredentialType` | String | Blob | Yes | The type of credential, as hexadecimal. This is an arbitrary value from 1 to 64 bytes that the issuer sets when they issue a credential. | - -{% admonition type="info" name="Note" %} -In the usual JSON format, inner objects are wrapped in an object with one field, whose name defines the inner object type. In this case, the wrapping field is named `Credential`. For example: - -```json -"AcceptedCredentials": [ - { - "Credential": { - "Issuer": "ra5nK24KXen9AHvsdFTKHSANinZseWnPcX", - "CredentialType": "6D795F63726564656E7469616C" - } - }, - // ... additional Credential inner objects ... -] -``` -{% /admonition %} +{% raw-partial file="/docs/_snippets/accepted-credentials-objects.md" /%} ## {% $frontmatter.seo.title %} Flags diff --git a/docs/references/protocol/transactions/types/permissioneddomainset.md b/docs/references/protocol/transactions/types/permissioneddomainset.md index 690dc3e474..050e5c2a0d 100644 --- a/docs/references/protocol/transactions/types/permissioneddomainset.md +++ b/docs/references/protocol/transactions/types/permissioneddomainset.md @@ -40,6 +40,8 @@ _(Requires the [PermissionedDomains amendment][] {% not-enabled /%})_ | `DomainID` | String - [Hash][] | Hash256 | No | The ledger entry ID of an existing permissioned domain to modify. If omitted, creates a new permissioned domain. | | `AcceptedCredentials` | Array | Array | Yes | A list of 1 to 10 [**Accepted Credentials objects**](#accepted-credentials-objects) that grant access to this domain. The list does not need to be sorted, but it cannot contain duplicates. When modifying an existing domain, this list replaces the existing list. | +### AcceptedCredentials Objects + {% raw-partial file="/docs/_snippets/accepted-credentials-objects.md" /%} ## {% $frontmatter.seo.title %} Flags From e1a292ade1d403e20c632f318ecbce289aea01eb Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Mon, 14 Jul 2025 14:00:51 -0700 Subject: [PATCH 26/41] Fix install/update redirects and add redirects for Japanese too --- redirects.yaml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/redirects.yaml b/redirects.yaml index f1ea4e3028..018d10ead0 100644 --- a/redirects.yaml +++ b/redirects.yaml @@ -1,7 +1,7 @@ /docs/infrastructure/installation/rippled-1-3-migration-instructions/: to: /docs/infrastructure/installation/ type: 301 -update-rippled-manually-on-centos-rhel/: +/docs/infrastructure/installation/update-rippled-manually-on-centos-rhel/: to: /docs/infrastructure/installation/update-rippled-manually-on-rhel/ type: 301 /docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum/: @@ -1445,7 +1445,7 @@ system-requirements.html: to: /docs/infrastructure/installation/system-requirements type: 301 install-rippled-on-centos-rhel-with-yum.html: - to: /docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum + to: /docs/infrastructure/installation/install-rippled-on-rhel type: 301 install-rippled-on-ubuntu.html: to: /docs/infrastructure/installation/install-rippled-on-ubuntu @@ -1457,7 +1457,7 @@ update-rippled-automatically-on-linux.html: to: /docs/infrastructure/installation/update-rippled-automatically-on-linux type: 301 update-rippled-manually-on-centos-rhel.html: - to: /docs/infrastructure/installation/update-rippled-manually-on-centos-rhel + to: /docs/infrastructure/installation/update-rippled-manually-on-rhel type: 301 update-rippled-manually-on-ubuntu.html: to: /docs/infrastructure/installation/update-rippled-manually-on-ubuntu @@ -2335,6 +2335,15 @@ code_of_conduct.ja: type: 301 # Japanese +/ja/docs/infrastructure/installation/rippled-1-3-migration-instructions/: + to: /ja/docs/infrastructure/installation/ + type: 301 +/ja/docs/infrastructure/installation/update-rippled-manually-on-centos-rhel/: + to: /ja/docs/infrastructure/installation/update-rippled-manually-on-rhel/ + type: 301 +/ja/docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum/: + to: /ja/docs/infrastructure/installation/install-rippled-on-rhel/ + type: 301 /ja/docs/tutorials/javascript/trade-on-ledger/earn-passive-income-as-a-liquidity-provider: to: /ja/docs/tutorials/javascript/amm/add-assets-to-amm type: 301 @@ -3764,7 +3773,7 @@ code_of_conduct.ja: to: /ja/docs/infrastructure/installation/system-requirements type: 301 /ja/install-rippled-on-centos-rhel-with-yum.html: - to: /ja/docs/infrastructure/installation/install-rippled-on-centos-rhel-with-yum + to: /ja/docs/infrastructure/installation/install-rippled-on-rhel type: 301 /ja/install-rippled-on-ubuntu.html: to: /ja/docs/infrastructure/installation/install-rippled-on-ubuntu From a330c249085df6afacdb4234e698aace963cdc8a Mon Sep 17 00:00:00 2001 From: Rome Reginelli Date: Tue, 15 Jul 2025 10:54:29 -0700 Subject: [PATCH 27/41] Fix minor issues in Batch ref - Add missing common links snippet. - Fix case of `Fee` field and string type of example value. - Update internal type names per #3164 --- .../protocol/transactions/types/batch.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/references/protocol/transactions/types/batch.md b/docs/references/protocol/transactions/types/batch.md index 55a51dd694..1b477e3c65 100644 --- a/docs/references/protocol/transactions/types/batch.md +++ b/docs/references/protocol/transactions/types/batch.md @@ -119,8 +119,8 @@ In this example, two users are atomically swapping their tokens: XRP for GKO. | Field | JSON Type | [Internal Type][] | Required? | Description | |:------------------|:----------|:------------------|:----------|:------------| | `Flags` | Number | UInt32 | Yes | A bit-flag for this transaction. Exactly one must be specified to represent the batch mode of the transaction. See: [Batch Flags](#batch-flags). | -| `RawTransactions` | Array | STArray | Yes | The list of transactions to apply. | -| `BatchSigners` | Array | STArray | No | The signatures authorizing a multi-account `Batch` transaction. | +| `RawTransactions` | Array | Array | Yes | The list of transactions to apply. | +| `BatchSigners` | Array | Array | No | The signatures authorizing a multi-account `Batch` transaction. | ### RawTransactions @@ -129,7 +129,7 @@ In this example, two users are atomically swapping their tokens: XRP for GKO. Each inner transaction: - Must contain a `tfInnerBatchTxn` (Decimal Value: `1073741824`, or Hex Value: `0x40000000`) flag. -- Must have a `fee` value of `0`. +- Must have a `Fee` value of `"0"`. - Must not be signed (the global transaction is already signed by all relevant parties). They must instead have an empty string (`""`) in the `SigningPubKey`, and the `TxnSignature` field must be omitted. - Must include a `TicketSequence` or `Sequence` value greather than zero. @@ -139,10 +139,10 @@ This field operates similarly to multi-signing on the XRPL. It is only needed if | Field | JSON Type | [Internal Type][] | Required? | Description | |:----------------|:----------|:------------------|:----------|:------------| -| `Account` | String | STAccount | Yes | An account with at least one inner transaction. | -| `SigningPubKey` | String | STBlob | No | Hex representation of the public key that corresponds to the private key used to sign this transaction. | -| `TxnSignature` | String | STBlob | No | The signature that verifies this transaction as originating from the account it says it is from. | -| `Signers` | Array | STArray | No | Array of objects that represent a multi-signature which authorizes this transaction. | +| `Account` | String | AccountID | Yes | An account with at least one inner transaction. | +| `SigningPubKey` | String | Blob | No | Hex representation of the public key that corresponds to the private key used to sign this transaction. | +| `TxnSignature` | String | Blob | No | The signature that verifies this transaction as originating from the account it says it is from. | +| `Signers` | Array | Array | No | Array of objects that represent a multi-signature which authorizes this transaction. | {% admonition type="info" name="Note" %} If the account submitting the `Batch` transaction is signing with a single signature, they sign the `Flags` field and the hashes of the inner transactions. In this case, only `SigningPubKey` and `TxnSignature` are included. Otherwise, the `Signers` field is used instead for multi-signing; this field holds the signatures for the `Flags` field and the hashes of the inner transactions. @@ -169,3 +169,5 @@ A transaction is considered successful if it receives a `tesSUCCESS` result. |:--------------------------|:--------------------------------------------------| | `temINVALID_INNER_BATCH` | An inner transaction is malformed. | | `temSEQ_AND_TICKET` | The transaction contains both a `TicketSequence` field and a non-zero `Sequence` value. A transaction can't include both fields, but must have at least one. | + +{% raw-partial file="/docs/_snippets/common-links.md" /%} From 50e6521cacd037b598207c2b914e8ec19184a9ca Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Tue, 15 Jul 2025 11:02:41 -0700 Subject: [PATCH 28/41] [JA] Fix minor issues in Batch ref --- .../protocol/transactions/types/batch.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/@l10n/ja/docs/references/protocol/transactions/types/batch.md b/@l10n/ja/docs/references/protocol/transactions/types/batch.md index 326ce6e88d..678956260e 100644 --- a/@l10n/ja/docs/references/protocol/transactions/types/batch.md +++ b/@l10n/ja/docs/references/protocol/transactions/types/batch.md @@ -1,5 +1,4 @@ --- -html: batch.html seo: description: 最大8件のトランザクションをまとめて作成・送信し、それらがすべて成功するか、すべて失敗するようにアトミックに処理されるようにします。 labels: @@ -120,8 +119,8 @@ status: not_enabled | フィールド | JSONの型 | [内部の型][] | 必須? | 説明 | | :---------------- | :--------- | :--------- | :----- | :----------------------------------------------------------- | | `Flags` | 数値 | UInt32 | はい | このトランザクションのビットフラグです。トランザクションのバッチモードを表すために、正確に1つ指定する必要があります。[バッチのフラグ](#バッチのフラグ)をご覧ください。 | -| `RawTransactions` | 配列 | STArray | はい | 適用するトランザクションのリストです。 | -| `BatchSigners` | 配列 | STArray | いいえ | 複数アカウントの`Batch`トランザクションを承認する署名です。 | +| `RawTransactions` | 配列 | Array | はい | 適用するトランザクションのリストです。 | +| `BatchSigners` | 配列 | Array | いいえ | 複数アカウントの`Batch`トランザクションを承認する署名です。 | ### RawTransactions @@ -130,7 +129,7 @@ status: not_enabled 各内部トランザクションは以下の条件を満たす必要があります。 * `tfInnerBatchTxn` (10進数値: `1073741824`、または16進数値: `0x40000000`) フラグを含める必要があります。 -* `fee` の値が `0` である必要があります。 +* `Fee` の値が `"0"` である必要があります。 * 署名されていてはなりません(グローバルトランザクションはすべての関係者によってすでに署名されています)。代わりに、`SigningPubKey` には空の文字列 (`""`) を含み、`TxnSignature` フィールドは省略する必要があります。 * `TicketSequence` または `Sequence` の値がゼロより大きい必要があります。 @@ -140,10 +139,10 @@ status: not_enabled | フィールド | JSONの型 | [内部の型][] | 必須? | 説明 | | :-------------- | :--------- | :--------- | :----- | :----------------------------------------------------------- | -| `Account` | 文字列 | STAccount | はい | 少なくとも1つの内部トランザクションを持つアカウント。 | -| `SigningPubKey` | 文字列 | STBlob | いいえ | このトランザクションの署名に使用された秘密鍵に対応する公開鍵の16進数表現。 | -| `TxnSignature` | 文字列 | STBlob | いいえ | このトランザクションが、それが由来するとされるアカウントからのものであることを検証する署名。 | -| `Signers` | 配列 | STArray | いいえ | このトランザクションを承認するマルチシグを表すオブジェクトの配列。 | +| `Account` | 文字列 | AccountID | はい | 少なくとも1つの内部トランザクションを持つアカウント。 | +| `SigningPubKey` | 文字列 | Blob | いいえ | このトランザクションの署名に使用された秘密鍵に対応する公開鍵の16進数表現。 | +| `TxnSignature` | 文字列 | Blob | いいえ | このトランザクションが、それが由来するとされるアカウントからのものであることを検証する署名。 | +| `Signers` | 配列 | Array | いいえ | このトランザクションを承認するマルチシグを表すオブジェクトの配列。 | {% admonition type="info" name="Note" %} `Batch`トランザクションを送信するアカウントが単一署名を使用する場合、`Flags`フィールドと内部トランザクションのハッシュに署名します。この場合、含まれるのは`SigningPubKey`と`TxnSignature`のみです。一方で、複数署名を使用する場合は代わりに`Signers`フィールドが使用され、そこに`Flags`フィールドおよび内部トランザクションのハッシュに対する署名が格納されます。 @@ -170,3 +169,5 @@ status: not_enabled |:--------------------------|:--------------------------------------------------| | `temINVALID_INNER_BATCH` | 内部トランザクションの形式が不正です。 | | `temSEQ_AND_TICKET` | トランザクションに`TicketSequence`フィールドと、0以外の`Sequence`フィールドの両方が含まれています。両方を同時に指定することはできませんが、いずれか一方は必須です。 | + +{% raw-partial file="/docs/_snippets/common-links.md" /%} From c873acacb7743580a06ea2d255be8e7876695b37 Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Tue, 15 Jul 2025 12:33:05 -0700 Subject: [PATCH 29/41] Update desktop wallet for xrpl.js 4.x+ --- .../build-a-desktop-wallet/js/library/4_helpers.js | 10 +++++----- .../build-a-desktop-wallet/js/library/8_helpers.js | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/_code-samples/build-a-desktop-wallet/js/library/4_helpers.js b/_code-samples/build-a-desktop-wallet/js/library/4_helpers.js index b3e344454a..04a65a5f9f 100644 --- a/_code-samples/build-a-desktop-wallet/js/library/4_helpers.js +++ b/_code-samples/build-a-desktop-wallet/js/library/4_helpers.js @@ -8,12 +8,12 @@ const prepareTxData = (transactions) => { } return { - confirmed: transaction.tx.date, - type: transaction.tx.TransactionType, - from: transaction.tx.Account, - to: transaction.tx.Destination ?? "-", + confirmed: transaction.close_time_iso, + type: transaction.tx_json.TransactionType, + from: transaction.tx_json.Account, + to: transaction.tx_json.Destination ?? "-", value: tx_value, - hash: transaction.tx.hash + hash: transaction.hash } }) } diff --git a/_code-samples/build-a-desktop-wallet/js/library/8_helpers.js b/_code-samples/build-a-desktop-wallet/js/library/8_helpers.js index 38ed7d32ed..30d39344af 100644 --- a/_code-samples/build-a-desktop-wallet/js/library/8_helpers.js +++ b/_code-samples/build-a-desktop-wallet/js/library/8_helpers.js @@ -99,9 +99,9 @@ async function verify(accountAddress, client) { try { const response = await client.request(request) return await checkDestination(response.result.account_data) - } catch { + } catch (err) { return { - domain: 'domain', + domain: '', verified: false } } From 1620a4e1cfb229b95966aa0d5573070267da9577 Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Tue, 15 Jul 2025 13:04:01 -0700 Subject: [PATCH 30/41] Fix desktop wallet (js) deps & API v2 compatibility --- _code-samples/build-a-desktop-wallet/js/4-tx-history/index.js | 2 +- _code-samples/build-a-desktop-wallet/js/library/5_helpers.js | 2 +- _code-samples/build-a-desktop-wallet/js/package.json | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/_code-samples/build-a-desktop-wallet/js/4-tx-history/index.js b/_code-samples/build-a-desktop-wallet/js/4-tx-history/index.js index d879bbb3c9..39d038f6b0 100644 --- a/_code-samples/build-a-desktop-wallet/js/4-tx-history/index.js +++ b/_code-samples/build-a-desktop-wallet/js/4-tx-history/index.js @@ -56,7 +56,7 @@ const main = async () => { const accountData = prepareAccountData(accountInfoResponse.result.account_data) appWindow.webContents.send('update-account-data', accountData) - const transactions = prepareTxData([{tx: transaction.transaction}]) + const transactions = prepareTxData([transaction]) appWindow.webContents.send('update-transaction-data', transactions) }) diff --git a/_code-samples/build-a-desktop-wallet/js/library/5_helpers.js b/_code-samples/build-a-desktop-wallet/js/library/5_helpers.js index 5565e60c07..2f6fb55023 100644 --- a/_code-samples/build-a-desktop-wallet/js/library/5_helpers.js +++ b/_code-samples/build-a-desktop-wallet/js/library/5_helpers.js @@ -68,7 +68,7 @@ const subscribe = async (client, wallet, appWindow) => { const accountData = prepareAccountData(accountInfoResponse.result.account_data) appWindow.webContents.send('update-account-data', accountData) - const transactions = prepareTxData([{tx: transaction.transaction}]) + const transactions = prepareTxData([transaction]) appWindow.webContents.send('update-transaction-data', transactions) }) } diff --git a/_code-samples/build-a-desktop-wallet/js/package.json b/_code-samples/build-a-desktop-wallet/js/package.json index 6e742dbf62..ff5ac0b9e3 100644 --- a/_code-samples/build-a-desktop-wallet/js/package.json +++ b/_code-samples/build-a-desktop-wallet/js/package.json @@ -15,12 +15,12 @@ }, "dependencies": { "async": "^3.2.4", - "fernet": "^0.4.0", + "fernet": "=0.3.3", "node-fetch": "^2.6.9", "pbkdf2-hmac": "^1.1.0", "open": "^8.4.0", "toml": "^3.0.0", - "xrpl": "^4.0.0" + "xrpl": "^4.3.0" }, "devDependencies": { "electron": "28.3.2" From d564619d7ee5223f68d2a5bb7a64a01d938e3483 Mon Sep 17 00:00:00 2001 From: Maria Shodunke Date: Wed, 16 Jul 2025 09:55:13 +0100 Subject: [PATCH 31/41] Apply suggestions from code review Co-authored-by: Rome Reginelli --- _code-samples/claim-payment-channel/py/claim_pay_channel.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_code-samples/claim-payment-channel/py/claim_pay_channel.py b/_code-samples/claim-payment-channel/py/claim_pay_channel.py index 6c51eed203..310e9e2f1b 100644 --- a/_code-samples/claim-payment-channel/py/claim_pay_channel.py +++ b/_code-samples/claim-payment-channel/py/claim_pay_channel.py @@ -1,6 +1,6 @@ """ Create, claim and verify a Payment Channel. -Reference: https://xrpl.org/paychannel.html +Reference: https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/paychannel """ from xrpl.clients import JsonRpcClient from xrpl.models import ( @@ -18,6 +18,7 @@ from xrpl.account import get_balance client = JsonRpcClient("https://s.altnet.rippletest.net:51234") # Creating wallets as prerequisite +print("Setting up wallets...") wallet1 = generate_faucet_wallet(client) wallet2 = generate_faucet_wallet(client) From 61009fcd39fa0138445ea4d6dd520d2bf56046ae Mon Sep 17 00:00:00 2001 From: Maria Shodunke Date: Mon, 14 Jul 2025 13:48:11 +0100 Subject: [PATCH 32/41] Add crossmark wallet to wallets list --- about/xrp.page.tsx | 1 + docs/introduction/crypto-wallets.md | 4 ++++ static/css/devportal2024-v1.css | 2 +- static/img/wallets/crossmark.png | Bin 0 -> 15752 bytes static/img/wallets/lightmode/crossmark.png | Bin 0 -> 17758 bytes styles/_pages.scss | 8 +++++--- styles/light/_light-theme.scss | 6 +++++- 7 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 static/img/wallets/crossmark.png create mode 100644 static/img/wallets/lightmode/crossmark.png diff --git a/about/xrp.page.tsx b/about/xrp.page.tsx index 581f4181a8..dca92d84c9 100644 --- a/about/xrp.page.tsx +++ b/about/xrp.page.tsx @@ -29,6 +29,7 @@ const softwallets = [ }, { href: "https://gemwallet.com/", id: "wallet-gem", alt: "Gem Wallet" }, { href: "https://coin.space/", id: "wallet-coin", alt: "Coin Space" }, + { href: "https://crossmark.io/", id: "wallet-crossmark", alt: "Crossmark Wallet" }, ]; const hardwallets = [ diff --git a/docs/introduction/crypto-wallets.md b/docs/introduction/crypto-wallets.md index f6576ba7ad..d56c096c85 100644 --- a/docs/introduction/crypto-wallets.md +++ b/docs/introduction/crypto-wallets.md @@ -47,3 +47,7 @@ The XRP Ledger is an opensource project with publicly available client libraries Next: [Transactions and Requests](transactions-and-requests.md) + +## See Also + +For more information on which wallets are supported on the XRP Ledger, see [Wallets](../../about/xrp#wallets). diff --git a/static/css/devportal2024-v1.css b/static/css/devportal2024-v1.css index 0868a5d338..370a31bcff 100644 --- a/static/css/devportal2024-v1.css +++ b/static/css/devportal2024-v1.css @@ -3,4 +3,4 @@ * Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2022 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--blue: #19A3FF;--indigo: #6610f2;--purple: #9A52FF;--pink: #FF198B;--red: #dc3545;--orange: #FF6719;--yellow: #FAFF19;--green: #32E685;--teal: #20c997;--cyan: #17a2b8;--white: #FFFFFF;--gray: #454549;--gray-dark: #232325;--primary: #9A52FF;--secondary: #E0E0E1;--success: #32E685;--info: #19A3FF;--warning: #FAFF19;--danger: #FF198B;--light: #FFFFFF;--dark: #111112;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-family-monospace: "Space Mono", monospace}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#e0e0e1;text-align:left;background-color:#111112}[tabindex="-1"]:focus:not(:focus-visible){outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#fff;text-decoration:none;background-color:transparent}a:hover{color:#9a52ff;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:"Space Mono",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#e0e0e1;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-weight:500;line-height:1.2;color:#fff}h1,.h1{font-size:2.5rem}h2,.h2{font-size:2rem}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}small,.small{font-size:0.875em;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:0.875em;color:#454549}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#111112;border:1px solid #c1c1c2;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.075);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#454549}code{font-size:87.5%;color:#e0e0e1;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#111112;border-radius:4px;box-shadow:inset 0 -0.1rem 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;font-size:87.5%;color:#111112}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col-xl,.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-lg,.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-md,.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-sm,.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col,.col-auto,.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media(min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-sm-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media(min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media(min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-lg-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media(min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}.table{width:100%;margin-bottom:1rem;color:#e0e0e1}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #c1c1c2}.table thead th{vertical-align:bottom;border-bottom:2px solid #c1c1c2}.table tbody+tbody{border-top:2px solid #c1c1c2}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #c1c1c2}.table-bordered th,.table-bordered td{border:1px solid #c1c1c2}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#e0e0e1;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:#e3cfff}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#caa5ff}.table-hover .table-primary:hover{background-color:#d4b6ff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#d4b6ff}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#f6f6f7}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#efefef}.table-hover .table-secondary:hover{background-color:#e9e9eb}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#e9e9eb}.table-success,.table-success>th,.table-success>td{background-color:#c6f8dd}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#94f2c0}.table-hover .table-success:hover{background-color:#aff5cf}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#aff5cf}.table-info,.table-info>th,.table-info>td{background-color:#bfe5ff}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#87cfff}.table-hover .table-info:hover{background-color:#a6dbff}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a6dbff}.table-warning,.table-warning>th,.table-warning>td{background-color:#feffbf}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#fcff87}.table-hover .table-warning:hover{background-color:#feffa6}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#feffa6}.table-danger,.table-danger>th,.table-danger>td{background-color:#ffbfdf}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#ff87c3}.table-hover .table-danger:hover{background-color:#ffa6d2}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ffa6d2}.table-light,.table-light>th,.table-light>td{background-color:#fff}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#fff}.table-hover .table-light:hover{background-color:#f2f2f2}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#f2f2f2}.table-dark,.table-dark>th,.table-dark>td{background-color:#bcbcbd}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#838384}.table-hover .table-dark:hover{background-color:#afafb0}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#afafb0}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#232325;border-color:#363639}.table .thead-light th{color:#343437;background-color:#e0e0e1;border-color:#c1c1c2}.table-dark{color:#fff;background-color:#232325}.table-dark th,.table-dark td,.table-dark thead th{border-color:#363639}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media(max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media(max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media(max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media(max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.25em + 2rem + 2px);padding:1rem 1.5rem;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;background-color:#232325;background-clip:padding-box;border:1px solid transparent;border-radius:4px;box-shadow:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#fff;background-color:#232325;border-color:#e4d2ff;outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.form-control::placeholder{color:#a2a2a4;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#454549;opacity:1}input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}select.form-control:focus::-ms-value{color:#fff;background-color:#232325}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(1rem + 1px);padding-bottom:calc(1rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.25}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:1rem 0;margin-bottom:0;font-size:1rem;line-height:1.25;color:#e0e0e1;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{color:#e0e0e1}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#32e685}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#111112;background-color:rgba(50,230,133,.9);border-radius:4px}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#32e685;padding-right:calc(1.25em + 2rem) !important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2332E685' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.3125em + 0.5rem) center;background-size:calc(0.625em + 1rem) calc(0.625em + 1rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{padding-right:6rem !important;background-position:right 3rem center}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.25em + 2rem);background-position:top calc(0.3125em + 0.5rem) right calc(0.3125em + 0.5rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#32e685;padding-right:calc(0.75em + 4rem) !important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat,#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2332E685' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 2.5rem/calc(0.625em + 1rem) calc(0.625em + 1rem) no-repeat}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#32e685}.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip{display:block}.was-validated .custom-control-input:valid~.custom-control-label,.custom-control-input.is-valid~.custom-control-label{color:#32e685}.was-validated .custom-control-input:valid~.custom-control-label::before,.custom-control-input.is-valid~.custom-control-label::before{border-color:#32e685}.was-validated .custom-control-input:valid:checked~.custom-control-label::before,.custom-control-input.is-valid:checked~.custom-control-label::before{border-color:#5feca0;background-color:#5feca0}.was-validated .custom-control-input:valid:focus~.custom-control-label::before,.custom-control-input.is-valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before{border-color:#32e685}.was-validated .custom-file-input:valid~.custom-file-label,.custom-file-input.is-valid~.custom-file-label{border-color:#32e685}.was-validated .custom-file-input:valid:focus~.custom-file-label,.custom-file-input.is-valid:focus~.custom-file-label{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#ff198b}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#fff;background-color:rgba(255,25,139,.9);border-radius:4px}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#ff198b;padding-right:calc(1.25em + 2rem) !important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23FF198B' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF198B' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.3125em + 0.5rem) center;background-size:calc(0.625em + 1rem) calc(0.625em + 1rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{padding-right:6rem !important;background-position:right 3rem center}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.25em + 2rem);background-position:top calc(0.3125em + 0.5rem) right calc(0.3125em + 0.5rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#ff198b;padding-right:calc(0.75em + 4rem) !important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat,#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23FF198B' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF198B' stroke='none'/%3e%3c/svg%3e") center right 2.5rem/calc(0.625em + 1rem) calc(0.625em + 1rem) no-repeat}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#ff198b}.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip{display:block}.was-validated .custom-control-input:invalid~.custom-control-label,.custom-control-input.is-invalid~.custom-control-label{color:#ff198b}.was-validated .custom-control-input:invalid~.custom-control-label::before,.custom-control-input.is-invalid~.custom-control-label::before{border-color:#ff198b}.was-validated .custom-control-input:invalid:checked~.custom-control-label::before,.custom-control-input.is-invalid:checked~.custom-control-label::before{border-color:#ff4ca5;background-color:#ff4ca5}.was-validated .custom-control-input:invalid:focus~.custom-control-label::before,.custom-control-input.is-invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before{border-color:#ff198b}.was-validated .custom-file-input:invalid~.custom-file-label,.custom-file-input.is-invalid~.custom-file-label{border-color:#ff198b}.was-validated .custom-file-input:invalid:focus~.custom-file-label,.custom-file-input.is-invalid:focus~.custom-file-label{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media(min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#e0e0e1;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:1rem 1.5rem;font-size:0.875rem;line-height:1.25;border-radius:4px;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#e0e0e1;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:none}.btn.disabled,.btn:disabled{opacity:.65;box-shadow:none}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled):active,.btn:not(:disabled):not(.disabled).active{box-shadow:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#9a52ff;border-color:#9a52ff;box-shadow:none}.btn-primary:hover{color:#fff;background-color:#842cff;border-color:#7c1fff}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#842cff;border-color:#7c1fff;box-shadow:0 0 0 .2rem rgba(169,108,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#7c1fff;border-color:#7512ff}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(169,108,255,.5)}.btn-secondary{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1;box-shadow:none}.btn-secondary:hover{color:#111112;background-color:#cdcdce;border-color:#c6c6c8}.btn-secondary:focus,.btn-secondary.focus{color:#111112;background-color:#cdcdce;border-color:#c6c6c8;box-shadow:0 0 0 .2rem rgba(193,193,194,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#111112;background-color:#c6c6c8;border-color:#c0c0c2}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(193,193,194,.5)}.btn-success{color:#111112;background-color:#32e685;border-color:#32e685;box-shadow:none}.btn-success:hover{color:#fff;background-color:#1ad772;border-color:#19cc6c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#1ad772;border-color:#19cc6c;box-shadow:0 0 0 .2rem rgba(45,198,116,.5)}.btn-success.disabled,.btn-success:disabled{color:#111112;background-color:#32e685;border-color:#32e685}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#19cc6c;border-color:#18c166}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(45,198,116,.5)}.btn-info{color:#fff;background-color:#19a3ff;border-color:#19a3ff;box-shadow:none}.btn-info:hover{color:#fff;background-color:#0091f2;border-color:#0089e5}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#0091f2;border-color:#0089e5;box-shadow:0 0 0 .2rem rgba(60,177,255,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#0089e5;border-color:#0082d8}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(60,177,255,.5)}.btn-warning{color:#111112;background-color:#faff19;border-color:#faff19;box-shadow:none}.btn-warning:hover{color:#111112;background-color:#ecf200;border-color:#e0e500}.btn-warning:focus,.btn-warning.focus{color:#111112;background-color:#ecf200;border-color:#e0e500;box-shadow:0 0 0 .2rem rgba(215,219,24,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#111112;background-color:#faff19;border-color:#faff19}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#111112;background-color:#e0e500;border-color:#d4d800}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(215,219,24,.5)}.btn-danger{color:#fff;background-color:#ff198b;border-color:#ff198b;box-shadow:none}.btn-danger:hover{color:#fff;background-color:#f20078;border-color:#e50072}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#f20078;border-color:#e50072;box-shadow:0 0 0 .2rem rgba(255,60,156,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#e50072;border-color:#d8006b}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,60,156,.5)}.btn-light{color:#111112;background-color:#fff;border-color:#fff;box-shadow:none}.btn-light:hover{color:#111112;background-color:#ececec;border-color:#e6e6e6}.btn-light:focus,.btn-light.focus{color:#111112;background-color:#ececec;border-color:#e6e6e6;box-shadow:0 0 0 .2rem rgba(219,219,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#111112;background-color:#fff;border-color:#fff}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#111112;background-color:#e6e6e6;border-color:#dfdfdf}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(219,219,219,.5)}.btn-dark{color:#fff;background-color:#111112;border-color:#111112;box-shadow:none}.btn-dark:hover{color:#fff;background-color:#000;border-color:#000}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:#000;border-color:#000;box-shadow:0 0 0 .2rem rgba(53,53,54,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#111112;border-color:#111112}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(53,53,54,.5)}.btn-outline-primary{color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:hover{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#9a52ff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.btn-outline-secondary{color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:hover{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#e0e0e1;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.btn-outline-success{color:#32e685;border-color:#32e685}.btn-outline-success:hover{color:#111112;background-color:#32e685;border-color:#32e685}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#32e685;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#111112;background-color:#32e685;border-color:#32e685}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.btn-outline-info{color:#19a3ff;border-color:#19a3ff}.btn-outline-info:hover{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#19a3ff;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.btn-outline-warning{color:#faff19;border-color:#faff19}.btn-outline-warning:hover{color:#111112;background-color:#faff19;border-color:#faff19}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#faff19;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#111112;background-color:#faff19;border-color:#faff19}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.btn-outline-danger{color:#ff198b;border-color:#ff198b}.btn-outline-danger:hover{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#ff198b;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.btn-outline-light{color:#fff;border-color:#fff}.btn-outline-light:hover{color:#111112;background-color:#fff;border-color:#fff}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#fff;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#111112;background-color:#fff;border-color:#fff}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-outline-dark{color:#111112;border-color:#111112}.btn-outline-dark:hover{color:#fff;background-color:#111112;border-color:#111112}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#111112;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#111112;border-color:#111112}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.btn-link{font-weight:400;color:#fff;text-decoration:none}.btn-link:hover{color:#9a52ff;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#454549;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.width{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.width{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid;border-right:.4em solid transparent;border-bottom:0;border-left:.4em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#e0e0e1;text-align:left;list-style:none;background-color:#111112;background-clip:padding-box;border:1px solid #111112;border-radius:4px;box-shadow:0px 5px 40px #000}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:0;border-right:.4em solid transparent;border-bottom:.4em solid;border-left:.4em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid transparent;border-right:0;border-bottom:.4em solid transparent;border-left:.4em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.34em;vertical-align:.34em;content:"";border-top:.4em solid transparent;border-right:.4em solid;border-bottom:.4em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=top],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #000}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#fff;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#9a52ff;text-decoration:none;background-color:#111112}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:transparent}.dropdown-item.disabled,.dropdown-item:disabled{color:#838386;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:0.875rem;color:#454549;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#fff}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group.show .dropdown-toggle{box-shadow:none}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.form-control:not(:last-child),.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:1rem 1.5rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;text-align:center;white-space:nowrap;background-color:#454549;border:1px solid transparent;border-radius:4px}.input-group-text input[type=radio],.input-group-text input[type=checkbox]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + 0.5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:2.5rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;print-color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#9a52ff;background-color:#9a52ff}.custom-control-input:focus~.custom-control-label::before{box-shadow:none,0 0 0 .2rem rgba(154,82,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#e4d2ff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#fff;border-color:#fff}.custom-control-input[disabled]~.custom-control-label,.custom-control-input:disabled~.custom-control-label{color:#454549}.custom-control-input[disabled]~.custom-control-label::before,.custom-control-input:disabled~.custom-control-label::before{background-color:#454549}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#232325;border:1px solid #838386;box-shadow:none}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:4px}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23FFFFFF' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#9a52ff;background-color:#9a52ff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23FFFFFF' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(0.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#838386;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#232325;transform:translateX(0.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.25em + 2rem + 2px);padding:1rem 2.5rem 1rem 1.5rem;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;vertical-align:middle;background:#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat;border:1px solid transparent;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.075);appearance:none}.custom-select:focus{border-color:#e4d2ff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 0 .2rem rgba(154,82,255,.25)}.custom-select:focus::-ms-value{color:#fff;background-color:#232325}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:1.5rem;background-image:none}.custom-select:disabled{color:#454549;background-color:#e0e0e1}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}.custom-select-sm{height:calc(1.5em + 0.5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.25em + 2rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.25em + 2rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#e4d2ff;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.custom-file-input[disabled]~.custom-file-label,.custom-file-input:disabled~.custom-file-label{background-color:#454549}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.25em + 2rem + 2px);padding:1rem 1.5rem;overflow:hidden;font-weight:400;line-height:1.25;color:#fff;background-color:#232325;border:1px solid transparent;border-radius:4px;box-shadow:none}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.25em + 2rem);padding:1rem 1.5rem;line-height:1.25;color:#fff;content:"Browse";background-color:#454549;border-left:inherit;border-radius:0 4px 4px 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#fff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#c1c1c2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#fff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#c1c1c2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#fff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-fill-lower{background-color:#c1c1c2;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#c1c1c2;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#838386}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#838386}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#838386}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:1rem 2rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#454549;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #c1c1c2}.nav-tabs .nav-link{margin-bottom:-1px;background-color:transparent;border:1px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:#e0e0e1 #e0e0e1 #c1c1c2}.nav-tabs .nav-link.disabled{color:#454549;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#343437;background-color:#111112;border-color:#c1c1c2 #c1c1c2 #111112}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:4px}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#9a52ff}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:0 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-sm,.navbar .container-md,.navbar .container-lg,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:1.25rem;padding-bottom:1.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:1rem;padding-bottom:1rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media(max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media(max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media(max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media(max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:#454549}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:#454549;border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%23454549' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#454549}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#fff}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#9a52ff}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:#fff;border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%23FFFFFF' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#fff}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#232325;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:8px}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:7px;border-top-right-radius:7px}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:7px;border-bottom-left-radius:7px}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:2rem}.card-title{margin-bottom:2rem}.card-subtitle{margin-top:-1rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:2rem}.card-header{padding:2rem 2rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:7px 7px 0 0}.card-footer{padding:2rem 2rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 7px 7px}.card-header-tabs{margin-right:-1rem;margin-bottom:-2rem;margin-left:-1rem;border-bottom:0}.card-header-pills{margin-right:-1rem;margin-left:-1rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:7px}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:7px;border-top-right-radius:7px}.card-img,.card-img-bottom{border-bottom-right-radius:7px;border-bottom-left-radius:7px}.card-deck .card{margin-bottom:1.25rem}@media(min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-1.25rem;margin-left:-1.25rem}.card-deck .card{flex:1 0 0%;margin-right:1.25rem;margin-bottom:0;margin-left:1.25rem}}.card-group>.card{margin-bottom:15px}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:2rem}@media(min-width: 576px){.card-columns{column-count:3;column-gap:2rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#111112;border-radius:4px}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#454549;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#a2a2a4}.pagination{display:flex;padding-left:0;list-style:none;border-radius:4px}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#fff;background-color:#fff;border:1px solid #c1c1c2}.page-link:hover{z-index:2;color:#9a52ff;text-decoration:none;background-color:#e0e0e1;border-color:#c1c1c2}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.page-item:last-child .page-link{border-top-right-radius:4px;border-bottom-right-radius:4px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#9a52ff;border-color:#9a52ff}.page-item.disabled .page-link{color:#454549;pointer-events:none;cursor:auto;background-color:#fff;border-color:#c1c1c2}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:8px;border-bottom-left-radius:8px}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:8px;border-bottom-right-radius:8px}.pagination-sm .page-link{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:4px;border-bottom-right-radius:4px}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:4px;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#9a52ff}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#7c1fff}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.badge-secondary{color:#111112;background-color:#e0e0e1}a.badge-secondary:hover,a.badge-secondary:focus{color:#111112;background-color:#c6c6c8}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.badge-success{color:#111112;background-color:#32e685}a.badge-success:hover,a.badge-success:focus{color:#111112;background-color:#19cc6c}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.badge-info{color:#fff;background-color:#19a3ff}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#0089e5}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.badge-warning{color:#111112;background-color:#faff19}a.badge-warning:hover,a.badge-warning:focus{color:#111112;background-color:#e0e500}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.badge-danger{color:#fff;background-color:#ff198b}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#e50072}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.badge-light{color:#111112;background-color:#fff}a.badge-light:hover,a.badge-light:focus{color:#111112;background-color:#e6e6e6}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.badge-dark{color:#fff;background-color:#111112}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#000}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e0e0e1;border-radius:8px}@media(min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:4px}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#502b85;background-color:#ebdcff;border-color:#e3cfff}.alert-primary hr{border-top-color:#d4b6ff}.alert-primary .alert-link{color:#391f5e}.alert-secondary{color:#747475;background-color:#f9f9f9;border-color:#f6f6f7}.alert-secondary hr{border-top-color:#e9e9eb}.alert-secondary .alert-link{color:#5b5b5b}.alert-success{color:#1a7845;background-color:#d6fae7;border-color:#c6f8dd}.alert-success hr{border-top-color:#aff5cf}.alert-success .alert-link{color:#114e2d}.alert-info{color:#0d5585;background-color:#d1edff;border-color:#bfe5ff}.alert-info hr{border-top-color:#a6dbff}.alert-info .alert-link{color:#083757}.alert-warning{color:#82850d;background-color:#feffd1;border-color:#feffbf}.alert-warning hr{border-top-color:#feffa6}.alert-warning .alert-link{color:#555708}.alert-danger{color:#850d48;background-color:#ffd1e8;border-color:#ffbfdf}.alert-danger hr{border-top-color:#ffa6d2}.alert-danger .alert-link{color:#57082f}.alert-light{color:#858585;background-color:#fff;border-color:#fff}.alert-light hr{border-top-color:#f2f2f2}.alert-light .alert-link{color:#6c6c6c}.alert-dark{color:#090909;background-color:#cfcfd0;border-color:#bcbcbd}.alert-dark hr{border-top-color:#afafb0}.alert-dark .alert-link{color:#000}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:0.75rem;background-color:#111112;border-radius:4px;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#9a52ff;transition:width .6s ease}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:4px}.list-group-item-action{width:100%;color:#343437;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#343437;text-decoration:none;background-color:#f5f5f7}.list-group-item-action:active{color:#e0e0e1;background-color:#e0e0e1}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#111112;border:1px solid #232325}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#e0e0e1;pointer-events:none;background-color:#111112}.list-group-item.active{z-index:2;color:#fff;background-color:#9a52ff;border-color:#9a52ff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#502b85;background-color:#e3cfff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#502b85;background-color:#d4b6ff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#502b85;border-color:#502b85}.list-group-item-secondary{color:#747475;background-color:#f6f6f7}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#747475;background-color:#e9e9eb}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#747475;border-color:#747475}.list-group-item-success{color:#1a7845;background-color:#c6f8dd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#1a7845;background-color:#aff5cf}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#1a7845;border-color:#1a7845}.list-group-item-info{color:#0d5585;background-color:#bfe5ff}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0d5585;background-color:#a6dbff}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0d5585;border-color:#0d5585}.list-group-item-warning{color:#82850d;background-color:#feffbf}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#82850d;background-color:#feffa6}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#82850d;border-color:#82850d}.list-group-item-danger{color:#850d48;background-color:#ffbfdf}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#850d48;background-color:#ffa6d2}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#850d48;border-color:#850d48}.list-group-item-light{color:#858585;background-color:#fff}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#858585;background-color:#f2f2f2}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#858585;border-color:#858585}.list-group-item-dark{color:#090909;background-color:#bcbcbd}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#090909;background-color:#afafb0}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#090909;border-color:#090909}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#ff198b;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#ff198b;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:0.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#454549;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#000;background-clip:padding-box;border:1px solid #e0e0e1;border-radius:8px;box-shadow:0 .25rem .5rem rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #c1c1c2;border-top-left-radius:7px;border-top-right-radius:7px}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #c1c1c2;border-bottom-right-radius:7px;border-bottom-left-radius:7px}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.modal-content{box-shadow:0 .5rem 1rem rgba(0,0,0,.5)}.modal-sm{max-width:300px}}@media(min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:4px}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:8px;box-shadow:0 .25rem .5rem rgba(0,0,0,.2)}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 8px}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^=top]{margin-bottom:.5rem}.bs-popover-top>.arrow,.bs-popover-auto[x-placement^=top]>.arrow{bottom:calc(-0.5rem - 1px)}.bs-popover-top>.arrow::before,.bs-popover-auto[x-placement^=top]>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-top>.arrow::after,.bs-popover-auto[x-placement^=top]>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^=right]{margin-left:.5rem}.bs-popover-right>.arrow,.bs-popover-auto[x-placement^=right]>.arrow{left:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:8px 0}.bs-popover-right>.arrow::before,.bs-popover-auto[x-placement^=right]>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-right>.arrow::after,.bs-popover-auto[x-placement^=right]>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^=bottom]{margin-top:.5rem}.bs-popover-bottom>.arrow,.bs-popover-auto[x-placement^=bottom]>.arrow{top:calc(-0.5rem - 1px)}.bs-popover-bottom>.arrow::before,.bs-popover-auto[x-placement^=bottom]>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-bottom>.arrow::after,.bs-popover-auto[x-placement^=bottom]>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-0.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-left,.bs-popover-auto[x-placement^=left]{margin-right:.5rem}.bs-popover-left>.arrow,.bs-popover-auto[x-placement^=left]>.arrow{right:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:8px 0}.bs-popover-left>.arrow::before,.bs-popover-auto[x-placement^=left]>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-left>.arrow::after,.bs-popover-auto[x-placement^=left]>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:#fff;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:7px;border-top-right-radius:7px}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#e0e0e1}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFFFFF' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFFFFF' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;border:.25em solid currentcolor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;background-color:currentcolor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#9a52ff !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#7c1fff !important}.bg-secondary{background-color:#e0e0e1 !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#c6c6c8 !important}.bg-success{background-color:#32e685 !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#19cc6c !important}.bg-info{background-color:#19a3ff !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#0089e5 !important}.bg-warning{background-color:#faff19 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#e0e500 !important}.bg-danger{background-color:#ff198b !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#e50072 !important}.bg-light{background-color:#fff !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#e6e6e6 !important}.bg-dark{background-color:#111112 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#000 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:transparent !important}.border{border:1px solid #c1c1c2 !important}.border-top{border-top:1px solid #c1c1c2 !important}.border-right{border-right:1px solid #c1c1c2 !important}.border-bottom{border-bottom:1px solid #c1c1c2 !important}.border-left{border-left:1px solid #c1c1c2 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#9a52ff !important}.border-secondary{border-color:#e0e0e1 !important}.border-success{border-color:#32e685 !important}.border-info{border-color:#19a3ff !important}.border-warning{border-color:#faff19 !important}.border-danger{border-color:#ff198b !important}.border-light{border-color:#fff !important}.border-dark{border-color:#111112 !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:4px !important}.rounded{border-radius:4px !important}.rounded-top{border-top-left-radius:4px !important;border-top-right-radius:4px !important}.rounded-right{border-top-right-radius:4px !important;border-bottom-right-radius:4px !important}.rounded-bottom{border-bottom-right-radius:4px !important;border-bottom-left-radius:4px !important}.rounded-left{border-top-left-radius:4px !important;border-bottom-left-radius:4px !important}.rounded-lg{border-radius:8px !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media(min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media(min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media(min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media(min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714286%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media(min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media(min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media(min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media(min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media(min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media(min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media(min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media(min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports(position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-0.25rem !important}.mt-n1,.my-n1{margin-top:-0.25rem !important}.mr-n1,.mx-n1{margin-right:-0.25rem !important}.mb-n1,.my-n1{margin-bottom:-0.25rem !important}.ml-n1,.mx-n1{margin-left:-0.25rem !important}.m-n2{margin:-0.5rem !important}.mt-n2,.my-n2{margin-top:-0.5rem !important}.mr-n2,.mx-n2{margin-right:-0.5rem !important}.mb-n2,.my-n2{margin-bottom:-0.5rem !important}.ml-n2,.mx-n2{margin-left:-0.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media(min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-0.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-0.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-0.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-0.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-0.25rem !important}.m-sm-n2{margin:-0.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-0.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-0.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-0.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-0.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media(min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-0.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-0.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-0.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-0.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-0.25rem !important}.m-md-n2{margin:-0.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-0.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-0.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-0.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-0.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media(min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-0.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-0.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-0.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-0.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-0.25rem !important}.m-lg-n2{margin:-0.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-0.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-0.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-0.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-0.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media(min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-0.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-0.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-0.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-0.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-0.25rem !important}.m-xl-n2{margin:-0.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-0.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-0.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-0.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-0.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:"Space Mono",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media(min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#9a52ff !important}a.text-primary:hover,a.text-primary:focus{color:#6d06ff !important}.text-secondary{color:#e0e0e1 !important}a.text-secondary:hover,a.text-secondary:focus{color:#b9b9bb !important}.text-success{color:#32e685 !important}a.text-success:hover,a.text-success:focus{color:#16b560 !important}.text-info{color:#19a3ff !important}a.text-info:hover,a.text-info:focus{color:#007acc !important}.text-warning{color:#faff19 !important}a.text-warning:hover,a.text-warning:focus{color:#c7cc00 !important}.text-danger{color:#ff198b !important}a.text-danger:hover,a.text-danger:focus{color:#cc0065 !important}.text-light{color:#fff !important}a.text-light:hover,a.text-light:focus{color:#d9d9d9 !important}.text-dark{color:#111112 !important}a.text-dark:hover,a.text-dark:focus{color:#000 !important}.text-body{color:#e0e0e1 !important}.text-muted{color:#e0e0e1 !important}.text-black-50{color:rgba(0,0,0,.5) !important}.text-white-50{color:rgba(255,255,255,.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;word-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #838386;page-break-inside:avoid}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #c1c1c2 !important}.table-dark{color:inherit}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#c1c1c2}.table .thead-dark th{color:inherit;border-color:#c1c1c2}}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}pre,code{font-feature-settings:"liga" 0;font-variant-ligatures:none}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:bold}h1,.h1{font-size:3.875rem;line-height:70px}@media(max-width: 480px){h1,.h1{font-size:2.625rem;line-height:48px}}h2,.h2{font-size:3.5rem;line-height:62px}@media(max-width: 767.98px){h2,.h2{font-size:1.75rem;line-height:34px}}@media(max-width: 767.98px){h2-sm,.h2-sm{font-size:1.75rem !important;line-height:34px !important}}h3,.h3{font-size:3rem;line-height:52px}@media(max-width: 767.98px){h3,.h3{font-size:1.5rem;line-height:28px}}@media(max-width: 767.98px){h3-sm,.h3-sm{font-size:1.5rem;line-height:28px}}h4,.h4{font-size:2rem;line-height:38px}@media(max-width: 767.98px){h4,.h4{font-size:1.25rem;line-height:26px}}h5,.h5{font-size:1.5rem;line-height:32px}@media(max-width: 767.98px){h5,.h5{font-size:1.125rem;line-height:26px}}h6,.h6{font-size:1.25rem;line-height:26px}@media(max-width: 767.98px){h6,.h6{font-size:1rem;line-height:24px}}.longform{font-size:1.5rem;line-height:32px;color:#f5f5f7;font-weight:500}@media(max-width: 767.98px){.longform{font-size:1.25rem;line-height:26px}}.numbers{font-size:6rem;line-height:104px;font-weight:bold;color:#fff}@media(max-width: 767.98px){.numbers{font-size:3.875rem;line-height:70px}}p{font-size:1rem;line-height:24px}.fs-base{font-size:1rem}.fs-3{font-size:.75rem;line-height:1rem}.fs-4-5{font-size:1.125rem}.fs-5{font-size:1.25rem}.fs-5-5{font-size:1.375rem}.fs-6{font-size:1.5rem}.normal{font-weight:normal}.bold{font-weight:bold}.text-largest{font-size:1.5rem;font-weight:normal}.text-large{font-size:1.125rem}.text-small{font-size:.875rem}.text-smaller{font-size:.75rem}.text-smallest{font-size:.625rem}.arrow-link{text-decoration:none}.arrow-link:after{content:url(../img/icon-long-arrow.svg);width:28px;padding-left:7px;transition:all .2s ease-in-out;display:inline-block;text-decoration:none}.arrow-link:hover:after{padding-left:14px}.lang-ja{font-family:"Work Sans","Noto Sans JP",sans-serif}.lang-ja h1,.lang-ja h2,.lang-ja h3,.lang-ja h4,.lang-ja h5,.lang-ja .navbar .navbar-nav .nav-link,.lang-ja article .children-display li a,.lang-ja .right-sidebar .level-1 a,.lang-ja .right-sidebar .separator{font-family:"Work Sans","Noto Sans JP",sans-serif}.search .input-group-text{border-width:0;color:#fff;background-color:#232325;border-radius:4px 0 0 4px;padding:.5rem .5rem .5rem 1rem;line-height:1.5}.search .ds-input{background-color:#232325;border-radius:0 4px 4px 0;padding:.75rem 1rem .75rem .5rem;width:100%;border:1px solid #232325}.search .ds-input:focus{box-shadow:none;border-color:#9a52ff}.search .algolia-autocomplete{flex-grow:1}#algolia-autocomplete-listbox-0{z-index:1100 !important}.xrp-ledger-dev-portal .DocSearch-Modal{top:85px;background-color:#232325;box-shadow:none}html .DocSearch-Modal{box-shadow:none}html .DocSearch-Button{height:32px;border-radius:4px}html .DocSearch-Button:hover{border-radius:4px}html .DocSearch-Modal{max-width:55%}@media(min-width: 1200px){html .DocSearch-Modal{margin-right:112px}}@media(max-width: 991.98px){html .algolia-autocomplete .ds-dropdown-menu{min-width:unset}html .DocSearch-Modal{top:112px;max-width:100%;margin-left:0;margin-right:0}}html .DocSearch-Container{z-index:99999 !important;background-color:transparent !important}html #centersearchboxcontainer{justify-content:center}html #topsearchboxcontainer{justify-content:right}html .algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{background-color:#111112;border:0;border-radius:8px}html .algolia-autocomplete .algolia-docsearch-suggestion--category-header{border:0;font-weight:bold}html .algolia-autocomplete .algolia-docsearch-suggestion--text{font-size:.8rem}html .algolia-autocomplete .ds-dropdown-menu::before{border:0}.dark .DocSearch-Modal{background-color:#232325}.dark .DocSearch-Cancel{color:#9a52ff}.dark .DocSearch-Form{box-shadow:inset 0 0 0 2px #9a52ff;background-color:#232325}.dark .DocSearch-Hit-source{color:#9a52ff}.dark .DocSearch-Hits mark{color:#9a52ff}.dark .DocSearch-Hit-source,.dark .DocSearch-Hit-Container,.dark .DocSearch-Footer{background-color:#232325}.dark .DocSearch-Hit a{background-color:#232325;box-shadow:none}.dark .DocSearch-Hit-source{color:#a2a2a4}.dark .DocSearch-Input{color:#fff}.dark .DocSearch-Hit-title,.dark .DocSearch-Hit-path,.dark .DocSearch-Label,.dark .DocSearch-Help{color:#f5f5f7 !important}.dark .DocSearch-Hit[aria-selected=true] a{background:#343437}.dark .DocSearch-Hit[aria-selected=true] a .DocSearch-Hit-Container{background-color:#343437}.dark .DocSearch-Hit[aria-selected=true] a mark{color:#9a52ff !important}.dark .DocSearch-Prefill{color:#9a52ff}.dark .DocSearch-Button{background:#232325}.dark .DocSearch-Button:hover{background:#232325;box-shadow:inset 0 0 0 2px #9a52ff}.dark .DocSearch-Button:hover .DocSearch-Button-Placeholder{color:#fff}.dark .DocSearch-Search-Icon{color:#fff !important}.dark .DocSearch-Logo svg .cls-1,.dark .DocSearch-Logo svg .cls-2{fill:#fff}.dark .DocSearch-Commands-Key{color:#232325}.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header{color:#fff;border-bottom:2px solid #9a52ff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{color:#fff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--title{color:#fff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--text{color:#e0e0e1}.dark .algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#fff;background-color:#343437}.dark .algolia-autocomplete .ds-dropdown-menu::before{background-color:#111112}.dark .algolia-autocomplete .algolia-docsearch-suggestion{background-color:#111112}.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight,.dark .algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{box-shadow:none;background-color:#343437}body{position:relative}section{position:relative}.landing{padding:0}.square{position:relative;flex-basis:calc(50% - 30px);margin:15px;box-sizing:border-box;justify-content:center;align-items:center;border-radius:8px}.square::before{content:"";display:block;padding-top:100%}@media(min-width: 992px){.square{flex-basis:calc(25% - 30px)}}.square-50{flex-basis:calc(50% - 30px)}@media(max-width: 767.98px){.square-50{flex-basis:calc(50% - 20px)}}.nav-grid-lg{display:flex;flex-direction:column}.nav-grid-lg .nav-item{width:100%}.nav-grid-lg .nav-item .nav-link{display:flex}.nav-grid-lg .nav-item .nav-link span{flex-grow:0}.nav-grid-lg .nav-item .nav-link img{max-height:2rem}.nav-grid-lg .nav-grid-head{margin-top:2.5rem}@media(min-width: 992px){.nav-grid-lg{display:grid;grid-auto-flow:column;grid-column-gap:80px}.nav-grid-lg .nav-grid-head{margin-top:0}}.col-lg{padding-left:0;padding-right:0}@media(min-width: 992px){.cols-of-1{grid-template-rows:repeat(1, min-content)}}@media(min-width: 992px){.cols-of-2{grid-template-rows:repeat(2, min-content)}}@media(min-width: 992px){.cols-of-3{grid-template-rows:repeat(3, min-content)}}@media(min-width: 992px){.cols-of-4{grid-template-rows:repeat(4, min-content)}}@media(min-width: 992px){.cols-of-5{grid-template-rows:repeat(5, min-content)}}@media(min-width: 992px){.cols-of-6{grid-template-rows:repeat(6, min-content)}}.card-grid{display:grid;grid-gap:40px;padding:0;width:100%;grid-template-columns:1fr}@media(min-width: 992px){.card-grid{grid-gap:80px}}.card-grid .col{padding-left:0;padding-right:0;min-width:100%}.card-grid.card-grid-4xN{grid-auto-rows:auto;grid-template-columns:repeat(2, 1fr)}@media(min-width: 992px){.card-grid.card-grid-4xN{grid-template-columns:repeat(4, 1fr)}}.card-grid.card-grid-3xN{grid-auto-rows:auto}@media(min-width: 992px){.card-grid.card-grid-3xN{grid-template-columns:1fr 1fr 1fr}}.card-grid.card-grid-2xN{grid-template-columns:1fr 1fr;grid-auto-rows:auto}@media(max-width: 991.98px){.card-grid.card-grid-2xN{grid-template-columns:1fr}}.card-grid.card-grid-1x2{grid-template-columns:1fr 2fr;grid-auto-rows:auto}@media(max-width: 991.98px){.card-grid.card-grid-1x2{display:flex}}.card-grid .card{padding:20px;border:0;min-height:264px}@media(min-width: 768px){.card-grid .card{min-height:347px}}@media(min-width: 992px){.card-grid .card{padding:40px}}.card-grid .card .card-body{padding:8px;padding-bottom:24px}.card-grid .card .card-body .card-icon-container{width:50px;height:50px}.card-grid .card .card-body .card-icon-container img{width:70%;height:70%}.card-grid.section-hero{padding-left:0}.container-new{display:flex;flex-wrap:wrap;margin:0 auto;padding:0 32px;max-width:100%;z-index:1}@media(min-width: 768px){.container-new{max-width:608px}}@media(min-width: 992px){.container-new{max-width:942px}}@media(min-width: 1200px){.container-new{max-width:1280px}}@media(max-width: 991.98px){article{overflow-wrap:break-word;word-wrap:break-word;overflow:hidden}}@media(max-width: 480px){html{overflow-x:hidden !important}}@media(max-width: 400px){.navbar .navbar-brand .brand-text{margin-right:0;letter-spacing:-0.08rem}.navbar .navbar-brand{margin-right:0}.navbar .navbar-brand .logo{margin-right:0;margin-left:-1rem}.btn{white-space:normal}}.timeline-wrapper{z-index:999;position:relative}.timeline:before{content:"";position:absolute;top:-40px;left:18px;height:95%;width:4px;background:linear-gradient(180deg, #feff01 0%, #ff2d9a 33%, #a3088f 66%, rgba(44, 4, 128, 0.85) 100%)}@media(max-width: 991.98px){.timeline:before{left:8px}}.timeline-dot{margin-top:94px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-ms-flex-negative:0;flex-shrink:0;width:18px;height:18px;border-radius:50%;background:#111112;box-sizing:border-box}.timeline-block:first-child .timeline-dot{border:3px solid #faff19}.timeline-block:nth-child(2) .timeline-dot{border:3px solid #ff884b}.timeline-block:nth-child(3) .timeline-dot{border:3px solid #c000e5}.timeline-block:nth-child(4) .timeline-dot{border:3px solid #40004c}.timeline-block{display:flex;position:relative;z-index:1}.timeline-content{flex-grow:1;position:relative;margin-left:1.25em}.timeline h4{margin-top:-4px}@media(min-width: 768px){.timeline:before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.timeline-dot{-ms-flex-order:1;order:1;margin-left:calc(5% - 9px);will-change:transform}.timeline-block:nth-child(even){-ms-flex-direction:row-reverse;flex-direction:row-reverse}.timeline-dot{margin-right:calc(5% - 9px)}.timeline-content{width:45%;-ms-flex-positive:0;flex-grow:0;will-change:transform;margin:0;--line-height-multiplier: 1.2}}@media(min-width: 992px){[data-component-name="TableOfContent/TableOfContent"]{margin-right:32px}}aside li a{color:#fff;text-decoration:none;font-size:1.05rem}aside .sidenav_cat_title{color:#fff}aside a:hover,aside .sidenav_cat_title:hover{color:#9a52ff}aside a.active,aside a.active:hover,aside .active>a,aside .active>a:hover{color:#9a52ff;font-weight:700}aside a.active-parent,aside .active-parent>a{font-weight:700}.page-toc .level-1 a,.command-list .separator{font-weight:700;color:#fff}.nav-toggler{position:absolute;width:1.75em;height:1.75em;line-height:0;display:grid;justify-content:center;align-content:center}.nav-toggler::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid;border-right:.4em solid transparent;border-bottom:0;border-left:.4em solid transparent}.nav-toggler:empty::after{margin-left:0}.nav-toggler::after{transition-duration:.3s}.nav-toggler.collapsed::after{transform:rotate(-90deg)}.dactyl-tree-nav nav{margin-left:1rem;padding-left:0;border-left:1px solid #fff}.dactyl-tree-nav nav .nav-link:hover,.dactyl-tree-nav nav .nav-link:active{border-left:1px solid #9a52ff;margin-left:-1px}.dactyl-tree-nav nav .active>.nav-link{border-left:2px solid #9a52ff;margin-left:-1px;padding-left:calc(1rem - 1px)}.dactyl-tree-nav .nav-item{position:relative}.dactyl-tree-nav .nav-item .nav-link{padding:.25rem 1rem;font-size:.9rem}.dactyl-tree-nav .nav-item.nav-parent{padding-top:0}.dactyl-tree-nav .nav-item.nav-parent .nav-link{padding-left:0;padding-top:0;font-size:1.125rem;line-height:initial}.dactyl-tree-nav .nav-item .nav-toggler+.nav-link{padding-left:2rem}.dactyl-tree-nav>.nav-item{padding:.5rem 0;font-size:1.125rem}.dactyl-tree-nav>.nav-item>.nav-link{font-weight:bold}.dactyl-tree-nav .collapsing.nav{flex-wrap:unset}.toc-header{font-weight:bold;font-size:14px;padding:1rem 0}.toc-header h4{line-height:20px;font-size:1.2em;padding:0;margin:0}#page-toc-wrapper .card-body{list-style-type:none}.page-toc,.command-list{padding-left:0;border-left:1px solid #fff}.page-toc li,.command-list li{list-style-type:none;padding:0}.page-toc li.separator,.command-list li.separator{padding:.25rem 1rem}.page-toc li a,.command-list li a{display:block;margin-top:5px;padding:.25rem 1rem;font-size:.9rem}.page-toc li a:hover,.page-toc li a .active,.command-list li a:hover,.command-list li a .active{text-decoration:none;border-left:1px solid #9a52ff;margin-left:-1px}.page-toc li.active a,.page-toc li.active a:hover,.command-list li.active a,.command-list li.active a:hover{border-left:2px solid #9a52ff;padding-left:calc(1rem - 1px);margin-left:-1px}.page-toc .level-3,.command-list .level-3{margin-left:16px;border-left:1px solid #fff;margin-bottom:0;padding-bottom:5px}.page-toc .level-3 a,.command-list .level-3 a{margin-top:0;padding-bottom:5px}.page-toc.no-sideline,.command-list.no-sideline{border-left:0}.page-toc.no-sideline a:hover,.page-toc.no-sideline a.active,.command-list.no-sideline a:hover,.command-list.no-sideline a.active{border-left:0;margin-left:0}.command-list li a{margin-top:0}.h32{height:32px}.w32{width:32px}.h36{height:36px}.w36{width:36px}.h40{height:40px}.w40{width:40px}.w44{width:44px}.w48{width:48px}.w-100{width:100%}.min-vh100{min-height:100vh}.vw100{width:100vw;min-width:100%}@media(max-width: 767.98px){.mb-3-sm-i{margin-bottom:1rem !important}}.ml-5{margin-left:1.25rem}@media(min-width: 768px){.ml-5-until-md{margin-left:1.25rem}}.mr-5{margin-right:1.25rem}@media(min-width: 768px){.mr-5-until-md{margin-right:1.25rem}}.mb-6{margin-bottom:1.5rem}@media(max-width: 767.98px){.mb-6-sm{margin-bottom:1.5rem}}.mt-6{margin-top:1.5rem}@media(min-width: 576px){.mt-6-until-sm{margin-top:1.5rem !important}}.mb-8{margin-bottom:2rem}@media(max-width: 767.98px){.mb-8-sm{margin-bottom:2rem}}.mt-8{margin-top:2rem}@media(min-width: 576px){.mt-8-until-sm{margin-top:2rem !important}}.mt-9{margin-top:2.25rem}.mb-9{margin-bottom:2.25rem}.mt-10{margin-top:2.5rem}@media(max-width: 767.98px){.mt-10-sm{margin-top:2.5rem}}.mb-10{margin-bottom:2.5rem}@media(min-width: 576px){.mb-10-until-sm{margin-bottom:2.5rem}}@media(max-width: 767.98px){.mb-10-sm{margin-bottom:2.5rem}}.ml-10{margin-left:2.5rem}.mr-10{margin-right:2.5rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}@media(min-width: 576px){.mx-10-until-sm{margin-left:2.5rem;margin-right:2.5rem}}@media(min-width: 768px){.mx-10-until-md{margin-left:2.5rem;margin-right:2.5rem}}@media(max-width: 767.98px){.mx-10-sm{margin-left:2.5rem;margin-right:2.5rem}}.mt-12{margin-top:3rem}.mb-12{margin-bottom:3rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mt-13{margin-top:3.25rem}.mb-13{margin-bottom:3.25rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}@media(max-width: 767.98px){.mt-16-sm{margin-top:4rem}}.mb-16{margin-bottom:4rem}@media(max-width: 767.98px){.mb-16-sm{margin-bottom:4rem}}.mb-18{margin-bottom:4.5rem}.mt-20{margin-top:5rem}@media(max-width: 767.98px){.mt-20-sm{margin-top:5rem}}@media(min-width: 576px){.mt-20-until-sm{margin-top:5rem}}.mb-20{margin-bottom:5rem}@media(max-width: 767.98px){.mb-20-sm{margin-bottom:5rem}}@media(min-width: 576px){.mb-20-until-sm{margin-bottom:5rem}}.my-20{margin-top:5rem;margin-bottom:5rem}.my-26{margin-top:6.5rem;margin-bottom:6.5rem}.mb-30{margin-bottom:7.5rem}.mt-30{margin-top:7.5rem}@media(min-width: 576px){.mt-30-until-sm{margin-top:7.5rem}}.mt-40{margin-top:10rem}@media(min-width: 576px){.mt-40-until-sm{margin-top:10rem}}.mb-40{margin-bottom:10rem}@media(min-width: 576px){.mb-40-until-sm{margin-bottom:10rem}}.mb-49{margin-bottom:12.25rem}.mb-50{margin-bottom:12.5rem}@media(min-width: 576px){.mb-50-until-sm{margin-bottom:12.5rem}}@media(max-width: 767.98px){.pl-0-sm{padding-left:0 !important}}@media(max-width: 767.98px){.pr-0-sm{padding-right:0 !important}}@media(max-width: 767.98px){.pt-3-sm{padding-top:1rem !important}}.p-6{padding:1.5rem}@media(max-width: 767.98px){.p-6-sm{padding:1.5rem}}.p-8{padding:2rem}@media(max-width: 767.98px){.p-8-sm{padding:2rem}}.p-10{padding:2.5rem}@media(min-width: 576px){.p-10-until-sm{padding:2.5rem}}.py-20{padding-bottom:5rem;padding-top:5rem}.px-20{padding-left:5rem;padding-right:5rem}.pt-20{padding-top:5rem}.pb-20{padding-bottom:5rem}.py-26{padding-top:6.5rem;padding-bottom:6.5rem}@media(max-width: 767.98px){.py-26{padding-top:2.5rem;padding-bottom:2.5rem}}.pt-26{padding-top:2.5rem}@media(min-width: 576px){.pt-26-until-sm{padding-top:6.5rem}}.pb-26{padding-bottom:6.5rem}@media(min-width: 576px){.pb-26-until-sm{padding-bottom:6.5rem}}.pt-30{padding-top:7.5rem}.pb-30{padding-bottom:7.5rem}.pt-40{padding-top:10rem}@media(min-width: 576px){.pt-40-until-sm{padding-top:10rem}}.pb-40{padding-bottom:10rem}.pb-50{padding-bottom:12.5rem}.pt-50{padding-top:12.5rem}.py-50{padding-bottom:12.5rem;padding-top:12.5rem}@media(min-width: 576px){.py-50-until-sm{padding-bottom:12.5rem;padding-top:12.5rem}}.floating-nav{top:6rem}.last-section{margin-bottom:100px}.bottom-0{bottom:0}.justify-center{justify-content:center}@media(max-width: 767.98px){.justify-center-sm{justify-content:center}}@media(max-width: 575.98px){.overflow-xs{overflow:scroll}.overflow-x-xs{overflow-x:scroll;overflow-y:hidden}}@media(min-width: 768px){.position-sm-absolute{position:absolute}}.va-middle{vertical-align:middle}.ls-none{list-style:none}.no-wrap{white-space:nowrap}.align-items-stretch{align-items:stretch}.underline{text-decoration:underline}@media(max-width: 575.98px){.d-none-xs{display:none}}@media(max-width: 767.98px){.d-none-sm{display:none}}@media(min-width: 992px){.d-none-lg{display:none}}.d-block{display:block}.border-green{border:1px solid #9a52ff}.border-none{border:none !important}.grey-400{color:#a2a2a4}.grey-500{color:#838386}.grey-700{color:#343437}.white{color:#fff}.stat-highlight{color:#32e685}.br-8{border-radius:8px}@media(max-width: 767.98px){br.until-sm{content:""}}.z-index-1{z-index:1}.bb-gray{border-bottom:1px solid #454549}@keyframes arrowDance{0%{padding-left:7px}50%{padding-left:14px}100%{padding-left:7px}}@keyframes arrowDance2{0%{right:0}50%{right:7px}100%{right:0}}@keyframes arrowDanceDiag{0%{right:7px;margin-top:0}50%{right:0;margin-top:-7px}100%{right:7px;margin-top:0}}.btn,article a.button,article .btn{font-weight:bold;cursor:pointer;text-decoration:none;transition:.2s;padding:.5rem 1rem;line-height:16px}article a.button{padding:.5rem 1rem;margin:0 .5rem;display:inline-block}.btn.disabled,button.disabled,.btn[disabled=disabled],button[disabled=disabled]{cursor:not-allowed}.btn-primary code,.btn-secondary code{color:inherit}.btn-primary{background:#7919ff;font-weight:bold;color:#fff;border:none;border-color:transparent}.btn-primary:hover{background:#5f00e5}.btn-primary.disabled,.btn-primary[disabled=disabled]{background:#4a00b2}.btn-primary.disabled:hover,.btn-primary[disabled=disabled]:hover{background:#4a00b2}@media(max-width: 767.98px){.btn-arrow{display:block;width:100%}}.btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right.svg);position:relative;top:1px;vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.btn-arrow:hover{background:#5f00e5 !important;border:none}.btn-arrow:hover::after{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.btn-arrow-out::after{background-position:left 0px bottom 0px;content:" ";background-image:url(../img/icons/arrow-up-right-white.svg);background-repeat:no-repeat;display:inline-block;padding:4px 8px 4px 12px;transition:background-position .3s ease-in-out;margin-left:4px}.btn-arrow-out:hover::after{background-position:left 4px bottom 4px}@media(max-width: 767.98px){.btn-arrow-out{display:block;width:100%}}.jump-to-top{display:none;position:fixed;bottom:36px;right:36px;font-weight:700;z-index:1000}.jump-to-top::after{display:none}.accordian-row{background:#232325;border-radius:5px;padding:32px}.accordian-row h3 a{position:relative;padding-right:2rem}.accordian-row h3 a:hover{color:#fff}.accordian-row .chevron{position:absolute;top:0;right:0}article table{clear:right;margin-bottom:48px}article table code{word-break:normal;white-space:nowrap;overflow-wrap:normal}article table th{border-bottom:2px solid #e0e0e1}article table tr{border-bottom:1px solid #e0e0e1}article table th,article table td{padding:.2em;vertical-align:text-top}article table td:nth-child(1){font-weight:bold}.landing-table th,.landing-table tr{border-bottom:2px solid #454549}.landing-table td{width:33.33%;padding:16px 40px 16px 0}.landing-table td:nth-child(1){font-weight:normal}@media(max-width: 767.98px){.landing-table td{font-size:.875rem}}.landing-table tr:last-child{border-bottom:none}.landing-table tbody td{color:#e0e0e1}.dblue{color:#454549}#overview-table td:nth-child(1){width:40%}#overview-table td:nth-child(2){width:30%}#overview-table tbody td{padding:2rem .75rem}@media(max-width: 991.98px){#overview-table{font-size:.875rem}#overview-table thead .h4{font-size:1.125rem}}article table{clear:right;margin-bottom:48px}article table code{word-break:normal;white-space:nowrap;overflow-wrap:normal}article table th{border-bottom:2px solid #e0e0e1}article table tr{border-bottom:1px solid #e0e0e1}article table th,article table td{padding:.2em;vertical-align:text-top}article table td:nth-child(1){font-weight:bold}.landing-table th,.landing-table tr{border-bottom:2px solid #454549}.landing-table td{width:33.33%;padding:16px 40px 16px 0}.landing-table td:nth-child(1){font-weight:normal}@media(max-width: 767.98px){.landing-table td{font-size:.875rem}}.landing-table tr:last-child{border-bottom:none}.landing-table tbody td{color:#e0e0e1}.dblue{color:#454549}#overview-table td:nth-child(1){width:40%}#overview-table td:nth-child(2){width:30%}#overview-table tbody td{padding:2rem .75rem}@media(max-width: 991.98px){#overview-table{font-size:.875rem}#overview-table thead .h4{font-size:1.125rem}}.modal-uses.exchanges .logo-item{max-height:58px;margin:5px;width:145px;height:28px;max-width:none}.modal-content-uses .carbonland-trust{max-width:218px}.modal-content-uses .first-ledger-bot{min-height:100px !important;position:relative;bottom:20px;content:url("../img/uses/first-ledger-bot.svg")}.modal-content-uses .orchestra-finance{min-height:56px !important;content:url("../img/uses/orchestra-finance.svg")}.modal-content-uses .moai-finance{min-height:100px !important;position:relative;bottom:20px;content:url("../img/uses/moai-finance.svg")}.modal-content-uses .ledger-city{margin:0px !important;position:relative;bottom:4px;left:6px;max-height:47px !important}.modal-content-uses .zerpmon{margin:0px;min-width:80px;min-height:84px;position:relative;bottom:13px;content:url("../img/uses/zerpmon.png") !important}#use_case_companies_list #threezy .biz-logo{max-height:40px;content:url("../img/uses/modallogos/threezy.png")}html.light .cryptum{content:url(../img/uses/lightmode/cryptum.jpg) !important;height:58px;max-width:max-content;width:184px;max-height:none;margin:0px;padding-bottom:10px}.xrp-ledger{content:url(../img/uses/modallogos/xrp-ledger.png)}html.light .xrp-ledger{content:url(../img/uses/lightmode/xrp-ledger.png)}.gatehub{content:url(../img/uses/modallogos/gatehub.png)}html.light .gatehub{content:url(../img/uses/lightmode/gatehub.png)}.towolabs{content:url(../img/uses/modallogos/towolabs.png)}html.light .towolabs{content:url(../img/uses/lightmode/towolabs.png)}.xrpscan{content:url(../img/uses/modallogos/xrpscan.png)}html.light .xrpscan{content:url(../img/uses/lightmode/xrpscan.png)}.xrp-toolkit{content:url(../img/uses/modallogos/xrp-toolkit.png)}html.light .xrp-toolkit{content:url(../img/uses/lightmode/xrp-toolkit.png)}.bithomp{content:url(../img/uses/modallogos/bithomp.png)}html.light .bithomp{content:url(../img/uses/lightmode/bithomp.png)}.onthedex{content:url(../img/uses/modallogos/onthedex.png)}html.light .onthedex{content:url(../img/uses/lightmode/onthedex.png)}.cryptum{content:url(../img/uses/modallogos/cryptum.png)}html.light .cryptum{content:url(../img/uses/lightmode/cryptum.png)}.evernode{content:url(../img/uses/modallogos/evernode.png)}html.light .evernode{content:url(../img/uses/lightmode/evernode.png)}.threezy{content:url(../img/uses/modallogos/threezy.png)}html.light .threezy{content:url(../img/uses/lightmode/threezy.png)}.tokenize{content:url(../img/uses/modallogos/tokenize.png)}html.light .tokenize{content:url(../img/uses/lightmode/tokenize.png)}.multichain{content:url(../img/uses/modallogos/multichain.png)}html.light .multichain{content:url(../img/uses/lightmode/multichain.png)}.crossmark{content:url(../img/uses/modallogos/crossmark.png)}html.light .crossmark{content:url(../img/uses/lightmode/crossmark.png)}.edge{content:url(../img/uses/modallogos/edge.png)}html.light .edge{content:url(../img/uses/lightmode/edge.png)}.gem-wallet{content:url(../img/uses/modallogos/gem-wallet.png)}html.light .gem-wallet{content:url(../img/uses/lightmode/gem-wallet.png)}.xumm{content:url(../img/uses/modallogos/xumm.png)}html.light .xumm{content:url(../img/uses/lightmode/xumm.png)}.aesthetes{content:url(../img/uses/modallogos/aesthetes.png)}html.light .aesthetes{content:url(../img/uses/lightmode/aesthetes.png)}.audiotarky{content:url(../img/uses/modallogos/audiotarky.png)}html.light .audiotarky{content:url(../img/uses/lightmode/audiotarky.png)}.nftmaster{content:url(../img/uses/modallogos/nftmaster.png)}html.light .nftmaster{content:url(../img/uses/lightmode/nftmaster.png)}.peerkat{content:url(../img/uses/modallogos/peerkat.png)}html.light .peerkat{content:url(../img/uses/lightmode/peerkat.png)}.sologenic_dex{content:url(../img/uses/modallogos/sologenic_dex.png)}html.light .sologenic_dex{content:url(../img/uses/lightmode/sologenic_dex.png)}.xrp-cafe{content:url(../img/uses/modallogos/xrp-cafe.png)}html.light .xrp-cafe{content:url(../img/uses/lightmode/xrp-cafe.png)}.xrp-oval{content:url(../img/uses/modallogos/xrp-oval.png)}html.light .xrp-oval{content:url(../img/uses/lightmode/xrp-oval.png)}.sologenic_dex{content:url(../img/uses/modallogos/sologenic_dex.png)}html.light .sologenic_dex{content:url(../img/uses/lightmode/sologenic_dex.png)}.xpmarket{content:url(../img/uses/modallogos/xpmarket.png)}html.light .xpmarket{content:url(../img/uses/lightmode/xpmarket.png)}.orchestra-finance{content:url(../img/uses/modallogos/orchestra-finance.png)}html.light .orchestra-finance{content:url(../img/uses/lightmode/orchestra-finance.png)}.moai-finance{content:url(../img/uses/modallogos/moai-finance.png)}html.light .moai-finance{content:url(../img/uses/lightmode/moai-finance.png)}.first-ledger-bot{content:url(../img/uses/modallogos/first-ledger-bot.png)}html.light .first-ledger-bot{content:url(../img/uses/lightmode/first-ledger-bot.png)}.forte{content:url(../img/uses/modallogos/forte.png)}html.light .forte{content:url(../img/uses/lightmode/forte.png)}.ledger-city{content:url(../img/uses/modallogos/ledger-city.png)}html.light .ledger-city{content:url(../img/uses/lightmode/ledger-city.png)}.futureverse{content:url(../img/uses/modallogos/futureverse.png)}html.light .futureverse{content:url(../img/uses/lightmode/futureverse.png)}.zerpmon{content:url(../img/uses/modallogos/zerpmon.png)}html.light .zerpmon{content:url(../img/uses/lightmode/zerpmon.png)}.anchain{content:url(../img/uses/modallogos/anchain.png)}html.light .anchain{content:url(../img/uses/lightmode/anchain.png)}.ripple{content:url(../img/uses/modallogos/ripple.png)}html.light .ripple{content:url(../img/uses/lightmode/ripple.png)}.supermojo{content:url(../img/uses/modallogos/supermojo.png)}html.light .supermojo{content:url(../img/uses/lightmode/supermojo.png)}.ripple{content:url(../img/uses/modallogos/ripple.png)}html.light .ripple{content:url(../img/uses/lightmode/ripple.png)}.carbonland-trust{content:url(../img/uses/modallogos/carbonland-trust.png)}html.light .carbonland-trust{content:url(../img/uses/lightmode/carbonland-trust.png)}.gatehub{content:url(../img/uses/modallogos/gatehub.png)}html.light .gatehub{content:url(../img/uses/lightmode/gatehub.png)}.bitgo{content:url(../img/uses/modallogos/bitgo.png)}html.light .bitgo{content:url(../img/uses/lightmode/bitgo.png)}.arrow-button.left-arrow img{content:url(../img/uses/left-arrow.svg)}.arrow-button.right-arrow img{content:url(../img/uses/right-arrow.svg)}.right-arrow-button.right-arrow img{background-color:transparent;border:none;cursor:pointer}.html.light .arrow-button.left-arrow img{content:url(../img/uses/left-arrow-light.svg)}.html.light .arrow-button.right-arrow img{content:url(../img/uses/right-arrow-light.svg)}.related-tasks-links a{color:#454549;text-decoration:none}.related-tasks-links a:hover{color:#000}.arrows-container{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;z-index:10}@media only screen and (max-width: 768px){.arrows-container{top:30px}}.arrow-button{background-color:transparent;border:none;cursor:pointer}.arrow-button img{width:40px;height:40px}.left-arrow{margin-left:40px}@media only screen and (max-width: 768px){.left-arrow{margin-left:0px}}.right-arrow{margin-right:40px}@media only screen and (max-width: 768px){.right-arrow{margin-right:0px}}.modal-uses{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.4)}.modal-content-uses{padding-top:40px;position:relative;background-color:#232325;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);padding:40px 20px 20px 20px;width:60% !important;height:520px;display:flex;flex-direction:column;align-items:center;overflow-y:hidden}@media only screen and (max-width: 1024px){.modal-content-uses{overflow-y:auto}}.modal-content-uses::before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg, #b480ff -0.32%, #5f00e6 32.7%, #1aa4ff 61.53%, #19ff83 100.32%, #19ff83 100.32%)}.content-section{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:20px}.section-image{display:block}.section-text-title{font-family:"Work Sans";font-style:normal;font-weight:500;font-size:24px;line-height:32px;text-align:center;color:#fff}.section-text-description{max-width:320px;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:16px;line-height:24px;text-align:center;color:#c1c1c2}.apps-built{position:relative;top:17px;left:50px;font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#e0e0e1}.numbers-animation{width:218px;height:96px}.arrow-animation{position:relative;right:23px;top:-11px;width:60px !important}.explore-projects{font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#7919ff;position:relative;top:-9px;right:27px}.section-separator{width:50%;border:0;border-top:1px solid #ccc}.logo-item.anchain{height:34px !important;max-width:146px !important}.threezy-logo{margin:4px;max-height:55px !important}.blockforce-logo{margin:0px !important;max-height:45px !important}.Evernode-logo{margin-right:39px}.logo-grid{display:grid;grid-template-rows:repeat(2, 1fr);grid-template-columns:repeat(4, 1fr);grid-gap:8px;justify-items:center}.flex-center{display:flex;justify-content:center}.top-row,.bottom-row{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}@media only screen and (max-width: 768px){.top-row,.bottom-row{justify-content:space-around;gap:10px;margin-bottom:0}}.top-row{margin-bottom:10px}.bottom-row{margin-top:10px}.logo-item{max-height:45px;max-width:108px;margin:5px}.close{color:#aaa;float:right;font-size:28px;font-weight:bold;cursor:pointer}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}#use-case-card-grid{grid-template-columns:repeat(2, 1fr)}@media(min-width: 768px){#use-case-card-grid{grid-template-columns:repeat(3, 1fr)}}@media(min-width: 992px){#use-case-card-grid{grid-template-columns:repeat(4, 1fr)}}@media(max-width: 1220px)and (min-width: 1024px){#use-case-card-grid{grid-template-columns:repeat(3, 1fr)}}.use-case-circle{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border:1px solid #343437;border-radius:50%;margin-bottom:30px;cursor:pointer}@media(min-width: 768px){.use-case-circle{aspect-ratio:1/1;min-width:200px !important;min-height:200px !important}}@media(min-width: 992px){.use-case-circle{aspect-ratio:1/1;min-width:250px !important;min-height:250px !important}}.use-case-circle:hover{border-color:#838386}.circle-content{display:flex;flex-direction:column;align-items:center;gap:13px}.circle-img{width:40px;height:40px}.circle-text{font-family:"Work Sans";font-style:normal;font-weight:700;white-space:nowrap;font-size:16px;margin-bottom:0px}.join-xrpl-section{display:flex;flex-direction:column;align-items:center}.colorful-join-text-wrapper{display:flex;justify-content:center;flex-direction:column;padding:0 5%;box-sizing:border-box}@media(min-width: 992px){.colorful-join-text-wrapper{padding:0 4%}}.colorful-join-text{display:block;width:100%;text-align:left;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:32px;line-height:38px;background:linear-gradient(90deg, #feff01 0%, #ff2d9a 30.82%, #e24cff 64.01%, #9a52ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#numbersAnimation{display:block}#numbersAnimationLight{display:none}html.light .section-separator{background:#c1c1c2}html.light .section-text-description{color:#343437}html.light .modal-content-uses{background:#fff}html.light #numbersAnimation{display:none}html.light #numbersAnimationLight{display:block}html.light .apps-built{position:relative;top:17px;left:50px;font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#232325}html.light .colorful-join-text{display:block;width:100%;text-align:left;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:32px;line-height:38px;background:linear-gradient(90deg, #b480ff -0.32%, #5f00e6 32.7%, #1aa4ff 61.53%, #19ff83 100.32%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(min-width: 992px){html.light .colorful-join-text{width:750px}}@media(min-width: 992px){.colorful-join-text{width:750px}}.pill-box{display:inline-flex;align-items:center;justify-content:center;padding:3.69087px 29.527px;width:73.05px;height:37.38px;background:#7919ff;border:3.69087px solid #5f00e5;border-radius:184.543px}.pill-number{font-family:"Work Sans";font-style:normal;font-weight:600;font-size:22.1452px;color:#f0e5ff}.use-case-steps h2{margin-top:10px;margin-bottom:10px;font-size:1.728em;line-height:32px;font-weight:700}.use-case-steps h2 a{text-decoration:none}.use-case-steps h2:first-of-type:before{display:none}.use-case h1{font-size:2.4em;padding-bottom:10px}.use-case-steps h2:before{margin-top:-30px;height:0}.use-case-steps h2:first-of-type{margin-top:-30px}.related-tasks-links ul{list-style-type:none;padding-left:0}.related-tasks-links ul li{margin:0px;padding-top:2px}.related-tasks-links a:hover::after{padding-left:.5em}.related-tasks-links a::after{content:" ➝";padding-left:0;transition:all .2s ease-in-out}.page-tokenization .tokenization-graphic{content:url("../img/backgrounds/tokenization-illustration.svg");width:100%;height:100%}.page-tokenization .show-md{display:none}@media(max-width: 991.98px){.page-tokenization .show-md{display:block}}.page-tokenization .hide-md{display:block}@media(max-width: 991.98px){.page-tokenization .hide-md{display:none}}.page-tokenization .tokenization-use-case{font-size:12px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #454549}.page-tokenization .tokenization-use-case .arrow-button img{width:15px;height:15px}.page-tokenization .tokenization-stats{width:100%;height:250px;border-radius:8px;background:linear-gradient(88deg, #9A52FF -14.32%, #32E685 45.35%, #19A3FF 100.76%);padding:4rem 2rem;display:grid;grid-template-columns:repeat(4, 1fr)}@media(max-width: 991.98px){.page-tokenization .tokenization-stats{display:block;height:100%;width:100%;padding:0 25%}}.page-tokenization .stat-container{color:#000;text-align:center;border-right:2px solid #000}@media(max-width: 991.98px){.page-tokenization .stat-container{border-right:none;padding-bottom:3rem;padding-top:2rem;border-bottom:2px solid #000}}.page-tokenization .stat-container:last-child{border:none}.page-tokenization .stat-container .stat{font-size:3rem;font-weight:300}.page-tokenization .stat-container p{font-weight:400}.page-tokenization .security-card{position:relative;border-radius:.5rem;background-color:transparent;white-space:normal;box-sizing:border-box}.page-tokenization .security-card::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(90deg, #d91aff 26.41%, #1aa4ff 100.32%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;z-index:-1}.page-tokenization .security-card p{margin-bottom:0 !important}@media(max-width: 767.98px){.page-tokenization .security-card .h6{font-size:1.25rem}}.page-tokenization .security-card-grid{gap:1rem;grid-template-columns:repeat(2, 1fr)}@media(min-width: 1200px){.page-tokenization .security-card-grid{grid-template-columns:repeat(4, 1fr)}}@media(max-width: 768px){.page-tokenization .security-card-grid{grid-template-columns:repeat(1, 1fr)}}.page-tokenization .video-external-link .link-text{margin-left:.25rem}.page-tokenization .video-external-link{margin-bottom:9px}.page-tokenization .tokenization-color-bar{align-self:stretch;height:.25rem;border-radius:2rem;background:var(--Gradient-3, linear-gradient(90deg, #FEFF01 0%, #FF2D9A 30.82%, #E24CFF 64.01%, #9A52FF 100%))}.page-tokenization .project-cards-container{gap:3rem}.page-tokenization .project-cards{width:100%}.page-tokenization .project-cards .project-name{word-break:break-word}.page-tokenization .project-cards .card{min-height:240px}.page-tokenization .project-cards .col::before{content:"";position:absolute;top:0;left:0;width:100%;height:.25rem;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.page-tokenization .project-cards .col.odd::before{background:linear-gradient(90deg, #D91AFF 26.41%, #1AA4FF 100.32%)}.page-tokenization .project-cards .col.even::before{background:linear-gradient(90deg, #4BB7FF -0.32%, #32E685 30.61%)}.page-tokenization .project-cards .project-logo{width:100%;height:50px;vertical-align:center;padding:0 .5rem}.page-tokenization .project-cards img{max-width:100%;height:auto;display:block;box-sizing:border-box}.page-tokenization .amy{content:url("../img/logos/amy.svg")}.page-tokenization .carbonland{content:url("../img/logos/carbonland.svg")}.page-tokenization .evernode{content:url("../img/logos/evernode.svg")}.page-tokenization .nautilus{content:url("../img/logos/nautilus.svg")}.page-tokenization .onXRP{content:url("../img/logos/onXRP.svg")}.page-tokenization .raised-in-space{content:url("../img/logos/raised-in-space.svg")}.page-tokenization .sologenic{content:url("../img/logos/sologenic.svg")}.page-tokenization .xaman{content:url("../img/logos/xaman-labs.svg")}.page-tokenization .xrpcafe{content:url("../img/logos/xrpcafe.svg")}.page-tokenization .prev img{content:url("../img/icons/prev.svg")}.page-tokenization .next img{content:url("../img/icons/prev.svg");transform:scaleX(-1)}.page-tokenization .arrow-wrapper{gap:1rem}.page-tokenization .arrow-button{background-color:#232325;border-radius:.25rem;align-items:center;justify-content:center}.page-tokenization .next.hover-color:hover img{content:url("../img/icons/next-purple.svg");transform:scaleX(1)}.page-tokenization .prev.hover-color:hover img{content:url("../img/icons/next-purple.svg");transform:scaleX(-1)}.page-tokenization .related-articles{gap:2.5rem}.page-tokenization .related-articles .col{background-color:#000;padding:2rem !important;border-radius:.5rem}.page-tokenization .related-articles .time{position:relative;padding-top:.5rem}.page-tokenization .related-articles .time::before{content:"";position:absolute;top:0;left:0;width:50px;height:4px;background-color:#32e685}.page-tokenization .project-cards a,.page-tokenization .related-articles a{text-decoration:none}.page-tokenization .project-cards a:hover .project-name{color:#9a52ff}.page-tokenization .related-articles a:hover .h5{color:#9a52ff}.page-tokenization .article-card-container{position:relative;width:100%}.page-tokenization .article-card-container:nth-child(1) .article-card-background{background-image:linear-gradient(86deg, #B20058 -21.16%, #E24CFF 31.78%, #9A52FF 101.64%)}.page-tokenization .article-card-container:nth-child(2) .article-card-background{background-image:linear-gradient(22deg, #B480FF -6.54%, #5F00E5 50.87%, #1AA4FF 114.16%)}.page-tokenization .article-card-container:nth-child(3) .article-card-background{background-image:linear-gradient(162deg, #B480FF -11.11%, #1AA4FF 56.26%, #2DCF78 112.84%)}.page-tokenization .article-card-background{height:calc(100% + 1.5rem);width:100%;z-index:1;background-size:cover;position:absolute;top:-0.75rem;border-radius:.5rem}.page-tokenization .article-card{width:100%;height:100%;position:relative;top:0;left:.75rem;z-index:2;display:block}body,.landing.page-uses{overflow-x:hidden}.dark [data-component-name="Breadcrumbs/Breadcrumbs"]+div>a>svg>rect{fill:transparent}[data-component-name="layouts/RootLayout"]{padding-top:132px}.top-nav{background-color:#111112;height:80px;padding:0}.top-nav .navbar-brand{text-decoration:none;white-space:pre;-webkit-transition:opacity .2s ease,color .2s ease;transition:opacity .2s ease,color .2s ease;padding-left:2rem}.top-nav .navbar-brand .logo{margin-left:0;content:url(../img/XRPLedger_DevPortal-white.svg);width:162px;height:40px;display:block}.top-nav .navbar-brand:hover{opacity:.75}@media(max-width: 991.98px){.top-nav .navbar-brand{padding-left:2rem}.top-nav .navbar-brand img{width:120px}}.top-nav .nav-item{font-weight:600}@media(min-width: 992px){.top-nav #topnav-pages{flex-grow:1}}.top-nav #topnav-pages .nav-link{color:#f5f5f7;font-size:1rem;line-height:1.25rem;text-decoration:none;font-weight:600}.top-nav .dropdown-toggle{position:relative}.top-nav .dropdown-menu{border-width:0}.top-nav .dropdown-menu h5{font-weight:400;font-size:12px;color:#a2a2a4;margin-bottom:0}.top-nav .dropdown-menu .dropdown-item{line-height:1rem;padding:.75rem 0;white-space:normal}.top-nav .dropdown-menu .dropdown-item.dropdown-hero{width:100%;display:flex;padding:1rem 2rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero>img{width:68px;height:68px;background-color:#232325;border-radius:4px;flex-grow:0;padding:.75rem;margin-right:2rem;margin-top:auto;margin-bottom:auto}.top-nav .dropdown-menu .dropdown-item.dropdown-hero p{font-size:14px;color:#c1c1c2;margin:0;white-space:normal}.top-nav .dropdown-menu .dropdown-item.dropdown-hero h4{font-size:1.25rem;font-weight:600;margin-bottom:0;line-height:2rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero:hover h4{color:#9a52ff}.top-nav .dropdown-menu .dropdown-item.dropdown-hero:hover p{font-weight:400}.top-nav .dropdown-menu .dropdown-item:last-child{padding-bottom:0}.top-nav .dropdown-menu .dropdown-item:first-child{padding-top:0}.top-nav .dropdown-menu .col-for-get_started{background-color:#232325}.top-nav .dropdown-menu a:hover{color:#9a52ff;background-color:inherit}.top-nav .dropdown-menu h5:hover{background-color:inherit}.top-nav #topnav-search{flex-grow:1}.top-nav #topnav-search .input-group{flex-grow:1;flex-wrap:nowrap}@media(max-width: 991.98px){.top-nav #topnav-search .form-inline{padding:1rem 2rem}}.top-nav #topnav-search .input-group-text{height:40px}.top-nav #topnav-search .ds-input{height:40px}.top-nav #topnav-language .dropdown-item{font-weight:600}@media(min-width: 992px){.top-nav{padding:0 2rem}.top-nav .navbar-brand{margin-left:0;padding-left:0}.top-nav .dropdown-toggle::after{display:none}.top-nav .dropdown-toggle>span{border-bottom:2px solid transparent}.top-nav .dropdown .dropdown-toggle:hover>span:not(.chevron){padding-bottom:8px;border-bottom:2px solid #9a52ff;margin-bottom:-8px}.top-nav .dropdown-menu{border-radius:0 0 8px 8px;padding:2.5rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero{padding:0}.top-nav .dropdown-menu.show{display:grid;gap:40px}.top-nav .dropdown-menu.show#topnav_dd_about{grid-template-columns:180px 180px 180px}.top-nav .dropdown-menu.show#topnav_dd_docs{grid-template-columns:180px 180px 260px;left:-200px}.top-nav .dropdown-menu.show#topnav_dd_community{grid-template-columns:200px}.top-nav .dropdown-menu.show#topnav_dd_resources{grid-template-columns:195px 180px 180px;left:-200px}.top-nav .dropdown-menu.show .dropdown-hero{grid-row:1;grid-column:1/4}.top-nav .dropdown-menu.show #dropdown-hero-for-docs{grid-column:1/3}.top-nav .dropdown-menu.show .col-for-xrp_ledger{grid-row:1/3;grid-column:1}.top-nav .dropdown-menu.show .col-for-xrp{grid-column:2}.top-nav .dropdown-menu.show .col-for-sustainability,.top-nav .dropdown-menu.show .col-for-持続可能性{grid-column:2}.top-nav .dropdown-menu.show .col-for-about,.top-nav .dropdown-menu.show .col-for-概要{grid-row:1/3;grid-column:3}.top-nav .dropdown-menu.show .col-for-article_types{grid-column:1;grid-row:2}.top-nav .dropdown-menu.show .col-for-use_cases{grid-column:2;grid-row:2}.top-nav .dropdown-menu.show .col-for-get_started{grid-column:3;grid-row:1/3;margin:-40px -40px -40px 0;padding:40px}.top-nav .dropdown-menu.show .col-for-development{grid-column:1}.top-nav .dropdown-menu.show .col-for-current-status,.top-nav .dropdown-menu.show .col-for-現在のステータス{grid-column:2}.top-nav .dropdown-menu.show .col-for-join-in,.top-nav .dropdown-menu.show .col-for-参加する{grid-column:3}.top-nav .dropdown-menu.smaller-dropdown{min-width:180px;padding:1.25rem}.top-nav #topnav-pages{flex-grow:0}}@media(min-width: 992px)and (min-width: 992px)and (max-width: 1133px){.top-nav #topnav-pages .nav-link{padding:1rem 1rem}}@media(min-width: 992px){.top-nav #topnav-language{flex-grow:0}.top-nav #topnav-language hr{display:none}.top-nav #topnav-language #language_selector_header_btn{padding-right:0}}@media(min-width: 992px)and (min-width: 992px)and (max-width: 1133px){.top-nav #topnav-language #language_selector_header_btn{padding-left:1rem}}@media(min-width: 992px)and (min-width: 1200px){.top-nav #topnav-search{margin-left:3.5rem;margin-right:.5rem}.top-nav #topnav-language{margin-right:.5rem}.top-nav #topnav-button{margin-left:.2rem;margin-right:1rem}}@media(max-width: 991.98px){.top-nav .navbar-toggler{border:0;padding:30px 2rem;font-size:1rem;display:inline-block}.top-nav .navbar-toggler .navbar-toggler-icon{background:none;height:20px;width:20px;position:relative}.top-nav .navbar-toggler .navbar-toggler-icon::after,.top-nav .navbar-toggler .navbar-toggler-icon::before,.top-nav .navbar-toggler .navbar-toggler-icon div{position:absolute;content:" ";background-color:#f5f5f7;display:block;width:100%;height:3px;transition:all .2s ease}.top-nav .navbar-toggler .navbar-toggler-icon::before{top:0}.top-nav .navbar-toggler .navbar-toggler-icon::after{bottom:0}.top-nav .navbar-toggler .navbar-toggler-icon div{top:calc(50% - 1.5px)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon::before{transform:translateY(8px) rotate(135deg)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon::after{transform:translateY(-9px) rotate(-135deg)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon div{transform:scale(0)}.top-nav .navbar-nav{align-items:unset !important}.top-nav .navbar-nav #topnav-button{background-color:#111112;padding:1rem 1.5rem}.top-nav .navbar-nav #topnav-search [data-component-name="Search/SearchTrigger"]{cursor:pointer}.top-nav .navbar-nav .nav-link,.top-nav .navbar-collapse>.nav-item{line-height:150%;background:#111112}.top-nav .navbar-nav .nav-link label,.top-nav .navbar-collapse>.nav-item label{margin-bottom:0}.top-nav .navbar-nav .nav-link{padding:1rem 2rem}.top-nav .dropdown-menu{margin:0;width:100%;overflow:auto;transition:all .2s ease;height:0;display:block;padding:0;border-radius:0}.top-nav .dropdown-menu.show{height:calc(100vh - 80px - 52px)}.top-nav .dropdown-menu.show>:last-child{padding-bottom:4rem}.top-nav .dropdown-menu.show#topnav_dd_docs{display:grid;grid-template-columns:minmax(187px, 1fr) minmax(187px, 1fr);gap:1px;left:-200px}.top-nav .dropdown-menu.show#topnav_dd_docs .dropdown-hero{grid-column:1/3;grid-row:1}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-document_types{grid-column:1;grid-row:2}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-use_cases{grid-column:2;grid-row:2}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-get_started{grid-column:1/3;grid-row:4;margin:-1px;padding-top:33px}.top-nav .dropdown-menu .navcol{padding:1rem 2rem}.top-nav .dropdown-menu.smaller-dropdown{padding:0 2rem}.top-nav .dropdown-menu.smaller-dropdown.show{padding:1rem 2rem;height:auto}.top-nav .dropdown-menu .dropdown-hero:first-child{padding-top:1rem}.top-nav .dropdown-toggle:not(.with-caret)::before,.top-nav .dropdown-toggle:not(.with-caret)::after{border:0;font-family:FontAwesome;color:#9a52ff;font-size:.75rem;transition:all .2s ease;overflow:clip;width:1rem}.top-nav .dropdown-toggle:not(.with-caret)::before{content:"";display:inline-block;margin-bottom:-5px}.top-nav .dropdown-toggle:not(.with-caret)::after{content:"";position:absolute;right:2rem}.top-nav .dropdown.show .dropdown-toggle::after{text-indent:5rem}.top-nav .dropdown:not(.show) .dropdown-toggle::before{width:0;height:0;text-indent:-5rem}.top-nav .dropdown-toggle.with-caret::after{border:0}.top-nav #top-main-nav{background-color:#232325;padding-top:32px;position:relative}.top-nav #top-main-nav.submenu-expanded{padding-top:0}.top-nav #top-main-nav.submenu-expanded .dropdown:not(.show) .dropdown-toggle{display:none}.top-nav #top-main-nav.submenu-expanded #topnav-search,.top-nav #top-main-nav.submenu-expanded #topnav-language,.top-nav #top-main-nav.submenu-expanded #topnav-theme{height:0;overflow:clip;padding-top:0;padding-bottom:0}.top-nav #topnav-search{position:absolute;top:0;right:105px}.top-nav #topnav-search .input-group{flex-wrap:nowrap}.top-nav #topnav-language{position:absolute;top:0;right:65px}.top-nav #topnav-language hr{border-top:1px solid #232325;margin-top:.25rem;margin-bottom:.25rem;display:static}.top-nav #topnav-theme{position:absolute;top:0;right:26px}}article h1:before,article h2:before,article h3:before,article h4:before,article h5:before,article h6:before,.interactive-block:before{display:block;content:" ";margin-top:-24px;height:60px;visibility:hidden;pointer-events:none}article h1:first-of-type:before{margin-top:-40px}.chevron{position:relative;display:inline-block;width:.75rem;height:.5625rem}.chevron span{position:absolute;top:.25rem;display:inline-block;width:.5rem;height:.15rem;background-color:#9a52ff;transition:all .2s ease;border:none}.chevron:not(.expander) span:first-of-type{left:0;transform:rotate(45deg)}.chevron:not(.expander) span:last-of-type{right:0;transform:rotate(-45deg)}.chevron.active span:first-of-type{transform:rotate(-45deg)}.chevron.active span:first-of-type{transform:rotate(45deg)}.dropdown.show .chevron span:first-of-type,.expander:not(.collapsed) .chevron span:first-of-type{transform:rotate(-45deg)}.dropdown.show .chevron span:last-of-type,.expander:not(.collapsed) .chevron span:last-of-type{transform:rotate(45deg)}#topnav-theme>div{border-radius:var(--language-picker-border-radius);color:var(--language-picker-text-color);background-color:var(--language-picker-background-color);border:1px solid var(--language-picker-border-color);padding:var(--language-picker-input-padding-vertical) var(--language-picker-input-padding-horizontal);min-height:var(--language-picker-min-height)}@media(max-width: 991.98px){.navbar-collapse,.dropdown-menu{box-shadow:0px 25px 40px -20px #000}}.web-banner{text-decoration:none;display:flex;justify-content:space-between;height:52px;background:#32e685 !important;padding:7px 35px;font-family:"Space Grotesk";z-index:10;cursor:pointer;color:#000 !important;text-align:center;font-family:"Space Grotesk";font-size:26px;font-style:normal;font-weight:600;letter-spacing:-0.32px}.web-banner:hover{text-decoration:none;color:#fff}.web-banner:hover .button-icon{animation:iconJitter .7s cubic-bezier(0.16, 1, 0.3, 1) forwards;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}.web-banner::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#e0e500;z-index:0;transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(0.7, 0, 0.84, 0);will-change:transform}.web-banner:hover::after{transform:scaleX(1);transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}.web-banner>*{position:relative;z-index:1}@media(max-width: 768px){.web-banner{font-size:18px;padding:11px 35px}.web-banner .banner-button{gap:11px !important}.web-banner .button-text{margin-bottom:4px}}@media(max-width: 564px){.web-banner{font-size:15px;padding:9px 40px}.web-banner .button-text{margin-bottom:0px}.web-banner .banner-event-details{gap:0px !important;flex-direction:column;text-align:left;line-height:21px}.web-banner .banner-event-details .event-date{position:relative;top:-5px}.web-banner .banner-button{align-self:baseline;gap:8px !important;margin-top:-2px !important;padding-top:0px !important}}.web-banner .banner-button{display:flex;align-items:center;gap:14.5px;padding-top:1px}.web-banner .banner-button img{width:24.5px;height:33.7px}@media(max-width: 768px){.web-banner .banner-button img{width:15.5px;height:17px;margin-top:4px}}@media(max-width: 564px){.web-banner .banner-button img{width:14.5px;height:13.85px}}.web-banner .banner-event-details{display:flex;gap:32px}.web-banner .button-icon{transform-style:preserve-3d;aspect-ratio:.71;object-fit:contain;animation:none;transform:rotateZ(0deg);transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1);align-self:stretch;margin:auto 0;transform-style:preserve-3d}@keyframes iconJitter{from{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(0deg) skew(0deg, 0deg)}to{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(45deg) skew(0deg, 0deg)}}.web-banner a{text-decoration:none}.button-icon{animation:iconJitter .7s ease-in-out;animation-iteration-count:1;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}@keyframes iconReturn{from{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(45deg) skew(0deg, 0deg)}to{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(0deg) skew(0deg, 0deg)}}.web-banner.has-hover:not(:hover) .button-icon{animation:iconReturn .7s ease-in-out forwards;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}[data-component-name="Markdown/Markdown"] article{padding-bottom:50px}[data-component-name="Markdown/Markdown"] article p code,[data-component-name="Markdown/Markdown"] article table code,[data-component-name="Markdown/Markdown"] article li>code{background-color:#0a2e1b;color:#5beb9d}[data-component-name="Markdown/Markdown"] article a{text-decoration:underline}[data-component-name="Markdown/Markdown"] article h1{font-size:3rem;margin-top:32px;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article h1:first-child{margin-top:0;line-height:1.2}[data-component-name="Markdown/Markdown"] article h2,[data-component-name="Markdown/Markdown"] article h2.md{margin-top:2.5rem;margin-bottom:1.5rem;font-size:2.5rem;font-weight:600;line-height:1.2}[data-component-name="Markdown/Markdown"] article h3,[data-component-name="Markdown/Markdown"] article h3.md{font-size:2.125rem;margin-top:2rem;margin-bottom:1rem;line-height:1.2}[data-component-name="Markdown/Markdown"] article h4{font-size:1.75rem;margin-top:1.5rem;margin-bottom:.5rem;line-height:1.2}[data-component-name="Markdown/Markdown"] article h5{font-size:1.25rem;margin-top:1.25rem;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article h6{font-size:1rem;margin-top:1rem;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article li{margin:6px;margin-top:24px}[data-component-name="Markdown/Markdown"] article li p{margin:0}[data-component-name="Markdown/Markdown"] article a[title=Source],[data-component-name="Markdown/Markdown"] article a[title=ソース]{float:right;padding-left:20px}[data-component-name="Markdown/Markdown"] article h1.invisible,[data-component-name="Markdown/Markdown"] article h2.invisible,[data-component-name="Markdown/Markdown"] article h3.invisible,[data-component-name="Markdown/Markdown"] article h4.invisible,[data-component-name="Markdown/Markdown"] article h5.invisible,[data-component-name="Markdown/Markdown"] article h6.invisible{font-size:0;line-height:0;margin:0}[data-component-name="Markdown/Markdown"] article h1.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h2.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h3.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h4.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h5.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h6.invisible .hover_anchor{display:none}[data-component-name="Markdown/Markdown"] article .shield{display:inline-block !important;vertical-align:middle}.blurb a{text-decoration:underline}.hover_anchor{visibility:hidden;padding-left:1rem;font-size:1.25rem}h1:hover .hover_anchor,h2:hover .hover_anchor,h3:hover .hover_anchor,h4:hover .hover_anchor,h5:hover .hover_anchor,h6:hover .hover_anchor{visibility:visible;text-decoration:none}pre{color:#fff;background-color:#232325;word-wrap:normal;padding:2rem;border-radius:4px}pre code{white-space:pre;color:#fff;background-color:#232325}.multicode{padding:0;z-index:1;position:relative}.multicode pre{background:none;border:none;border-radius:0;padding:0;clear:both}.multicode pre code{overflow:auto;max-height:24em;border-radius:0 4px 4px 4px;display:block;padding:2rem}.multicode pre code.expanded{overflow:visible;max-height:none;position:absolute;min-width:100%}.multicode ul{margin:0 !important;padding:0}.multicode ul li{display:block;float:left;list-style-type:none;margin-right:0px;margin-left:0px;border:0;clear:none}.multicode a{text-decoration:none;color:#fff;background-color:transparent;padding:.75rem 2rem;margin:0;border-radius:4px 4px 0 0}.multicode a.current{background-color:#232325}.multicode a:hover{text-decoration:none;background-color:#232325;color:#9a52ff;padding-bottom:.625rem}.multicode .btn{z-index:10}.multicode .codetabs{position:relative;z-index:10}.clipboard-btn{z-index:10;margin-right:10px}.codehilite{background:#232325;color:#fff}.codehilite .c,.codehilite .ch,.codehilite .cm,.codehilite .cp,.codehilite .cpf,.codehilite .c1,.codehilite .cs{color:#838386}.codehilite .k,.codehilite .kc,.codehilite .kd,.codehilite .kn,.codehilite .kp,.codehilite .kr,.codehilite .kt{color:#ff6719}.codehilite .m,.codehilite .mb,.codehilite .mh,.codehilite .mi,.codehilite .mo,.codehilite .il{color:#19a3ff}.codehilite .n,.codehilite .na,.codehilite .nb,.codehilite .nc,.codehilite .nd,.codehilite .ne,.codehilite .nf,.codehilite .ni,.codehilite .nl,.codehilite .nn,.codehilite .nt,.codehilite .nv,.codehilite .nx,.codehilite .bp,.codehilite .fm,.codehilite .py{color:#fff}.codehilite .p{color:#e0e0e1}.codehilite .s,.codehilite .s1,.codehilite .s2,.codehilite .sa,.codehilite .sb,.codehilite .sc,.codehilite .dl,.codehilite .sd,.codehilite .se,.codehilite .sh,.codehilite .si,.codehilite .sr,.codehilite .ss,.codehilite .sx{color:#28b86a}.codehilite{background:transparent;position:relative}.codehilite .btn-group{top:1rem;right:1rem;position:absolute}.multicode .codehilite .btn-group{top:70px;right:20px}#redocly_root .cm-foldPlaceholder{background-color:#232325;border:none;font-size:18px}article img{max-width:100%;height:auto}article svg{max-width:100%}article .floating-diagram{margin:.5rem;float:left}article li{clear:left}html:not(.light) article svg[fill=black]{fill:#fff;stroke:#fff}html:not(.light) article svg[fill=black] *[fill=white]{fill:#000}html:not(.light) article svg[fill=black] *[stroke=white]{stroke:#000}html:not(.light) article svg[fill=black] *[fill=black]{fill:#fff}html:not(.light) article svg[fill=black] *[stroke=black]{stroke:#fff}html:not(.light) article svg[fill=black] g[fill=blue]{fill:#19a3ff}html:not(.light) article svg[fill=black] g[stroke=blue]{stroke:#19a3ff}html:not(.light) article svg[fill=black] g[fill="rgb(120,120,120)"]{fill:#e0e0e1}html:not(.light) article svg[fill=black] g[stroke="rgb(120,120,120)"]{stroke:#e0e0e1}html:not(.light) article svg[fill=black] g[fill="rgb(200,200,200)"]{fill:#343437}html:not(.light) article svg[fill=black] g[fill="rgb(70,70,70)"]{fill:#838386}html:not(.light) article svg[fill=black] g[stroke="rgb(70,70,70)"]{stroke:#838386}html:not(.light) article svg[fill=black] g[fill="rgb(29,180,255)"]{fill:#9a52ff}html:not(.light) article svg[fill=black] g[stroke="rgb(29,180,255)"]{stroke:#9a52ff}html:not(.light) article svg[fill=black] rect[stroke="rgb(245,247,249)"]{stroke:#000}html:not(.light) article svg[fill=black] g[fill=lime],html:not(.light) article svg[fill=black] g[fill="rgb(0,255,0)"]{fill:#9a52ff}html:not(.light) article svg[fill=black] g[stroke=lime],html:not(.light) article svg[fill=black] g[stroke="rgb(0,255,0)"]{stroke:#9a52ff}html:not(.light) article svg[fill=black] g[fill=yellow],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#faff19}html:not(.light) article svg[fill=black] g[fill=yellow] path[stroke=black],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"] path[stroke=black]{stroke:#000}html:not(.light) article svg[fill=black] g[fill=red],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#ff198b}html:not(.light) article svg[fill=black] g[stroke=red],html:not(.light) article svg[fill=black] g[stroke="rgb(255,255,0)"]{stroke:#ff198b}html:not(.light) article svg[fill=black] g[fill=yellow]+g text,html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]+g text{fill:#000}html:not(.light) article svg[fill=black] g[fill=lime]+g text{fill:#000}html:not(.light) article svg[fill=none] path[fill="#000000"]{fill:#fff}html:not(.light) article svg[fill=none] path[stroke="#000000"]{stroke:#fff}html:not(.light) article svg[fill=none] path[fill="#ffffff"]{fill:#000}html:not(.light) article svg[fill=none] path[stroke="#ffffff"]{stroke:#000}html:not(.light) article svg[fill=none] path[fill="#23292f"],html:not(.light) article svg[fill=none] path[fill="#23282f"]{fill:#fff}html:not(.light) article svg[fill=none] path[stroke="#23292f"],html:not(.light) article svg[fill=none] path[stroke="#23282f"]{stroke:#fff}html:not(.light) article svg[fill=none] path[fill="#2c3e50"],html:not(.light) article svg[fill=none] path[fill="#2b3e51"]{fill:#e0e0e1}html:not(.light) article svg[fill=none] path[stroke="#2c3e50"],html:not(.light) article svg[fill=none] path[stroke="#2b3e51"]{stroke:#e0e0e1}html:not(.light) article svg[fill=none] path[fill="#1c2835"]{fill:#f5f5f7}html:not(.light) article svg[fill=none] path[stroke="#1c2835"]{stroke:#f5f5f7}html:not(.light) article svg[fill=none] path[fill="#21aa47"]{fill:#32e685}html:not(.light) article svg[fill=none] path[stroke="#21aa47"]{stroke:#32e685}html:not(.light) article svg[fill=none] path[fill="#e64b3b"]{fill:#dc3545}html:not(.light) article svg[fill=none] path[stroke="#e64b3b"]{stroke:#dc3545}html:not(.light) article svg[fill=none] path[stroke="#27a2db"],html:not(.light) article svg[fill=none] path[stroke="#00aae4"]{stroke:#9a52ff}html:not(.light) article svg[fill=none] path[fill="#27a2db"],html:not(.light) article svg[fill=none] path[fill="#00aae4"]{fill:#9a52ff}html:not(.light) article svg[fill=none] path[fill="#e6e7e8"]{fill:#232325}html:not(.light) article svg[fill=none] path[stroke="#e6e7e8"]{stroke:#232325}html:not(.light) article svg[fill=none] path[stroke="#ffbf27"]{stroke:#d919ff}html:not(.light) article svg[fill=none] path[fill="#00ff00"]{fill:#32e685}html:not(.light) article svg[fill=none] path[stroke="#00ff00"]{stroke:#32e685}html:not(.light) article svg[fill=none] path[fill="#ff00ff"]{fill:#ff198b}html:not(.light) article svg[fill=none] path[stroke="#ff00ff"]{stroke:#ff198b}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#ffffff"]{stop-color:#343437}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#e6e7e8"]{stop-color:#232325}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#dbdcdd"]{stop-color:#000}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#b1b3b5"]{stop-color:#111112}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#29a1da"]{stop-color:#2dcf78}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#2789b9"]{stop-color:#5beb9d}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#6bc1ec"]{stop-color:#adf5ce}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#8ad6f4"]{stop-color:#84f0b6}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#fab913"]{stop-color:#f2b2ff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#fad26b"]{stop-color:#ea80ff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#f8a136"]{stop-color:#e24cff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#f7931a"]{stop-color:#c000e5}html.light svg[fill=black] g[fill=blue]{fill:#006bb2}html.light svg[fill=black] g[stroke=blue]{stroke:#19a3ff}html.light svg[fill=black] g[fill="rgb(120,120,120)"]{fill:#343437}html.light svg[fill=black] g[stroke="rgb(120,120,120)"]{stroke:#343437}html.light svg[fill=black] g[fill="rgb(200,200,200)"]{fill:#a2a2a4}html.light svg[fill=black] g[fill="rgb(70,70,70)"]{fill:#343437}html.light svg[fill=black] g[stroke="rgb(70,70,70)"]{stroke:#343437}html.light svg[fill=black] g[fill="rgb(29,180,255)"]{fill:#19a3ff}html.light svg[fill=black] g[stroke="rgb(29,180,255)"]{stroke:#006bb2}html.light svg[fill=black] rect[stroke="rgb(245,247,249)"]{stroke:#fcfcfd}html.light svg[fill=black] g[fill=lime],html.light svg[fill=black] g[fill="rgb(0,255,0)"]{fill:#5beb9d}html.light svg[fill=black] g[stroke=lime],html.light svg[fill=black] g[stroke="rgb(0,255,0)"]{stroke:#28b86a}html.light svg[fill=black] g[fill=yellow],html.light svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#fcff80}html.light svg[fill=black] g[fill=red],html.light svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#ff4ba4}html.light svg[fill=black] g[stroke=red],html.light svg[fill=black] g[stroke="rgb(255,255,0)"]{stroke:#ff198b}html.light svg[fill=none] rect[fill="#111112"]{fill:#f5f5f7}html.light svg[fill=none] path[fill=white]{fill:#000}html.light svg[fill=none] path[fill="#343437"]{fill:#c1c1c2}html.light svg[fill=none] path[fill="#A2A2A4"],html.light svg[fill=none] rect[fill="#A2A2A4"],html.light svg[fill=none] ellipse[fill="#A2A2A4"]{fill:#454549}html.light svg[fill=none] path[fill="#232325"]{fill:#e0e0e1}html.light svg[fill=none] path[fill="#F5F5F7"]{fill:#111112}html.light svg[fill=none] path[stroke="#F5F5F7"]{stroke:#111112}html.light svg[fill=none] path[stroke="#FF198B"]{stroke:#b20058}html.light svg[fill=none] linearGradient stop[stop-color="#F5F5F7"]{stop-color:#111112}html.light svg[fill=none] linearGradient stop[stop-color="#C1C1C2"]{stop-color:#343437}.external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:16px;padding:0 4px 0 8px;width:16px;height:16px;background-position:center;transition:transform 100ms ease-in-out}.external-link:hover::after{transform:translate(3px, -3px)}.external-link .fa-external-link{display:none}.top-nav .dropdown .external-link::after,.xrpl-footer .external-link::after{background-position:left 6px bottom 1px;width:2rem}@-moz-document url-prefix(){@supports(animation: calc(0s)){.top-nav .dropdown .external-link::after,.xrpl-footer .external-link::after{background-position:left 8px bottom 2px}}}.top-nav .dropdown .external-link:hover::after,.xrpl-footer .external-link:hover::after{background-position:left 8px bottom 3px}.q-wrapper .external-link::after{background-position:left 0 bottom 7px}.q-wrapper .external-link:hover::after{background-position:left 4px bottom 11px}.li-links{position:relative;border-bottom:2px solid #454549}.li-links a{width:100%;padding:16px 0}.li-links a::after{position:absolute;right:4px;content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:1.5rem;padding:0 .5rem;background-position:left 0 bottom -0.1rem;transition:background-position 100ms ease-in-out}.li-links a:hover::after{background-position:left .2rem bottom .1rem}[data-component-name="Footer/Footer"]{padding:7.5rem 2rem}[data-component-name="Footer/Footer"] [data-component-name="Footer/FooterColumn"]{text-shadow:#111112 0px 0px 2px,#111112 1px 1px 2px,#111112 2px 2px 3px,#111112 2px 2px 4px,#111112 2px 2px 5px,#111112 2px 2px 6px,#111112 -1px -1px 2px,#111112 -2px -2px 3px,#111112 -2px -2px 4px}@media(min-width: 992px){[data-component-name="Footer/Footer"]{background-image:url(../img/backgrounds/footer.svg);background-size:cover;background-repeat:no-repeat;background-position:bottom right}}@media(max-width: 991.98px){[data-component-name="Footer/Footer"] .col-lg:not(:first-child){margin-top:4rem}}[data-component-name="Footer/Footer"] h5{font-size:1rem;font-weight:600;color:#a2a2a4}[data-component-name="Footer/Footer"] .nav-link{padding:.75rem 0;line-height:1}[data-component-name="Footer/Footer"] .absolute-bottom-footer{font-size:10px;line-height:1rem}@media(max-width: 991.98px){[data-component-name="Footer/Footer"] .absolute-bottom-footer .copyright-license{margin-top:3rem}}.devportal-callout.tip,.devportal-callout.ヒント{border-color:#32e685}.devportal-callout.tip>strong:first-child:before,.devportal-callout.ヒント>strong:first-child:before{color:#32e685}.devportal-callout.note>strong:first-child:before,.devportal-callout.注記>strong:first-child:before{color:#19a3ff}.devportal-callout.note,.devportal-callout.注記{border-color:#19a3ff}.devportal-callout.caution,.devportal-callout.注意{border-color:#faff19}.devportal-callout.caution>strong:first-child:before,.devportal-callout.注意>strong:first-child:before{color:#faff19}.devportal-callout.warning,.devportal-callout.警告{border-color:#ff198b}.devportal-callout.warning>strong:first-child:before,.devportal-callout.警告>strong:first-child:before{color:#ff198b}blockquote,.devportal-callout{border-style:solid;border-radius:0;border-width:1px;border-left-width:4px;padding:5px;padding-left:25px;page-break-inside:avoid}.devportal-callout>strong:first-child{display:block;page-break-after:avoid}.devportal-callout.tip>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.note>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.caution>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.warning>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}@media(min-width: 992px){.card,.cta-card,.q-wrapper{box-shadow:0px 5px 40px #000}}#code-samples-deck .card{box-shadow:none;margin:0 2rem 5rem 2rem}#code-samples-deck .card-header{border-bottom:none;background-color:unset}#code-samples-deck .card-footer{background-color:unset;font-size:initial}#code-samples-deck .card-deck .card a{margin:0 2.5rem 5rem 2.5rem}#code-samples-deck .circled-logo{margin-left:-15px}@media(min-width: 992px){.code-contribute{width:75vw;position:relative;left:20%;right:20%;margin-left:-30vw;margin-right:-30vw}}.contribute::before{content:"";display:block;height:2px;width:100%;position:absolute;top:0}.contribute .dot{height:16px;width:16px;background-color:#111112;border-radius:50%;border:3px solid #fbff4c;display:inline-block;position:absolute;top:-7px;left:-6px}@media(max-width: 991.98px){.contribute::before{left:0;height:100%;width:2px;top:15px}.contribute .dot{top:5px;left:-6px}}.contribute_1::before{background:-webkit-linear-gradient(left, #feff01, #ff2d9a)}.contribute_1 .dot{border-color:#fbff4c}.contribute_2::before{background:-webkit-linear-gradient(left, #ff2d9a, #e24cff)}.contribute_2 .dot{border-color:#ff198b}.contribute_3::before{background:-webkit-linear-gradient(left, #e24cff, #9a52ff)}.contribute_3 .dot{border-color:#c000e5}.contribute_4::before{background:-webkit-linear-gradient(left, #9a52ff, #9a52ff)}.contribute_4 .dot{border-color:#9a52ff}.card>img{border-radius:8px 8px 0 0}.card-body>p,.card-body>p:not(:last-child){padding:0;margin-bottom:2rem}main a.card{border:0;color:#fff}a.card:hover,a:hover .card-new,[data-component-name="Markdown/Markdown"] a.card{text-decoration:none !important}a.card:hover h3{text-decoration:underline}.circled-logo{background-color:#454549;border-radius:50%;padding:.65rem;width:50px;height:50px;margin-bottom:.75rem;border:2px solid #232325}.circled-logo img{width:26px;height:26px;display:inline-block}.light .circled-logo{border:none}.cols-of-1{grid-template-rows:repeat(1, min-content)}.cols-of-2{grid-template-rows:repeat(2, min-content)}.cols-of-3{grid-template-rows:repeat(3, min-content)}.cols-of-4{grid-template-rows:repeat(4, min-content)}.cols-of-5{grid-template-rows:repeat(5, min-content)}.cols-of-6{grid-template-rows:repeat(6, min-content)}.cols-of-7{grid-template-rows:repeat(7, min-content)}.cols-of-8{grid-template-rows:repeat(8, min-content)}.cols-of-9{grid-template-rows:repeat(9, min-content)}.cols-of-10{grid-template-rows:repeat(10, min-content)}.card-deck{margin-top:2.5rem;margin-left:-1.25rem;margin-right:-1.25rem;margin-bottom:5rem;flex-grow:1}@media(min-width: 992px){.card-deck{margin-top:5rem}}.card-deck .card{flex-grow:0;flex-basis:100%;margin:0 1.25rem 5rem 1.25rem;background-position:bottom;background-repeat:no-repeat;background-size:contain}.card-deck.row-cols-1 .card{flex-basis:100%;min-height:264px}@media(min-width: 768px){.card-deck.row-cols-1 .card{min-height:347px}}@media(min-width: 1200px){.card-deck.row-cols-lg-3{margin-left:-2.5rem;margin-right:-2.5rem}}@media(min-width: 992px){.card-deck.row-cols-lg-3 .card{flex-basis:calc(33% - 2.5rem )}}@media(min-width: 1200px){.card-deck.row-cols-lg-3 .card{margin:0 2.5rem 5rem 2.5rem;flex-basis:calc(33% - 5rem )}}@media(min-width: 992px){.card-deck.row-cols-lg-4 .card{flex-basis:calc(25% - 2.5rem )}}.card-deck a.card{transition:all .35s ease-out;cursor:pointer}.card-deck a.card:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}.card-deck .card-footer{font-size:0;padding:1rem;background-position:bottom;background-repeat:no-repeat;background-size:cover;border-top:0}@media(max-width: 991.98px){.card-deck{margin-top:2rem}.card-deck .card-body{padding:1rem}.card-deck.row-cols-1 .card{margin:.75rem .75rem 5rem .75rem;max-width:calc(100% - 1.5rem)}.card-deck.row-cols-2 .card{margin:.75rem;max-width:calc(50% - 1.5rem)}}main article .card-grid.card-grid-3xN{grid-gap:1rem}main article .card-grid.card-grid-3xN .card{padding:0;margin:.5rem}main article .card-grid.card-grid-3xN .card .card-body{padding:1rem}main article .card-grid.card-grid-3xN .card .card-icon-container{width:50px;height:50px;background:#454549;display:flex;justify-content:center;align-items:center;border-radius:50%;margin-bottom:12px}main article .card-grid.card-grid-3xN .card .card-icon-container img{width:70%;height:70%}main article .card-grid.card-grid-3xN .card .card-footer{font-size:0;line-height:0;padding:1rem;background-position:bottom;background-repeat:no-repeat;background-size:cover;border-top:0}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-green-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-magenta-3.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-green-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-light-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3col-orange-yellow-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-pink-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-green-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-magenta.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-purple2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-neutral-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-purple-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3col-light-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-blue-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-dark-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-magenta-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3-col-light-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-magenta-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-orange-3.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-blue-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3-col-light-blue2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-orange-yellow.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3-col-pink.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-green-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-orange-2.svg")}.cta-card{text-align:center;background-color:#232325}.card-subhead{font-size:1rem;margin-bottom:.25rem;margin-top:.5rem}.breadcrumbs-wrap{position:relative;z-index:11;padding:0 0 2rem 0}.interactive-block .breadcrumbs-wrap{padding:0}.breadcrumb-item+.breadcrumb-item:before{content:"";font-family:FontAwesome;padding-right:5px}.breadcrumbs-wrap .breadcrumb{padding:0;margin-bottom:0;font-size:.833em}.breadcrumb-item a{color:#e0e0e1;text-decoration:none}.breadcrumb-item a:hover{color:#9a52ff}.landing .container-fluid.section-hero,.landing .section-hero.container-sm,.landing .section-hero.container-md,.landing .section-hero.container-lg,.landing .section-hero.container-xl{padding:48px 0}.landing article .children-display>ul>li,.landing article .curated-links>ul>li{margin-top:24px}.landing article .children-display li a,.landing article .curated-links li a{font-weight:700;font-size:1.25rem;text-decoration:none}.landing article .children-display li a:hover,.landing article .curated-links li a:hover{text-decoration:underline}.landing section:first-of-type h1:first-child{margin-top:0;line-height:1.2}.landing .level-1,.landing .level-2{margin-top:0}.landing .curated-links ul,.landing .curated-links ol,.landing .children-display ul{padding-left:0;margin-bottom:0}.landing .section-hero .blurb{font-size:1.2em;line-height:1.71em}.landing .doc-index .level-1{list-style-type:disc;margin-left:1rem}.landing .doc-index .level-2{list-style-type:circle;margin-left:2rem}.landing .doc-index .level-3{list-style-type:square;margin-left:3rem}.landing .doc-index .level-4{list-style-type:disc;margin-left:4rem}.landing .doc-index .level-5{margin-left:5rem;list-style-type:circle}.landing .doc-index .level-6{margin-left:6rem;list-style-type:square}.landing p a,.landing h5 a{color:#9a52ff;font-weight:600}.landing p a:hover,.landing h5 a:hover{text-decoration:underline}.landing .display-4{margin-bottom:1.5rem}.landing #test-net-servers h3{font-size:1.4rem;font-weight:700}.landing #test-net-servers pre{overflow-x:auto}.landing section:first-of-type{border-top-width:0}.landing #main_content_wrapper{border-bottom:none;margin-top:80px}.landing .marketing-wrapper{margin-top:10rem;margin-bottom:6rem}@media(max-width: 767.98px){.landing .marketing-wrapper{margin-top:6rem}}.landing .nav .nav-link{padding:1rem 2rem 1rem 0;color:#e0e0e1;border-bottom:1px solid #232325;position:relative}.landing .nav .nav-link:hover{color:#9a52ff}.landing .nav .nav-link:not(.external-link)::after{content:" ";background-image:url(../img/icons/arrow-right-purple.svg);background-repeat:no-repeat;background-position:center;background-size:1rem;position:absolute;right:0;width:1.5rem;height:1.5rem;transition:all .2s ease}.landing .nav .nav-link:not(.external-link):hover::after{animation:arrowDance2 1.2s infinite}.landing .nav .nav-link.external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;position:absolute;background-position:center;background-size:.75rem;right:7px;width:1.5rem;height:1.5rem;transition:all .2s ease}.landing .nav .nav-link.external-link:hover::after{animation:arrowDanceDiag 1.2s infinite}.landing .card-body .nav .nav-link{border-bottom:1px solid #454549}.alert-info{color:#fff;background-color:#006bb2;border-width:0}.alert-info a{text-decoration:underline;color:#fff}.alert-info a:hover{color:#e0e0e1}.highlight-subcard{margin:1.5rem 0;padding:1rem;border:2px solid #fff;background:#111112}.interactive-block-inner{border:1px dashed #9a52ff;padding:10px;margin:5px}.interactive-block-ui>button{margin:10px 0}.interactive-block input:invalid{box-shadow:inset 0 0 5px 5px #ff198b}.interactive-block .breadcrumbs-wrap{margin-bottom:11px}.interactive-block .breadcrumb-item{margin-top:6px}.interactive-block .breadcrumb-item a{text-decoration:none}.interactive-block .breadcrumb-item.current a{font-weight:bold}.interactive-block .breadcrumb-item.active a{color:#b480ff}.interactive-block .breadcrumb-item.disabled a{color:#454549}.interactive-block .breadcrumb-item.done a:after{content:"";font-family:FontAwesome;color:#e0e0e1;padding-right:5px;padding-left:5px}.interactive-block .waiting-for-tx{word-break:break-word}.ws-console{height:200px;overflow:auto}.status{cursor:help;padding:1px 2px;font-weight:normal;text-indent:0}.status.not_enabled{color:#faff19}.status.removed{color:#ff198b}.labels-wrap ul::before{content:"";font-family:FontAwesome;font-size:1.5rem}.labels-wrap .list-inline-item{margin-top:.5rem}.pg-category{color:#a2a2a4}.pg-category::after{content:"";font-family:FontAwesome;padding-left:5px}.label{border-radius:100px;border-width:0;padding:.5rem 1rem;font-weight:bold;text-decoration:none !important;text-align:center;white-space:nowrap;background-color:#111112;color:#c1c1c2}.label .badge-pill{width:24px;height:24px;border-radius:50px;margin-left:.5rem;font-weight:400;line-height:23px;font-size:16px;padding:0;margin-top:-2px}html.light .label{background-color:#e0e0e1;color:#232325}html.light .label .badge-pill{color:#e0e0e1;background-color:#232325}html.light .label:hover{background-color:#c1c1c2;color:#111112}html.light .label:hover .badge-pill{color:#c1c1c2;background-color:#111112}.label .badge-pill{color:#111112;background-color:#c1c1c2}.label:hover{color:#e0e0e1;background-color:#232325}.label:hover .badge-pill{color:#232325;background-color:#e0e0e1}.label.label-accounts,.label.label-payment-channels,.label.label-amm,.label.label-アカウント,.label.label-payment-channel,.label.label-use-infrastructure,.label.label-use-security,.label.blog-category-development,.label.chip-indigo{background-color:#20004c;color:#b480ff}.label.label-accounts .badge-pill,.label.label-payment-channels .badge-pill,.label.label-amm .badge-pill,.label.label-アカウント .badge-pill,.label.label-payment-channel .badge-pill,.label.label-use-infrastructure .badge-pill,.label.label-use-security .badge-pill,.label.blog-category-development .badge-pill,.label.chip-indigo .badge-pill{color:#20004c;background-color:#b480ff}.label.label-accounts:hover,.label.label-payment-channels:hover,.label.label-amm:hover,.label.label-アカウント:hover,.label.label-payment-channel:hover,.label.label-use-infrastructure:hover,.label.label-use-security:hover,.label.blog-category-development:hover,.label.chip-indigo:hover{background-color:#350080;color:#d2b2ff}.label.label-accounts:hover .badge-pill,.label.label-payment-channels:hover .badge-pill,.label.label-amm:hover .badge-pill,.label.label-アカウント:hover .badge-pill,.label.label-payment-channel:hover .badge-pill,.label.label-use-infrastructure:hover .badge-pill,.label.label-use-security:hover .badge-pill,.label.blog-category-development:hover .badge-pill,.label.chip-indigo:hover .badge-pill{color:#350080;background-color:#d2b2ff}html.light .label.label-accounts,html.light .label.label-payment-channels,html.light .label.label-amm,html.light .label.label-アカウント,html.light .label.label-payment-channel,html.light .label.label-use-infrastructure,html.light .label.label-use-security,html.light .label.blog-category-development,html.light .label.chip-indigo{background-color:#d2b2ff;color:#350080}html.light .label.label-accounts .badge-pill,html.light .label.label-payment-channels .badge-pill,html.light .label.label-amm .badge-pill,html.light .label.label-アカウント .badge-pill,html.light .label.label-payment-channel .badge-pill,html.light .label.label-use-infrastructure .badge-pill,html.light .label.label-use-security .badge-pill,html.light .label.blog-category-development .badge-pill,html.light .label.chip-indigo .badge-pill{color:#d2b2ff;background-color:#350080}html.light .label.label-accounts:hover,html.light .label.label-payment-channels:hover,html.light .label.label-amm:hover,html.light .label.label-アカウント:hover,html.light .label.label-payment-channel:hover,html.light .label.label-use-infrastructure:hover,html.light .label.label-use-security:hover,html.light .label.blog-category-development:hover,html.light .label.chip-indigo:hover{background-color:#b480ff;color:#20004c}html.light .label.label-accounts:hover .badge-pill,html.light .label.label-payment-channels:hover .badge-pill,html.light .label.label-amm:hover .badge-pill,html.light .label.label-アカウント:hover .badge-pill,html.light .label.label-payment-channel:hover .badge-pill,html.light .label.label-use-infrastructure:hover .badge-pill,html.light .label.label-use-security:hover .badge-pill,html.light .label.blog-category-development:hover .badge-pill,html.light .label.chip-indigo:hover .badge-pill{color:#b480ff;background-color:#20004c}.label.label-blockchain,.label.label-xrp,.label.label-ブロックチェーン,.label.label-non-fungible-tokens-nfts,.label.label-use-nfts,.label.blog-category-release_notes,.label.blog-category-features,.label.chip-green{background-color:#145c35;color:#84f0b6}.label.label-blockchain .badge-pill,.label.label-xrp .badge-pill,.label.label-ブロックチェーン .badge-pill,.label.label-non-fungible-tokens-nfts .badge-pill,.label.label-use-nfts .badge-pill,.label.blog-category-release_notes .badge-pill,.label.blog-category-features .badge-pill,.label.chip-green .badge-pill{background-color:#84f0b6;color:#145c35}.label.label-blockchain:hover,.label.label-xrp:hover,.label.label-ブロックチェーン:hover,.label.label-non-fungible-tokens-nfts:hover,.label.label-use-nfts:hover,.label.blog-category-release_notes:hover,.label.blog-category-features:hover,.label.chip-green:hover{background-color:#1e8a50;color:#adf5ce}.label.label-blockchain:hover .badge-pill,.label.label-xrp:hover .badge-pill,.label.label-ブロックチェーン:hover .badge-pill,.label.label-non-fungible-tokens-nfts:hover .badge-pill,.label.label-use-nfts:hover .badge-pill,.label.blog-category-release_notes:hover .badge-pill,.label.blog-category-features:hover .badge-pill,.label.chip-green:hover .badge-pill{background-color:#adf5ce;color:#1e8a50}html.light .label.label-blockchain,html.light .label.label-xrp,html.light .label.label-ブロックチェーン,html.light .label.label-non-fungible-tokens-nfts,html.light .label.label-use-nfts,html.light .label.blog-category-release_notes,html.light .label.blog-category-features,html.light .label.chip-green{background-color:#adf5ce;color:#145c35}html.light .label.label-blockchain .badge-pill,html.light .label.label-xrp .badge-pill,html.light .label.label-ブロックチェーン .badge-pill,html.light .label.label-non-fungible-tokens-nfts .badge-pill,html.light .label.label-use-nfts .badge-pill,html.light .label.blog-category-release_notes .badge-pill,html.light .label.blog-category-features .badge-pill,html.light .label.chip-green .badge-pill{color:#adf5ce;background-color:#145c35}html.light .label.label-blockchain:hover,html.light .label.label-xrp:hover,html.light .label.label-ブロックチェーン:hover,html.light .label.label-non-fungible-tokens-nfts:hover,html.light .label.label-use-nfts:hover,html.light .label.blog-category-release_notes:hover,html.light .label.blog-category-features:hover,html.light .label.chip-green:hover{background-color:#84f0b6;color:#000}html.light .label.label-blockchain:hover .badge-pill,html.light .label.label-xrp:hover .badge-pill,html.light .label.label-ブロックチェーン:hover .badge-pill,html.light .label.label-non-fungible-tokens-nfts:hover .badge-pill,html.light .label.label-use-nfts:hover .badge-pill,html.light .label.blog-category-release_notes:hover .badge-pill,html.light .label.blog-category-features:hover .badge-pill,html.light .label.chip-green:hover .badge-pill{color:#84f0b6;background-color:#000}.label.label-checks,.label.label-core-server,.label.label-コアサーバ,.label.label-use-interoperability,.label.label-use-web_monetization,.label.blog-category-gateway_bulletins,.label.chip-purple{background-color:#40004c;color:#ea80ff}.label.label-checks .badge-pill,.label.label-core-server .badge-pill,.label.label-コアサーバ .badge-pill,.label.label-use-interoperability .badge-pill,.label.label-use-web_monetization .badge-pill,.label.blog-category-gateway_bulletins .badge-pill,.label.chip-purple .badge-pill{background-color:#ea80ff;color:#40004c}.label.label-checks:hover,.label.label-core-server:hover,.label.label-コアサーバ:hover,.label.label-use-interoperability:hover,.label.label-use-web_monetization:hover,.label.blog-category-gateway_bulletins:hover,.label.chip-purple:hover{background-color:#6b0080;color:#f2b2ff}.label.label-checks:hover .badge-pill,.label.label-core-server:hover .badge-pill,.label.label-コアサーバ:hover .badge-pill,.label.label-use-interoperability:hover .badge-pill,.label.label-use-web_monetization:hover .badge-pill,.label.blog-category-gateway_bulletins:hover .badge-pill,.label.chip-purple:hover .badge-pill{background-color:#f2b2ff;color:#6b0080}html.light .label.label-checks,html.light .label.label-core-server,html.light .label.label-コアサーバ,html.light .label.label-use-interoperability,html.light .label.label-use-web_monetization,html.light .label.blog-category-gateway_bulletins,html.light .label.chip-purple{background-color:#f2b2ff;color:#6b0080}html.light .label.label-checks .badge-pill,html.light .label.label-core-server .badge-pill,html.light .label.label-コアサーバ .badge-pill,html.light .label.label-use-interoperability .badge-pill,html.light .label.label-use-web_monetization .badge-pill,html.light .label.blog-category-gateway_bulletins .badge-pill,html.light .label.chip-purple .badge-pill{color:#f2b2ff;background-color:#6b0080}html.light .label.label-checks:hover,html.light .label.label-core-server:hover,html.light .label.label-コアサーバ:hover,html.light .label.label-use-interoperability:hover,html.light .label.label-use-web_monetization:hover,html.light .label.blog-category-gateway_bulletins:hover,html.light .label.chip-purple:hover{background-color:#ea80ff;color:#40004c}html.light .label.label-checks:hover .badge-pill,html.light .label.label-core-server:hover .badge-pill,html.light .label.label-コアサーバ:hover .badge-pill,html.light .label.label-use-interoperability:hover .badge-pill,html.light .label.label-use-web_monetization:hover .badge-pill,html.light .label.blog-category-gateway_bulletins:hover .badge-pill,html.light .label.chip-purple:hover .badge-pill{color:#ea80ff;background-color:#40004c}.label.label-cross-currency,.label.label-security,.label.label-クロスカレンシー,.label.label-セキュリティ,.label.label-use-gaming,.label.label-use-defi,.label.blog-category-amendments,.label.chip-yellow{background-color:#4b4c00;color:#fcff80}.label.label-cross-currency .badge-pill,.label.label-security .badge-pill,.label.label-クロスカレンシー .badge-pill,.label.label-セキュリティ .badge-pill,.label.label-use-gaming .badge-pill,.label.label-use-defi .badge-pill,.label.blog-category-amendments .badge-pill,.label.chip-yellow .badge-pill{background-color:#fcff80;color:#4b4c00}.label.label-cross-currency:hover,.label.label-security:hover,.label.label-クロスカレンシー:hover,.label.label-セキュリティ:hover,.label.label-use-gaming:hover,.label.label-use-defi:hover,.label.blog-category-amendments:hover,.label.chip-yellow:hover{background-color:#7d8000;color:#fdffb2}.label.label-cross-currency:hover .badge-pill,.label.label-security:hover .badge-pill,.label.label-クロスカレンシー:hover .badge-pill,.label.label-セキュリティ:hover .badge-pill,.label.label-use-gaming:hover .badge-pill,.label.label-use-defi:hover .badge-pill,.label.blog-category-amendments:hover .badge-pill,.label.chip-yellow:hover .badge-pill{background-color:#fdffb2;color:#7d8000}html.light .label.label-cross-currency,html.light .label.label-security,html.light .label.label-クロスカレンシー,html.light .label.label-セキュリティ,html.light .label.label-use-gaming,html.light .label.label-use-defi,html.light .label.blog-category-amendments,html.light .label.chip-yellow{background-color:#fdffb2;color:#4b4c00}html.light .label.label-cross-currency .badge-pill,html.light .label.label-security .badge-pill,html.light .label.label-クロスカレンシー .badge-pill,html.light .label.label-セキュリティ .badge-pill,html.light .label.label-use-gaming .badge-pill,html.light .label.label-use-defi .badge-pill,html.light .label.blog-category-amendments .badge-pill,html.light .label.chip-yellow .badge-pill{color:#fdffb2;background-color:#4b4c00}html.light .label.label-cross-currency:hover,html.light .label.label-security:hover,html.light .label.label-クロスカレンシー:hover,html.light .label.label-セキュリティ:hover,html.light .label.label-use-gaming:hover,html.light .label.label-use-defi:hover,html.light .label.blog-category-amendments:hover,html.light .label.chip-yellow:hover{background-color:#fcff80;color:#4b4c00}html.light .label.label-cross-currency:hover .badge-pill,html.light .label.label-security:hover .badge-pill,html.light .label.label-クロスカレンシー:hover .badge-pill,html.light .label.label-セキュリティ:hover .badge-pill,html.light .label.label-use-gaming:hover .badge-pill,html.light .label.label-use-defi:hover .badge-pill,html.light .label.blog-category-amendments:hover .badge-pill,html.light .label.chip-yellow:hover .badge-pill{color:#fcff80;background-color:#4b4c00}.label.label-decentralized-exchange,.label.label-smart-contracts,.label.label-transaction-sending,.label.label-分散型取引所,.label.label-スマートコントラクト,.label.label-トランザクション送信,.label.label-use-developer_tooling,.label.label-use-payments,.label.blog-category-developer_reflections,.label.chip-blue{background-color:#002e4c;color:#80ccff}.label.label-decentralized-exchange .badge-pill,.label.label-smart-contracts .badge-pill,.label.label-transaction-sending .badge-pill,.label.label-分散型取引所 .badge-pill,.label.label-スマートコントラクト .badge-pill,.label.label-トランザクション送信 .badge-pill,.label.label-use-developer_tooling .badge-pill,.label.label-use-payments .badge-pill,.label.blog-category-developer_reflections .badge-pill,.label.chip-blue .badge-pill{background-color:#80ccff;color:#002e4c}.label.label-decentralized-exchange:hover,.label.label-smart-contracts:hover,.label.label-transaction-sending:hover,.label.label-分散型取引所:hover,.label.label-スマートコントラクト:hover,.label.label-トランザクション送信:hover,.label.label-use-developer_tooling:hover,.label.label-use-payments:hover,.label.blog-category-developer_reflections:hover,.label.chip-blue:hover{background-color:#004d80;color:#b2e0ff}.label.label-decentralized-exchange:hover .badge-pill,.label.label-smart-contracts:hover .badge-pill,.label.label-transaction-sending:hover .badge-pill,.label.label-分散型取引所:hover .badge-pill,.label.label-スマートコントラクト:hover .badge-pill,.label.label-トランザクション送信:hover .badge-pill,.label.label-use-developer_tooling:hover .badge-pill,.label.label-use-payments:hover .badge-pill,.label.blog-category-developer_reflections:hover .badge-pill,.label.chip-blue:hover .badge-pill{background-color:#b2e0ff;color:#004d80}html.light .label.label-decentralized-exchange,html.light .label.label-smart-contracts,html.light .label.label-transaction-sending,html.light .label.label-分散型取引所,html.light .label.label-スマートコントラクト,html.light .label.label-トランザクション送信,html.light .label.label-use-developer_tooling,html.light .label.label-use-payments,html.light .label.blog-category-developer_reflections,html.light .label.chip-blue{background-color:#b2e0ff;color:#004d80}html.light .label.label-decentralized-exchange .badge-pill,html.light .label.label-smart-contracts .badge-pill,html.light .label.label-transaction-sending .badge-pill,html.light .label.label-分散型取引所 .badge-pill,html.light .label.label-スマートコントラクト .badge-pill,html.light .label.label-トランザクション送信 .badge-pill,html.light .label.label-use-developer_tooling .badge-pill,html.light .label.label-use-payments .badge-pill,html.light .label.blog-category-developer_reflections .badge-pill,html.light .label.chip-blue .badge-pill{color:#b2e0ff;background-color:#004d80}html.light .label.label-decentralized-exchange:hover,html.light .label.label-smart-contracts:hover,html.light .label.label-transaction-sending:hover,html.light .label.label-分散型取引所:hover,html.light .label.label-スマートコントラクト:hover,html.light .label.label-トランザクション送信:hover,html.light .label.label-use-developer_tooling:hover,html.light .label.label-use-payments:hover,html.light .label.blog-category-developer_reflections:hover,html.light .label.chip-blue:hover{background-color:#80ccff;color:#002e4c}html.light .label.label-decentralized-exchange:hover .badge-pill,html.light .label.label-smart-contracts:hover .badge-pill,html.light .label.label-transaction-sending:hover .badge-pill,html.light .label.label-分散型取引所:hover .badge-pill,html.light .label.label-スマートコントラクト:hover .badge-pill,html.light .label.label-トランザクション送信:hover .badge-pill,html.light .label.label-use-developer_tooling:hover .badge-pill,html.light .label.label-use-payments:hover .badge-pill,html.light .label.blog-category-developer_reflections:hover .badge-pill,html.light .label.chip-blue:hover .badge-pill{color:#80ccff;background-color:#002e4c}.label.label-escrow,.label.label-tokens,.label.label-development,.label.label-トークン,.label.label-開発,.label.label-use-wallet,.label.label-use-sustainability,.label.blog-category-advisories,.label.chip-orange{background-color:#4c1a00;color:#ffaa80}.label.label-escrow .badge-pill,.label.label-tokens .badge-pill,.label.label-development .badge-pill,.label.label-トークン .badge-pill,.label.label-開発 .badge-pill,.label.label-use-wallet .badge-pill,.label.label-use-sustainability .badge-pill,.label.blog-category-advisories .badge-pill,.label.chip-orange .badge-pill{background-color:#ffaa80;color:#4c1a00}.label.label-escrow:hover,.label.label-tokens:hover,.label.label-development:hover,.label.label-トークン:hover,.label.label-開発:hover,.label.label-use-wallet:hover,.label.label-use-sustainability:hover,.label.blog-category-advisories:hover,.label.chip-orange:hover{background-color:#802b00;color:#ffccb2}.label.label-escrow:hover .badge-pill,.label.label-tokens:hover .badge-pill,.label.label-development:hover .badge-pill,.label.label-トークン:hover .badge-pill,.label.label-開発:hover .badge-pill,.label.label-use-wallet:hover .badge-pill,.label.label-use-sustainability:hover .badge-pill,.label.blog-category-advisories:hover .badge-pill,.label.chip-orange:hover .badge-pill{background-color:#ffccb2;color:#802b00}html.light .label.label-escrow,html.light .label.label-tokens,html.light .label.label-development,html.light .label.label-トークン,html.light .label.label-開発,html.light .label.label-use-wallet,html.light .label.label-use-sustainability,html.light .label.blog-category-advisories,html.light .label.chip-orange{background-color:#ffccb2;color:#802b00}html.light .label.label-escrow .badge-pill,html.light .label.label-tokens .badge-pill,html.light .label.label-development .badge-pill,html.light .label.label-トークン .badge-pill,html.light .label.label-開発 .badge-pill,html.light .label.label-use-wallet .badge-pill,html.light .label.label-use-sustainability .badge-pill,html.light .label.blog-category-advisories .badge-pill,html.light .label.chip-orange .badge-pill{color:#ffccb2;background-color:#802b00}html.light .label.label-escrow:hover,html.light .label.label-tokens:hover,html.light .label.label-development:hover,html.light .label.label-トークン:hover,html.light .label.label-開発:hover,html.light .label.label-use-wallet:hover,html.light .label.label-use-sustainability:hover,html.light .label.blog-category-advisories:hover,html.light .label.chip-orange:hover{background-color:#ffaa80;color:#4c1a00}html.light .label.label-escrow:hover .badge-pill,html.light .label.label-tokens:hover .badge-pill,html.light .label.label-development:hover .badge-pill,html.light .label.label-トークン:hover .badge-pill,html.light .label.label-開発:hover .badge-pill,html.light .label.label-use-wallet:hover .badge-pill,html.light .label.label-use-sustainability:hover .badge-pill,html.light .label.blog-category-advisories:hover .badge-pill,html.light .label.chip-orange:hover .badge-pill{color:#ffaa80;background-color:#4c1a00}.label.label-fees,.label.label-payments,.label.label-data-retention,.label.label-手数料,.label.label-支払い,.label.label-データ保持,.label.label-use-exchanges,.label.label-use-custody,.label.blog-category-security,.label.chip-magenta{background-color:#4c0026;color:#ff80bf}.label.label-fees .badge-pill,.label.label-payments .badge-pill,.label.label-data-retention .badge-pill,.label.label-手数料 .badge-pill,.label.label-支払い .badge-pill,.label.label-データ保持 .badge-pill,.label.label-use-exchanges .badge-pill,.label.label-use-custody .badge-pill,.label.blog-category-security .badge-pill,.label.chip-magenta .badge-pill{background-color:#ff80bf;color:#4c0026}.label.label-fees:hover,.label.label-payments:hover,.label.label-data-retention:hover,.label.label-手数料:hover,.label.label-支払い:hover,.label.label-データ保持:hover,.label.label-use-exchanges:hover,.label.label-use-custody:hover,.label.blog-category-security:hover,.label.chip-magenta:hover{background-color:#80003f;color:#ffb2d8}.label.label-fees:hover .badge-pill,.label.label-payments:hover .badge-pill,.label.label-data-retention:hover .badge-pill,.label.label-手数料:hover .badge-pill,.label.label-支払い:hover .badge-pill,.label.label-データ保持:hover .badge-pill,.label.label-use-exchanges:hover .badge-pill,.label.label-use-custody:hover .badge-pill,.label.blog-category-security:hover .badge-pill,.label.chip-magenta:hover .badge-pill{background-color:#ffb2d8;color:#80003f}html.light .label.label-fees,html.light .label.label-payments,html.light .label.label-data-retention,html.light .label.label-手数料,html.light .label.label-支払い,html.light .label.label-データ保持,html.light .label.label-use-exchanges,html.light .label.label-use-custody,html.light .label.blog-category-security,html.light .label.chip-magenta{background-color:#ffb2d8;color:#80003f}html.light .label.label-fees .badge-pill,html.light .label.label-payments .badge-pill,html.light .label.label-data-retention .badge-pill,html.light .label.label-手数料 .badge-pill,html.light .label.label-支払い .badge-pill,html.light .label.label-データ保持 .badge-pill,html.light .label.label-use-exchanges .badge-pill,html.light .label.label-use-custody .badge-pill,html.light .label.blog-category-security .badge-pill,html.light .label.chip-magenta .badge-pill{color:#ffb2d8;background-color:#80003f}html.light .label.label-fees:hover,html.light .label.label-payments:hover,html.light .label.label-data-retention:hover,html.light .label.label-手数料:hover,html.light .label.label-支払い:hover,html.light .label.label-データ保持:hover,html.light .label.label-use-exchanges:hover,html.light .label.label-use-custody:hover,html.light .label.blog-category-security:hover,html.light .label.chip-magenta:hover{background-color:#ff80bf;color:#4c0026}html.light .label.label-fees:hover .badge-pill,html.light .label.label-payments:hover .badge-pill,html.light .label.label-data-retention:hover .badge-pill,html.light .label.label-手数料:hover .badge-pill,html.light .label.label-支払い:hover .badge-pill,html.light .label.label-データ保持:hover .badge-pill,html.light .label.label-use-exchanges:hover .badge-pill,html.light .label.label-use-custody:hover .badge-pill,html.light .label.blog-category-security:hover .badge-pill,html.light .label.chip-magenta:hover .badge-pill{color:#ff80bf;background-color:#4c0026}.tag-cloud .list-inline-item{margin-top:1.5rem}.command-list-wrapper{position:sticky;top:calc(var(--navbar-height) + var(--toc-offset-top));max-height:calc(100vh - var(--navbar-height) - var(--toc-offset-top));overflow-y:auto;width:var(--toc-width)}#tx-sender-history .list-group-item{font-size:small;color:#454549}.response-metadata .timestamp{color:#454549}.throbber{width:24px;height:24px}#connection-status .card-body{border-left:0}#connection-status-item.active{background-color:#32e685;border-color:#32e685}.api-input-area .btn-group>.send-request.btn{border-bottom-right-radius:4px;border-top-right-radius:4px}#tx-sender-history ul{overflow:auto;height:220px;border:1px solid #e0e0e1}.progress small{margin-top:.5rem}.page-tx-sender .input-group .form-control,.interactive-block-ui .input-group .form-control{flex:1 1 20%;height:auto}.bootstrap-growl{max-width:90vw !important;overflow:hidden}.list-group-item-danger,#tx-sender-history .list-group-item-danger{background-color:#ff80bf;color:#000}.list-group-item-danger a,#tx-sender-history .list-group-item-danger a{color:#000}.list-group-item-danger a:hover,#tx-sender-history .list-group-item-danger a:hover{color:#000;text-decoration:underline}.rpc-tool .main h1::before,.rpc-tool .main h2::before,.rpc-tool .main h3::before{display:none}.form-text a{text-decoration:underline}@media print{.multicode>div{display:block !important}.multicode>em,.multicode>p>em{display:block !important;page-break-after:avoid}.multicode>p{display:block !important}.code_toggler{display:none}pre{white-space:pre-wrap;max-height:none !important;overflow:visible;page-break-inside:auto;word-wrap:break-word}pre code{white-space:pre-wrap !important;color:#22252b !important}code{white-space:pre-wrap !important;color:#22252b !important}.codehilite .n,.codehilite .na,.codehilite .nb,.codehilite .nc,.codehilite .nd,.codehilite .ne,.codehilite .nf,.codehilite .ni,.codehilite .nl,.codehilite .nn,.codehilite .nt,.codehilite .nv,.codehilite .nx,.codehilite .bp,.codehilite .fm,.codehilite .py{color:#22252b}article a[title=Source]{float:none}header,footer,aside{display:none !important}.navbar{display:none !important}article,#main_content_body{position:static;display:block;width:auto;height:auto;color:#000 !important;max-width:100%;overflow:visible !important}body{overflow:visible;background:#fff}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{color:#000}.interactive-block{display:none}.container{margin-top:1rem !important}}#home-purple{position:absolute;left:0;top:-400px}#home-green{position:absolute;right:-3px;top:60px}.sidelinks:hover{color:#9a52ff}.sidelinks.active{color:#9a52ff;font-weight:bold}.page-home #home-hero-container{display:flex;justify-content:center;align-items:center;width:100%;padding-top:54.8%;overflow:hidden}.page-home #home-hero-graphic{width:100%;max-width:856px;height:auto;object-fit:cover;content:url("../img/home-hero.svg");margin-bottom:24px;display:block;margin-left:auto;margin-right:auto}@media(min-width: 992px){.page-home #home-hero-graphic{min-height:470px}}@media(max-width: 991px)and (min-width: 540px){.page-home #home-hero-graphic{min-height:250px}}@media(max-width: 539px){.page-home #home-hero-graphic{min-height:170px}}.page-home #benefits-list #public{content:url("../img/icons/public.svg")}.page-home #benefits-list #streamlined{content:url("../img/icons/streamlined.svg")}.page-home #benefits-list #performance{content:url("../img/icons/performance.svg")}.page-home #benefits-list #low-cost{content:url("../img/icons/low-cost.svg")}.page-home #benefits-list #community{content:url("../img/icons/community.svg")}.page-home #benefits-list #reliability{content:url("../img/icons/reliability.svg")}.page-home #advanced-features .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-pink-purple.svg")}.page-home #advanced-features .card:nth-child(2) .card-footer{background-image:url("../img/cards/3col-neutral-blue.svg")}.page-home #advanced-features .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-light-green.svg")}.page-home #advanced-features .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-orange.svg")}.page-home #advanced-features .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-purple-blue-2.svg")}.page-home #get-started .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-orange-yellow.svg")}.page-home #get-started .card:nth-child(2) .card-footer{background-image:url("../img/cards/3col-magenta-orange.svg")}.page-home #get-started .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-green.svg")}.page-home #get-started .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-light-blue.svg")}.page-home #get-started .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-green-blue.svg")}.cta{position:absolute}.cta-top-left{top:0;left:0}.cta-bottom-right{bottom:0;right:0}.landing-bg{opacity:.6}@media(min-width: 768px){.landing-bg{opacity:1}}.landing-builtin-bg::before{content:"";position:absolute;top:0;left:0;background-repeat:no-repeat;background-position-x:left;background-position-y:top;opacity:.6}@media(min-width: 768px){.landing-builtin-bg::before{opacity:1}}#xrp-overview-blue{position:absolute;top:0;left:0}@media(max-width: 767.98px){#xrp-mark-overview{height:40px;margin-top:16px}}#wallets #wallet-ledger{content:url("../img/wallets/ledger.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-secalot{content:url("../img/wallets/secalot.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-trezor{content:url("../img/wallets/trezor.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-xumm{content:url("../img/wallets/xumm.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-trust{content:url("../img/wallets/trust.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-gatehub{content:url("../img/wallets/gatehub.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-towo{content:url("../img/wallets/towo.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-keystone{content:url("../img/wallets/keystone.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-dcent{content:url("../img/wallets/dcent.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-coin{content:url("../img/wallets/coin.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-gem{content:url("../img/wallets/gem.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#top-exchanges #exch-bitstamp{content:url("../img/exchanges/bitstamp.svg")}#top-exchanges #exch-kraken{content:url("../img/exchanges/kraken.svg")}#top-exchanges #exch-cex-io{content:url("../img/exchanges/cex-io.svg")}#top-exchanges #exch-liquid{content:url("../img/exchanges/liquid.svg")}#top-exchanges #exch-lmax{content:url("../img/exchanges/lmax.svg")}#top-exchanges #exch-bitfinex{content:url("../img/exchanges/bitfinex.svg")}#top-exchanges #exch-etoro{content:url("../img/exchanges/etoro.svg")}#top-exchanges #exch-bittrex{content:url("../img/exchanges/bittrex.png")}#top-exchanges #exch-currency-com{content:url("../img/exchanges/currency-com.png")}#top-exchanges #exch-ftx{content:url("../img/exchanges/ftx.png")}#xrpl-overview-purple{position:absolute;top:40px;left:0}@media(max-width: 767.98px){#xrpl-overview-purple{top:0;left:-20vw}}#xrpl-overview-orange{position:absolute;top:80px;right:-4px}#use-cases-orange{position:absolute;top:-480px;right:-4px}#validator-graphic{content:url(../img/validators.svg)}.page-uses .container-new{padding-left:16px;padding-right:16px}.page-uses h1{font-size:42px}.page-uses::before{transform:scaleX(-1);background-image:url(../img/backgrounds/use-cases-blue.svg)}.page-uses .card-grid{grid-gap:8px}.page-uses .card-grid img{max-height:40px}.page-uses .modal{padding:0}.page-uses .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#000;background-clip:padding-box;border:none;border-radius:0;box-shadow:none;outline:none;background:#111112}.page-uses .modal-header{border:none;background:#111112;box-shadow:0px 1px 2px #000}.page-uses .modal-header .cancel .chevron{transform:rotate(90deg)}.page-uses .modal-header .apply .chevron{transform:rotate(-90deg)}.page-uses .modal-footer{border:none;background:#111112;box-shadow:0px -1px 2px #000;align-items:unset;padding:.75rem;flex-direction:column;flex-wrap:wrap}.page-uses .card-title{margin-bottom:.5rem;line-height:26px}.page-uses .card-uses{padding:16px;margin:0;text-decoration:none;transition:all .35s ease-out}.page-uses .card-uses:hover{text-decoration:none;color:#e0e0e1;transform:translateY(-16px);text-decoration:none}.page-uses .card-body{background:#232325;border-radius:8px;height:100%;padding:32px;margin:0}.page-uses .page-events .label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.page-uses .category-header{font-weight:bold;color:#c1c1c2}.page-uses .light .category-checkbox label{color:#fff}.page-uses .category-checkbox{display:flex;align-items:center}.page-uses .category-checkbox label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.page-uses .category_count{margin-left:8px;padding:2px 16px;width:24px;height:16px;background:#350080;border-radius:100px;font-weight:600;font-size:12px;line-height:16px;color:#b480ff}.page-uses .category_sidebar{position:sticky;top:10px}.page-uses #infrastructure{content:url("../img/icons/usecases/ic_infrastructure.png")}.page-uses #developer_tooling{content:url("../img/icons/usecases/ic_developer_tooling.png")}.page-uses #interoperability{content:url("../img/icons/usecases/ic_interoperability.png")}.page-uses #wallet{content:url("../img/icons/usecases/ic_wallet.png")}.page-uses #nfts{content:url("../img/icons/usecases/ic_nfts.png")}.page-uses #exchanges{content:url("../img/icons/usecases/ic_exchanges.png")}.page-uses #gaming{content:url("../img/icons/usecases/ic_gaming.png")}.page-uses #security{content:url("../img/icons/usecases/ic_security.png")}.page-uses #payments{content:url("../img/icons/usecases/ic_payments.png")}.page-uses #web_monetization{content:url("../img/icons/usecases/ic_web_monetization.png")}.page-uses #sustainability{content:url("../img/icons/usecases/ic_sustainability.png")}.page-uses #cbdc{content:url("../img/icons/usecases/ic_cbdc.png")}.page-uses #other{content:url("../img/icons/usecases/ic_other.png")}.page-uses #carbon_markets{content:url("../img/icons/usecases/ic_carbon_markets.png")}.page-uses #custody{content:url("../img/icons/usecases/ic_custody.png")}.page-uses #defi{content:url("../img/icons/usecases/ic_defi.png")}.page-uses #use_case_companies_list #bithomp .biz-logo{max-height:40px;content:url("../img/uses/bithomp.svg")}.page-uses #use_case_companies_list #onthedex .biz-logo{max-height:40px;content:url("../img/uses/onthedex.svg")}.page-uses #use_case_companies_list #gatehub .biz-logo{max-height:40px;content:url("../img/uses/gatehub.svg")}.page-uses #use_case_companies_list #towo-labs .biz-logo{max-height:40px;content:url("../img/uses/towo-labs.svg")}.page-uses #use_case_companies_list #xrp-toolkit .biz-logo{max-height:40px;content:url("../img/uses/xrp-toolkit.svg")}.page-uses #use_case_companies_list #xrpl-org-ledger-explorer .biz-logo{max-height:40px;content:url("../img/uses/xrpl-org-ledger-explorer.svg")}.page-uses #use_case_companies_list #xrpl-rosetta .biz-logo{max-height:40px;content:url("../img/uses/xrpl-rosetta.svg")}.page-uses #use_case_companies_list #xrpscan .biz-logo{max-height:40px;content:url("../img/uses/xrpscan.svg")}.page-uses #use_case_companies_list #evernode .biz-logo{max-height:40px;content:url("../img/uses/evernode.svg")}.page-uses #use_case_companies_list #cryptum .biz-logo{max-height:40px;content:url("../img/uses/cryptum.svg")}.page-uses #use_case_companies_list #x-tokenize .biz-logo{max-height:40px;content:url("../img/uses/x-tokenize.svg")}.page-uses #use_case_companies_list #multichain .biz-logo{max-height:40px;content:url("../img/uses/multichain.svg")}.page-uses #use_case_companies_list #xumm-wallet .biz-logo{max-height:40px;content:url("../img/uses/xumm-wallet.svg")}.page-uses #use_case_companies_list #gem-wallet .biz-logo{max-height:40px;content:url("../img/uses/gem-wallet.svg")}.page-uses #use_case_companies_list #aesthetes .biz-logo{max-height:40px;content:url("../img/uses/aesthetes.svg")}.page-uses #use_case_companies_list #audiotarky .biz-logo{max-height:40px;content:url("../img/uses/audiotarky.svg")}.page-uses #use_case_companies_list #xrp-cafe .biz-logo{max-height:40px;content:url("../img/uses/xrp-cafe.svg")}.page-uses #use_case_companies_list #nft-master .biz-logo{max-height:40px;content:url("../img/uses/nft-master.svg")}.page-uses #use_case_companies_list #onxrp .biz-logo{max-height:40px;content:url("../img/uses/onxrp.svg")}.page-uses #use_case_companies_list #peerkat .biz-logo{max-height:40px;content:url("../img/uses/peerkat.svg")}.page-uses #use_case_companies_list #sologenic-nft .biz-logo{max-height:40px;content:url("../img/uses/sologenic-nft.svg")}.page-uses #use_case_companies_list #sologenic-dex .biz-logo{max-height:40px;content:url("../img/uses/sologenic-dex.svg")}.page-uses #use_case_companies_list #xp-market .biz-logo{max-height:40px;content:url("../img/uses/xp-market.svg")}.page-uses #use_case_companies_list #ledger-city .biz-logo{max-height:40px;content:url("../img/uses/ledger-city.svg")}.page-uses #use_case_companies_list #forte .biz-logo{max-height:40px;content:url("../img/uses/forte.svg")}.page-uses #use_case_companies_list #futureverse .biz-logo{max-height:40px;content:url("../img/uses/futureverse.svg")}.page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:40px;content:url("../img/uses/first-ledger-bot.svg")}.page-uses #use_case_companies_list #moai-finance .biz-logo{max-height:40px;content:url("../img/uses/moai-finance.svg")}.page-uses #use_case_companies_list #orchestra-finance .biz-logo{max-height:40px;content:url("../img/uses/orchestra-finance.svg")}.page-uses #use_case_companies_list #anchain-ai .biz-logo{max-height:40px;content:url("../img/uses/anchain-ai.svg")}.page-uses #use_case_companies_list #coil .biz-logo{max-height:40px;content:url("../img/uses/coil.svg")}.page-uses #use_case_companies_list #carbonland-trust .biz-logo{max-height:40px;content:url("../img/uses/carbonland-trust.svg")}.page-uses #use_case_companies_list #casino-coin .biz-logo{max-height:40px;content:url("../img/uses/casino-coin.svg")}.page-uses #use_case_companies_list #bitgo .biz-logo{max-height:40px;content:url("../img/uses/bitgo.svg")}.page-uses #use_case_companies_list #bitpay .biz-logo{max-height:40px;content:url("../img/uses/bitpay.svg")}.page-uses #use_case_companies_list #ripples-on-demand-liquidity .biz-logo{max-height:40px;content:url("../img/uses/ripples-on-demand-liquidity.svg")}.page-uses #use_case_companies_list #ripples-cbdc-platform .biz-logo{max-height:40px;content:url("../img/uses/ripples-cbdc-platform.svg")}.page-uses #use_case_companies_list #momento .biz-logo{max-height:40px;content:url("../img/uses/momento.svg")}.page-uses #use_case_companies_list #zerpmon .biz-logo{max-height:40px;content:url("../img/uses/zerpmon.png")}.page-uses #use_case_companies_list #Crossmark .biz-logo{max-height:40px;content:url("../img/uses/Crossmark.png")}.page-uses #use_case_companies_list #Edge .biz-logo{max-height:40px;content:url("../img/uses/Edge.png")}.page-uses .orchestra-finance{max-height:52px !important;margin:0 !important}.page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:81px !important}.page-uses #use_case_companies_list #zerpmon .biz-logo{max-height:81px !important}@media(min-width: 992px){.page-uses h1{font-size:62px}.page-uses .container-new{padding-left:64px;padding-right:64px}.page-uses .card-grid img{max-height:48px}.page-uses .card-grid{grid-gap:48px}.page-uses .card-uses{padding:24px}}#history-orange{position:absolute;top:0;right:-4px}#history-purple{position:absolute;top:-480px;left:-4px}.hidden-section{overflow:hidden;visibility:hidden;height:0}.hidden-section.show{overflow:auto;visibility:visible;height:auto}#impact-green{position:absolute;top:0;left:-4px;rotate:180deg}#impact-purple{position:absolute;top:100px;right:-4px}#impact-magenta{position:absolute;top:100px;right:-4px}#foundation-magenta{position:absolute;top:0px;left:0px}#foundation-orange{position:absolute;top:40px;right:-4px}.page-impact #map-light{display:none}.page-impact #map-dark{display:block}.page-impact .connect-list #connect-01{content:url("../img/impact/connect-01.svg")}.page-impact .connect-list #connect-02{content:url("../img/impact/connect-02.svg")}.page-impact .connect-list #connect-03{content:url("../img/impact/connect-03.svg")}.page-impact .connect-list #connect-04{content:url("../img/impact/connect-04.svg")}.page-funding .funding-list #funding-01{content:url("../img/funding/funding-01.svg")}.page-funding .funding-list #funding-02{content:url("../img/funding/funding-02.svg")}.page-funding .funding-list #funding-03{content:url("../img/funding/funding-03.svg")}.page-funding .funding-list #funding-04{content:url("../img/funding/funding-04.svg")}.page-funding #funding-orange{position:absolute;top:132px;left:-4px}@media(min-width: 992px){.page-funding .funding-box{min-height:200px}}.page-ambassadors #benefits-list #benefits-01{content:url("../img/ambassadors/benefits-01.svg")}.page-ambassadors #benefits-list #benefits-02{content:url("../img/ambassadors/benefits-02.svg")}.page-ambassadors #benefits-list #benefits-03{content:url("../img/ambassadors/benefits-03.svg")}.page-ambassadors #benefits-list #benefits-04{content:url("../img/ambassadors/benefits-04.svg")}.page-ambassadors #benefits-list #benefits-05{content:url("../img/ambassadors/benefits-05.svg")}.page-ambassadors #benefits-list #benefits-06{content:url("../img/ambassadors/benefits-06.svg")}.page-ambassadors #eligibility-list #eligibility-01{content:url("../img/ambassadors/eligibility-01.svg")}.page-ambassadors #eligibility-list #eligibility-02{content:url("../img/ambassadors/eligibility-02.svg")}.page-ambassadors #eligibility-list #eligibility-03{content:url("../img/ambassadors/eligibility-03.svg")}.page-ambassadors #eligibility-list #eligibility-04{content:url("../img/ambassadors/eligibility-04.svg")}.page-ambassadors #eligibility-list #eligibility-05{content:url("../img/ambassadors/eligibility-05.svg")}.page-ambassadors .btn{padding:.75rem}.page-ambassadors #container-scroll{height:160px;position:relative;overflow:hidden;margin-top:80px;margin-bottom:64px}.page-ambassadors .photobanner{position:absolute;top:0px;left:0px;overflow:hidden;white-space:nowrap;animation:bannermove 40s linear infinite}.page-ambassadors .photobanner-bottom{top:112px}.page-ambassadors .photobanner img{margin:0 .5em}@keyframes bannermove{0%{transform:translate(0, 0)}100%{transform:translate(-50%, 0)}}.page-ambassadors #carouselSlidesOnly{height:392px;margin-bottom:40px}@media(min-width: 992px){.page-ambassadors #carouselSlidesOnly{height:320px;margin-bottom:104px}}.page-ambassadors h6{font-size:1.25rem}.page-ambassadors .btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);vertical-align:middle;padding-left:8px;transition:transform .3s ease-out}.page-ambassadors .btn-arrow:hover{text-decoration:none;background:none !important;border:none}.page-ambassadors .btn-arrow:hover::after{background-position:left 4px bottom 4px;transform:translateX(4px)}.autoscroll-content{animation:autoscroll 15s linear infinite;white-space:nowrap;overflow:hidden;max-width:300px}#community-magenta{position:absolute;top:0px;left:0px}#community-purple{position:absolute;top:160px;right:0px}.page-events #event-hero-image{height:100%;min-height:209px;background:url(../img/events/event-hero1@2x.png);background-size:contain;background-repeat:no-repeat;background-position:center}.page-events #events-orange{position:absolute;top:0px;right:0px}.page-events .event-hero{color:#f5f5f7}.page-events .event-hero p{font-weight:500;font-size:24px;line-height:32px}.page-events .event-save-date{color:#fff;font-weight:bold;font-size:20px;line-height:26px}.page-events .event-small-gray{color:#e0e0e1}.page-events .btn{padding:.75rem}.page-events .event-card{max-width:311px;margin:32px auto;transition:all .35s ease-out;position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-clip:border-box;background-color:#232325;box-shadow:0px 5px 40px #000;border:1px solid rgba(0,0,0,.125);border-radius:8px;font-size:16px;line-height:24px;color:#e0e0e1}.page-events .event-card .event-card-header{position:relative;height:176px;background-size:contain !important;width:100%;border-radius:8px 8px 0 0}.page-events .event-card .event-card-title{position:absolute;bottom:32px;padding:0 32px;color:#f5f5f7;font-weight:bold;font-size:20px;line-height:28px}.page-events .event-card .event-card-body{padding:32px}.page-events .event-card .event-card-footer{padding:0 32px 32px}.page-events .event-card .event-card-footer .icon::before{height:24px;width:24px;content:"";margin-right:8px;background-size:contain;background-repeat:no-repeat}.page-events .event-card .icon-date::before{background:url(../img/events/event-date.svg)}.page-events .event-card .icon-location::before{background:url(../img/events/event-location.svg)}@media(min-width: 992px){.page-events .event-card{max-width:347px;margin:32px}.page-events .event-card-header{height:197px !important}}.page-events a.event-card:hover{transform:translateY(-16px);text-decoration:none}.page-events label{margin:0;padding-left:8px;color:#fff}.page-events .events-filter h6{font-size:16px}.page-events .events-filter{height:20px;width:20px}.page-events .events-filter[type=checkbox]::before{position:relative;display:block;width:20px;height:20px;content:"";background:#111112;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.page-events .events-filter[type=checkbox]::after{position:relative;display:block;top:-20px;width:20px;height:20px;content:"";background-repeat:no-repeat;background-position:center;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.page-events .events-filter[type=checkbox]:checked::before{background:#111112;border:none;border-radius:0}.page-events .events-filter[type=checkbox]:checked::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;background-color:#7919ff;border-width:2px;border-style:solid;border-color:#7919ff;border-radius:4px}.page-events .events-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}.page-events .events-filter[type=checkbox]:not(:disabled):hover::before{background:#111112;border:none;border-radius:0}.page-events .events-filter[type=checkbox]:not(:disabled):hover::after{background:#111112;border:none;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}#find-us-on-platforms .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-light-blue-3.svg)}#find-us-on-platforms .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-purple-blue-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-magenta-3.svg)}#find-us-on-platforms .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-green-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(5) .card-footer{background-image:url(../img/cards/4col-orange-yellow-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(6) .card-footer{background-image:url(../img/cards/4col-blue-purple.svg)}#find-us-on-platforms .card-deck .card:nth-child(7) .card-footer{background-image:url(../img/cards/4col-yellow-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(8) .card-footer{background-image:url(../img/cards/4col-orange-2.svg)}#find-us-on-platforms .card-deck .card{margin-bottom:2.5rem}.page-faq::before{background-image:url(../img/backgrounds/faq-bg.svg)}@media(min-width: 768px){.page-faq::before{background-size:contain}}@media(min-width: 992px){.page-faq article{max-width:704px;margin-left:auto;margin-right:auto}}.page-faq article h6:first-of-type{color:#32e685;margin-bottom:1rem;margin-top:2.5rem;font-size:1.25rem;line-height:26px;text-align:center}.page-faq article h6:first-of-type .hover_anchor{display:none}@media(min-width: 992px){.page-faq article h6:first-of-type{margin-top:6.5rem}}.page-faq article h1:first-of-type{font-size:2.625rem;line-height:1.2;margin-top:0;margin-bottom:5rem;text-align:center}.page-faq article h1:first-of-type .hover_anchor{display:none}@media(min-width: 992px){.page-faq article h1:first-of-type{font-size:3.875rem;margin-bottom:13rem}}.page-faq h2{margin-top:13rem;font-size:2rem;line-height:2.375rem;text-align:center;font-weight:700}.page-faq .q-wrapper,.mini-faq .q-wrapper{background:#232325;border-radius:4px;padding:2rem;padding-right:3rem;margin-bottom:1.5rem;position:relative;z-index:5;width:100%;transform:translateY(0%)}.page-faq .q-wrapper p a,.mini-faq .q-wrapper p a{text-decoration:none;font-weight:600;color:#9a52ff}.page-faq .q-wrapper p a:hover,.mini-faq .q-wrapper p a:hover{text-decoration:underline}.page-faq .q-wrapper h4,.mini-faq .q-wrapper h4{font-size:1.25rem;line-height:1.625rem;margin-top:0}.page-faq .q-wrapper h4::before,.mini-faq .q-wrapper h4::before{display:block;content:" ";margin-top:-40px;height:40px;visibility:hidden;pointer-events:none}.page-faq .q-wrapper h4>a,.mini-faq .q-wrapper h4>a{text-decoration:none}.page-faq .q-wrapper h4>a:hover,.mini-faq .q-wrapper h4>a:hover{text-decoration:underline;color:#fff}@media(max-width: 991.98px){.page-faq .q-wrapper h4,.mini-faq .q-wrapper h4{font-size:1rem;line-height:1.5rem}}.page-faq .q-wrapper h4 .chevron,.mini-faq .q-wrapper h4 .chevron{position:absolute;top:40px;right:2rem}.page-docs-index::before{background-position-x:right}.page-docs-index .center-search .input-group-text{height:56px;padding:.75rem .75rem .75rem 1rem;line-height:2rem}.page-docs-index .center-search .ds-input{height:56px;padding:.75rem 1rem .75rem .5rem}.page-docs-index #software-and-sdks .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-green.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-light-blue.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-orange.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-yellow.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-orange-yellow.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-magenta.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-blue-green.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-light-blue-2.svg)}.page-docs-index #docs-hot-topic .longform{margin-top:2.5rem}.page-docs-index #community-heading,.page-community #community-heading{padding-top:25rem;margin-top:0px}@media(max-width: 768px){.page-docs-index #community-heading,.page-community #community-heading{padding-top:31rem}}.page-docs-index #community-heading .hero-title,.page-community #community-heading .hero-title{position:absolute;bottom:0;left:50%;transform:translateX(-50%)}@media(min-width: 992px){.page-docs-index #community-heading,.page-community #community-heading{padding-left:0}.page-docs-index #community-heading .hero-title,.page-community #community-heading .hero-title{min-width:max-content;bottom:-83%}}.page-docs-index #community-heading .parallax,.page-community #community-heading .parallax{position:absolute;-webkit-transition:all .1s ease;-moz-transition:all .1s ease;-ms-transition:all .1s ease;-o-transition:all .1s ease;transition:all .1s ease}.page-docs-index #community-heading .one,.page-community #community-heading .one{top:160px;left:0%;opacity:.4}.page-docs-index #community-heading .two,.page-community #community-heading .two{top:130px;left:56%;height:320px;opacity:.4}.page-docs-index #community-heading .three,.page-community #community-heading .three{top:145px;right:16%;height:67px}.page-docs-index #community-heading .four,.page-community #community-heading .four{top:374px;left:8%;width:107px}.page-docs-index #community-heading .five,.page-community #community-heading .five{top:476px;width:152px;height:102px;right:5%;opacity:.4}.page-docs-index #run-a-network-node .card-deck .card:nth-child(1) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-yellow-2.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(2) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-purple.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(3) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-magenta-2.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(4) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-light-green.svg)}.page-docs-index #run-a-network-node,.page-community #run-a-network-node{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #run-a-network-node,.page-community #run-a-network-node{padding-top:104px;padding-bottom:104px}}.page-docs-index #run-a-network-node .text-cards,.page-community #run-a-network-node .text-cards{grid-gap:40px}.page-docs-index #run-a-network-node .text-cards h6::before,.page-community #run-a-network-node .text-cards h6::before{margin-top:0;height:unset}.page-docs-index #run-a-network-node .text-cards a,.page-community #run-a-network-node .text-cards a{font-size:1.25rem;line-height:26px;color:#fff;font-weight:bold}.page-docs-index #run-a-network-node .text-cards a:hover,.page-community #run-a-network-node .text-cards a:hover{text-decoration:none;background:none !important}.page-docs-index #run-a-network-node .text-cards .btn-arrow::after,.page-community #run-a-network-node .text-cards .btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.page-docs-index #xrpl-grants,.page-community #xrpl-grants{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-grants,.page-community #xrpl-grants{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-blog,.page-community #xrpl-blog{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-blog,.page-community #xrpl-blog{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-events,.page-community #xrpl-events{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-events,.page-community #xrpl-events{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-careers,.page-community #xrpl-careers{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-careers,.page-community #xrpl-careers{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-design-assets,.page-community #xrpl-design-assets{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-design-assets,.page-community #xrpl-design-assets{padding-top:104px;padding-bottom:208px}}.page-community #platform-github{content:url("../img/logos/github.svg")}.page-community #platform-twitch{content:url("../img/logos/twitch.svg")}.page-community #platform-stack-overflow{content:url("../img/logos/stack-overflow.svg")}.page-community #platform-twitter{content:url("../img/logos/twitter.svg")}.page-community #platform-discord{content:url("../img/logos/discord.svg")}.page-community #platform-youtube{content:url("../img/logos/youtube.svg")}.page-community #platform-devto{content:url("../img/logos/devto.svg")}.page-references #refs-types .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/3col-orange-2.svg)}.page-references #refs-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/3col-green-2.svg)}.page-references #refs-types .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/3col-magenta.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-light-blue-4.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-blue-green-2.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-yellow-3.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-purple-blue.svg)}.page-dev-tools #xrp-explorer .card-footer{background-image:url("../img/cards/3-col-orange.svg")}.page-dev-tools #bithomp-explorer .card-footer{background-image:url("../img/cards/3-col-light-blue.svg")}.page-dev-tools #xrpscan .card-footer{background-image:url("../img/cards/3-col-pink.svg")}.page-dev-tools #token-list .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}.page-dev-tools #websocket .card-footer{background-image:url("../img/cards/3-col-purple2.svg")}.page-dev-tools #rpc .card-footer{background-image:url("../img/cards/3-col-green.svg")}.page-dev-tools #technical-explorer .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}.page-dev-tools #faucets .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}.page-dev-tools #trasaction-sender .card-footer{background-image:url("../img/cards/3-col-light-blue2.svg")}.page-dev-tools #domain .card-footer{background-image:url("../img/cards/3-col-green-purple.svg")}.page-dev-tools #xrp-ledger .card-footer{background-image:url("../img/cards/3-col-dark-blue.svg")}.page-dev-tools #binary-visualizer .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}.page-dev-tools #token-metadata-lookup .card-footer{background-image:url("../img/cards/3-col-pink-purple.svg")}.page-dev-tools .nav-link{color:#a2a2a4;background-color:#111112;border-top:none;border-left:none;border-right:none;border-bottom-color:#454549}@media(max-width: 767.98px){.page-dev-tools .nav-tabs{display:flex;list-style:none;margin-left:0;padding-left:0;justify-content:space-between}.page-dev-tools .nav-item{display:inline-flex;width:auto;list-style:outside none none}.page-dev-tools .nav-link{display:inline-flex;width:auto;padding:1em 1em}}.page-dev-tools .nav-link.active{border-bottom-color:#9a52ff;color:#fff;font-weight:bold}.page-dev-tools .nav-tabs{border-bottom:1px solid #454549}.page-dev-tools .btn{padding:.75rem}html.light .page-dev-tools .nav-link{background-color:#f5f5f7}html.light .page-dev-tools .nav-link.active{border-bottom-color:#9a52ff;color:#000;font-weight:bold}html.light .page-dev-tools .nav-link{color:#000}html.light .page-dev-tools #trasaction-sender .card-footer{background-image:url("../img/cards/3-col-light-blue-2.svg")}.page-rwa-tokenization .right-arrow-item::after{display:inline-block;content:url("../img/icons/arrow-right-purple.svg");position:relative;top:1px;vertical-align:middle;padding-left:8px;transition:transform .3s ease-out}.page-rwa-tokenization #events-orange{position:absolute;top:0px;right:0px}.page-rwa-tokenization .token-title{color:var(--black-black-0-white, #FFF);text-align:center;font-family:"Work Sans";font-size:62px;font-style:normal;font-weight:700;line-height:70px;max-width:720px;z-index:1}@media(max-width: 991.98px){.page-rwa-tokenization .token-title{font-size:42px}}.page-rwa-tokenization .token-title-container{gap:32px;padding:104px 64px;display:flex;flex-direction:column;align-items:center;justify-content:center}.page-rwa-tokenization .token-video-container{flex-wrap:wrap;padding:104px 64px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:48px}.page-rwa-tokenization .token-video-container .token-video{width:50%;max-width:602px;height:372px}@media(max-width: 991.98px){.page-rwa-tokenization .token-video-container .token-video{width:100%}}.page-rwa-tokenization .token-video-container .token-video-text-container{max-width:520px;width:50%;display:flex;flex-direction:column;align-items:center;text-align:left;gap:24px;color:#e0e0e1;font-family:"Work Sans";font-size:24px;line-height:32px}@media(max-width: 991.98px){.page-rwa-tokenization .token-video-container .token-video-text-container{width:100%}}.page-rwa-tokenization .token-cards-wrapper{display:flex;justify-content:center}.page-rwa-tokenization .token-cards-container{display:flex;padding:100px 40px;flex-direction:column;justify-content:center;align-items:start;gap:40px;max-width:1280px}.page-rwa-tokenization .token-cards-container .cards-title-token{color:var(--black-black-0-white, #FFF);font-family:"Work Sans";font-size:32px;font-style:normal;font-weight:700;line-height:38px}.page-rwa-tokenization .token-cards-container .benefits-section{display:flex;flex-direction:column;align-items:center;font-family:"Work Sans",sans-serif;overflow:hidden}.page-rwa-tokenization .token-cards-container .section-title{font-size:32px;color:var(--black-black-0-white, #fff);font-weight:700;line-height:38px;max-width:776px;text-align:center;margin-bottom:40px}.page-rwa-tokenization .token-cards-container .benefits-container{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:40px;width:100%;max-width:1136px}@media(max-width: 991px){.page-rwa-tokenization .token-cards-container .section-title{font-size:28px;line-height:34px}}.page-rwa-tokenization .token-cards-container .benefit-card{border-radius:8px;background-color:var(--XRPL-Black-Black-80, #232325);display:flex;flex-direction:column;justify-content:flex-start;padding:40px;height:310px;width:352px}.page-rwa-tokenization .token-cards-container .benefit-icon{min-width:40px;min-height:40px;background-size:contain;background-repeat:no-repeat}.page-rwa-tokenization .token-cards-container .benefit-icon.low-fees{background-image:url(../img/tokenization/low-fees.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.access{background-image:url(../img/tokenization/cross-chain.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.native-compliance{background-image:url(../img/tokenization/native-compliance.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.delegated-token-management{background-image:url(../img/tokenization/delegated-token-management.png)}.page-rwa-tokenization .token-cards-container .benefit-title{color:var(--black-black-0-white, #fff);font-size:20px;font-weight:700;line-height:26px;margin-top:-10px}.page-rwa-tokenization .token-cards-container .benefit-description{color:var(--Black-Black-20, #e0e0e1);font-size:16px;font-weight:400;line-height:24px;margin-top:16px}@media(max-width: 991px){.page-rwa-tokenization .token-cards-container .benefit-card{padding:20px}}.page-rwa-tokenization .upcoming-events{display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:100px 40px;max-width:1200px;width:100%}.page-rwa-tokenization .upcoming-events__title{max-width:620px;align-self:stretch;color:#fff;font:700 32px/38px Work Sans,-apple-system,Roboto,Helvetica,sans-serif;margin-bottom:64px}.page-rwa-tokenization .upcoming-events__logo-container{display:flex;align-items:center;gap:60px;justify-content:center;flex-wrap:wrap}.page-rwa-tokenization .token-events-wrapper{padding-top:0px;display:flex;justify-content:center}.page-rwa-tokenization .company-logo{flex:0 0 auto;width:140px;aspect-ratio:var(--aspect-ratio);background-size:contain;background-repeat:no-repeat;background-position:center}@media(max-width: 991px){.page-rwa-tokenization .upcoming-events__title{margin-bottom:40px}.page-rwa-tokenization .upcoming-events{text-align:center}.page-rwa-tokenization .upcoming-events__logo-container{justify-content:center}}@media(max-width: 575.98px){.page-rwa-tokenization .small-100{width:100%}}.page-rwa-tokenization .company-logo{cursor:pointer;flex:0 0 auto;max-width:140px;aspect-ratio:var(--aspect-ratio);background-size:contain;background-repeat:no-repeat;background-position:center}.page-rwa-tokenization .company-logo.zoniqx{background-image:url(../img/tokenization/zoniqx.png)}.page-rwa-tokenization .company-logo.archax{background-image:url(../img/tokenization/archax.png)}.page-rwa-tokenization .company-logo.palisade{background-image:url(../img/tokenization/palisade.png)}.page-rwa-tokenization .company-logo.axiology{background-image:url(../img/tokenization/axiology.png)}.page-rwa-tokenization .company-logo.open-eden{background-image:url(../img/tokenization/open-eden.png)}.page-rwa-tokenization .company-logo.ondo{background-image:url(../img/tokenization/ondo.png)}.page-rwa-tokenization .company-logo.meld{background-image:url(../img/tokenization/meld.png)}.page-rwa-tokenization .company-logo.ripple-logo{background-image:url(../img/tokenization/ripple-logo.png)}.page-rwa-tokenization .company-logo.hidden-road{background-image:url(../img/tokenization/hidden-road.png)}.page-rwa-tokenization .company-logo{max-height:66px;max-width:100px;width:100%;height:100%}.page-rwa-tokenization .token-developer-tools-section .developer-tools{font-family:"Work Sans",sans-serif;padding:180px 0;color:#fff}.page-rwa-tokenization .token-developer-tools-section .developer-tools__header{margin-bottom:64px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__title{font-size:32px;font-weight:700;line-height:1;margin-bottom:24px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__description{font-size:16px;line-height:24px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__list{list-style:none;padding:0;margin:0}.page-rwa-tokenization .token-developer-tools-section .feature-item{margin-bottom:16px;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item a:hover{text-decoration:none}.page-rwa-tokenization .token-developer-tools-section .feature-item__content{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item__content:hover .right-arrow-item::after{transform:translateX(4px)}.page-rwa-tokenization .token-developer-tools-section .feature-item__title{font-size:16px;color:#e0e0e1;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item__icon{width:24px;height:24px;object-fit:contain}.page-rwa-tokenization .token-developer-tools-section .feature-item__divider{height:1px;opacity:.3;background-color:#fff}.page-rwa-tokenization .token-developer-tools-section .developer-tools__image{width:110%;height:124%;background-image:url("../img/tokenization/graphic.png");background-size:contain;background-repeat:no-repeat;background-position:center}.page-rwa-tokenization .token-developer-tools-section .m-h-300{min-height:300px}@media(max-width: 991px){.page-rwa-tokenization .token-developer-tools-section .developer-tools{padding:50px 0}.page-rwa-tokenization .token-developer-tools-section .developer-tools__header{margin-bottom:40px}}.page-rwa-tokenization .token-features-section .rwa-tokenization{font-family:"Work Sans",sans-serif;padding:100px 40px;padding-top:0px;color:#fff}.page-rwa-tokenization .token-features-section .container{max-width:1200px;margin:0 auto}.page-rwa-tokenization .token-features-section .rwa-header{text-align:start;margin-bottom:40px}.page-rwa-tokenization .token-features-section .rwa-title{font-size:32px;font-weight:700;line-height:38px}.page-rwa-tokenization .token-features-section .cta-container{display:flex;justify-content:flex-start;gap:24px}.page-rwa-tokenization .token-features-section .btn{font-size:16px;font-weight:700;padding:8px 16px;border-radius:4px;text-decoration:none}.page-rwa-tokenization .token-features-section .btn-primary{background-color:#7919ff;color:#fff}.page-rwa-tokenization .token-features-section .btn-link{color:#9a52ff}@media(max-width: 991px){.page-rwa-tokenization .token-features-section .auto-bridge{padding:18px !important}.page-rwa-tokenization .token-features-section .rwa-tokenization{padding:50px 20px}.page-rwa-tokenization .token-features-section .feature-grid{gap:20px}.page-rwa-tokenization .token-features-section .cta-container{flex-direction:column;align-items:center}}.page-rwa-tokenization .token-features-section .feature-grid{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;margin-bottom:20px}.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 100%;max-width:100%;margin-bottom:20px;position:relative}@media(min-width: 768px){.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 calc(50% - 40px);max-width:calc(50% - 40px)}}@media(min-width: 1200px){.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 calc(25% - 30px);max-width:calc(25% - 30px)}}.page-rwa-tokenization .token-features-section .feature-card:hover .right-arrow-item::after{transform:translateX(4px)}.page-rwa-tokenization .token-features-section .feature-header{margin-bottom:16px;position:relative}.page-rwa-tokenization .token-features-section .feature-title{display:flex;align-items:flex-start;justify-content:space-between;font-size:20px;font-weight:700;line-height:26px;color:#fff;width:100%;flex-wrap:wrap}@media(max-width: 767px){.page-rwa-tokenization .token-features-section .feature-title{padding-right:30px;flex-wrap:nowrap;justify-content:flex-start}}@media(min-width: 768px)and (max-width: 1199px){.page-rwa-tokenization .token-features-section .feature-title{flex-wrap:nowrap;padding-right:30px;justify-content:flex-start}}.page-rwa-tokenization .token-features-section .feature-icon{width:16px;height:16px;margin-left:8px}.page-rwa-tokenization .token-features-section .feature-description{font-size:16px;line-height:24px;color:#e0e0e1}.page-rwa-tokenization .max-w-1150{max-width:1150px !important}.page-rwa-tokenization .custom-gap{justify-content:start !important}.page-rwa-tokenization .mt-16{margin-top:16px}.page-rwa-tokenization .com-card{min-width:auto !important;padding:40px !important;height:fit-content;max-height:388px !important}.page-rwa-tokenization .section-padding{padding:100px 40px}.page-rwa-tokenization .card-description{min-height:96px}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{display:flex !important;flex-wrap:wrap !important;gap:40px !important;justify-content:center !important;max-width:1280px;margin:100px auto;padding:0 40px}@media(max-width: 1199px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{gap:32px;margin:80px auto}}@media(max-width: 991px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{gap:24px;padding:0 20px;margin:60px auto}}@media(max-width: 767px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{flex-direction:column;align-items:center;gap:24px}}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{flex:1 1 calc(50% - 20px) !important;min-width:300px !important;max-width:600px !important;width:auto !important;height:auto !important;max-height:none !important;margin:0 !important}@media(max-width: 1199px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{flex:1 1 100% !important;max-width:600px !important}}@media(max-width: 991px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{max-width:500px !important}}@media(max-width: 767px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{min-width:100% !important;max-width:100% !important;padding:32px !important}}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .card-content{height:100%;display:flex;flex-direction:column}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .card-content .card-description{flex-grow:1;min-height:auto;margin-bottom:24px}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .card-content .card-links{margin-top:auto}@media(max-width: 991px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .top-right-img,.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .bottom-right-img{height:250px}}@media(max-width: 767px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .top-right-img,.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .bottom-right-img{height:200px}}.page-rwa-tokenization .token-utility-section{padding-top:100px}.page-rwa-tokenization .token-utility-section .section-title{font-size:32px;font-weight:700;line-height:38px;text-align:start;margin-bottom:64px;color:#fff}.page-rwa-tokenization .token-utility-section .utility-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:40px}@media(max-width: 1199px){.page-rwa-tokenization .token-utility-section .utility-grid{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 767px){.page-rwa-tokenization .token-utility-section .utility-grid{grid-template-columns:1fr}}.page-rwa-tokenization .token-utility-section .utility-card .utility-title{font-size:20px;font-weight:700;line-height:26px;margin-bottom:16px;color:#fff}.page-rwa-tokenization .token-utility-section .utility-card .utility-description{font-size:16px;line-height:24px;color:#e0e0e1}.page-rwa-tokenization .token-utility-section .utility-card .utility-description a{color:#9a52ff;text-decoration:none}.page-rwa-tokenization .token-utility-section .utility-card .utility-description a:hover{text-decoration:underline}.json-view{display:block;color:#4d4d4d;text-align:left;--json-property:#009033;--json-index:#676dff;--json-number:#676dff;--json-string:#b2762e;--json-boolean:#dc155e;--json-null:#dc155e}.json-view .json-view--property{color:var(--json-property)}.json-view .json-view--index{color:var(--json-index)}.json-view .json-view--number{color:var(--json-number)}.json-view .json-view--string{color:var(--json-string)}.json-view .json-view--boolean{color:var(--json-boolean)}.json-view .json-view--null{color:var(--json-null)}.json-view .jv-indent{padding-left:1em}.json-view .jv-chevron{display:inline-block;vertical-align:-20%;cursor:pointer;opacity:.4;width:1em;height:1em}:is(.json-view .jv-chevron:hover, .json-view .jv-size:hover + .jv-chevron){opacity:.8}.json-view .jv-size{cursor:pointer;opacity:.4;font-size:.875em;font-style:italic;margin-left:.5em;vertical-align:-5%;line-height:1}.json-view :is(.json-view--copy, .json-view--edit),.json-view .json-view--link svg{display:none;width:1em;height:1em;margin-left:.25em;cursor:pointer}.json-view .json-view--input{width:120px;margin-left:.25em;border-radius:4px;border:1px solid currentColor;padding:0px 4px;font-size:87.5%;line-height:1.25;background:transparent}.json-view .json-view--deleting{outline:1px solid #da0000;background-color:#da000011;text-decoration-line:line-through}:is(.json-view:hover, .json-view--pair:hover)>:is(.json-view--copy, .json-view--edit),:is(.json-view:hover, .json-view--pair:hover)>.json-view--link svg{display:inline-block}.json-view .jv-button{background:transparent;outline:none;border:none;cursor:pointer;color:inherit}.json-view .cursor-pointer{cursor:pointer}.json-view svg{vertical-align:-10%}.jv-size-chevron~svg{vertical-align:-16%}.json-view_a11y{color:#545454;--json-property:#aa5d00;--json-index:#007299;--json-number:#007299;--json-string:green;--json-boolean:#d91e18;--json-null:#d91e18}.json-view_github{color:#005cc5;--json-property:#005cc5;--json-index:#005cc5;--json-number:#005cc5;--json-string:#032f62;--json-boolean:#005cc5;--json-null:#005cc5}.json-view_vscode{color:#005cc5;--json-property:#0451a5;--json-index:blue;--json-number:blue;--json-string:#a31515;--json-boolean:blue;--json-null:blue}.json-view_atom{color:#383a42;--json-property:#e45649;--json-index:#986801;--json-number:#986801;--json-string:#50a14f;--json-boolean:#0184bc;--json-null:#0184bc}.json-view_winter-is-coming{color:#0431fa;--json-property:#3a9685;--json-index:#ae408b;--json-number:#ae408b;--json-string:#8123a9;--json-boolean:#0184bc;--json-null:#0184bc}.json-view{font-family:"Space Mono",monospace;padding:1em;background:#232325;overflow:hidden;color:#f5f5f7 !important;font-size:14px;letter-spacing:0}.json-view svg{height:11px !important;color:#f5f5f7}.jv-button{color:#ff6719 !important;font-size:14px}.jv-indent{border-left:1px solid #454549;margin:4px}.json-view--boolean{color:#e50071 !important}.json-view--pair{margin:4px}.json-view--property{color:#f5f5f7 !important}.json-view--null,.json-view--undefined{display:inline-block;padding:1px 2px;border-radius:3px;background-color:#454549;color:#f5f5f7 !important;font-size:11px}.json-view--number{color:#84f0b6 !important}.json-view--string{color:#ff6719 !important}.rpc-tool .nav-link{cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:6px 9px}.dev-blog .image-container{transform:translateY(15%);z-index:1}.dev-blog .text-bg{background-color:#232325;padding:60px 40px;width:100%;border-radius:30px}@media(min-width: 992px){.dev-blog .image-container{transform:translateX(15%)}.dev-blog .text-bg{padding:50px 60px}}.dev-blog .line-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.dev-blog #blog-purple{position:absolute;top:0px;left:0px}.dev-blog #card-date{color:#a2a2a4}.dev-blog .post-date{text-decoration:overline solid #32e685 10%}.dev-blog #category-list #general{content:url("../img/blog/general.png");max-width:100%;width:100%}.dev-blog #category-list #developer_reflections{content:url("../img/blog/developer_reflections.png");max-width:100%;width:100%}.dev-blog #category-list #amendments{content:url("../img/blog/amendments.png");max-width:100%;width:100%}.dev-blog #category-list #advisories{content:url("../img/blog/advisories.png");max-width:100%;width:100%}.dev-blog #category-list #release_notes{content:url("../img/blog/release_notes.png");max-width:100%;width:100%}.dev-blog #category-list #development{content:url("../img/blog/development.png");max-width:100%;width:100%}.dev-blog #category-list #gateway_bulletins{content:url("../img/blog/gateway_bulletins.png");max-width:100%;width:100%}.dev-blog #category-list #features{content:url("../img/blog/features.png");max-width:100%;width:100%}.dev-blog #category-list #security{content:url("../img/blog/security.png");max-width:100%;width:100%}.dev-blog #category-list .label{width:fit-content}@media(min-width: 768px)and (max-width: 991px){.dev-blog #category-list{display:block}.dev-blog #category-list img{display:block;margin-bottom:10px}.dev-blog #category-list .label{display:block !important;margin-bottom:15px}}.dev-blog .category_sidebar{position:sticky;top:132px}.dev-blog .category-checkbox{display:flex;align-items:center}.dev-blog .dropdown{position:relative;display:inline-block}.dev-blog .dropdown-btn{color:#fff;background-color:#232325;border-color:#232325;border-style:solid;border-radius:4px;padding:8px 16px;font-size:16px;cursor:pointer;text-align:start;padding-right:10px}.dev-blog .dropdown-btn img{content:url("../img/icons/chevron-arrow-down.svg");width:10px;height:13px;padding:8px}.dev-blog .dropdown-content{display:flex;align-items:start;background-color:#232325;padding:16px 8px;width:254px;height:auto;border-radius:4px}.dev-blog .category-checkbox label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.dev-blog .category-header{font-weight:normal;width:200px;color:#f5f5f7}.dev-blog label{margin:0;padding-left:8px;color:#fff}.dev-blog .blog-filter h6{font-size:16px}.dev-blog .blog-filter[type=checkbox]::before{position:relative;display:block;width:20px;height:20px;content:"";background:#111112;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.dev-blog .blog-filter[type=checkbox]::after{position:relative;display:block;top:-20px;width:20px;height:20px;content:"";background-repeat:no-repeat;background-position:center;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.dev-blog .blog-filter[type=checkbox]:checked::before{background:#111112;border:none;border-radius:0}.dev-blog .blog-filter[type=checkbox]:checked::after{background-image:url(../img/blog/blog-check.svg);background-repeat:no-repeat;background-position:center;background-color:#7919ff;border-width:2px;border-style:solid;border-color:#7919ff;border-radius:4px}.dev-blog .blog-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/blog/blog-check.svg);background-repeat:no-repeat;background-position:center;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}.dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::before{background:#111112;border:none;border-radius:0}.dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::after{background:#111112;border:none;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}#feedback-content .docked-widget{border:none !important;background-color:transparent !important;position:static !important;box-shadow:none !important;width:auto !important}#feedback-content .widget-form-wrapper{position:static !important;box-shadow:none !important;display:block;background-color:#232325 !important;border-width:0 !important;padding:24px !important;border-radius:8px !important}#feedback-content .widget-form-wrapper div{background-color:#232325 !important}#feedback-content .widget-form-wrapper textarea{background-color:#fff !important;opacity:1 !important;border:none !important;border-radius:4px !important;margin:0 !important;width:100% !important;color:#000 !important}#feedback-content .widget-form-wrapper .widget-header-title{background:none !important;flex-grow:0 !important;padding-right:1rem !important;height:auto !important;padding:0 !important;margin-bottom:10px !important}#feedback-content .widget-form-wrapper .widget-header-footer{background:none !important}#feedback-content .widget-form-wrapper .widget-form-footer{padding-right:0 !important}#feedback-content .widget-form-wrapper .submit{background-color:#7919ff !important;font-weight:bold !important;color:#fff !important;border:none !important;border-color:transparent !important;border-radius:4px !important;margin:0 !important;margin-top:8px !important}#feedback-content .widget-form-wrapper .submit:hover{background:#5f00e5 !important}#feedback-content .widget-form-wrapper .submit.disabled,#feedback-content .widget-form-wrapper .submit[disabled=disabled]{background-color:#4a00b2 !important}#feedback-content .widget-form-wrapper .submit.disabled:hover,#feedback-content .widget-form-wrapper .submit[disabled=disabled]:hover{background-color:#4a00b2 !important}#feedback-content .widget-form-wrapper .cancel{margin:0 !important;margin-top:8px !important;color:#b480ff !important;font-weight:600 !important}#feedback-content #closeFeedback{display:none}#feedback-content .widget-helpful .widget-header{background-color:#232325 !important;border-radius:8px !important}#feedback-content .widget-helpful .widget-header-title{color:#fff !important}.video-image{transition:all .35s ease-out;cursor:pointer}.video-image:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}#video-overlay{position:fixed;top:0;left:0;z-index:1190;height:100%;width:100%;background:#fff;opacity:.6;display:none}#video{display:none;position:fixed;top:10%;left:15%;width:70%;z-index:1200}#video-container{position:relative;top:50%;left:50%;-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);max-width:982px;padding:0 20px}#videoWrapper{position:absolute;top:0;left:0;height:calc(90vh - 100px);width:80vw}#videoWrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}#video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-external-link{color:#9a52ff;font-weight:600}.video-external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:24px;padding:9px 4px 0 8px;width:2rem;background-position:left 8px bottom 0px;transition:background-position 100ms ease-in-out}.video-external-link.video-external-link:hover::after{background-position:left 12px bottom 8px}.video-title{line-height:1.2}@media(min-width: 768px){.video-title{font-size:1rem}}@media(max-width: 768px){.page-community .sm-align-items-start{align-items:start !important}}.page-community .numbers-animation{width:218px;height:96px}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.page-community .bounce-arrow{animation:bounce 1.5s infinite;animation-timing-function:ease-in-out;height:26px;width:26px;position:relative;top:24px}.page-community .m-gif{height:108px}.page-community .middle-image{margin:0 auto;height:35px}.page-community .bg-hero{width:100%;height:635px}.page-community #center-image{cursor:pointer}.page-community .gradient-num-three{background:linear-gradient(35deg, #84F0B6 -0.3%, #B480FF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .middle-image-two{margin:0 auto;height:52px}.page-community .gradient-num-two{background:linear-gradient(35deg, #EA80FF -0.3%, #80CCFF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .gradient-num{background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .surround-gradient{background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .surround-gradient-two{background:linear-gradient(35deg, #EA80FF -0.3%, #80CCFF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .surround-gradient-three{background:linear-gradient(35deg, #84F0B6 -0.3%, #B480FF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .main-title{color:var(--black-black-0, #FFF);text-align:center;font-family:Work Sans;font-size:62px;font-style:normal;font-weight:700;line-height:70px}@media(max-width: 768px){.page-community .main-title{font-size:42px;line-height:52px;text-align:left}}.page-community .get-funding-btn{width:90%;margin:0 auto}@media(max-width: 768px){.page-community .cd-none-sm{display:none !important}}@media(min-width: 769px){.page-community .cd-none-lg{display:none !important}}.page-community .icon-date{padding-right:4px;content:url(../img/events/event-date.svg)}.page-community .icon-location{padding-right:4px;content:url(../img/events/event-location.svg)}.page-community .builders-wrap{white-space:nowrap}@media(min-width: 768px){.page-community .builders-wrap{white-space:normal}}.page-community #community-table{padding:20px 93px;max-width:1280px;margin:0 auto;border-radius:5px;padding-top:165px}@media(min-width: 992px){.page-community #community-table{padding-top:512px}}@media(max-width: 768px){.page-community #community-table{margin:0;padding:20px;margin-top:100px !important}}.page-community .eyebrow-convo{text-align:start;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:26px;padding-bottom:5px}.page-community .final-tr{border:none !important}.page-community #community-table h4{text-align:start;margin:10px 0;font-family:Work Sans;font-size:32px;font-style:normal;font-weight:700;line-height:38px}.page-community #community-table table{width:100%;margin-top:31px;border-collapse:collapse}.page-community #community-table tr{padding:10px 10px;border-bottom:1px solid #343437}.page-community #community-table td{overflow:hidden;max-width:34vw;position:relative;vertical-align:middle}.page-community .scrolling-text{display:inline-block}.page-community #community-table img{max-width:52px;height:29px}.page-community .td-img{padding:10px;width:69px}.page-community .td-img .discord-icon{content:url(../img/community/ic_discord.png)}.page-community .td-img .twitter-icon{content:url(../img/community/ic_twitter.png)}.page-community .td-img .youtube-icon{content:url(../img/community/ic_youtube.png)}.page-community .td-img .xrpl-icon{content:url(../img/community/ic_xrpl.png)}.page-community .td-img .github-icon{content:url(../img/community/ic_github.png)}.page-community .td-img .stackoverflow-icon{content:url(../img/community/ic_stackoverflow.png)}.page-community .text-external-link{display:inline-flex;align-items:center;margin-left:10px}.page-community .external-link-contribute{display:inline-block;vertical-align:middle;padding-right:41px;height:16px;background:url(../img/icons/arrow-up-right.svg) no-repeat center center;transition:transform .3s ease}.page-community .text-external-link:hover .external-link-contribute{transform:translate(5px, -5px)}.page-community table td{position:relative;padding-right:25px}.page-community table td .text-external-link{position:absolute;right:5px;top:50%;transform:translateY(-50%)}@media(max-width: 768px){.page-community #community-table img{width:96px;height:29px}.page-community #community-table{width:100%}.page-community .td-img{min-width:60px}}.page-community .funding-text{color:var(#FFFFFF);font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:44px;padding-bottom:4px}.page-community .xrpl-events-section{padding:50px 40px;margin:100px auto;display:flex;justify-content:space-around;align-items:center;max-width:1280px}@media screen and (max-width: 768px){.page-community .xrpl-events-section{flex-direction:column;align-items:start}.page-community .xrpl-events-section .header-div{text-align:center}.page-community .xrpl-events-section .header{display:flex;flex-direction:column;align-items:start}.page-community .xrpl-events-section .header h6{margin-bottom:.5rem;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:28px}.page-community .xrpl-events-section .header h4{font-family:Work Sans;font-size:28px;font-style:normal;font-weight:700;line-height:34px}.page-community .xrpl-events-section .description{text-align:start;margin-top:2rem;font-family:Work Sans;font-size:24px;font-style:normal;font-weight:500;line-height:28px}.page-community .xrpl-events-section .view-all-events-btn{float:left}.page-community .xrpl-events-section .upcoming-event{text-align:start;margin-top:2rem;padding:1rem 0}.page-community .xrpl-events-section .upcoming-event .days-count{margin-bottom:1rem}}.page-community .xrpl-events-section .header-div{padding-top:27px}.page-community .xrpl-events-section .header h6{padding-left:1.5px;font-family:"Work Sans",sans-serif;font-size:20px;font-weight:700;color:var(--black-black-0, #FFF);text-align:start}.page-community .xrpl-events-section .header h4{text-align:start;font-family:"Work Sans",sans-serif;font-size:32px;font-weight:700;color:var(--black-black-0, #FFF)}.page-community .xrpl-events-section .description{font-family:"Work Sans",sans-serif;font-size:20px;font-weight:500;max-width:444px;color:var(--black-black-10-gray-200, #E0E0E1);line-height:32px}.page-community .xrpl-events-section .view-all-events-btn{display:inline-block;margin-top:1rem}.page-community .xrpl-events-section .upcoming-event{margin-top:2rem}.page-community .xrpl-events-section .upcoming-event .upcoming-label{position:relative;top:7px;font-family:"Work Sans",sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--black-black-30, #C1C1C2)}.page-community .xrpl-events-section .upcoming-event .days-count{font-weight:300;margin-bottom:21px;line-height:99px;font-size:88px;background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.page-community .xrpl-events-section .upcoming-event .days-word{vertical-align:bottom;font-weight:normal;margin-bottom:21px;line-height:99px;font-size:40px;background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.page-community .xrpl-events-section .upcoming-event h5{font-family:"Work Sans",sans-serif;font-size:16px;font-weight:700;color:var(--black-black-10, #F5F5F7)}.page-community .xrpl-events-section .upcoming-event .event-details,.page-community .xrpl-events-section .upcoming-event .event-location{font-family:"Work Sans",sans-serif;font-size:12px;font-weight:600;color:var(--black-black-30, #C1C1C2)}.page-community .community-funding{display:flex;flex-wrap:wrap;justify-content:space-between;max-width:1280px;margin:100px auto;padding-right:54px;padding-left:73px;margin-top:120px}.page-community .funding-section{flex:1;padding:20px;color:var(--black-black-0)}.page-community .small-text{color:var(--black-black-30, #C1C1C2);font-family:Work Sans;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;padding-left:11px;text-align:start}.page-community .funding-section h2{font-size:32px;font-weight:700;line-height:38px;margin-top:10px;margin-bottom:40px}.page-community .funding-section p{color:var(--black-black-20);font-size:24px;font-weight:500;line-height:32px;margin-bottom:40px}.page-community .stats{flex:1;display:flex;justify-content:space-between}@media(max-width: 768px){.page-community .stats{flex-direction:column;align-items:start;text-align:start;padding-left:7px}}.page-community .stacked-stats{display:flex;flex-direction:column;justify-content:space-between}.page-community .stat{align-self:center;text-align:center;margin:0 auto;display:flex;flex-direction:column}@media(max-width: 768px){.page-community .stat{margin:0px;text-align:start;align-self:start}}.page-community .number{opacity:1;font-size:88px;display:flex;padding:10px;align-items:center;line-height:96px;font-weight:300}@media screen and (max-width: 768px){.page-community .community-funding{flex-direction:column-reverse;padding-left:16px;padding-right:16px}.page-community .funding-section,.page-community .stats{width:100%}}.page-community .carousel{position:relative;width:1280px;margin:0 auto;margin-top:106px;max-width:100%}.page-community .carousel .flex-align{display:flex;align-items:center}@media(max-width: 768px){.page-community .carousel{width:100%}}.page-community .center-image-wrapper{position:relative;width:552px;height:314px}@media(max-width: 1118px){.page-community .center-image-wrapper{width:55%;height:auto}}@media(max-width: 768px){.page-community .center-image-wrapper{margin:0 auto;width:86%}}.page-community .image-container{display:flex;justify-content:space-around;align-items:center;overflow:hidden}.page-community .image-container img{max-width:100%;transition:transform .7s ease-in-out,opacity .7s ease-in-out}.page-community #center-image{width:100%}.page-community #left-image,.page-community #right-image{width:252px;height:144px;opacity:.7}@media(max-width: 1118px){.page-community #left-image,.page-community #right-image{width:15%;height:auto}}@media(max-width: 768px){.page-community #left-image,.page-community #right-image{display:none;margin:0}}.page-community #left-image.exit,.page-community #right-image.exit{transform:translateX(-100%);opacity:0}.page-community #left-image.enter,.page-community #right-image.enter{transform:translateX(100%);opacity:0}.page-community #center-image.exit{transform:scale(0.8);opacity:0}.page-community #center-image.enter{transform:scale(1);opacity:1}.page-community .nav-btn{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;background:none;border:none;cursor:pointer}.page-community #prev-btn{left:0}.page-community #next-btn{right:0}.page-community .event-info{position:absolute;bottom:10px;left:32px;display:flex;flex-direction:column;gap:4px}@media(max-width: 768px){.page-community .event-info{left:7px}}.page-community .event-info span{color:#fff;font-family:Work Sans;font-size:12px;font-style:normal;font-weight:600;line-height:16px}.page-community .event-info .name{padding-bottom:5px;color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:24px}.page-community .arrow-wrapper{display:flex;justify-content:center;padding-top:24px}.page-community :root{--black-black-0: #FFF;--black-black-10: #F5F5F7;--black-black-30: #C1C1C2}.page-community .community-spotlight-wrapper{display:flex;padding:20px;max-width:1280px;min-height:582px;margin:100px auto;gap:48px;padding-right:54px;padding-left:73px}.page-community .community-spotlight{flex:1;display:flex;flex-direction:column;padding-right:10px}.page-community .projects-wrapper{flex:1;position:relative;display:flex;justify-content:center;gap:48px}@media(max-width: 768px){.page-community .projects-wrapper{gap:48px}}.page-community .project-card{background-color:transparent;border-radius:4px;height:fit-content;width:252px;max-height:456px}@media(max-width: 768px){.page-community .project-card{width:99%}}.page-community .project-card.bottom-right{align-self:end}.page-community .card-image{border-radius:4px;height:144px;width:252px;background-color:#2c2b2b;display:flex;align-items:center}.page-community .spotlight-title,.page-community .project-title{color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:16px}.page-community .spotlight-subtitle{color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:16px}.page-community .project-description{color:var(--black-black-30, #C1C1C2);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.page-community .card-details{background-color:transparent;display:flex;flex-direction:column;text-align:start;padding:15px;height:fit-content}.page-community .view-project{color:var(--blue-purple-blue-purple-50, #7919FF);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:16px;cursor:pointer;text-decoration:none}@media(max-width: 1076px){.page-community .project-card.bottom-right{align-self:auto}.page-community .community-spotlight-wrapper{flex-direction:column;align-items:center;margin-left:0px;padding-right:26px;padding-left:26px}.page-community .community-spotlight,.page-community .projects-wrapper{width:100%;margin:0;padding:0}.page-community .projects-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;position:static}.page-community .card-image{width:100%}.page-community .card-details{gap:16px;margin-top:10px}.page-community .project-card{position:static;margin:20px 0;height:fit-content}}.page-community .w-222{width:222px}.page-community .bottom-cards-section .com-card .card-content{display:flex;flex-direction:column;justify-content:space-between;gap:16px;position:relative;z-index:1;height:100%}.page-community .bottom-cards-section .com-card{border-radius:8px;padding:36px;background:#232325;min-width:352px;height:442px;max-width:352px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.page-community .bottom-cards-section.bug-bounty{justify-content:space-around}.page-community .bottom-cards-section.bug-bounty .com-card{min-width:559px;max-width:559px;height:442px}.page-community .pr-bt16{position:relative;bottom:16px}.page-community .pr-bt28{position:relative;bottom:28px}.page-community .bottom-cards-section{display:flex;flex-direction:row;justify-content:space-around;gap:48px;max-width:1280px;margin:70px auto}.page-community .bottom-cards-section .com-card{padding:36px;background:#232325;min-width:352px;height:442px;max-width:352px;position:relative}.page-community .bottom-cards-section .com-card .top-left-img{position:absolute;top:0;height:292px;left:0;content:url(../img/community/card-bg-1.svg)}.page-community .bottom-cards-section .com-card .top-right-img.bug-bounty-card-bg{content:url(../img/community/bug-bounty-card-bg.png)}.page-community .bottom-cards-section .com-card .bottom-right-img.bug-bounty-card-bg-2{content:url(../img/community/bug-bounty-card-bg-2.png)}.page-community .bottom-cards-section .com-card .bottom-right-img{position:absolute;bottom:0;right:0;height:333px;content:url(../img/community/card-bg-2.svg)}.page-community .bottom-cards-section .com-card .top-right-img{height:390px;position:absolute;top:0;right:0;content:url(../img/community/card-bg-3.svg)}.page-community .bottom-cards-section .com-card .card-content{display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}.page-community .bottom-cards-section .com-card .card-content .card-title{margin-bottom:0px !important;color:var(--black-black-0-white, #FFF);white-space:nowrap;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:26px}.page-community .bottom-cards-section .com-card .card-content .card-subtitle{color:var(--black-black-0, #FFF);font-family:Work Sans;font-size:24px;font-style:normal;font-weight:700;line-height:32px;margin-top:2px}.page-community .bottom-cards-section .com-card .card-content .card-description{color:var(--black-black-20, #E0E0E1);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin-top:15px;margin-bottom:15px}.page-community .bottom-cards-section .com-card .card-content .card-description a{color:#9a52ff}.page-community .bottom-cards-section .com-card .card-content .card-links{display:flex;flex-direction:column;gap:8px}.page-community .bottom-cards-section .com-card .card-content .com-card-link{text-decoration:none;cursor:pointer;color:#9a52ff;font-family:Work Sans;font-size:16px;font-style:normal;font-weight:600;line-height:24px}@media(max-width: 767.98px){.page-community .bottom-cards-section .com-card .card-content .com-card-link{display:block;width:100%}}.page-community .bottom-cards-section .com-card .card-content .com-card-link::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);position:relative;top:1px;vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.page-community .bottom-cards-section .com-card .card-content .com-card-link:hover{border:none}.page-community .bottom-cards-section .com-card .card-content .com-card-link:hover::after{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}@media(max-width: 768px){.page-community .pr-bt28{position:relative;bottom:0px}.page-community .pr-bt16{position:relative;bottom:0px}.page-community .bottom-cards-section{flex-direction:column;align-items:center;padding:20px}.page-community .bottom-cards-section.bug-bounty{justify-content:space-around}.page-community .bottom-cards-section.bug-bounty .com-card{min-width:352px;height:fit-content;max-width:352px}.page-community .bottom-cards-section .com-card{margin-bottom:20px;display:block;width:100%}}.page-community .num-separator{width:32px;height:1px;background:var(--black-black-70, #343437);margin-bottom:32px;margin-top:1px}.page-community .stat-separator{width:32px;height:1px;background:var(--black-black-70, #343437);margin-bottom:32px;margin-top:8px}.page-community .ml-8{margin-left:8px}.page-community .ml-19{margin-left:19px}.page-community .ml-14{margin-left:11px}.page-community .header-div .header{gap:10px;display:flex;flex-direction:column;padding-bottom:35px}.page-community .spotlight-subtitle{font-size:32px;font-weight:700;line-height:38px;margin-top:10px;margin-bottom:40px}.page-community .spotlight-description{color:var(--black-black-20);font-size:24px;font-weight:500;line-height:32px;margin-bottom:40px}.sdk-img{align-self:center}.light .sdk-img{content:url(../img/graphics/sdk-white.png)}.light .ref-book-illustration{content:url(../img/graphics/ref-book-light.png)}.light .tutorial-illustration{content:url(../img/graphics/tutorials-illustration-light.png)}.light .concepts-doc-illustration{content:url(../img/graphics/concepts-docs-light.png)}.light .use-cases .wallet-illustration{content:url(../img/graphics/wallet-light.svg)}.light .use-cases .token-illustration{content:url(../img/graphics/tokens-light.png)}.light .use-cases .connections-illustration{content:url(../img/graphics/nodes-light.svg)}.light .quickstart-image{content:url(../img/graphics/getting-started-pages-light.png)}.light .dev-tools-img{content:url(../img/graphics/dev-tools-light.svg)}.light .dev-tools-link:hover p{color:#000}.dark .sdk-img{content:url(../img/graphics/sdk-black.png)}.dark .ref-book-illustration{content:url(../img/graphics/ref-book.png)}.dark .tutorial-illustration{content:url(../img/graphics/tutorials-illustration.png)}.dark .concepts-doc-illustration{content:url(../img/graphics/concepts-doc.png)}.dark .use-cases .wallet-illustration{content:url(../img/graphics/wallet-dark.png)}.dark .use-cases .token-illustration{content:url(../img/graphics/tokens-dark.png)}.dark .use-cases .connections-illustration{content:url(../img/graphics/nodes-dark.png)}.dark .quickstart-image{content:url(../img/graphics/getting-started-pages-dark.svg)}.dark .dev-tools-img{content:url(../img/graphics/dev-tools-dark.png)}.dark .dev-tools-link:hover p{color:#fff}.dark .flat-card-grid .nav-link:hover{color:#e0e0e1}.get-started-img,.flat-card{max-width:100%;max-height:100%}.faded-text{font-family:"Work Sans";font-style:normal;font-weight:400;font-size:15.5667px;line-height:23px}.page-docs-index section{padding-top:64px;padding-bottom:64px}.page-docs-index .dev-tools-link h6::before{margin-top:-20px;height:20px}.page-docs-index .dev-tools-link h6:hover{text-decoration:underline;text-decoration-color:#9a52ff;background:none !important}.page-docs-index .dev-tools-link:hover p{text-decoration:none !important;background:none !important;display:inline-block}.page-docs-index .dev-tools-link a:hover{color:#9a52ff;text-decoration:none !important}.page-docs-index .dev-tools-link .btn-arrow::after{content:url(../img/icons/arrow-right-purple.svg);width:1.5rem;height:1.5rem}.page-docs-index .langs>a{display:block}.page-docs-index .langs h5:hover{text-decoration:underline;text-decoration-color:#9a52ff;background:none !important}.page-docs-index .langs a:hover{text-decoration:none !important}.page-docs-index .langs .btn-arrow::after{content:url(../img/icons/arrow-right-purple.svg);vertical-align:baseline;width:1.5rem;height:1.5rem}.page-docs-index .langs h5{margin-block-start:0 !important}.page-docs-index .langs h5::before{margin-top:0;height:0}.page-docs-index h1{font-size:3.875rem}.page-docs-index .arrow-purple::after{content:url(../img/icons/arrow-right-purple.svg)}.page-docs-index .documentation-index:hover,.page-docs-index .documentation-index::after{color:#9a52ff;text-decoration:none !important;background:none !important}@media(max-width: 765px){.page-docs-index h1{font-size:3rem}.page-docs-index .flat-card-grid{grid-gap:24px}.page-docs-index .flat-card-grid .flat-card{padding:32px 12px}.page-docs-index::before{display:none}}#langs-cards{grid-gap:40px}@media(max-width: 991.98px){.page-docs-index .langs-cards{grid-template-columns:1fr 1fr;grid-auto-rows:auto}}.dev-tools-img{max-width:100%;max-height:100%;margin:auto}.page-docs .h4::before{margin-top:0;height:0}.page-docs .row{margin-right:0;margin-left:0}.page-docs .video-grid{grid-gap:35px}.page-docs .title-space{margin-bottom:16px}.page-docs .circled-logo{margin-left:.1rem}.flat-card-grid{grid-gap:15px;max-width:100%;min-height:384px}.flat-card-grid .flat-card{padding:32px 50px;height:100%;width:100%;box-shadow:none}.flat-card-grid .flat-card-padding{margin-bottom:75px}.flat-card-grid img{width:auto;height:115px;margin-left:auto;margin-right:auto}.flat-card-grid .nav-link{border:none !important}.flat-card-grid .nav-link:hover{text-decoration:underline;text-decoration-color:#9a52ff}.flat-card-grid .nav-link::after{content:none !important}@media(max-width: 991.98px){.flat-card-grid .flat-card-padding{margin-bottom:0}.flat-card-grid .nav-link::after{content:" " !important}.flat-card-grid .flat-card .btn{display:none}}.float-up-on-hover{transition:all .35s ease-out;cursor:pointer}.float-up-on-hover:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}.float-up-on-hover .video-image:hover{-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}@media(min-width: 992px){.align-button-on-bottom .btn-primary{position:absolute;bottom:0}}.center-image{display:flex;justify-content:center}.quickstart-card .quickstart-image{margin-left:-20px;margin-right:-20px;margin-bottom:-20px}@media(min-width: 992px){.quickstart-card{margin-left:-32px;margin-right:-32px;margin-bottom:-32px;width:calc(100% + 64px)}}.explore-links .card-grid{grid-gap:40px}.full-documentation-link{margin-top:-35px}button.MarkpromptFloatingTrigger{bottom:4.5rem;border-radius:4px;right:16px;border:1px solid transparent;color:var(--markprompt-primaryForeground);background-color:var(--markprompt-primary)}@media(min-width: 992px){button.MarkpromptFloatingTrigger{right:32px}}html.light .MarkpromptContentDialog a{color:#7919ff}html.light .MarkpromptContentDialog h3:not(.chip){color:#000}.MarkpromptExtendedFeedbackTextInput{background-color:#fff;color:#000}.MarkpromptOverlay{z-index:20}.MarkpromptContentDialog{z-index:10000}.osano-cm-close{box-sizing:content-box !important}.osano-cm-switch{box-sizing:content-box !important}.osano-cm-widget{right:16px;width:50px;height:50px;border:1px solid transparent}@media(min-width: 992px){.osano-cm-widget{right:32px}}html.light article p code,html.light article table code,html.light article li>code{background-color:#e0e0e1;color:#111112}html.light body{background-color:#f5f5f7;color:#000}html.light #topnav-theme .custom-theme-toggle .custom-control-label::before{background-color:transparent;background-position:bottom right;transform:rotate(-15deg)}html.light h1:not(.chip),html.light h2:not(.chip),html.light h3:not(.chip),html.light h4:not(.chip),html.light h5:not(.chip),html.light h6:not(.chip),html.light .h1:not(.chip),html.light .h2:not(.chip),html.light .h3:not(.chip),html.light .h4:not(.chip),html.light .h5:not(.chip),html.light .h6:not(.chip){color:#000}html.light h1.green-500,html.light h2.green-500,html.light h3.green-500,html.light h4.green-500,html.light h5.green-500,html.light h6.green-500,html.light .h1.green-500,html.light .h2.green-500,html.light .h3.green-500,html.light .h4.green-500,html.light .h5.green-500,html.light .h6.green-500{color:#28b86a;text-shadow:#fff 0 0 2px,#fff -1px -1px 2px,#fff 1px 1px 2px}html.light .bg-grey-800{background-color:#fcfcfd}html.light .grey-400{color:#454549}html.light .text-muted{color:#232325 !important}html.light .longform{color:#232325}html.light .numbers{color:#000}html.light .stat-highlight,html.light .eyebrow{color:#111112}html.light .invertible-img{filter:invert(100%)}html.light .arrow-link::after{content:url("../img/lightmode/icon-long-arrow.svg")}html.light .search .input-group-text,html.light .input-group .input-group-text,html.light .form-group .input-group-text{background-color:#e0e0e1;color:#232325}html.light .search label .input-group-text,html.light .search .form-control:not(.btn),html.light .input-group label .input-group-text,html.light .input-group .form-control:not(.btn),html.light .form-group label .input-group-text,html.light .form-group .form-control:not(.btn){color:#000;background-color:#e0e0e1;border-color:#e0e0e1}html.light .search .ds-input,html.light .input-group .ds-input,html.light .form-group .ds-input{color:#000;background-color:#e0e0e1;border-color:#e0e0e1}html.light .search .ds-input:focus,html.light .input-group .ds-input:focus,html.light .form-group .ds-input:focus{border-color:#9a52ff}html.light .list-group-item{border-color:#232325;background-color:#f5f5f7}html.light .list-group-item.disabled{color:#a2a2a4}html.light .progress{background-color:#e0e0e1}html.light [data-component-name="Search/SearchIcon"]>path{fill:#000}html.light a,html.light nav a,html.light a:not([role=button]){color:#000}html.light a.btn-primary,html.light nav a.btn-primary,html.light a:not([role=button]).btn-primary{color:#fff}html.light a.btn-primary:hover,html.light nav a.btn-primary:hover,html.light a:not([role=button]).btn-primary:hover{color:#fff}html.light a:hover,html.light a:active,html.light a.active,html.light nav a:hover,html.light nav a:active,html.light nav a.active,html.light a:not([role=button]):hover,html.light a:not([role=button]):active,html.light a:not([role=button]).active{color:#7919ff}html.light a:not(.btn):focus,html.light nav a:not(.btn):focus,html.light a:not([role=button]):not(.btn):focus{background-color:transparent}html.light a.card:hover,html.light:active,html.light.active{color:#000}html.light .landing-table tbody td{color:#232325}html.light .btn-outline-secondary,html.light article a.button,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary{color:#111112;border-color:#111112}html.light .btn-outline-secondary:not(:disabled):not(.disabled):hover,html.light .btn-outline-secondary:not(:disabled):not(.disabled):active,html.light article a.button:not(:disabled):not(.disabled):hover,html.light article a.button:not(:disabled):not(.disabled):active,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary:not(:disabled):not(.disabled):hover,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary:not(:disabled):not(.disabled):active{color:#9a52ff;border-color:#9a52ff;background-color:transparent}html.light .breadcrumb{background:#f5f5f7}html.light .breadcrumb-item a{color:#454549}html.light .breadcrumb-item a:hover{color:#9a52ff}html.light .top-nav{background:#f5f5f7}html.light .top-nav #topnav-pages .nav-link{color:#000}html.light .top-nav .navbar-brand .logo{content:url(../img/XRPLedger_DevPortal-black.svg);height:40px}html.light .top-nav #dropdown-hero-for-docs>img{content:url(../img/icons/lightmode/docs.svg)}html.light .top-nav #dropdown-hero-for-community>img{content:url(../img/icons/lightmode/contribute.svg)}html.light .top-nav .dropdown-menu{background-color:#f5f5f7;border-color:#f5f5f7;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .top-nav .dropdown-menu a:hover,html.light .top-nav .dropdown-menu a.active{color:#7919ff}html.light .top-nav .dropdown-menu .dropdown-item.dropdown-hero>img{background-color:#fcfcfd}html.light .top-nav .dropdown-menu .dropdown-item.dropdown-hero p{color:#343437}html.light .top-nav .dropdown-menu .dropdown-item.active{color:#7919ff}html.light .top-nav .dropdown-menu h5{color:#454549}html.light .top-nav .dropdown-menu .col-for-get_started{background-color:#e0e0e1}html.light .top-nav #topnav-button{background-color:#e0e0e1}@media(max-width: 991.98px){html.light .top-nav .navbar-toggler .navbar-toggler-icon::after,html.light .top-nav .navbar-toggler .navbar-toggler-icon::before,html.light .top-nav .navbar-toggler .navbar-toggler-icon div{background-color:#111112}html.light .top-nav .navbar-nav .nav-link,html.light .top-nav .navbar-collapse>.nav-item{background:#e0e0e1}html.light .top-nav #top-main-nav{background-color:#c1c1c2}}html.light aside .sidenav_cat_title{color:#000}html.light .page-toc .level-1 a,html.light .command-list .separator{color:#000}html.light aside a:hover,html.light aside .sidenav_cat_title:hover,html.light aside a.active,html.light aside a.active:hover,html.light aside .active>a,html.light aside .active>a:hover{color:#7919ff}html.light .dactyl-tree-nav nav{border-left:1px solid #000}html.light .dactyl-tree-nav nav .nav-link:hover,html.light .dactyl-tree-nav nav .nav-link:active{border-left-color:#7919ff}html.light .dactyl-tree-nav nav .active>.nav-link{border-left-color:#7919ff}html.light .page-toc,html.light .command-list{border-left:1px solid #000}html.light .page-toc .level-3,html.light .command-list .level-3{border-left:1px solid #000}html.light .page-toc li a:hover,html.light .page-toc li a .active,html.light .command-list li a:hover,html.light .command-list li a .active{border-left-color:#7919ff}html.light .footer-brand .logo{filter:invert(100%)}html.light .copyright-license{text-shadow:#fff 0px 0px 2px,#fff 1px 1px 2px,#fff 2px 2px 3px,#fff 2px 2px 4px,#fff 2px 2px 5px,#fff 2px 2px 6px,#fff -1px -1px 2px,#fff -2px -2px 3px,#fff -2px -2px 4px}html.light a.osano-cm-link{color:#fff}html.light article .card,html.light .landing .card,html.light .cta-card,html.light aside .card{color:#000;background-color:#fcfcfd;box-shadow:0px 5px 20px 0px #c1c1c2}html.light #code-samples-deck .card{box-shadow:0px 5px 20px 0px #c1c1c2}html.light #code-samples-deck .card-header{border-bottom:none;background-color:#fcfcfd}html.light #code-samples-deck .card-footer{background-color:#fcfcfd}html.light .page-faq.landing-builtin-bg::before,html.light .mini-faq.landing-builtin-bg::before{opacity:.6}html.light .page-faq .q-wrapper,html.light .mini-faq .q-wrapper{background-color:#fcfcfd;color:#000;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .page-faq .q-wrapper>h4 a.expander:hover,html.light .mini-faq .q-wrapper>h4 a.expander:hover{color:#000}html.light .page-community .com-card{background:#fff}html.light .page-community .project-description{color:#343437}html.light .page-community #platform-stack-overflow{content:url("../img/logos/lightmode/stack-overflow.svg")}html.light .page-community #platform-discord{content:url("../img/logos/lightmode/discord.svg")}html.light .status.not_enabled{color:#aeb200}html.light .pg-category{color:#454549}html.light .landing .nav .nav-link{color:#232325;border-bottom-color:#c1c1c2}html.light .landing .circled-logo{background-color:#e0e0e1}html.light .landing .circled-logo img[src="assets/img/logos/globe.svg"]{filter:invert(100%)}html.light .landing p a,html.light .landing .longform a{color:#7919ff}html.light .devportal-callout.caution,html.light .devportal-callout.注意{border-color:#aeb200}html.light .devportal-callout.caution>strong:first-child::before,html.light .devportal-callout.注意>strong:first-child::before{color:#aeb200}html.light .devportal-callout.tip,html.light .devportal-callout.ヒント{border-color:#2dcf78}html.light .devportal-callout.tip>strong:first-child::before,html.light .devportal-callout.ヒント>strong:first-child::before{color:#2dcf78}html.light code{color:#000}html.light pre code,html.light pre{background-color:#e0e0e1}html.light .multicode a{color:#000}html.light .multicode a.current{color:#fff}html.light .multicode a:hover{text-decoration:none;background-color:#e0e0e1;color:#fff}html.light .multicode a:focus{background-color:#232325}html.light .codehilite .btn-outline-secondary{background-color:#232325;color:#f5f5f7;border-color:#f5f5f7}html.light .interactive-block .breadcrumb-item.done a::after{color:#145c35}html.light .modal-content{background-color:#fcfcfd}html.light .rpc-tool pre .toggle{color:#fff}html.light .rpc-tool pre .toggle:hover{color:#b480ff}html.light .page-home #home-hero-graphic{content:url("../img/lightmode/home-hero.svg")}html.light .page-home #benefits-list #public{content:url("../img/icons/lightmode/public.svg")}html.light .page-home #benefits-list #streamlined{content:url("../img/icons/lightmode/streamlined.svg")}html.light .page-home #benefits-list #performance{content:url("../img/icons/lightmode/performance.svg")}html.light .page-home #benefits-list #low-cost{content:url("../img/icons/lightmode/low-cost.svg")}html.light .page-home #benefits-list #community{content:url("../img/icons/lightmode/community.svg")}html.light .page-home #benefits-list #reliability{content:url("../img/icons/lightmode/reliability.svg")}html.light #validator-graphic{content:url("../img/lightmode/validators.svg")}html.light #wallets #wallet-xumm{content:url("../img/wallets/lightmode/xumm.svg")}html.light #wallets #wallet-bitfrost{content:url("../img/wallets/lightmode/bitfrost.png")}html.light #wallets #wallet-towo{content:url("../img/wallets/lightmode/towo.svg")}html.light #wallets #wallet-keystone{content:url("../img/wallets/lightmode/keystone.svg")}html.light #wallets #wallet-dcent{content:url("../img/wallets/lightmode/dcent.svg")}html.light #wallets #wallet-coin{content:url("../img/wallets/lightmode/coin.svg")}html.light #wallets #wallet-gem{content:url("../img/wallets/lightmode/gem.svg")}html.light #top-exchanges #exch-bitstamp{content:url("../img/exchanges/lightmode/bitstamp.svg")}html.light #top-exchanges #exch-cex-io{content:url("../img/exchanges/lightmode/cex-io.svg")}html.light #top-exchanges #exch-liquid{content:url("../img/exchanges/lightmode/liquid.svg")}html.light #top-exchanges #exch-bitfinex{content:url("../img/exchanges/lightmode/bitfinex.svg")}html.light #top-exchanges #exch-bittrex{content:url("../img/exchanges/lightmode/bittrex.png")}html.light #top-exchanges #exch-currency-com{content:url("../img/exchanges/lightmode/currency-com.png")}html.light #top-exchanges #exch-ftx{content:url("../img/exchanges/lightmode/ftx.png")}html.light #top-exchanges #exch-lmax{content:url("../img/exchanges/lightmode/lmax.png")}html.light .timeline-dot{background-color:#f5f5f7}html.light .page-uses .card-body{background:#fff;color:#343437}html.light .page-uses .modal-footer,html.light .page-uses .modal-header{background-color:#fcfcfd}html.light .page-uses #infrastructure{content:url("../img/icons/usecases/lightmode/ic_infrastructure.png")}html.light .page-uses #developer_tooling{content:url("../img/icons/usecases/lightmode/ic_developer_tooling.png")}html.light .page-uses #interoperability{content:url("../img/icons/usecases/lightmode/ic_interoperability.png")}html.light .page-uses #wallet{content:url("../img/icons/usecases/lightmode/ic_wallet.png")}html.light .page-uses #nfts{content:url("../img/icons/usecases/lightmode/ic_nfts.png")}html.light .page-uses #exchanges{content:url("../img/icons/usecases/lightmode/ic_exchanges.png")}html.light .page-uses #gaming{content:url("../img/icons/usecases/lightmode/ic_gaming.png")}html.light .page-uses #security{content:url("../img/icons/usecases/lightmode/ic_security.png")}html.light .page-uses #payments{content:url("../img/icons/usecases/lightmode/ic_payments.png")}html.light .page-uses #web_monetization{content:url("../img/icons/usecases/lightmode/ic_web_monetization.png")}html.light .page-uses #sustainability{content:url("../img/icons/usecases/lightmode/ic_sustainability.png")}html.light .page-uses #cbdc{content:url("../img/icons/usecases/lightmode/ic_cbdc.png")}html.light .page-uses #custody{content:url("../img/icons/usecases/lightmode/ic_custody.png")}html.light .page-uses #other{content:url("../img/icons/usecases/lightmode/ic_other.png")}html.light .page-uses #carbon_markets{content:url("../img/icons/usecases/lightmode/ic_carbon_markets.png")}html.light .page-uses #defi{content:url("../img/icons/usecases/lightmode/ic_defi.png")}html.light .page-uses .category-header{color:#343437}html.light .page-uses .category_count{background:#d2b2ff;color:#350080}html.light .page-uses .section-text-title{color:#000}html.light .page-uses #use_case_companies_list #bitgo .biz-logo{max-height:40px;content:url("../img/uses/lightmode/bitgo.svg")}html.light .page-uses #use_case_companies_list #sologenic-nft .biz-logo{max-height:40px;content:url("../img/uses/lightmode/sologenic-nft.svg")}html.light .page-uses #use_case_companies_list #carbonland-trust .biz-logo{max-height:40px;content:url("../img/uses/lightmode/carbonland-trust.svg")}html.light .page-uses #use_case_companies_list #futureverse .biz-logo{max-height:40px;content:url("../img/uses/lightmode/futureverse.png")}html.light .page-uses #use_case_companies_list #moai-finance .biz-logo{max-height:40px;content:url("../img/uses/lightmode/moai-finance.svg")}html.light .page-uses #use_case_companies_list #orchestra-finance .biz-logo{max-height:40px;content:url("../img/uses/lightmode/orchestra-finance.svg")}html.light .page-uses #use_case_companies_list #x-tokenize .biz-logo{max-height:40px;content:url("../img/uses/lightmode/x-tokenize.svg")}html.light .page-uses #use_case_companies_list #casino-coin .biz-logo{max-height:40px;content:url("../img/uses/lightmode/casino-coin.svg")}html.light .page-uses #use_case_companies_list #xrp-cafe .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrp-cafe.svg")}html.light .page-uses #use_case_companies_list #coil .biz-logo{max-height:40px;content:url("../img/uses/lightmode/coil.svg")}html.light .page-uses #use_case_companies_list #xrp-toolkit .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrp-toolkit.svg")}html.light .page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:40px;content:url("../img/uses/lightmode/first-ledger-bot.svg")}html.light .page-uses #use_case_companies_list #cryptum .biz-logo{max-height:40px;content:url("../img/uses/lightmode/cryptum.svg")}html.light .page-uses #use_case_companies_list #xrpl-org-ledger-explorer .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpl-org-ledger-explorer.svg")}html.light .page-uses #use_case_companies_list #evernode .biz-logo{max-height:40px;content:url("../img/uses/lightmode/evernode.svg")}html.light .page-uses #use_case_companies_list #xrpl-rosetta .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpl-rosetta.svg")}html.light .page-uses #use_case_companies_list #ripples-cbdc-platform .biz-logo{max-height:40px;content:url("../img/uses/lightmode/ripples-cbdc-platform.svg")}html.light .page-uses #use_case_companies_list #xrpscan .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpscan.svg")}html.light .page-uses #use_case_companies_list #ripples-on-demand-liquidity .biz-logo{max-height:40px;content:url("../img/uses/lightmode/ripples-on-demand-liquidity.svg")}html.light .page-uses #use_case_companies_list #xumm-wallet .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xumm-wallet.svg")}html.light .page-uses #use_case_companies_list #sologenic-dex .biz-logo{max-height:40px;content:url("../img/uses/lightmode/sologenic-dex.svg")}html.light .page-uses #use_case_companies_list #Crossmark .biz-logo{max-height:40px;content:url("../img/uses/lightmode/Crossmark.png")}html.light .page-uses #use_case_companies_list #threezy .biz-logo{max-height:40px;content:url("../img/uses/lightmode/threezy.png")}html.light .page-uses .modal-content-uses .first-ledger-bot{content:url("../img/uses/lightmode/first-ledger-bot.svg")}html.light .page-uses .modal-content-uses .moai-finance{content:url("../img/uses/lightmode/moai-finance.svg")}html.light .page-uses .modal-content-uses .orchestra-finance{max-height:52px;margin:0;content:url("../img/uses/lightmode/orchestra-finance.svg")}html.light .page-uses #bitpay .biz-logo,html.light .page-uses #forte .biz-logo,html.light .page-uses #xrplorer .biz-logo,html.light .page-uses #gatehub .biz-logo{filter:invert(100%)}html.light .landing-bg{opacity:.4}@media(min-width: 768px){html.light .landing-bg{opacity:1}}html.light .landing-builtin-bg::before{opacity:.4}@media(min-width: 768px){html.light .landing-builtin-bg::before{opacity:1}}html.light #feedback-content .widget-form-wrapper{background-color:#fff !important}html.light #feedback-content .widget-form-wrapper div{background-color:#fff !important}html.light #feedback-content .widget-form-wrapper textarea{background-color:#f5f5f7 !important}html.light #feedback-content .widget-form-wrapper .widget-header-title{color:#111112 !important}html.light #feedback-content .widget-form-wrapper .cancel{color:#7919ff !important}html.light #feedback-content .widget-helpful .widget-header{background-color:#fff !important}html.light #feedback-content .widget-helpful .widget-header-title{color:#111112 !important}html.light #feedback-content .widget-helpful .widget-header-icon{filter:invert(100%)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/lightmode/4col-green.svg)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue.svg)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-yellow.svg)}html.light .page-docs-index #doc-types .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-2.svg)}html.light .page-docs-index .funding-text,html.light .page-community .funding-text{color:#232325}html.light .page-docs-index .stat .small-text,html.light .page-community .stat .small-text{color:#232325}html.light .page-docs-index .project-card,html.light .page-community .project-card{background-color:transparent}html.light .page-docs-index .card-details,html.light .page-community .card-details{background-color:transparent}html.light .page-docs-index .card-image,html.light .page-community .card-image{background:#e0e0e1}html.light .page-docs-index #community-table tr,html.light .page-community #community-table tr{border-bottom:1px solid #34343740}html.light .page-docs-index .card-description,html.light .page-community .card-description{color:#343437 !important}html.light .page-docs-index .card-subtitle,html.light .page-community .card-subtitle{color:#111112 !important}html.light .page-docs-index .card-title,html.light .page-community .card-title{color:#111112 !important}html.light .page-docs-index .main-title,html.light .page-community .main-title{color:#111112}html.light .page-docs-index .event-location,html.light .page-community .event-location{color:#232325 !important}html.light .page-docs-index .event-details,html.light .page-community .event-details{color:#232325 !important}html.light .page-docs-index .upcoming-event .event-name,html.light .page-community .upcoming-event .event-name{color:#111112}html.light .page-docs-index .upcoming-label,html.light .page-community .upcoming-label{color:#232325 !important}html.light .page-docs-index .description,html.light .page-community .description{color:#232325}html.light .page-docs-index .events-text,html.light .page-community .events-text{color:#111112}html.light .page-docs-index .discord-icon,html.light .page-community .discord-icon{content:url(../img/community/ic_discord_light.png)}html.light .page-docs-index .twitter-icon,html.light .page-community .twitter-icon{content:url(../img/community/ic_twitter_light.png)}html.light .page-docs-index .youtube-icon,html.light .page-community .youtube-icon{content:url(../img/community/ic_youtube_light.png)}html.light .page-docs-index .xrpl-icon,html.light .page-community .xrpl-icon{content:url(../img/community/ic_xrpl_light.png)}html.light .page-docs-index .github-icon,html.light .page-community .github-icon{content:url(../img/community/ic_github_light.png)}html.light .page-docs-index .stackoverflow-icon,html.light .page-community .stackoverflow-icon{content:url(../img/community/ic_stackoverflow_light.png)}html.light .page-docs-index #run-a-network-node .card-deck .card:nth-child(4) .card-footer,html.light .page-community #run-a-network-node .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-light-green.svg)}html.light .page-docs-index #run-a-network-node .text-cards a,html.light .page-community #run-a-network-node .text-cards a{color:#000}html.light .page-docs-index #xrpl-blog .blog-graphic,html.light .page-community #xrpl-blog .blog-graphic{content:url(../img/community/lightmode/community-blog@2x.png)}html.light .page-docs-index #xrpl-events .text-light,html.light .page-community #xrpl-events .text-light{color:#000 !important}html.light .page-docs-index #xrplGrantsDark g,html.light .page-docs-index #xrplGrantsDark-small g,html.light .page-docs-index #careersDark g,html.light .page-docs-index #careersDark-small g,html.light .page-community #xrplGrantsDark g,html.light .page-community #xrplGrantsDark-small g,html.light .page-community #careersDark g,html.light .page-community #careersDark-small g{filter:invert(100%) brightness(0.8)}html.light #find-us-on-platforms .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-3.svg)}html.light .page-references #refs-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/3col-green-2.svg)}html.light .page-references #xrpl-protocol .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-4.svg)}html.light ::-webkit-input-placeholder{color:#454549}html.light :-ms-input-placeholder{color:#454549}html.light ::-moz-placeholder{color:#454549;opacity:1}html.light :-moz-placeholder{color:#454549;opacity:1}html.light .page-events label{color:#111112}html.light .page-events .event-card{color:#000;background-color:#fcfcfd;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .page-events a.event-card:hover{color:#000}html.light .page-events .event-hero{color:#111112}html.light .page-events .event-save-date{color:#111112}html.light .page-events .event-small-gray{color:#454549}html.light .page-events #event-hero-image{height:100%;min-height:209px;background:url(../img/events/event-hero1-light@2x.png);background-size:contain;background-repeat:no-repeat;background-position:center}html.light .page-events .icon-date::before{background:url(../img/events/event-date-light.svg)}html.light .page-events .icon-location::before{background:url(../img/events/event-location-light.svg)}html.light .page-events .events-filter[type=checkbox]::before{background-color:#f5f5f7}html.light .page-events .events-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;background-color:#5f00e5;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}html.light .page-events .events-filter[type=checkbox]:not(:disabled):hover::before{background-color:#f5f5f7}html.light .page-events .events-filter[type=checkbox]:not(:disabled):hover::after{background-color:#f5f5f7}html.light .page-ambassadors #benefits-list #benefits-01{content:url("../img/ambassadors/lightmode/benefits-01.svg")}html.light .page-ambassadors #benefits-list #benefits-02{content:url("../img/ambassadors/lightmode/benefits-02.svg")}html.light .page-ambassadors #benefits-list #benefits-03{content:url("../img/ambassadors/lightmode/benefits-03.svg")}html.light .page-ambassadors #benefits-list #benefits-04{content:url("../img/ambassadors/lightmode/benefits-04.svg")}html.light .page-ambassadors #benefits-list #benefits-05{content:url("../img/ambassadors/lightmode/benefits-05.svg")}html.light .page-ambassadors #benefits-list #benefits-06{content:url("../img/ambassadors/lightmode/benefits-06.svg")}html.light .page-ambassadors #eligibility-list #eligibility-01{content:url("../img/ambassadors/lightmode/eligibility-01.svg")}html.light .page-ambassadors #eligibility-list #eligibility-02{content:url("../img/ambassadors/lightmode/eligibility-02.svg")}html.light .page-ambassadors #eligibility-list #eligibility-03{content:url("../img/ambassadors/lightmode/eligibility-03.svg")}html.light .page-ambassadors #eligibility-list #eligibility-04{content:url("../img/ambassadors/lightmode/eligibility-04.svg")}html.light .page-ambassadors #eligibility-list #eligibility-05{content:url("../img/ambassadors/lightmode/eligibility-05.svg")}html.light .page-funding .funding-list #funding-01{content:url("../img/funding/lightmode/funding-01.svg")}html.light .page-funding .funding-list #funding-02{content:url("../img/funding/lightmode/funding-02.svg")}html.light .page-funding .funding-list #funding-03{content:url("../img/funding/lightmode/funding-03.svg")}html.light .page-funding .funding-list #funding-04{content:url("../img/funding/lightmode/funding-04.svg")}html.light .page-funding #xrplGrantsDark{filter:invert(100%) brightness(0.8)}html.light .page-impact .connect-list #connect-01{content:url("../img/impact/lightmode/connect-01.svg")}html.light .page-impact .connect-list #connect-02{content:url("../img/impact/lightmode/connect-02.svg")}html.light .page-impact .connect-list #connect-03{content:url("../img/impact/lightmode/connect-03.svg")}html.light .page-impact .connect-list #connect-04{content:url("../img/impact/lightmode/connect-04.svg")}html.light .page-impact #map-light{display:block}html.light .page-impact #map-dark{display:none}html.light main article .card-grid{color:#000}html.light main article .card-grid code{background-color:#d6fae7}html.light main article .card-grid .card-icon-container,html.light main article .card-grid.card-grid-3xN .card-icon-container{background:#c1c1c2}html.light [data-component-name="Footer/Footer"] [data-component-name="Footer/FooterColumn"]{text-shadow:#f5f5f7 0px 0px 2px,#f5f5f7 1px 1px 2px,#f5f5f7 2px 2px 3px,#f5f5f7 2px 2px 4px,#f5f5f7 2px 2px 5px,#f5f5f7 2px 2px 6px,#f5f5f7 -1px -1px 2px,#f5f5f7 -2px -2px 3px,#f5f5f7 -2px -2px 4px}html.light .dev-blog .text-bg{background-color:#fff}html.light .dev-blog #card-date{color:#454549}html.light .dev-blog .category-header{color:#111112}html.light .dev-blog label{color:#343437}html.light .dev-blog .blog-filter[type=checkbox]::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:checked::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/blog/blog-check-light-mode.svg)}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::after{background:#f5f5f7}html.light .dev-blog .post-date{text-decoration:overline solid #145c35 10%}html.light .dev-blog #general-badge{background-color:#fff;color:#343437}html.light .dev-blog #release_notes-badge{background-color:#32e685;color:#145c35}html.light .dev-blog #advisories-badge{background-color:#ff6719;color:#4c1a00}html.light .dev-blog #amendments-badge{background-color:#faff19;color:#4b4c00}html.light .dev-blog #development-badge{background-color:#7919ff;color:#20004c}html.light .dev-blog #developer_reflections-badge{background-color:#19a3ff;color:#002e4c}html.light .dev-blog #gateway_bulletins-badge{background-color:#d919ff;color:#40004c}html.light .dev-blog #features-badge{background-color:#32e685;color:#145c35}html.light .dev-blog #security-badge{background-color:#ff198b;color:#4c0026}html.light .dev-blog .dropdown-btn{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}html.light .dev-blog .dropdown-btn img{content:url("../img/icons/lightmode/chevron-arrow-down.svg")}html.light .dev-blog .dropdown-content{background-color:#e0e0e1}html.light .page-tokenization .project-cards .project-logo{filter:invert(100%)}html.light .page-tokenization .article-card{background-color:#fff}html.light .page-tokenization .article-card-background{filter:drop-shadow(0px 1px 18px rgba(24, 24, 24, 0.5))}html.light .page-tokenization .evernode{content:url("../img/logos/evernode.svg")}html.light .page-tokenization .prev img{content:url("../img/icons/prev_light.svg")}html.light .page-tokenization .next img{content:url("../img/icons/prev_light.svg");transform:scaleX(-1)}html.light .page-tokenization .arrow-button{background-color:#e0e0e1}html.light .page-rwa-tokenization .section-title{color:#000}html.light .page-rwa-tokenization .utility-card .utility-title{color:#000}html.light .page-rwa-tokenization .utility-card .utility-description{color:#000}html.light .page-rwa-tokenization .benefit-icon.low-fees{background-image:url(../img/tokenization/lightmode/low-fees.png)}html.light .page-rwa-tokenization .benefit-icon.access{background-image:url(../img/tokenization/lightmode/cross-chain.png)}html.light .page-rwa-tokenization .benefit-icon.native-compliance{background-image:url(../img/tokenization/lightmode/native-compliance.png)}html.light .page-rwa-tokenization .benefit-icon.delegated-token-management{background-image:url(../img/tokenization/lightmode/delegated-token-management.png)}html.light .page-rwa-tokenization .company-logo.open-eden{background-image:url(../img/tokenization/lightmode/open-eden.png)}html.light .page-rwa-tokenization .company-logo.zoniqx{background-image:url(../img/tokenization/lightmode/zoniqx.png)}html.light .page-rwa-tokenization .company-logo.axiology{background-image:url(../img/tokenization/lightmode/axiology.png)}html.light .page-rwa-tokenization .company-logo.archax{background-image:url(../img/tokenization/lightmode/archax.png)}html.light .page-rwa-tokenization .company-logo.meld{background-image:url(../img/tokenization/lightmode/meld.png)}html.light .page-rwa-tokenization .company-logo.palisade{background-image:url(../img/tokenization/lightmode/palisade.png)}html.light .page-rwa-tokenization .company-logo.ripple-logo{background-image:url(../img/tokenization/lightmode/ripple-logo.png)}html.light .page-rwa-tokenization .company-logo.ondo{background-image:url(../img/tokenization/lightmode/ondo.png)}html.light .page-rwa-tokenization .company-logo.hidden-road{background-image:url(../img/tokenization/lightmode/hidden-road.png)}html.light .page-rwa-tokenization .token-features-section .btn-link{color:#7919ff}html.light .page-rwa-tokenization .card-description a{color:#7919ff !important}html.light .page-rwa-tokenization .developer-tools__image{background-image:url("../img/tokenization/lightmode/graphic.png")}html.light .page-rwa-tokenization .right-arrow-item::after{content:url("../img/icons/lightmode/arrow-right-purple.svg")}html.light .page-rwa-tokenization .token-video-text-container p{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .cards-title-token{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .benefit-card{background:#fff}html.light .page-rwa-tokenization .benefit-card .benefit-title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .benefit-card .benefit-description{color:var(--XRPL-Black-Black-80, #232325)}html.light .page-rwa-tokenization .developer-tools__description{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-item__title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-item__divider{background-color:#000}html.light .page-rwa-tokenization .rwa-subtitle{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-description{color:var(--XRPL-Black-Black-80, #232325)}html.light .page-rwa-tokenization .com-card-link{color:#7919ff !important} + */:root{--blue: #19A3FF;--indigo: #6610f2;--purple: #9A52FF;--pink: #FF198B;--red: #dc3545;--orange: #FF6719;--yellow: #FAFF19;--green: #32E685;--teal: #20c997;--cyan: #17a2b8;--white: #FFFFFF;--gray: #454549;--gray-dark: #232325;--primary: #9A52FF;--secondary: #E0E0E1;--success: #32E685;--info: #19A3FF;--warning: #FAFF19;--danger: #FF198B;--light: #FFFFFF;--dark: #111112;--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--font-family-sans-serif: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-family-monospace: "Space Mono", monospace}*,*::before,*::after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#e0e0e1;text-align:left;background-color:#111112}[tabindex="-1"]:focus:not(:focus-visible){outline:0 !important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:#fff;text-decoration:none;background-color:transparent}a:hover{color:#9a52ff;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:"Space Mono",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#e0e0e1;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:.5rem;font-weight:500;line-height:1.2;color:#fff}h1,.h1{font-size:2.5rem}h2,.h2{font-size:2rem}h3,.h3{font-size:1.75rem}h4,.h4{font-size:1.5rem}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}small,.small{font-size:0.875em;font-weight:400}mark,.mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:0.875em;color:#454549}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#111112;border:1px solid #c1c1c2;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.075);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#454549}code{font-size:87.5%;color:#e0e0e1;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#111112;border-radius:4px;box-shadow:inset 0 -0.1rem 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;font-size:87.5%;color:#111112}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-xl,.container-lg,.container-md,.container-sm{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media(min-width: 576px){.container-sm,.container{max-width:540px}}@media(min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media(min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media(min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col-xl,.col-xl-auto,.col-xl-12,.col-xl-11,.col-xl-10,.col-xl-9,.col-xl-8,.col-xl-7,.col-xl-6,.col-xl-5,.col-xl-4,.col-xl-3,.col-xl-2,.col-xl-1,.col-lg,.col-lg-auto,.col-lg-12,.col-lg-11,.col-lg-10,.col-lg-9,.col-lg-8,.col-lg-7,.col-lg-6,.col-lg-5,.col-lg-4,.col-lg-3,.col-lg-2,.col-lg-1,.col-md,.col-md-auto,.col-md-12,.col-md-11,.col-md-10,.col-md-9,.col-md-8,.col-md-7,.col-md-6,.col-md-5,.col-md-4,.col-md-3,.col-md-2,.col-md-1,.col-sm,.col-sm-auto,.col-sm-12,.col-sm-11,.col-sm-10,.col-sm-9,.col-sm-8,.col-sm-7,.col-sm-6,.col-sm-5,.col-sm-4,.col-sm-3,.col-sm-2,.col-sm-1,.col,.col-auto,.col-12,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto;max-width:100%}.col-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media(min-width: 576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-sm-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media(min-width: 768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto;max-width:100%}.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media(min-width: 992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-lg-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media(min-width: 1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}.table{width:100%;margin-bottom:1rem;color:#e0e0e1}.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid #c1c1c2}.table thead th{vertical-align:bottom;border-bottom:2px solid #c1c1c2}.table tbody+tbody{border-top:2px solid #c1c1c2}.table-sm th,.table-sm td{padding:.3rem}.table-bordered{border:1px solid #c1c1c2}.table-bordered th,.table-bordered td{border:1px solid #c1c1c2}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#e0e0e1;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:#e3cfff}.table-primary th,.table-primary td,.table-primary thead th,.table-primary tbody+tbody{border-color:#caa5ff}.table-hover .table-primary:hover{background-color:#d4b6ff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#d4b6ff}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#f6f6f7}.table-secondary th,.table-secondary td,.table-secondary thead th,.table-secondary tbody+tbody{border-color:#efefef}.table-hover .table-secondary:hover{background-color:#e9e9eb}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#e9e9eb}.table-success,.table-success>th,.table-success>td{background-color:#c6f8dd}.table-success th,.table-success td,.table-success thead th,.table-success tbody+tbody{border-color:#94f2c0}.table-hover .table-success:hover{background-color:#aff5cf}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#aff5cf}.table-info,.table-info>th,.table-info>td{background-color:#bfe5ff}.table-info th,.table-info td,.table-info thead th,.table-info tbody+tbody{border-color:#87cfff}.table-hover .table-info:hover{background-color:#a6dbff}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a6dbff}.table-warning,.table-warning>th,.table-warning>td{background-color:#feffbf}.table-warning th,.table-warning td,.table-warning thead th,.table-warning tbody+tbody{border-color:#fcff87}.table-hover .table-warning:hover{background-color:#feffa6}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#feffa6}.table-danger,.table-danger>th,.table-danger>td{background-color:#ffbfdf}.table-danger th,.table-danger td,.table-danger thead th,.table-danger tbody+tbody{border-color:#ff87c3}.table-hover .table-danger:hover{background-color:#ffa6d2}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#ffa6d2}.table-light,.table-light>th,.table-light>td{background-color:#fff}.table-light th,.table-light td,.table-light thead th,.table-light tbody+tbody{border-color:#fff}.table-hover .table-light:hover{background-color:#f2f2f2}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#f2f2f2}.table-dark,.table-dark>th,.table-dark>td{background-color:#bcbcbd}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#838384}.table-hover .table-dark:hover{background-color:#afafb0}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#afafb0}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#232325;border-color:#363639}.table .thead-light th{color:#343437;background-color:#e0e0e1;border-color:#c1c1c2}.table-dark{color:#fff;background-color:#232325}.table-dark th,.table-dark td,.table-dark thead th{border-color:#363639}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media(max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media(max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media(max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media(max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.25em + 2rem + 2px);padding:1rem 1.5rem;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;background-color:#232325;background-clip:padding-box;border:1px solid transparent;border-radius:4px;box-shadow:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#fff;background-color:#232325;border-color:#e4d2ff;outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.form-control::placeholder{color:#a2a2a4;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#454549;opacity:1}input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}select.form-control:focus::-ms-value{color:#fff;background-color:#232325}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(1rem + 1px);padding-bottom:calc(1rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.25}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:1rem 0;margin-bottom:0;font-size:1rem;line-height:1.25;color:#e0e0e1;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{color:#e0e0e1}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#32e685}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#111112;background-color:rgba(50,230,133,.9);border-radius:4px}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:#32e685;padding-right:calc(1.25em + 2rem) !important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2332E685' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.3125em + 0.5rem) center;background-size:calc(0.625em + 1rem) calc(0.625em + 1rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{padding-right:6rem !important;background-position:right 3rem center}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.25em + 2rem);background-position:top calc(0.3125em + 0.5rem) right calc(0.3125em + 0.5rem)}.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#32e685;padding-right:calc(0.75em + 4rem) !important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat,#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2332E685' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 2.5rem/calc(0.625em + 1rem) calc(0.625em + 1rem) no-repeat}.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#32e685}.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip{display:block}.was-validated .custom-control-input:valid~.custom-control-label,.custom-control-input.is-valid~.custom-control-label{color:#32e685}.was-validated .custom-control-input:valid~.custom-control-label::before,.custom-control-input.is-valid~.custom-control-label::before{border-color:#32e685}.was-validated .custom-control-input:valid:checked~.custom-control-label::before,.custom-control-input.is-valid:checked~.custom-control-label::before{border-color:#5feca0;background-color:#5feca0}.was-validated .custom-control-input:valid:focus~.custom-control-label::before,.custom-control-input.is-valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before{border-color:#32e685}.was-validated .custom-file-input:valid~.custom-file-label,.custom-file-input.is-valid~.custom-file-label{border-color:#32e685}.was-validated .custom-file-input:valid:focus~.custom-file-label,.custom-file-input.is-valid:focus~.custom-file-label{border-color:#32e685;box-shadow:0 0 0 .2rem rgba(50,230,133,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:0.875em;color:#ff198b}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:0.875rem;line-height:1.5;color:#fff;background-color:rgba(255,25,139,.9);border-radius:4px}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#ff198b;padding-right:calc(1.25em + 2rem) !important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23FF198B' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF198B' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(0.3125em + 0.5rem) center;background-size:calc(0.625em + 1rem) calc(0.625em + 1rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{padding-right:6rem !important;background-position:right 3rem center}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.25em + 2rem);background-position:top calc(0.3125em + 0.5rem) right calc(0.3125em + 0.5rem)}.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#ff198b;padding-right:calc(0.75em + 4rem) !important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat,#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23FF198B' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23FF198B' stroke='none'/%3e%3c/svg%3e") center right 2.5rem/calc(0.625em + 1rem) calc(0.625em + 1rem) no-repeat}.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:#ff198b}.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip{display:block}.was-validated .custom-control-input:invalid~.custom-control-label,.custom-control-input.is-invalid~.custom-control-label{color:#ff198b}.was-validated .custom-control-input:invalid~.custom-control-label::before,.custom-control-input.is-invalid~.custom-control-label::before{border-color:#ff198b}.was-validated .custom-control-input:invalid:checked~.custom-control-label::before,.custom-control-input.is-invalid:checked~.custom-control-label::before{border-color:#ff4ca5;background-color:#ff4ca5}.was-validated .custom-control-input:invalid:focus~.custom-control-label::before,.custom-control-input.is-invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before,.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before{border-color:#ff198b}.was-validated .custom-file-input:invalid~.custom-file-label,.custom-file-input.is-invalid~.custom-file-label{border-color:#ff198b}.was-validated .custom-file-input:invalid:focus~.custom-file-label,.custom-file-input.is-invalid:focus~.custom-file-label{border-color:#ff198b;box-shadow:0 0 0 .2rem rgba(255,25,139,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media(min-width: 576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#e0e0e1;text-align:center;vertical-align:middle;user-select:none;background-color:transparent;border:1px solid transparent;padding:1rem 1.5rem;font-size:0.875rem;line-height:1.25;border-radius:4px;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:#e0e0e1;text-decoration:none}.btn:focus,.btn.focus{outline:0;box-shadow:none}.btn.disabled,.btn:disabled{opacity:.65;box-shadow:none}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled):active,.btn:not(:disabled):not(.disabled).active{box-shadow:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#9a52ff;border-color:#9a52ff;box-shadow:none}.btn-primary:hover{color:#fff;background-color:#842cff;border-color:#7c1fff}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#842cff;border-color:#7c1fff;box-shadow:0 0 0 .2rem rgba(169,108,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#7c1fff;border-color:#7512ff}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(169,108,255,.5)}.btn-secondary{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1;box-shadow:none}.btn-secondary:hover{color:#111112;background-color:#cdcdce;border-color:#c6c6c8}.btn-secondary:focus,.btn-secondary.focus{color:#111112;background-color:#cdcdce;border-color:#c6c6c8;box-shadow:0 0 0 .2rem rgba(193,193,194,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#111112;background-color:#c6c6c8;border-color:#c0c0c2}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(193,193,194,.5)}.btn-success{color:#111112;background-color:#32e685;border-color:#32e685;box-shadow:none}.btn-success:hover{color:#fff;background-color:#1ad772;border-color:#19cc6c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#1ad772;border-color:#19cc6c;box-shadow:0 0 0 .2rem rgba(45,198,116,.5)}.btn-success.disabled,.btn-success:disabled{color:#111112;background-color:#32e685;border-color:#32e685}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#19cc6c;border-color:#18c166}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(45,198,116,.5)}.btn-info{color:#fff;background-color:#19a3ff;border-color:#19a3ff;box-shadow:none}.btn-info:hover{color:#fff;background-color:#0091f2;border-color:#0089e5}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#0091f2;border-color:#0089e5;box-shadow:0 0 0 .2rem rgba(60,177,255,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#0089e5;border-color:#0082d8}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(60,177,255,.5)}.btn-warning{color:#111112;background-color:#faff19;border-color:#faff19;box-shadow:none}.btn-warning:hover{color:#111112;background-color:#ecf200;border-color:#e0e500}.btn-warning:focus,.btn-warning.focus{color:#111112;background-color:#ecf200;border-color:#e0e500;box-shadow:0 0 0 .2rem rgba(215,219,24,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#111112;background-color:#faff19;border-color:#faff19}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#111112;background-color:#e0e500;border-color:#d4d800}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(215,219,24,.5)}.btn-danger{color:#fff;background-color:#ff198b;border-color:#ff198b;box-shadow:none}.btn-danger:hover{color:#fff;background-color:#f20078;border-color:#e50072}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#f20078;border-color:#e50072;box-shadow:0 0 0 .2rem rgba(255,60,156,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#e50072;border-color:#d8006b}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,60,156,.5)}.btn-light{color:#111112;background-color:#fff;border-color:#fff;box-shadow:none}.btn-light:hover{color:#111112;background-color:#ececec;border-color:#e6e6e6}.btn-light:focus,.btn-light.focus{color:#111112;background-color:#ececec;border-color:#e6e6e6;box-shadow:0 0 0 .2rem rgba(219,219,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#111112;background-color:#fff;border-color:#fff}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#111112;background-color:#e6e6e6;border-color:#dfdfdf}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(219,219,219,.5)}.btn-dark{color:#fff;background-color:#111112;border-color:#111112;box-shadow:none}.btn-dark:hover{color:#fff;background-color:#000;border-color:#000}.btn-dark:focus,.btn-dark.focus{color:#fff;background-color:#000;border-color:#000;box-shadow:0 0 0 .2rem rgba(53,53,54,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#111112;border-color:#111112}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(53,53,54,.5)}.btn-outline-primary{color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:hover{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:focus,.btn-outline-primary.focus{box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#9a52ff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#9a52ff;border-color:#9a52ff}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.btn-outline-secondary{color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:hover{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:focus,.btn-outline-secondary.focus{box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#e0e0e1;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.btn-outline-success{color:#32e685;border-color:#32e685}.btn-outline-success:hover{color:#111112;background-color:#32e685;border-color:#32e685}.btn-outline-success:focus,.btn-outline-success.focus{box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#32e685;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#111112;background-color:#32e685;border-color:#32e685}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.btn-outline-info{color:#19a3ff;border-color:#19a3ff}.btn-outline-info:hover{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-outline-info:focus,.btn-outline-info.focus{box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#19a3ff;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#19a3ff;border-color:#19a3ff}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.btn-outline-warning{color:#faff19;border-color:#faff19}.btn-outline-warning:hover{color:#111112;background-color:#faff19;border-color:#faff19}.btn-outline-warning:focus,.btn-outline-warning.focus{box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#faff19;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#111112;background-color:#faff19;border-color:#faff19}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.btn-outline-danger{color:#ff198b;border-color:#ff198b}.btn-outline-danger:hover{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-outline-danger:focus,.btn-outline-danger.focus{box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#ff198b;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#ff198b;border-color:#ff198b}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.btn-outline-light{color:#fff;border-color:#fff}.btn-outline-light:hover{color:#111112;background-color:#fff;border-color:#fff}.btn-outline-light:focus,.btn-outline-light.focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#fff;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#111112;background-color:#fff;border-color:#fff}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.btn-outline-dark{color:#111112;border-color:#111112}.btn-outline-dark:hover{color:#fff;background-color:#111112;border-color:#111112}.btn-outline-dark:focus,.btn-outline-dark.focus{box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#111112;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#111112;border-color:#111112}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.btn-link{font-weight:400;color:#fff;text-decoration:none}.btn-link:hover{color:#9a52ff;text-decoration:underline}.btn-link:focus,.btn-link.focus{text-decoration:underline}.btn-link:disabled,.btn-link.disabled{color:#454549;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}.btn-sm,.btn-group-sm>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.width{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion: reduce){.collapsing.width{transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid;border-right:.4em solid transparent;border-bottom:0;border-left:.4em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#e0e0e1;text-align:left;list-style:none;background-color:#111112;background-clip:padding-box;border:1px solid #111112;border-radius:4px;box-shadow:0px 5px 40px #000}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media(min-width: 576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media(min-width: 768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media(min-width: 992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media(min-width: 1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:0;border-right:.4em solid transparent;border-bottom:.4em solid;border-left:.4em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid transparent;border-right:0;border-bottom:.4em solid transparent;border-left:.4em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.34em;vertical-align:.34em;content:"";border-top:.4em solid transparent;border-right:.4em solid;border-bottom:.4em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=top],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #000}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#fff;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#9a52ff;text-decoration:none;background-color:#111112}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:transparent}.dropdown-item.disabled,.dropdown-item:disabled{color:#838386;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:0.875rem;color:#454549;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#fff}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group.show .dropdown-toggle{box-shadow:none}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-control-plaintext,.input-group>.custom-select,.input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.form-control,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:flex;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.form-control:not(:last-child),.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-prepend,.input-group-append{display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn:focus,.input-group-append .btn:focus{z-index:3}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:flex;align-items:center;padding:1rem 1.5rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;text-align:center;white-space:nowrap;background-color:#454549;border:1px solid transparent;border-radius:4px}.input-group-text input[type=radio],.input-group-text input[type=checkbox]{margin-top:0}.input-group-lg>.form-control:not(textarea),.input-group-lg>.custom-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-control,.input-group-lg>.custom-select,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:8px}.input-group-sm>.form-control:not(textarea),.input-group-sm>.custom-select{height:calc(1.5em + 0.5rem + 2px)}.input-group-sm>.form-control,.input-group-sm>.custom-select,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5;border-radius:4px}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:2.5rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;print-color-adjust:exact}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#9a52ff;background-color:#9a52ff}.custom-control-input:focus~.custom-control-label::before{box-shadow:none,0 0 0 .2rem rgba(154,82,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#e4d2ff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#fff;border-color:#fff}.custom-control-input[disabled]~.custom-control-label,.custom-control-input:disabled~.custom-control-label{color:#454549}.custom-control-input[disabled]~.custom-control-label::before,.custom-control-input:disabled~.custom-control-label::before{background-color:#454549}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#232325;border:1px solid #838386;box-shadow:none}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:4px}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23FFFFFF' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#9a52ff;background-color:#9a52ff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23FFFFFF' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(0.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#838386;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#232325;transform:translateX(0.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(154,82,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.25em + 2rem + 2px);padding:1rem 2.5rem 1rem 1.5rem;font-size:1rem;font-weight:400;line-height:1.25;color:#fff;vertical-align:middle;background:#232325 url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23232325' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 1.5rem center/8px 10px no-repeat;border:1px solid transparent;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.075);appearance:none}.custom-select:focus{border-color:#e4d2ff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 0 .2rem rgba(154,82,255,.25)}.custom-select:focus::-ms-value{color:#fff;background-color:#232325}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:1.5rem;background-image:none}.custom-select:disabled{color:#454549;background-color:#e0e0e1}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #fff}.custom-select-sm{height:calc(1.5em + 0.5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.25em + 2rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.25em + 2rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#e4d2ff;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.custom-file-input[disabled]~.custom-file-label,.custom-file-input:disabled~.custom-file-label{background-color:#454549}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.25em + 2rem + 2px);padding:1rem 1.5rem;overflow:hidden;font-weight:400;line-height:1.25;color:#fff;background-color:#232325;border:1px solid transparent;border-radius:4px;box-shadow:none}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.25em + 2rem);padding:1rem 1.5rem;line-height:1.25;color:#fff;content:"Browse";background-color:#454549;border-left:inherit;border-radius:0 4px 4px 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #111112,0 0 0 .2rem rgba(154,82,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#fff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#c1c1c2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#fff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#c1c1c2;border-color:transparent;border-radius:1rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#9a52ff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem rgba(0,0,0,.1);transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media(prefers-reduced-motion: reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#fff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-range::-ms-fill-lower{background-color:#c1c1c2;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#c1c1c2;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#838386}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#838386}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#838386}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:1rem 2rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#454549;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #c1c1c2}.nav-tabs .nav-link{margin-bottom:-1px;background-color:transparent;border:1px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:#e0e0e1 #e0e0e1 #c1c1c2}.nav-tabs .nav-link.disabled{color:#454549;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#343437;background-color:#111112;border-color:#c1c1c2 #c1c1c2 #111112}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:none;border:0;border-radius:4px}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#9a52ff}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:0 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-sm,.navbar .container-md,.navbar .container-lg,.navbar .container-xl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:1.25rem;padding-bottom:1.25rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:1rem;padding-bottom:1rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media(max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media(max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-md,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media(max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media(max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media(min-width: 1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:2rem;padding-left:2rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-sm,.navbar-expand>.container-md,.navbar-expand>.container-lg,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:#454549}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:#454549;border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%23454549' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:#454549}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#fff}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#9a52ff}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:#fff;border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='%23FFFFFF' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:#fff}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#232325;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:8px}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:7px;border-top-right-radius:7px}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:7px;border-bottom-left-radius:7px}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:2rem}.card-title{margin-bottom:2rem}.card-subtitle{margin-top:-1rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:2rem}.card-header{padding:2rem 2rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:7px 7px 0 0}.card-footer{padding:2rem 2rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 7px 7px}.card-header-tabs{margin-right:-1rem;margin-bottom:-2rem;margin-left:-1rem;border-bottom:0}.card-header-pills{margin-right:-1rem;margin-left:-1rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:7px}.card-img,.card-img-top,.card-img-bottom{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:7px;border-top-right-radius:7px}.card-img,.card-img-bottom{border-bottom-right-radius:7px;border-bottom-left-radius:7px}.card-deck .card{margin-bottom:1.25rem}@media(min-width: 576px){.card-deck{display:flex;flex-flow:row wrap;margin-right:-1.25rem;margin-left:-1.25rem}.card-deck .card{flex:1 0 0%;margin-right:1.25rem;margin-bottom:0;margin-left:1.25rem}}.card-group>.card{margin-bottom:15px}@media(min-width: 576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:2rem}@media(min-width: 576px){.card-columns{column-count:3;column-gap:2rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#111112;border-radius:4px}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#454549;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#a2a2a4}.pagination{display:flex;padding-left:0;list-style:none;border-radius:4px}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#fff;background-color:#fff;border:1px solid #c1c1c2}.page-link:hover{z-index:2;color:#9a52ff;text-decoration:none;background-color:#e0e0e1;border-color:#c1c1c2}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.page-item:last-child .page-link{border-top-right-radius:4px;border-bottom-right-radius:4px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#9a52ff;border-color:#9a52ff}.page-item.disabled .page-link{color:#454549;pointer-events:none;cursor:auto;background-color:#fff;border-color:#c1c1c2}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:8px;border-bottom-left-radius:8px}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:8px;border-bottom-right-radius:8px}.pagination-sm .page-link{padding:.25rem .5rem;font-size:0.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:4px;border-bottom-right-radius:4px}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:4px;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion: reduce){.badge{transition:none}}a.badge:hover,a.badge:focus{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#9a52ff}a.badge-primary:hover,a.badge-primary:focus{color:#fff;background-color:#7c1fff}a.badge-primary:focus,a.badge-primary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(154,82,255,.5)}.badge-secondary{color:#111112;background-color:#e0e0e1}a.badge-secondary:hover,a.badge-secondary:focus{color:#111112;background-color:#c6c6c8}a.badge-secondary:focus,a.badge-secondary.focus{outline:0;box-shadow:0 0 0 .2rem rgba(224,224,225,.5)}.badge-success{color:#111112;background-color:#32e685}a.badge-success:hover,a.badge-success:focus{color:#111112;background-color:#19cc6c}a.badge-success:focus,a.badge-success.focus{outline:0;box-shadow:0 0 0 .2rem rgba(50,230,133,.5)}.badge-info{color:#fff;background-color:#19a3ff}a.badge-info:hover,a.badge-info:focus{color:#fff;background-color:#0089e5}a.badge-info:focus,a.badge-info.focus{outline:0;box-shadow:0 0 0 .2rem rgba(25,163,255,.5)}.badge-warning{color:#111112;background-color:#faff19}a.badge-warning:hover,a.badge-warning:focus{color:#111112;background-color:#e0e500}a.badge-warning:focus,a.badge-warning.focus{outline:0;box-shadow:0 0 0 .2rem rgba(250,255,25,.5)}.badge-danger{color:#fff;background-color:#ff198b}a.badge-danger:hover,a.badge-danger:focus{color:#fff;background-color:#e50072}a.badge-danger:focus,a.badge-danger.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,25,139,.5)}.badge-light{color:#111112;background-color:#fff}a.badge-light:hover,a.badge-light:focus{color:#111112;background-color:#e6e6e6}a.badge-light:focus,a.badge-light.focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,255,255,.5)}.badge-dark{color:#fff;background-color:#111112}a.badge-dark:hover,a.badge-dark:focus{color:#fff;background-color:#000}a.badge-dark:focus,a.badge-dark.focus{outline:0;box-shadow:0 0 0 .2rem rgba(17,17,18,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e0e0e1;border-radius:8px}@media(min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:4px}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#502b85;background-color:#ebdcff;border-color:#e3cfff}.alert-primary hr{border-top-color:#d4b6ff}.alert-primary .alert-link{color:#391f5e}.alert-secondary{color:#747475;background-color:#f9f9f9;border-color:#f6f6f7}.alert-secondary hr{border-top-color:#e9e9eb}.alert-secondary .alert-link{color:#5b5b5b}.alert-success{color:#1a7845;background-color:#d6fae7;border-color:#c6f8dd}.alert-success hr{border-top-color:#aff5cf}.alert-success .alert-link{color:#114e2d}.alert-info{color:#0d5585;background-color:#d1edff;border-color:#bfe5ff}.alert-info hr{border-top-color:#a6dbff}.alert-info .alert-link{color:#083757}.alert-warning{color:#82850d;background-color:#feffd1;border-color:#feffbf}.alert-warning hr{border-top-color:#feffa6}.alert-warning .alert-link{color:#555708}.alert-danger{color:#850d48;background-color:#ffd1e8;border-color:#ffbfdf}.alert-danger hr{border-top-color:#ffa6d2}.alert-danger .alert-link{color:#57082f}.alert-light{color:#858585;background-color:#fff;border-color:#fff}.alert-light hr{border-top-color:#f2f2f2}.alert-light .alert-link{color:#6c6c6c}.alert-dark{color:#090909;background-color:#cfcfd0;border-color:#bcbcbd}.alert-dark hr{border-top-color:#afafb0}.alert-dark .alert-link{color:#000}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;overflow:hidden;line-height:0;font-size:0.75rem;background-color:#111112;border-radius:4px;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#9a52ff;transition:width .6s ease}@media(prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media(prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:4px}.list-group-item-action{width:100%;color:#343437;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:#343437;text-decoration:none;background-color:#f5f5f7}.list-group-item-action:active{color:#e0e0e1;background-color:#e0e0e1}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#111112;border:1px solid #232325}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#e0e0e1;pointer-events:none;background-color:#111112}.list-group-item.active{z-index:2;color:#fff;background-color:#9a52ff;border-color:#9a52ff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media(min-width: 576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media(min-width: 1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:4px;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#502b85;background-color:#e3cfff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#502b85;background-color:#d4b6ff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#502b85;border-color:#502b85}.list-group-item-secondary{color:#747475;background-color:#f6f6f7}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#747475;background-color:#e9e9eb}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#747475;border-color:#747475}.list-group-item-success{color:#1a7845;background-color:#c6f8dd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#1a7845;background-color:#aff5cf}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#1a7845;border-color:#1a7845}.list-group-item-info{color:#0d5585;background-color:#bfe5ff}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#0d5585;background-color:#a6dbff}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0d5585;border-color:#0d5585}.list-group-item-warning{color:#82850d;background-color:#feffbf}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#82850d;background-color:#feffa6}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#82850d;border-color:#82850d}.list-group-item-danger{color:#850d48;background-color:#ffbfdf}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#850d48;background-color:#ffa6d2}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#850d48;border-color:#850d48}.list-group-item-light{color:#858585;background-color:#fff}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#858585;background-color:#f2f2f2}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#858585;border-color:#858585}.list-group-item-dark{color:#090909;background-color:#bcbcbd}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#090909;background-color:#afafb0}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#090909;border-color:#090909}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#ff198b;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#ff198b;text-decoration:none}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{flex-basis:350px;max-width:350px;font-size:0.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:#454549;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0, -50px)}@media(prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-header,.modal-dialog-scrollable .modal-footer{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#000;background-clip:padding-box;border:1px solid #e0e0e1;border-radius:8px;box-shadow:0 .25rem .5rem rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #c1c1c2;border-top-left-radius:7px;border-top-right-radius:7px}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #c1c1c2;border-bottom-right-radius:7px;border-bottom-left-radius:7px}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:min-content}.modal-content{box-shadow:0 .5rem 1rem rgba(0,0,0,.5)}.modal-sm{max-width:300px}}@media(min-width: 992px){.modal-lg,.modal-xl{max-width:800px}}@media(min-width: 1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^=top]{padding:.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^=top] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^=top] .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^=right]{padding:0 .4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^=right] .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^=right] .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^=bottom]{padding:.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^=bottom] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^=bottom] .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^=left]{padding:0 .4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^=left] .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^=left] .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:4px}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:"Work Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:0.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:8px;box-shadow:0 .25rem .5rem rgba(0,0,0,.2)}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 8px}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^=top]{margin-bottom:.5rem}.bs-popover-top>.arrow,.bs-popover-auto[x-placement^=top]>.arrow{bottom:calc(-0.5rem - 1px)}.bs-popover-top>.arrow::before,.bs-popover-auto[x-placement^=top]>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-top>.arrow::after,.bs-popover-auto[x-placement^=top]>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^=right]{margin-left:.5rem}.bs-popover-right>.arrow,.bs-popover-auto[x-placement^=right]>.arrow{left:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:8px 0}.bs-popover-right>.arrow::before,.bs-popover-auto[x-placement^=right]>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-right>.arrow::after,.bs-popover-auto[x-placement^=right]>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^=bottom]{margin-top:.5rem}.bs-popover-bottom>.arrow,.bs-popover-auto[x-placement^=bottom]>.arrow{top:calc(-0.5rem - 1px)}.bs-popover-bottom>.arrow::before,.bs-popover-auto[x-placement^=bottom]>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-bottom>.arrow::after,.bs-popover-auto[x-placement^=bottom]>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^=bottom] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-0.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-left,.bs-popover-auto[x-placement^=left]{margin-right:.5rem}.bs-popover-left>.arrow,.bs-popover-auto[x-placement^=left]>.arrow{right:calc(-0.5rem - 1px);width:.5rem;height:1rem;margin:8px 0}.bs-popover-left>.arrow::before,.bs-popover-auto[x-placement^=left]>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-left>.arrow::after,.bs-popover-auto[x-placement^=left]>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:#fff;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:7px;border-top-right-radius:7px}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#e0e0e1}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}@media(prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media(prefers-reduced-motion: reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.5;transition:opacity .15s ease}@media(prefers-reduced-motion: reduce){.carousel-control-prev,.carousel-control-next{transition:none}}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFFFFF' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFFFFF' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media(prefers-reduced-motion: reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;border:.25em solid currentcolor;border-right-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-0.125em;background-color:currentcolor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media(prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#9a52ff !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#7c1fff !important}.bg-secondary{background-color:#e0e0e1 !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#c6c6c8 !important}.bg-success{background-color:#32e685 !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#19cc6c !important}.bg-info{background-color:#19a3ff !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#0089e5 !important}.bg-warning{background-color:#faff19 !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#e0e500 !important}.bg-danger{background-color:#ff198b !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#e50072 !important}.bg-light{background-color:#fff !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#e6e6e6 !important}.bg-dark{background-color:#111112 !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#000 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:transparent !important}.border{border:1px solid #c1c1c2 !important}.border-top{border-top:1px solid #c1c1c2 !important}.border-right{border-right:1px solid #c1c1c2 !important}.border-bottom{border-bottom:1px solid #c1c1c2 !important}.border-left{border-left:1px solid #c1c1c2 !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#9a52ff !important}.border-secondary{border-color:#e0e0e1 !important}.border-success{border-color:#32e685 !important}.border-info{border-color:#19a3ff !important}.border-warning{border-color:#faff19 !important}.border-danger{border-color:#ff198b !important}.border-light{border-color:#fff !important}.border-dark{border-color:#111112 !important}.border-white{border-color:#fff !important}.rounded-sm{border-radius:4px !important}.rounded{border-radius:4px !important}.rounded-top{border-top-left-radius:4px !important;border-top-right-radius:4px !important}.rounded-right{border-top-right-radius:4px !important;border-bottom-right-radius:4px !important}.rounded-bottom{border-bottom-right-radius:4px !important;border-bottom-left-radius:4px !important}.rounded-left{border-top-left-radius:4px !important;border-bottom-left-radius:4px !important}.rounded-lg{border-radius:8px !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:50rem !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:flex !important}.d-inline-flex{display:inline-flex !important}@media(min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:flex !important}.d-sm-inline-flex{display:inline-flex !important}}@media(min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:flex !important}.d-md-inline-flex{display:inline-flex !important}}@media(min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:flex !important}.d-lg-inline-flex{display:inline-flex !important}}@media(min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:flex !important}.d-xl-inline-flex{display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:flex !important}.d-print-inline-flex{display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714286%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-fill{flex:1 1 auto !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}@media(min-width: 576px){.flex-sm-row{flex-direction:row !important}.flex-sm-column{flex-direction:column !important}.flex-sm-row-reverse{flex-direction:row-reverse !important}.flex-sm-column-reverse{flex-direction:column-reverse !important}.flex-sm-wrap{flex-wrap:wrap !important}.flex-sm-nowrap{flex-wrap:nowrap !important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-sm-fill{flex:1 1 auto !important}.flex-sm-grow-0{flex-grow:0 !important}.flex-sm-grow-1{flex-grow:1 !important}.flex-sm-shrink-0{flex-shrink:0 !important}.flex-sm-shrink-1{flex-shrink:1 !important}.justify-content-sm-start{justify-content:flex-start !important}.justify-content-sm-end{justify-content:flex-end !important}.justify-content-sm-center{justify-content:center !important}.justify-content-sm-between{justify-content:space-between !important}.justify-content-sm-around{justify-content:space-around !important}.align-items-sm-start{align-items:flex-start !important}.align-items-sm-end{align-items:flex-end !important}.align-items-sm-center{align-items:center !important}.align-items-sm-baseline{align-items:baseline !important}.align-items-sm-stretch{align-items:stretch !important}.align-content-sm-start{align-content:flex-start !important}.align-content-sm-end{align-content:flex-end !important}.align-content-sm-center{align-content:center !important}.align-content-sm-between{align-content:space-between !important}.align-content-sm-around{align-content:space-around !important}.align-content-sm-stretch{align-content:stretch !important}.align-self-sm-auto{align-self:auto !important}.align-self-sm-start{align-self:flex-start !important}.align-self-sm-end{align-self:flex-end !important}.align-self-sm-center{align-self:center !important}.align-self-sm-baseline{align-self:baseline !important}.align-self-sm-stretch{align-self:stretch !important}}@media(min-width: 768px){.flex-md-row{flex-direction:row !important}.flex-md-column{flex-direction:column !important}.flex-md-row-reverse{flex-direction:row-reverse !important}.flex-md-column-reverse{flex-direction:column-reverse !important}.flex-md-wrap{flex-wrap:wrap !important}.flex-md-nowrap{flex-wrap:nowrap !important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-md-fill{flex:1 1 auto !important}.flex-md-grow-0{flex-grow:0 !important}.flex-md-grow-1{flex-grow:1 !important}.flex-md-shrink-0{flex-shrink:0 !important}.flex-md-shrink-1{flex-shrink:1 !important}.justify-content-md-start{justify-content:flex-start !important}.justify-content-md-end{justify-content:flex-end !important}.justify-content-md-center{justify-content:center !important}.justify-content-md-between{justify-content:space-between !important}.justify-content-md-around{justify-content:space-around !important}.align-items-md-start{align-items:flex-start !important}.align-items-md-end{align-items:flex-end !important}.align-items-md-center{align-items:center !important}.align-items-md-baseline{align-items:baseline !important}.align-items-md-stretch{align-items:stretch !important}.align-content-md-start{align-content:flex-start !important}.align-content-md-end{align-content:flex-end !important}.align-content-md-center{align-content:center !important}.align-content-md-between{align-content:space-between !important}.align-content-md-around{align-content:space-around !important}.align-content-md-stretch{align-content:stretch !important}.align-self-md-auto{align-self:auto !important}.align-self-md-start{align-self:flex-start !important}.align-self-md-end{align-self:flex-end !important}.align-self-md-center{align-self:center !important}.align-self-md-baseline{align-self:baseline !important}.align-self-md-stretch{align-self:stretch !important}}@media(min-width: 992px){.flex-lg-row{flex-direction:row !important}.flex-lg-column{flex-direction:column !important}.flex-lg-row-reverse{flex-direction:row-reverse !important}.flex-lg-column-reverse{flex-direction:column-reverse !important}.flex-lg-wrap{flex-wrap:wrap !important}.flex-lg-nowrap{flex-wrap:nowrap !important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-lg-fill{flex:1 1 auto !important}.flex-lg-grow-0{flex-grow:0 !important}.flex-lg-grow-1{flex-grow:1 !important}.flex-lg-shrink-0{flex-shrink:0 !important}.flex-lg-shrink-1{flex-shrink:1 !important}.justify-content-lg-start{justify-content:flex-start !important}.justify-content-lg-end{justify-content:flex-end !important}.justify-content-lg-center{justify-content:center !important}.justify-content-lg-between{justify-content:space-between !important}.justify-content-lg-around{justify-content:space-around !important}.align-items-lg-start{align-items:flex-start !important}.align-items-lg-end{align-items:flex-end !important}.align-items-lg-center{align-items:center !important}.align-items-lg-baseline{align-items:baseline !important}.align-items-lg-stretch{align-items:stretch !important}.align-content-lg-start{align-content:flex-start !important}.align-content-lg-end{align-content:flex-end !important}.align-content-lg-center{align-content:center !important}.align-content-lg-between{align-content:space-between !important}.align-content-lg-around{align-content:space-around !important}.align-content-lg-stretch{align-content:stretch !important}.align-self-lg-auto{align-self:auto !important}.align-self-lg-start{align-self:flex-start !important}.align-self-lg-end{align-self:flex-end !important}.align-self-lg-center{align-self:center !important}.align-self-lg-baseline{align-self:baseline !important}.align-self-lg-stretch{align-self:stretch !important}}@media(min-width: 1200px){.flex-xl-row{flex-direction:row !important}.flex-xl-column{flex-direction:column !important}.flex-xl-row-reverse{flex-direction:row-reverse !important}.flex-xl-column-reverse{flex-direction:column-reverse !important}.flex-xl-wrap{flex-wrap:wrap !important}.flex-xl-nowrap{flex-wrap:nowrap !important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}.flex-xl-fill{flex:1 1 auto !important}.flex-xl-grow-0{flex-grow:0 !important}.flex-xl-grow-1{flex-grow:1 !important}.flex-xl-shrink-0{flex-shrink:0 !important}.flex-xl-shrink-1{flex-shrink:1 !important}.justify-content-xl-start{justify-content:flex-start !important}.justify-content-xl-end{justify-content:flex-end !important}.justify-content-xl-center{justify-content:center !important}.justify-content-xl-between{justify-content:space-between !important}.justify-content-xl-around{justify-content:space-around !important}.align-items-xl-start{align-items:flex-start !important}.align-items-xl-end{align-items:flex-end !important}.align-items-xl-center{align-items:center !important}.align-items-xl-baseline{align-items:baseline !important}.align-items-xl-stretch{align-items:stretch !important}.align-content-xl-start{align-content:flex-start !important}.align-content-xl-end{align-content:flex-end !important}.align-content-xl-center{align-content:center !important}.align-content-xl-between{align-content:space-between !important}.align-content-xl-around{align-content:space-around !important}.align-content-xl-stretch{align-content:stretch !important}.align-self-xl-auto{align-self:auto !important}.align-self-xl-start{align-self:flex-start !important}.align-self-xl-end{align-self:flex-end !important}.align-self-xl-center{align-self:center !important}.align-self-xl-baseline{align-self:baseline !important}.align-self-xl-stretch{align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media(min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media(min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media(min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media(min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.overflow-auto{overflow:auto !important}.overflow-hidden{overflow:hidden !important}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports(position: sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075) !important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15) !important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175) !important}.shadow-none{box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.min-vw-100{min-width:100vw !important}.min-vh-100{min-height:100vh !important}.vw-100{width:100vw !important}.vh-100{height:100vh !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:.25rem !important}.mt-1,.my-1{margin-top:.25rem !important}.mr-1,.mx-1{margin-right:.25rem !important}.mb-1,.my-1{margin-bottom:.25rem !important}.ml-1,.mx-1{margin-left:.25rem !important}.m-2{margin:.5rem !important}.mt-2,.my-2{margin-top:.5rem !important}.mr-2,.mx-2{margin-right:.5rem !important}.mb-2,.my-2{margin-bottom:.5rem !important}.ml-2,.mx-2{margin-left:.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:.25rem !important}.pt-1,.py-1{padding-top:.25rem !important}.pr-1,.px-1{padding-right:.25rem !important}.pb-1,.py-1{padding-bottom:.25rem !important}.pl-1,.px-1{padding-left:.25rem !important}.p-2{padding:.5rem !important}.pt-2,.py-2{padding-top:.5rem !important}.pr-2,.px-2{padding-right:.5rem !important}.pb-2,.py-2{padding-bottom:.5rem !important}.pl-2,.px-2{padding-left:.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-n1{margin:-0.25rem !important}.mt-n1,.my-n1{margin-top:-0.25rem !important}.mr-n1,.mx-n1{margin-right:-0.25rem !important}.mb-n1,.my-n1{margin-bottom:-0.25rem !important}.ml-n1,.mx-n1{margin-left:-0.25rem !important}.m-n2{margin:-0.5rem !important}.mt-n2,.my-n2{margin-top:-0.5rem !important}.mr-n2,.mx-n2{margin-right:-0.5rem !important}.mb-n2,.my-n2{margin-bottom:-0.5rem !important}.ml-n2,.mx-n2{margin-left:-0.5rem !important}.m-n3{margin:-1rem !important}.mt-n3,.my-n3{margin-top:-1rem !important}.mr-n3,.mx-n3{margin-right:-1rem !important}.mb-n3,.my-n3{margin-bottom:-1rem !important}.ml-n3,.mx-n3{margin-left:-1rem !important}.m-n4{margin:-1.5rem !important}.mt-n4,.my-n4{margin-top:-1.5rem !important}.mr-n4,.mx-n4{margin-right:-1.5rem !important}.mb-n4,.my-n4{margin-bottom:-1.5rem !important}.ml-n4,.mx-n4{margin-left:-1.5rem !important}.m-n5{margin:-3rem !important}.mt-n5,.my-n5{margin-top:-3rem !important}.mr-n5,.mx-n5{margin-right:-3rem !important}.mb-n5,.my-n5{margin-bottom:-3rem !important}.ml-n5,.mx-n5{margin-left:-3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media(min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:.25rem !important}.mt-sm-1,.my-sm-1{margin-top:.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:.25rem !important}.m-sm-2{margin:.5rem !important}.mt-sm-2,.my-sm-2{margin-top:.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:.25rem !important}.pt-sm-1,.py-sm-1{padding-top:.25rem !important}.pr-sm-1,.px-sm-1{padding-right:.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem !important}.pl-sm-1,.px-sm-1{padding-left:.25rem !important}.p-sm-2{padding:.5rem !important}.pt-sm-2,.py-sm-2{padding-top:.5rem !important}.pr-sm-2,.px-sm-2{padding-right:.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem !important}.pl-sm-2,.px-sm-2{padding-left:.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-n1{margin:-0.25rem !important}.mt-sm-n1,.my-sm-n1{margin-top:-0.25rem !important}.mr-sm-n1,.mx-sm-n1{margin-right:-0.25rem !important}.mb-sm-n1,.my-sm-n1{margin-bottom:-0.25rem !important}.ml-sm-n1,.mx-sm-n1{margin-left:-0.25rem !important}.m-sm-n2{margin:-0.5rem !important}.mt-sm-n2,.my-sm-n2{margin-top:-0.5rem !important}.mr-sm-n2,.mx-sm-n2{margin-right:-0.5rem !important}.mb-sm-n2,.my-sm-n2{margin-bottom:-0.5rem !important}.ml-sm-n2,.mx-sm-n2{margin-left:-0.5rem !important}.m-sm-n3{margin:-1rem !important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem !important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem !important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem !important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem !important}.m-sm-n4{margin:-1.5rem !important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem !important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem !important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem !important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem !important}.m-sm-n5{margin:-3rem !important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem !important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem !important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem !important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media(min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:.25rem !important}.mt-md-1,.my-md-1{margin-top:.25rem !important}.mr-md-1,.mx-md-1{margin-right:.25rem !important}.mb-md-1,.my-md-1{margin-bottom:.25rem !important}.ml-md-1,.mx-md-1{margin-left:.25rem !important}.m-md-2{margin:.5rem !important}.mt-md-2,.my-md-2{margin-top:.5rem !important}.mr-md-2,.mx-md-2{margin-right:.5rem !important}.mb-md-2,.my-md-2{margin-bottom:.5rem !important}.ml-md-2,.mx-md-2{margin-left:.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:.25rem !important}.pt-md-1,.py-md-1{padding-top:.25rem !important}.pr-md-1,.px-md-1{padding-right:.25rem !important}.pb-md-1,.py-md-1{padding-bottom:.25rem !important}.pl-md-1,.px-md-1{padding-left:.25rem !important}.p-md-2{padding:.5rem !important}.pt-md-2,.py-md-2{padding-top:.5rem !important}.pr-md-2,.px-md-2{padding-right:.5rem !important}.pb-md-2,.py-md-2{padding-bottom:.5rem !important}.pl-md-2,.px-md-2{padding-left:.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-n1{margin:-0.25rem !important}.mt-md-n1,.my-md-n1{margin-top:-0.25rem !important}.mr-md-n1,.mx-md-n1{margin-right:-0.25rem !important}.mb-md-n1,.my-md-n1{margin-bottom:-0.25rem !important}.ml-md-n1,.mx-md-n1{margin-left:-0.25rem !important}.m-md-n2{margin:-0.5rem !important}.mt-md-n2,.my-md-n2{margin-top:-0.5rem !important}.mr-md-n2,.mx-md-n2{margin-right:-0.5rem !important}.mb-md-n2,.my-md-n2{margin-bottom:-0.5rem !important}.ml-md-n2,.mx-md-n2{margin-left:-0.5rem !important}.m-md-n3{margin:-1rem !important}.mt-md-n3,.my-md-n3{margin-top:-1rem !important}.mr-md-n3,.mx-md-n3{margin-right:-1rem !important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem !important}.ml-md-n3,.mx-md-n3{margin-left:-1rem !important}.m-md-n4{margin:-1.5rem !important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem !important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem !important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem !important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem !important}.m-md-n5{margin:-3rem !important}.mt-md-n5,.my-md-n5{margin-top:-3rem !important}.mr-md-n5,.mx-md-n5{margin-right:-3rem !important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem !important}.ml-md-n5,.mx-md-n5{margin-left:-3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media(min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:.25rem !important}.mt-lg-1,.my-lg-1{margin-top:.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:.25rem !important}.m-lg-2{margin:.5rem !important}.mt-lg-2,.my-lg-2{margin-top:.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:.25rem !important}.pt-lg-1,.py-lg-1{padding-top:.25rem !important}.pr-lg-1,.px-lg-1{padding-right:.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem !important}.pl-lg-1,.px-lg-1{padding-left:.25rem !important}.p-lg-2{padding:.5rem !important}.pt-lg-2,.py-lg-2{padding-top:.5rem !important}.pr-lg-2,.px-lg-2{padding-right:.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem !important}.pl-lg-2,.px-lg-2{padding-left:.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-n1{margin:-0.25rem !important}.mt-lg-n1,.my-lg-n1{margin-top:-0.25rem !important}.mr-lg-n1,.mx-lg-n1{margin-right:-0.25rem !important}.mb-lg-n1,.my-lg-n1{margin-bottom:-0.25rem !important}.ml-lg-n1,.mx-lg-n1{margin-left:-0.25rem !important}.m-lg-n2{margin:-0.5rem !important}.mt-lg-n2,.my-lg-n2{margin-top:-0.5rem !important}.mr-lg-n2,.mx-lg-n2{margin-right:-0.5rem !important}.mb-lg-n2,.my-lg-n2{margin-bottom:-0.5rem !important}.ml-lg-n2,.mx-lg-n2{margin-left:-0.5rem !important}.m-lg-n3{margin:-1rem !important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem !important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem !important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem !important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem !important}.m-lg-n4{margin:-1.5rem !important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem !important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem !important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem !important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem !important}.m-lg-n5{margin:-3rem !important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem !important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem !important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem !important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media(min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:.25rem !important}.mt-xl-1,.my-xl-1{margin-top:.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:.25rem !important}.m-xl-2{margin:.5rem !important}.mt-xl-2,.my-xl-2{margin-top:.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:.25rem !important}.pt-xl-1,.py-xl-1{padding-top:.25rem !important}.pr-xl-1,.px-xl-1{padding-right:.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem !important}.pl-xl-1,.px-xl-1{padding-left:.25rem !important}.p-xl-2{padding:.5rem !important}.pt-xl-2,.py-xl-2{padding-top:.5rem !important}.pr-xl-2,.px-xl-2{padding-right:.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem !important}.pl-xl-2,.px-xl-2{padding-left:.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-n1{margin:-0.25rem !important}.mt-xl-n1,.my-xl-n1{margin-top:-0.25rem !important}.mr-xl-n1,.mx-xl-n1{margin-right:-0.25rem !important}.mb-xl-n1,.my-xl-n1{margin-bottom:-0.25rem !important}.ml-xl-n1,.mx-xl-n1{margin-left:-0.25rem !important}.m-xl-n2{margin:-0.5rem !important}.mt-xl-n2,.my-xl-n2{margin-top:-0.5rem !important}.mr-xl-n2,.mx-xl-n2{margin-right:-0.5rem !important}.mb-xl-n2,.my-xl-n2{margin-bottom:-0.5rem !important}.ml-xl-n2,.mx-xl-n2{margin-left:-0.5rem !important}.m-xl-n3{margin:-1rem !important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem !important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem !important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem !important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem !important}.m-xl-n4{margin:-1.5rem !important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem !important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem !important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem !important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem !important}.m-xl-n5{margin:-3rem !important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem !important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem !important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem !important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:"Space Mono",monospace !important}.text-justify{text-align:justify !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media(min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media(min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media(min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media(min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-lighter{font-weight:lighter !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-weight-bolder{font-weight:bolder !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#9a52ff !important}a.text-primary:hover,a.text-primary:focus{color:#6d06ff !important}.text-secondary{color:#e0e0e1 !important}a.text-secondary:hover,a.text-secondary:focus{color:#b9b9bb !important}.text-success{color:#32e685 !important}a.text-success:hover,a.text-success:focus{color:#16b560 !important}.text-info{color:#19a3ff !important}a.text-info:hover,a.text-info:focus{color:#007acc !important}.text-warning{color:#faff19 !important}a.text-warning:hover,a.text-warning:focus{color:#c7cc00 !important}.text-danger{color:#ff198b !important}a.text-danger:hover,a.text-danger:focus{color:#cc0065 !important}.text-light{color:#fff !important}a.text-light:hover,a.text-light:focus{color:#d9d9d9 !important}.text-dark{color:#111112 !important}a.text-dark:hover,a.text-dark:focus{color:#000 !important}.text-body{color:#e0e0e1 !important}.text-muted{color:#e0e0e1 !important}.text-black-50{color:rgba(0,0,0,.5) !important}.text-white-50{color:rgba(255,255,255,.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none !important}.text-break{word-break:break-word !important;word-wrap:break-word !important}.text-reset{color:inherit !important}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #838386;page-break-inside:avoid}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #c1c1c2 !important}.table-dark{color:inherit}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#c1c1c2}.table .thead-dark th{color:inherit;border-color:#c1c1c2}}body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}pre,code{font-feature-settings:"liga" 0;font-variant-ligatures:none}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:bold}h1,.h1{font-size:3.875rem;line-height:70px}@media(max-width: 480px){h1,.h1{font-size:2.625rem;line-height:48px}}h2,.h2{font-size:3.5rem;line-height:62px}@media(max-width: 767.98px){h2,.h2{font-size:1.75rem;line-height:34px}}@media(max-width: 767.98px){h2-sm,.h2-sm{font-size:1.75rem !important;line-height:34px !important}}h3,.h3{font-size:3rem;line-height:52px}@media(max-width: 767.98px){h3,.h3{font-size:1.5rem;line-height:28px}}@media(max-width: 767.98px){h3-sm,.h3-sm{font-size:1.5rem;line-height:28px}}h4,.h4{font-size:2rem;line-height:38px}@media(max-width: 767.98px){h4,.h4{font-size:1.25rem;line-height:26px}}h5,.h5{font-size:1.5rem;line-height:32px}@media(max-width: 767.98px){h5,.h5{font-size:1.125rem;line-height:26px}}h6,.h6{font-size:1.25rem;line-height:26px}@media(max-width: 767.98px){h6,.h6{font-size:1rem;line-height:24px}}.longform{font-size:1.5rem;line-height:32px;color:#f5f5f7;font-weight:500}@media(max-width: 767.98px){.longform{font-size:1.25rem;line-height:26px}}.numbers{font-size:6rem;line-height:104px;font-weight:bold;color:#fff}@media(max-width: 767.98px){.numbers{font-size:3.875rem;line-height:70px}}p{font-size:1rem;line-height:24px}.fs-base{font-size:1rem}.fs-3{font-size:.75rem;line-height:1rem}.fs-4-5{font-size:1.125rem}.fs-5{font-size:1.25rem}.fs-5-5{font-size:1.375rem}.fs-6{font-size:1.5rem}.normal{font-weight:normal}.bold{font-weight:bold}.text-largest{font-size:1.5rem;font-weight:normal}.text-large{font-size:1.125rem}.text-small{font-size:.875rem}.text-smaller{font-size:.75rem}.text-smallest{font-size:.625rem}.arrow-link{text-decoration:none}.arrow-link:after{content:url(../img/icon-long-arrow.svg);width:28px;padding-left:7px;transition:all .2s ease-in-out;display:inline-block;text-decoration:none}.arrow-link:hover:after{padding-left:14px}.lang-ja{font-family:"Work Sans","Noto Sans JP",sans-serif}.lang-ja h1,.lang-ja h2,.lang-ja h3,.lang-ja h4,.lang-ja h5,.lang-ja .navbar .navbar-nav .nav-link,.lang-ja article .children-display li a,.lang-ja .right-sidebar .level-1 a,.lang-ja .right-sidebar .separator{font-family:"Work Sans","Noto Sans JP",sans-serif}.search .input-group-text{border-width:0;color:#fff;background-color:#232325;border-radius:4px 0 0 4px;padding:.5rem .5rem .5rem 1rem;line-height:1.5}.search .ds-input{background-color:#232325;border-radius:0 4px 4px 0;padding:.75rem 1rem .75rem .5rem;width:100%;border:1px solid #232325}.search .ds-input:focus{box-shadow:none;border-color:#9a52ff}.search .algolia-autocomplete{flex-grow:1}#algolia-autocomplete-listbox-0{z-index:1100 !important}.xrp-ledger-dev-portal .DocSearch-Modal{top:85px;background-color:#232325;box-shadow:none}html .DocSearch-Modal{box-shadow:none}html .DocSearch-Button{height:32px;border-radius:4px}html .DocSearch-Button:hover{border-radius:4px}html .DocSearch-Modal{max-width:55%}@media(min-width: 1200px){html .DocSearch-Modal{margin-right:112px}}@media(max-width: 991.98px){html .algolia-autocomplete .ds-dropdown-menu{min-width:unset}html .DocSearch-Modal{top:112px;max-width:100%;margin-left:0;margin-right:0}}html .DocSearch-Container{z-index:99999 !important;background-color:transparent !important}html #centersearchboxcontainer{justify-content:center}html #topsearchboxcontainer{justify-content:right}html .algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{background-color:#111112;border:0;border-radius:8px}html .algolia-autocomplete .algolia-docsearch-suggestion--category-header{border:0;font-weight:bold}html .algolia-autocomplete .algolia-docsearch-suggestion--text{font-size:.8rem}html .algolia-autocomplete .ds-dropdown-menu::before{border:0}.dark .DocSearch-Modal{background-color:#232325}.dark .DocSearch-Cancel{color:#9a52ff}.dark .DocSearch-Form{box-shadow:inset 0 0 0 2px #9a52ff;background-color:#232325}.dark .DocSearch-Hit-source{color:#9a52ff}.dark .DocSearch-Hits mark{color:#9a52ff}.dark .DocSearch-Hit-source,.dark .DocSearch-Hit-Container,.dark .DocSearch-Footer{background-color:#232325}.dark .DocSearch-Hit a{background-color:#232325;box-shadow:none}.dark .DocSearch-Hit-source{color:#a2a2a4}.dark .DocSearch-Input{color:#fff}.dark .DocSearch-Hit-title,.dark .DocSearch-Hit-path,.dark .DocSearch-Label,.dark .DocSearch-Help{color:#f5f5f7 !important}.dark .DocSearch-Hit[aria-selected=true] a{background:#343437}.dark .DocSearch-Hit[aria-selected=true] a .DocSearch-Hit-Container{background-color:#343437}.dark .DocSearch-Hit[aria-selected=true] a mark{color:#9a52ff !important}.dark .DocSearch-Prefill{color:#9a52ff}.dark .DocSearch-Button{background:#232325}.dark .DocSearch-Button:hover{background:#232325;box-shadow:inset 0 0 0 2px #9a52ff}.dark .DocSearch-Button:hover .DocSearch-Button-Placeholder{color:#fff}.dark .DocSearch-Search-Icon{color:#fff !important}.dark .DocSearch-Logo svg .cls-1,.dark .DocSearch-Logo svg .cls-2{fill:#fff}.dark .DocSearch-Commands-Key{color:#232325}.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header{color:#fff;border-bottom:2px solid #9a52ff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{color:#fff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--title{color:#fff}.dark .algolia-autocomplete .algolia-docsearch-suggestion--text{color:#e0e0e1}.dark .algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#fff;background-color:#343437}.dark .algolia-autocomplete .ds-dropdown-menu::before{background-color:#111112}.dark .algolia-autocomplete .algolia-docsearch-suggestion{background-color:#111112}.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.dark .algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight,.dark .algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{box-shadow:none;background-color:#343437}body{position:relative}section{position:relative}.landing{padding:0}.square{position:relative;flex-basis:calc(50% - 30px);margin:15px;box-sizing:border-box;justify-content:center;align-items:center;border-radius:8px}.square::before{content:"";display:block;padding-top:100%}@media(min-width: 992px){.square{flex-basis:calc(25% - 30px)}}.square-50{flex-basis:calc(50% - 30px)}@media(max-width: 767.98px){.square-50{flex-basis:calc(50% - 20px)}}.nav-grid-lg{display:flex;flex-direction:column}.nav-grid-lg .nav-item{width:100%}.nav-grid-lg .nav-item .nav-link{display:flex}.nav-grid-lg .nav-item .nav-link span{flex-grow:0}.nav-grid-lg .nav-item .nav-link img{max-height:2rem}.nav-grid-lg .nav-grid-head{margin-top:2.5rem}@media(min-width: 992px){.nav-grid-lg{display:grid;grid-auto-flow:column;grid-column-gap:80px}.nav-grid-lg .nav-grid-head{margin-top:0}}.col-lg{padding-left:0;padding-right:0}@media(min-width: 992px){.cols-of-1{grid-template-rows:repeat(1, min-content)}}@media(min-width: 992px){.cols-of-2{grid-template-rows:repeat(2, min-content)}}@media(min-width: 992px){.cols-of-3{grid-template-rows:repeat(3, min-content)}}@media(min-width: 992px){.cols-of-4{grid-template-rows:repeat(4, min-content)}}@media(min-width: 992px){.cols-of-5{grid-template-rows:repeat(5, min-content)}}@media(min-width: 992px){.cols-of-6{grid-template-rows:repeat(6, min-content)}}.card-grid{display:grid;grid-gap:40px;padding:0;width:100%;grid-template-columns:1fr}@media(min-width: 992px){.card-grid{grid-gap:80px}}.card-grid .col{padding-left:0;padding-right:0;min-width:100%}.card-grid.card-grid-4xN{grid-auto-rows:auto;grid-template-columns:repeat(2, 1fr)}@media(min-width: 992px){.card-grid.card-grid-4xN{grid-template-columns:repeat(4, 1fr)}}.card-grid.card-grid-3xN{grid-auto-rows:auto}@media(min-width: 992px){.card-grid.card-grid-3xN{grid-template-columns:1fr 1fr 1fr}}.card-grid.card-grid-2xN{grid-template-columns:1fr 1fr;grid-auto-rows:auto}@media(max-width: 991.98px){.card-grid.card-grid-2xN{grid-template-columns:1fr}}.card-grid.card-grid-1x2{grid-template-columns:1fr 2fr;grid-auto-rows:auto}@media(max-width: 991.98px){.card-grid.card-grid-1x2{display:flex}}.card-grid .card{padding:20px;border:0;min-height:264px}@media(min-width: 768px){.card-grid .card{min-height:347px}}@media(min-width: 992px){.card-grid .card{padding:40px}}.card-grid .card .card-body{padding:8px;padding-bottom:24px}.card-grid .card .card-body .card-icon-container{width:50px;height:50px}.card-grid .card .card-body .card-icon-container img{width:70%;height:70%}.card-grid.section-hero{padding-left:0}.container-new{display:flex;flex-wrap:wrap;margin:0 auto;padding:0 32px;max-width:100%;z-index:1}@media(min-width: 768px){.container-new{max-width:608px}}@media(min-width: 992px){.container-new{max-width:942px}}@media(min-width: 1200px){.container-new{max-width:1280px}}@media(max-width: 991.98px){article{overflow-wrap:break-word;word-wrap:break-word;overflow:hidden}}@media(max-width: 480px){html{overflow-x:hidden !important}}@media(max-width: 400px){.navbar .navbar-brand .brand-text{margin-right:0;letter-spacing:-0.08rem}.navbar .navbar-brand{margin-right:0}.navbar .navbar-brand .logo{margin-right:0;margin-left:-1rem}.btn{white-space:normal}}.timeline-wrapper{z-index:999;position:relative}.timeline:before{content:"";position:absolute;top:-40px;left:18px;height:95%;width:4px;background:linear-gradient(180deg, #feff01 0%, #ff2d9a 33%, #a3088f 66%, rgba(44, 4, 128, 0.85) 100%)}@media(max-width: 991.98px){.timeline:before{left:8px}}.timeline-dot{margin-top:94px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;-ms-flex-negative:0;flex-shrink:0;width:18px;height:18px;border-radius:50%;background:#111112;box-sizing:border-box}.timeline-block:first-child .timeline-dot{border:3px solid #faff19}.timeline-block:nth-child(2) .timeline-dot{border:3px solid #ff884b}.timeline-block:nth-child(3) .timeline-dot{border:3px solid #c000e5}.timeline-block:nth-child(4) .timeline-dot{border:3px solid #40004c}.timeline-block{display:flex;position:relative;z-index:1}.timeline-content{flex-grow:1;position:relative;margin-left:1.25em}.timeline h4{margin-top:-4px}@media(min-width: 768px){.timeline:before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.timeline-dot{-ms-flex-order:1;order:1;margin-left:calc(5% - 9px);will-change:transform}.timeline-block:nth-child(even){-ms-flex-direction:row-reverse;flex-direction:row-reverse}.timeline-dot{margin-right:calc(5% - 9px)}.timeline-content{width:45%;-ms-flex-positive:0;flex-grow:0;will-change:transform;margin:0;--line-height-multiplier: 1.2}}@media(min-width: 992px){[data-component-name="TableOfContent/TableOfContent"]{margin-right:32px}}aside li a{color:#fff;text-decoration:none;font-size:1.05rem}aside .sidenav_cat_title{color:#fff}aside a:hover,aside .sidenav_cat_title:hover{color:#9a52ff}aside a.active,aside a.active:hover,aside .active>a,aside .active>a:hover{color:#9a52ff;font-weight:700}aside a.active-parent,aside .active-parent>a{font-weight:700}.page-toc .level-1 a,.command-list .separator{font-weight:700;color:#fff}.nav-toggler{position:absolute;width:1.75em;height:1.75em;line-height:0;display:grid;justify-content:center;align-content:center}.nav-toggler::after{display:inline-block;margin-left:.34em;vertical-align:.34em;content:"";border-top:.4em solid;border-right:.4em solid transparent;border-bottom:0;border-left:.4em solid transparent}.nav-toggler:empty::after{margin-left:0}.nav-toggler::after{transition-duration:.3s}.nav-toggler.collapsed::after{transform:rotate(-90deg)}.dactyl-tree-nav nav{margin-left:1rem;padding-left:0;border-left:1px solid #fff}.dactyl-tree-nav nav .nav-link:hover,.dactyl-tree-nav nav .nav-link:active{border-left:1px solid #9a52ff;margin-left:-1px}.dactyl-tree-nav nav .active>.nav-link{border-left:2px solid #9a52ff;margin-left:-1px;padding-left:calc(1rem - 1px)}.dactyl-tree-nav .nav-item{position:relative}.dactyl-tree-nav .nav-item .nav-link{padding:.25rem 1rem;font-size:.9rem}.dactyl-tree-nav .nav-item.nav-parent{padding-top:0}.dactyl-tree-nav .nav-item.nav-parent .nav-link{padding-left:0;padding-top:0;font-size:1.125rem;line-height:initial}.dactyl-tree-nav .nav-item .nav-toggler+.nav-link{padding-left:2rem}.dactyl-tree-nav>.nav-item{padding:.5rem 0;font-size:1.125rem}.dactyl-tree-nav>.nav-item>.nav-link{font-weight:bold}.dactyl-tree-nav .collapsing.nav{flex-wrap:unset}.toc-header{font-weight:bold;font-size:14px;padding:1rem 0}.toc-header h4{line-height:20px;font-size:1.2em;padding:0;margin:0}#page-toc-wrapper .card-body{list-style-type:none}.page-toc,.command-list{padding-left:0;border-left:1px solid #fff}.page-toc li,.command-list li{list-style-type:none;padding:0}.page-toc li.separator,.command-list li.separator{padding:.25rem 1rem}.page-toc li a,.command-list li a{display:block;margin-top:5px;padding:.25rem 1rem;font-size:.9rem}.page-toc li a:hover,.page-toc li a .active,.command-list li a:hover,.command-list li a .active{text-decoration:none;border-left:1px solid #9a52ff;margin-left:-1px}.page-toc li.active a,.page-toc li.active a:hover,.command-list li.active a,.command-list li.active a:hover{border-left:2px solid #9a52ff;padding-left:calc(1rem - 1px);margin-left:-1px}.page-toc .level-3,.command-list .level-3{margin-left:16px;border-left:1px solid #fff;margin-bottom:0;padding-bottom:5px}.page-toc .level-3 a,.command-list .level-3 a{margin-top:0;padding-bottom:5px}.page-toc.no-sideline,.command-list.no-sideline{border-left:0}.page-toc.no-sideline a:hover,.page-toc.no-sideline a.active,.command-list.no-sideline a:hover,.command-list.no-sideline a.active{border-left:0;margin-left:0}.command-list li a{margin-top:0}.h32{height:32px}.w32{width:32px}.h36{height:36px}.w36{width:36px}.h40{height:40px}.w40{width:40px}.w44{width:44px}.w48{width:48px}.w-100{width:100%}.min-vh100{min-height:100vh}.vw100{width:100vw;min-width:100%}@media(max-width: 767.98px){.mb-3-sm-i{margin-bottom:1rem !important}}.ml-5{margin-left:1.25rem}@media(min-width: 768px){.ml-5-until-md{margin-left:1.25rem}}.mr-5{margin-right:1.25rem}@media(min-width: 768px){.mr-5-until-md{margin-right:1.25rem}}.mb-6{margin-bottom:1.5rem}@media(max-width: 767.98px){.mb-6-sm{margin-bottom:1.5rem}}.mt-6{margin-top:1.5rem}@media(min-width: 576px){.mt-6-until-sm{margin-top:1.5rem !important}}.mb-8{margin-bottom:2rem}@media(max-width: 767.98px){.mb-8-sm{margin-bottom:2rem}}.mt-8{margin-top:2rem}@media(min-width: 576px){.mt-8-until-sm{margin-top:2rem !important}}.mt-9{margin-top:2.25rem}.mb-9{margin-bottom:2.25rem}.mt-10{margin-top:2.5rem}@media(max-width: 767.98px){.mt-10-sm{margin-top:2.5rem}}.mb-10{margin-bottom:2.5rem}@media(min-width: 576px){.mb-10-until-sm{margin-bottom:2.5rem}}@media(max-width: 767.98px){.mb-10-sm{margin-bottom:2.5rem}}.ml-10{margin-left:2.5rem}.mr-10{margin-right:2.5rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-10{margin-left:2.5rem;margin-right:2.5rem}@media(min-width: 576px){.mx-10-until-sm{margin-left:2.5rem;margin-right:2.5rem}}@media(min-width: 768px){.mx-10-until-md{margin-left:2.5rem;margin-right:2.5rem}}@media(max-width: 767.98px){.mx-10-sm{margin-left:2.5rem;margin-right:2.5rem}}.mt-12{margin-top:3rem}.mb-12{margin-bottom:3rem}.my-12{margin-top:3rem;margin-bottom:3rem}.mt-13{margin-top:3.25rem}.mb-13{margin-bottom:3.25rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}@media(max-width: 767.98px){.mt-16-sm{margin-top:4rem}}.mb-16{margin-bottom:4rem}@media(max-width: 767.98px){.mb-16-sm{margin-bottom:4rem}}.mb-18{margin-bottom:4.5rem}.mt-20{margin-top:5rem}@media(max-width: 767.98px){.mt-20-sm{margin-top:5rem}}@media(min-width: 576px){.mt-20-until-sm{margin-top:5rem}}.mb-20{margin-bottom:5rem}@media(max-width: 767.98px){.mb-20-sm{margin-bottom:5rem}}@media(min-width: 576px){.mb-20-until-sm{margin-bottom:5rem}}.my-20{margin-top:5rem;margin-bottom:5rem}.my-26{margin-top:6.5rem;margin-bottom:6.5rem}.mb-30{margin-bottom:7.5rem}.mt-30{margin-top:7.5rem}@media(min-width: 576px){.mt-30-until-sm{margin-top:7.5rem}}.mt-40{margin-top:10rem}@media(min-width: 576px){.mt-40-until-sm{margin-top:10rem}}.mb-40{margin-bottom:10rem}@media(min-width: 576px){.mb-40-until-sm{margin-bottom:10rem}}.mb-49{margin-bottom:12.25rem}.mb-50{margin-bottom:12.5rem}@media(min-width: 576px){.mb-50-until-sm{margin-bottom:12.5rem}}@media(max-width: 767.98px){.pl-0-sm{padding-left:0 !important}}@media(max-width: 767.98px){.pr-0-sm{padding-right:0 !important}}@media(max-width: 767.98px){.pt-3-sm{padding-top:1rem !important}}.p-6{padding:1.5rem}@media(max-width: 767.98px){.p-6-sm{padding:1.5rem}}.p-8{padding:2rem}@media(max-width: 767.98px){.p-8-sm{padding:2rem}}.p-10{padding:2.5rem}@media(min-width: 576px){.p-10-until-sm{padding:2.5rem}}.py-20{padding-bottom:5rem;padding-top:5rem}.px-20{padding-left:5rem;padding-right:5rem}.pt-20{padding-top:5rem}.pb-20{padding-bottom:5rem}.py-26{padding-top:6.5rem;padding-bottom:6.5rem}@media(max-width: 767.98px){.py-26{padding-top:2.5rem;padding-bottom:2.5rem}}.pt-26{padding-top:2.5rem}@media(min-width: 576px){.pt-26-until-sm{padding-top:6.5rem}}.pb-26{padding-bottom:6.5rem}@media(min-width: 576px){.pb-26-until-sm{padding-bottom:6.5rem}}.pt-30{padding-top:7.5rem}.pb-30{padding-bottom:7.5rem}.pt-40{padding-top:10rem}@media(min-width: 576px){.pt-40-until-sm{padding-top:10rem}}.pb-40{padding-bottom:10rem}.pb-50{padding-bottom:12.5rem}.pt-50{padding-top:12.5rem}.py-50{padding-bottom:12.5rem;padding-top:12.5rem}@media(min-width: 576px){.py-50-until-sm{padding-bottom:12.5rem;padding-top:12.5rem}}.floating-nav{top:6rem}.last-section{margin-bottom:100px}.bottom-0{bottom:0}.justify-center{justify-content:center}@media(max-width: 767.98px){.justify-center-sm{justify-content:center}}@media(max-width: 575.98px){.overflow-xs{overflow:scroll}.overflow-x-xs{overflow-x:scroll;overflow-y:hidden}}@media(min-width: 768px){.position-sm-absolute{position:absolute}}.va-middle{vertical-align:middle}.ls-none{list-style:none}.no-wrap{white-space:nowrap}.align-items-stretch{align-items:stretch}.underline{text-decoration:underline}@media(max-width: 575.98px){.d-none-xs{display:none}}@media(max-width: 767.98px){.d-none-sm{display:none}}@media(min-width: 992px){.d-none-lg{display:none}}.d-block{display:block}.border-green{border:1px solid #9a52ff}.border-none{border:none !important}.grey-400{color:#a2a2a4}.grey-500{color:#838386}.grey-700{color:#343437}.white{color:#fff}.stat-highlight{color:#32e685}.br-8{border-radius:8px}@media(max-width: 767.98px){br.until-sm{content:""}}.z-index-1{z-index:1}.bb-gray{border-bottom:1px solid #454549}@keyframes arrowDance{0%{padding-left:7px}50%{padding-left:14px}100%{padding-left:7px}}@keyframes arrowDance2{0%{right:0}50%{right:7px}100%{right:0}}@keyframes arrowDanceDiag{0%{right:7px;margin-top:0}50%{right:0;margin-top:-7px}100%{right:7px;margin-top:0}}.btn,article a.button,article .btn{font-weight:bold;cursor:pointer;text-decoration:none;transition:.2s;padding:.5rem 1rem;line-height:16px}article a.button{padding:.5rem 1rem;margin:0 .5rem;display:inline-block}.btn.disabled,button.disabled,.btn[disabled=disabled],button[disabled=disabled]{cursor:not-allowed}.btn-primary code,.btn-secondary code{color:inherit}.btn-primary{background:#7919ff;font-weight:bold;color:#fff;border:none;border-color:transparent}.btn-primary:hover{background:#5f00e5}.btn-primary.disabled,.btn-primary[disabled=disabled]{background:#4a00b2}.btn-primary.disabled:hover,.btn-primary[disabled=disabled]:hover{background:#4a00b2}@media(max-width: 767.98px){.btn-arrow{display:block;width:100%}}.btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right.svg);position:relative;top:1px;vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.btn-arrow:hover{background:#5f00e5 !important;border:none}.btn-arrow:hover::after{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.btn-arrow-out::after{background-position:left 0px bottom 0px;content:" ";background-image:url(../img/icons/arrow-up-right-white.svg);background-repeat:no-repeat;display:inline-block;padding:4px 8px 4px 12px;transition:background-position .3s ease-in-out;margin-left:4px}.btn-arrow-out:hover::after{background-position:left 4px bottom 4px}@media(max-width: 767.98px){.btn-arrow-out{display:block;width:100%}}.jump-to-top{display:none;position:fixed;bottom:36px;right:36px;font-weight:700;z-index:1000}.jump-to-top::after{display:none}.accordian-row{background:#232325;border-radius:5px;padding:32px}.accordian-row h3 a{position:relative;padding-right:2rem}.accordian-row h3 a:hover{color:#fff}.accordian-row .chevron{position:absolute;top:0;right:0}article table{clear:right;margin-bottom:48px}article table code{word-break:normal;white-space:nowrap;overflow-wrap:normal}article table th{border-bottom:2px solid #e0e0e1}article table tr{border-bottom:1px solid #e0e0e1}article table th,article table td{padding:.2em;vertical-align:text-top}article table td:nth-child(1){font-weight:bold}.landing-table th,.landing-table tr{border-bottom:2px solid #454549}.landing-table td{width:33.33%;padding:16px 40px 16px 0}.landing-table td:nth-child(1){font-weight:normal}@media(max-width: 767.98px){.landing-table td{font-size:.875rem}}.landing-table tr:last-child{border-bottom:none}.landing-table tbody td{color:#e0e0e1}.dblue{color:#454549}#overview-table td:nth-child(1){width:40%}#overview-table td:nth-child(2){width:30%}#overview-table tbody td{padding:2rem .75rem}@media(max-width: 991.98px){#overview-table{font-size:.875rem}#overview-table thead .h4{font-size:1.125rem}}article table{clear:right;margin-bottom:48px}article table code{word-break:normal;white-space:nowrap;overflow-wrap:normal}article table th{border-bottom:2px solid #e0e0e1}article table tr{border-bottom:1px solid #e0e0e1}article table th,article table td{padding:.2em;vertical-align:text-top}article table td:nth-child(1){font-weight:bold}.landing-table th,.landing-table tr{border-bottom:2px solid #454549}.landing-table td{width:33.33%;padding:16px 40px 16px 0}.landing-table td:nth-child(1){font-weight:normal}@media(max-width: 767.98px){.landing-table td{font-size:.875rem}}.landing-table tr:last-child{border-bottom:none}.landing-table tbody td{color:#e0e0e1}.dblue{color:#454549}#overview-table td:nth-child(1){width:40%}#overview-table td:nth-child(2){width:30%}#overview-table tbody td{padding:2rem .75rem}@media(max-width: 991.98px){#overview-table{font-size:.875rem}#overview-table thead .h4{font-size:1.125rem}}.modal-uses.exchanges .logo-item{max-height:58px;margin:5px;width:145px;height:28px;max-width:none}.modal-content-uses .carbonland-trust{max-width:218px}.modal-content-uses .first-ledger-bot{min-height:100px !important;position:relative;bottom:20px;content:url("../img/uses/first-ledger-bot.svg")}.modal-content-uses .orchestra-finance{min-height:56px !important;content:url("../img/uses/orchestra-finance.svg")}.modal-content-uses .moai-finance{min-height:100px !important;position:relative;bottom:20px;content:url("../img/uses/moai-finance.svg")}.modal-content-uses .ledger-city{margin:0px !important;position:relative;bottom:4px;left:6px;max-height:47px !important}.modal-content-uses .zerpmon{margin:0px;min-width:80px;min-height:84px;position:relative;bottom:13px;content:url("../img/uses/zerpmon.png") !important}#use_case_companies_list #threezy .biz-logo{max-height:40px;content:url("../img/uses/modallogos/threezy.png")}html.light .cryptum{content:url(../img/uses/lightmode/cryptum.jpg) !important;height:58px;max-width:max-content;width:184px;max-height:none;margin:0px;padding-bottom:10px}.xrp-ledger{content:url(../img/uses/modallogos/xrp-ledger.png)}html.light .xrp-ledger{content:url(../img/uses/lightmode/xrp-ledger.png)}.gatehub{content:url(../img/uses/modallogos/gatehub.png)}html.light .gatehub{content:url(../img/uses/lightmode/gatehub.png)}.towolabs{content:url(../img/uses/modallogos/towolabs.png)}html.light .towolabs{content:url(../img/uses/lightmode/towolabs.png)}.xrpscan{content:url(../img/uses/modallogos/xrpscan.png)}html.light .xrpscan{content:url(../img/uses/lightmode/xrpscan.png)}.xrp-toolkit{content:url(../img/uses/modallogos/xrp-toolkit.png)}html.light .xrp-toolkit{content:url(../img/uses/lightmode/xrp-toolkit.png)}.bithomp{content:url(../img/uses/modallogos/bithomp.png)}html.light .bithomp{content:url(../img/uses/lightmode/bithomp.png)}.onthedex{content:url(../img/uses/modallogos/onthedex.png)}html.light .onthedex{content:url(../img/uses/lightmode/onthedex.png)}.cryptum{content:url(../img/uses/modallogos/cryptum.png)}html.light .cryptum{content:url(../img/uses/lightmode/cryptum.png)}.evernode{content:url(../img/uses/modallogos/evernode.png)}html.light .evernode{content:url(../img/uses/lightmode/evernode.png)}.threezy{content:url(../img/uses/modallogos/threezy.png)}html.light .threezy{content:url(../img/uses/lightmode/threezy.png)}.tokenize{content:url(../img/uses/modallogos/tokenize.png)}html.light .tokenize{content:url(../img/uses/lightmode/tokenize.png)}.multichain{content:url(../img/uses/modallogos/multichain.png)}html.light .multichain{content:url(../img/uses/lightmode/multichain.png)}.crossmark{content:url(../img/uses/modallogos/crossmark.png)}html.light .crossmark{content:url(../img/uses/lightmode/crossmark.png)}.edge{content:url(../img/uses/modallogos/edge.png)}html.light .edge{content:url(../img/uses/lightmode/edge.png)}.gem-wallet{content:url(../img/uses/modallogos/gem-wallet.png)}html.light .gem-wallet{content:url(../img/uses/lightmode/gem-wallet.png)}.xumm{content:url(../img/uses/modallogos/xumm.png)}html.light .xumm{content:url(../img/uses/lightmode/xumm.png)}.aesthetes{content:url(../img/uses/modallogos/aesthetes.png)}html.light .aesthetes{content:url(../img/uses/lightmode/aesthetes.png)}.audiotarky{content:url(../img/uses/modallogos/audiotarky.png)}html.light .audiotarky{content:url(../img/uses/lightmode/audiotarky.png)}.nftmaster{content:url(../img/uses/modallogos/nftmaster.png)}html.light .nftmaster{content:url(../img/uses/lightmode/nftmaster.png)}.peerkat{content:url(../img/uses/modallogos/peerkat.png)}html.light .peerkat{content:url(../img/uses/lightmode/peerkat.png)}.sologenic_dex{content:url(../img/uses/modallogos/sologenic_dex.png)}html.light .sologenic_dex{content:url(../img/uses/lightmode/sologenic_dex.png)}.xrp-cafe{content:url(../img/uses/modallogos/xrp-cafe.png)}html.light .xrp-cafe{content:url(../img/uses/lightmode/xrp-cafe.png)}.xrp-oval{content:url(../img/uses/modallogos/xrp-oval.png)}html.light .xrp-oval{content:url(../img/uses/lightmode/xrp-oval.png)}.sologenic_dex{content:url(../img/uses/modallogos/sologenic_dex.png)}html.light .sologenic_dex{content:url(../img/uses/lightmode/sologenic_dex.png)}.xpmarket{content:url(../img/uses/modallogos/xpmarket.png)}html.light .xpmarket{content:url(../img/uses/lightmode/xpmarket.png)}.orchestra-finance{content:url(../img/uses/modallogos/orchestra-finance.png)}html.light .orchestra-finance{content:url(../img/uses/lightmode/orchestra-finance.png)}.moai-finance{content:url(../img/uses/modallogos/moai-finance.png)}html.light .moai-finance{content:url(../img/uses/lightmode/moai-finance.png)}.first-ledger-bot{content:url(../img/uses/modallogos/first-ledger-bot.png)}html.light .first-ledger-bot{content:url(../img/uses/lightmode/first-ledger-bot.png)}.forte{content:url(../img/uses/modallogos/forte.png)}html.light .forte{content:url(../img/uses/lightmode/forte.png)}.ledger-city{content:url(../img/uses/modallogos/ledger-city.png)}html.light .ledger-city{content:url(../img/uses/lightmode/ledger-city.png)}.futureverse{content:url(../img/uses/modallogos/futureverse.png)}html.light .futureverse{content:url(../img/uses/lightmode/futureverse.png)}.zerpmon{content:url(../img/uses/modallogos/zerpmon.png)}html.light .zerpmon{content:url(../img/uses/lightmode/zerpmon.png)}.anchain{content:url(../img/uses/modallogos/anchain.png)}html.light .anchain{content:url(../img/uses/lightmode/anchain.png)}.ripple{content:url(../img/uses/modallogos/ripple.png)}html.light .ripple{content:url(../img/uses/lightmode/ripple.png)}.supermojo{content:url(../img/uses/modallogos/supermojo.png)}html.light .supermojo{content:url(../img/uses/lightmode/supermojo.png)}.ripple{content:url(../img/uses/modallogos/ripple.png)}html.light .ripple{content:url(../img/uses/lightmode/ripple.png)}.carbonland-trust{content:url(../img/uses/modallogos/carbonland-trust.png)}html.light .carbonland-trust{content:url(../img/uses/lightmode/carbonland-trust.png)}.gatehub{content:url(../img/uses/modallogos/gatehub.png)}html.light .gatehub{content:url(../img/uses/lightmode/gatehub.png)}.bitgo{content:url(../img/uses/modallogos/bitgo.png)}html.light .bitgo{content:url(../img/uses/lightmode/bitgo.png)}.arrow-button.left-arrow img{content:url(../img/uses/left-arrow.svg)}.arrow-button.right-arrow img{content:url(../img/uses/right-arrow.svg)}.right-arrow-button.right-arrow img{background-color:transparent;border:none;cursor:pointer}.html.light .arrow-button.left-arrow img{content:url(../img/uses/left-arrow-light.svg)}.html.light .arrow-button.right-arrow img{content:url(../img/uses/right-arrow-light.svg)}.related-tasks-links a{color:#454549;text-decoration:none}.related-tasks-links a:hover{color:#000}.arrows-container{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;z-index:10}@media only screen and (max-width: 768px){.arrows-container{top:30px}}.arrow-button{background-color:transparent;border:none;cursor:pointer}.arrow-button img{width:40px;height:40px}.left-arrow{margin-left:40px}@media only screen and (max-width: 768px){.left-arrow{margin-left:0px}}.right-arrow{margin-right:40px}@media only screen and (max-width: 768px){.right-arrow{margin-right:0px}}.modal-uses{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.4)}.modal-content-uses{padding-top:40px;position:relative;background-color:#232325;position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);padding:40px 20px 20px 20px;width:60% !important;height:520px;display:flex;flex-direction:column;align-items:center;overflow-y:hidden}@media only screen and (max-width: 1024px){.modal-content-uses{overflow-y:auto}}.modal-content-uses::before{content:"";position:absolute;top:0;left:0;width:100%;height:1px;background:linear-gradient(90deg, #b480ff -0.32%, #5f00e6 32.7%, #1aa4ff 61.53%, #19ff83 100.32%, #19ff83 100.32%)}.content-section{width:100%;display:flex;justify-content:center;align-items:center;margin-bottom:20px}.section-image{display:block}.section-text-title{font-family:"Work Sans";font-style:normal;font-weight:500;font-size:24px;line-height:32px;text-align:center;color:#fff}.section-text-description{max-width:320px;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:16px;line-height:24px;text-align:center;color:#c1c1c2}.apps-built{position:relative;top:17px;left:50px;font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#e0e0e1}.numbers-animation{width:218px;height:96px}.arrow-animation{position:relative;right:23px;top:-11px;width:60px !important}.explore-projects{font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#7919ff;position:relative;top:-9px;right:27px}.section-separator{width:50%;border:0;border-top:1px solid #ccc}.logo-item.anchain{height:34px !important;max-width:146px !important}.threezy-logo{margin:4px;max-height:55px !important}.blockforce-logo{margin:0px !important;max-height:45px !important}.Evernode-logo{margin-right:39px}.logo-grid{display:grid;grid-template-rows:repeat(2, 1fr);grid-template-columns:repeat(4, 1fr);grid-gap:8px;justify-items:center}.flex-center{display:flex;justify-content:center}.top-row,.bottom-row{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}@media only screen and (max-width: 768px){.top-row,.bottom-row{justify-content:space-around;gap:10px;margin-bottom:0}}.top-row{margin-bottom:10px}.bottom-row{margin-top:10px}.logo-item{max-height:45px;max-width:108px;margin:5px}.close{color:#aaa;float:right;font-size:28px;font-weight:bold;cursor:pointer}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}#use-case-card-grid{grid-template-columns:repeat(2, 1fr)}@media(min-width: 768px){#use-case-card-grid{grid-template-columns:repeat(3, 1fr)}}@media(min-width: 992px){#use-case-card-grid{grid-template-columns:repeat(4, 1fr)}}@media(max-width: 1220px)and (min-width: 1024px){#use-case-card-grid{grid-template-columns:repeat(3, 1fr)}}.use-case-circle{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border:1px solid #343437;border-radius:50%;margin-bottom:30px;cursor:pointer}@media(min-width: 768px){.use-case-circle{aspect-ratio:1/1;min-width:200px !important;min-height:200px !important}}@media(min-width: 992px){.use-case-circle{aspect-ratio:1/1;min-width:250px !important;min-height:250px !important}}.use-case-circle:hover{border-color:#838386}.circle-content{display:flex;flex-direction:column;align-items:center;gap:13px}.circle-img{width:40px;height:40px}.circle-text{font-family:"Work Sans";font-style:normal;font-weight:700;white-space:nowrap;font-size:16px;margin-bottom:0px}.join-xrpl-section{display:flex;flex-direction:column;align-items:center}.colorful-join-text-wrapper{display:flex;justify-content:center;flex-direction:column;padding:0 5%;box-sizing:border-box}@media(min-width: 992px){.colorful-join-text-wrapper{padding:0 4%}}.colorful-join-text{display:block;width:100%;text-align:left;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:32px;line-height:38px;background:linear-gradient(90deg, #feff01 0%, #ff2d9a 30.82%, #e24cff 64.01%, #9a52ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#numbersAnimation{display:block}#numbersAnimationLight{display:none}html.light .section-separator{background:#c1c1c2}html.light .section-text-description{color:#343437}html.light .modal-content-uses{background:#fff}html.light #numbersAnimation{display:none}html.light #numbersAnimationLight{display:block}html.light .apps-built{position:relative;top:17px;left:50px;font-family:"Work Sans";font-style:normal;font-weight:600;font-size:12px;line-height:16px;color:#232325}html.light .colorful-join-text{display:block;width:100%;text-align:left;font-family:"Work Sans";font-style:normal;font-weight:400;font-size:32px;line-height:38px;background:linear-gradient(90deg, #b480ff -0.32%, #5f00e6 32.7%, #1aa4ff 61.53%, #19ff83 100.32%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media(min-width: 992px){html.light .colorful-join-text{width:750px}}@media(min-width: 992px){.colorful-join-text{width:750px}}.pill-box{display:inline-flex;align-items:center;justify-content:center;padding:3.69087px 29.527px;width:73.05px;height:37.38px;background:#7919ff;border:3.69087px solid #5f00e5;border-radius:184.543px}.pill-number{font-family:"Work Sans";font-style:normal;font-weight:600;font-size:22.1452px;color:#f0e5ff}.use-case-steps h2{margin-top:10px;margin-bottom:10px;font-size:1.728em;line-height:32px;font-weight:700}.use-case-steps h2 a{text-decoration:none}.use-case-steps h2:first-of-type:before{display:none}.use-case h1{font-size:2.4em;padding-bottom:10px}.use-case-steps h2:before{margin-top:-30px;height:0}.use-case-steps h2:first-of-type{margin-top:-30px}.related-tasks-links ul{list-style-type:none;padding-left:0}.related-tasks-links ul li{margin:0px;padding-top:2px}.related-tasks-links a:hover::after{padding-left:.5em}.related-tasks-links a::after{content:" ➝";padding-left:0;transition:all .2s ease-in-out}.page-tokenization .tokenization-graphic{content:url("../img/backgrounds/tokenization-illustration.svg");width:100%;height:100%}.page-tokenization .show-md{display:none}@media(max-width: 991.98px){.page-tokenization .show-md{display:block}}.page-tokenization .hide-md{display:block}@media(max-width: 991.98px){.page-tokenization .hide-md{display:none}}.page-tokenization .tokenization-use-case{font-size:12px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #454549}.page-tokenization .tokenization-use-case .arrow-button img{width:15px;height:15px}.page-tokenization .tokenization-stats{width:100%;height:250px;border-radius:8px;background:linear-gradient(88deg, #9A52FF -14.32%, #32E685 45.35%, #19A3FF 100.76%);padding:4rem 2rem;display:grid;grid-template-columns:repeat(4, 1fr)}@media(max-width: 991.98px){.page-tokenization .tokenization-stats{display:block;height:100%;width:100%;padding:0 25%}}.page-tokenization .stat-container{color:#000;text-align:center;border-right:2px solid #000}@media(max-width: 991.98px){.page-tokenization .stat-container{border-right:none;padding-bottom:3rem;padding-top:2rem;border-bottom:2px solid #000}}.page-tokenization .stat-container:last-child{border:none}.page-tokenization .stat-container .stat{font-size:3rem;font-weight:300}.page-tokenization .stat-container p{font-weight:400}.page-tokenization .security-card{position:relative;border-radius:.5rem;background-color:transparent;white-space:normal;box-sizing:border-box}.page-tokenization .security-card::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(90deg, #d91aff 26.41%, #1aa4ff 100.32%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;z-index:-1}.page-tokenization .security-card p{margin-bottom:0 !important}@media(max-width: 767.98px){.page-tokenization .security-card .h6{font-size:1.25rem}}.page-tokenization .security-card-grid{gap:1rem;grid-template-columns:repeat(2, 1fr)}@media(min-width: 1200px){.page-tokenization .security-card-grid{grid-template-columns:repeat(4, 1fr)}}@media(max-width: 768px){.page-tokenization .security-card-grid{grid-template-columns:repeat(1, 1fr)}}.page-tokenization .video-external-link .link-text{margin-left:.25rem}.page-tokenization .video-external-link{margin-bottom:9px}.page-tokenization .tokenization-color-bar{align-self:stretch;height:.25rem;border-radius:2rem;background:var(--Gradient-3, linear-gradient(90deg, #FEFF01 0%, #FF2D9A 30.82%, #E24CFF 64.01%, #9A52FF 100%))}.page-tokenization .project-cards-container{gap:3rem}.page-tokenization .project-cards{width:100%}.page-tokenization .project-cards .project-name{word-break:break-word}.page-tokenization .project-cards .card{min-height:240px}.page-tokenization .project-cards .col::before{content:"";position:absolute;top:0;left:0;width:100%;height:.25rem;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.page-tokenization .project-cards .col.odd::before{background:linear-gradient(90deg, #D91AFF 26.41%, #1AA4FF 100.32%)}.page-tokenization .project-cards .col.even::before{background:linear-gradient(90deg, #4BB7FF -0.32%, #32E685 30.61%)}.page-tokenization .project-cards .project-logo{width:100%;height:50px;vertical-align:center;padding:0 .5rem}.page-tokenization .project-cards img{max-width:100%;height:auto;display:block;box-sizing:border-box}.page-tokenization .amy{content:url("../img/logos/amy.svg")}.page-tokenization .carbonland{content:url("../img/logos/carbonland.svg")}.page-tokenization .evernode{content:url("../img/logos/evernode.svg")}.page-tokenization .nautilus{content:url("../img/logos/nautilus.svg")}.page-tokenization .onXRP{content:url("../img/logos/onXRP.svg")}.page-tokenization .raised-in-space{content:url("../img/logos/raised-in-space.svg")}.page-tokenization .sologenic{content:url("../img/logos/sologenic.svg")}.page-tokenization .xaman{content:url("../img/logos/xaman-labs.svg")}.page-tokenization .xrpcafe{content:url("../img/logos/xrpcafe.svg")}.page-tokenization .prev img{content:url("../img/icons/prev.svg")}.page-tokenization .next img{content:url("../img/icons/prev.svg");transform:scaleX(-1)}.page-tokenization .arrow-wrapper{gap:1rem}.page-tokenization .arrow-button{background-color:#232325;border-radius:.25rem;align-items:center;justify-content:center}.page-tokenization .next.hover-color:hover img{content:url("../img/icons/next-purple.svg");transform:scaleX(1)}.page-tokenization .prev.hover-color:hover img{content:url("../img/icons/next-purple.svg");transform:scaleX(-1)}.page-tokenization .related-articles{gap:2.5rem}.page-tokenization .related-articles .col{background-color:#000;padding:2rem !important;border-radius:.5rem}.page-tokenization .related-articles .time{position:relative;padding-top:.5rem}.page-tokenization .related-articles .time::before{content:"";position:absolute;top:0;left:0;width:50px;height:4px;background-color:#32e685}.page-tokenization .project-cards a,.page-tokenization .related-articles a{text-decoration:none}.page-tokenization .project-cards a:hover .project-name{color:#9a52ff}.page-tokenization .related-articles a:hover .h5{color:#9a52ff}.page-tokenization .article-card-container{position:relative;width:100%}.page-tokenization .article-card-container:nth-child(1) .article-card-background{background-image:linear-gradient(86deg, #B20058 -21.16%, #E24CFF 31.78%, #9A52FF 101.64%)}.page-tokenization .article-card-container:nth-child(2) .article-card-background{background-image:linear-gradient(22deg, #B480FF -6.54%, #5F00E5 50.87%, #1AA4FF 114.16%)}.page-tokenization .article-card-container:nth-child(3) .article-card-background{background-image:linear-gradient(162deg, #B480FF -11.11%, #1AA4FF 56.26%, #2DCF78 112.84%)}.page-tokenization .article-card-background{height:calc(100% + 1.5rem);width:100%;z-index:1;background-size:cover;position:absolute;top:-0.75rem;border-radius:.5rem}.page-tokenization .article-card{width:100%;height:100%;position:relative;top:0;left:.75rem;z-index:2;display:block}body,.landing.page-uses{overflow-x:hidden}.dark [data-component-name="Breadcrumbs/Breadcrumbs"]+div>a>svg>rect{fill:transparent}[data-component-name="layouts/RootLayout"]{padding-top:132px}.top-nav{background-color:#111112;height:80px;padding:0}.top-nav .navbar-brand{text-decoration:none;white-space:pre;-webkit-transition:opacity .2s ease,color .2s ease;transition:opacity .2s ease,color .2s ease;padding-left:2rem}.top-nav .navbar-brand .logo{margin-left:0;content:url(../img/XRPLedger_DevPortal-white.svg);width:162px;height:40px;display:block}.top-nav .navbar-brand:hover{opacity:.75}@media(max-width: 991.98px){.top-nav .navbar-brand{padding-left:2rem}.top-nav .navbar-brand img{width:120px}}.top-nav .nav-item{font-weight:600}@media(min-width: 992px){.top-nav #topnav-pages{flex-grow:1}}.top-nav #topnav-pages .nav-link{color:#f5f5f7;font-size:1rem;line-height:1.25rem;text-decoration:none;font-weight:600}.top-nav .dropdown-toggle{position:relative}.top-nav .dropdown-menu{border-width:0}.top-nav .dropdown-menu h5{font-weight:400;font-size:12px;color:#a2a2a4;margin-bottom:0}.top-nav .dropdown-menu .dropdown-item{line-height:1rem;padding:.75rem 0;white-space:normal}.top-nav .dropdown-menu .dropdown-item.dropdown-hero{width:100%;display:flex;padding:1rem 2rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero>img{width:68px;height:68px;background-color:#232325;border-radius:4px;flex-grow:0;padding:.75rem;margin-right:2rem;margin-top:auto;margin-bottom:auto}.top-nav .dropdown-menu .dropdown-item.dropdown-hero p{font-size:14px;color:#c1c1c2;margin:0;white-space:normal}.top-nav .dropdown-menu .dropdown-item.dropdown-hero h4{font-size:1.25rem;font-weight:600;margin-bottom:0;line-height:2rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero:hover h4{color:#9a52ff}.top-nav .dropdown-menu .dropdown-item.dropdown-hero:hover p{font-weight:400}.top-nav .dropdown-menu .dropdown-item:last-child{padding-bottom:0}.top-nav .dropdown-menu .dropdown-item:first-child{padding-top:0}.top-nav .dropdown-menu .col-for-get_started{background-color:#232325}.top-nav .dropdown-menu a:hover{color:#9a52ff;background-color:inherit}.top-nav .dropdown-menu h5:hover{background-color:inherit}.top-nav #topnav-search{flex-grow:1}.top-nav #topnav-search .input-group{flex-grow:1;flex-wrap:nowrap}@media(max-width: 991.98px){.top-nav #topnav-search .form-inline{padding:1rem 2rem}}.top-nav #topnav-search .input-group-text{height:40px}.top-nav #topnav-search .ds-input{height:40px}.top-nav #topnav-language .dropdown-item{font-weight:600}@media(min-width: 992px){.top-nav{padding:0 2rem}.top-nav .navbar-brand{margin-left:0;padding-left:0}.top-nav .dropdown-toggle::after{display:none}.top-nav .dropdown-toggle>span{border-bottom:2px solid transparent}.top-nav .dropdown .dropdown-toggle:hover>span:not(.chevron){padding-bottom:8px;border-bottom:2px solid #9a52ff;margin-bottom:-8px}.top-nav .dropdown-menu{border-radius:0 0 8px 8px;padding:2.5rem}.top-nav .dropdown-menu .dropdown-item.dropdown-hero{padding:0}.top-nav .dropdown-menu.show{display:grid;gap:40px}.top-nav .dropdown-menu.show#topnav_dd_about{grid-template-columns:180px 180px 180px}.top-nav .dropdown-menu.show#topnav_dd_docs{grid-template-columns:180px 180px 260px;left:-200px}.top-nav .dropdown-menu.show#topnav_dd_community{grid-template-columns:200px}.top-nav .dropdown-menu.show#topnav_dd_resources{grid-template-columns:195px 180px 180px;left:-200px}.top-nav .dropdown-menu.show .dropdown-hero{grid-row:1;grid-column:1/4}.top-nav .dropdown-menu.show #dropdown-hero-for-docs{grid-column:1/3}.top-nav .dropdown-menu.show .col-for-xrp_ledger{grid-row:1/3;grid-column:1}.top-nav .dropdown-menu.show .col-for-xrp{grid-column:2}.top-nav .dropdown-menu.show .col-for-sustainability,.top-nav .dropdown-menu.show .col-for-持続可能性{grid-column:2}.top-nav .dropdown-menu.show .col-for-about,.top-nav .dropdown-menu.show .col-for-概要{grid-row:1/3;grid-column:3}.top-nav .dropdown-menu.show .col-for-article_types{grid-column:1;grid-row:2}.top-nav .dropdown-menu.show .col-for-use_cases{grid-column:2;grid-row:2}.top-nav .dropdown-menu.show .col-for-get_started{grid-column:3;grid-row:1/3;margin:-40px -40px -40px 0;padding:40px}.top-nav .dropdown-menu.show .col-for-development{grid-column:1}.top-nav .dropdown-menu.show .col-for-current-status,.top-nav .dropdown-menu.show .col-for-現在のステータス{grid-column:2}.top-nav .dropdown-menu.show .col-for-join-in,.top-nav .dropdown-menu.show .col-for-参加する{grid-column:3}.top-nav .dropdown-menu.smaller-dropdown{min-width:180px;padding:1.25rem}.top-nav #topnav-pages{flex-grow:0}}@media(min-width: 992px)and (min-width: 992px)and (max-width: 1133px){.top-nav #topnav-pages .nav-link{padding:1rem 1rem}}@media(min-width: 992px){.top-nav #topnav-language{flex-grow:0}.top-nav #topnav-language hr{display:none}.top-nav #topnav-language #language_selector_header_btn{padding-right:0}}@media(min-width: 992px)and (min-width: 992px)and (max-width: 1133px){.top-nav #topnav-language #language_selector_header_btn{padding-left:1rem}}@media(min-width: 992px)and (min-width: 1200px){.top-nav #topnav-search{margin-left:3.5rem;margin-right:.5rem}.top-nav #topnav-language{margin-right:.5rem}.top-nav #topnav-button{margin-left:.2rem;margin-right:1rem}}@media(max-width: 991.98px){.top-nav .navbar-toggler{border:0;padding:30px 2rem;font-size:1rem;display:inline-block}.top-nav .navbar-toggler .navbar-toggler-icon{background:none;height:20px;width:20px;position:relative}.top-nav .navbar-toggler .navbar-toggler-icon::after,.top-nav .navbar-toggler .navbar-toggler-icon::before,.top-nav .navbar-toggler .navbar-toggler-icon div{position:absolute;content:" ";background-color:#f5f5f7;display:block;width:100%;height:3px;transition:all .2s ease}.top-nav .navbar-toggler .navbar-toggler-icon::before{top:0}.top-nav .navbar-toggler .navbar-toggler-icon::after{bottom:0}.top-nav .navbar-toggler .navbar-toggler-icon div{top:calc(50% - 1.5px)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon::before{transform:translateY(8px) rotate(135deg)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon::after{transform:translateY(-9px) rotate(-135deg)}.top-nav .navbar-toggler:not(.collapsed) .navbar-toggler-icon div{transform:scale(0)}.top-nav .navbar-nav{align-items:unset !important}.top-nav .navbar-nav #topnav-button{background-color:#111112;padding:1rem 1.5rem}.top-nav .navbar-nav #topnav-search [data-component-name="Search/SearchTrigger"]{cursor:pointer}.top-nav .navbar-nav .nav-link,.top-nav .navbar-collapse>.nav-item{line-height:150%;background:#111112}.top-nav .navbar-nav .nav-link label,.top-nav .navbar-collapse>.nav-item label{margin-bottom:0}.top-nav .navbar-nav .nav-link{padding:1rem 2rem}.top-nav .dropdown-menu{margin:0;width:100%;overflow:auto;transition:all .2s ease;height:0;display:block;padding:0;border-radius:0}.top-nav .dropdown-menu.show{height:calc(100vh - 80px - 52px)}.top-nav .dropdown-menu.show>:last-child{padding-bottom:4rem}.top-nav .dropdown-menu.show#topnav_dd_docs{display:grid;grid-template-columns:minmax(187px, 1fr) minmax(187px, 1fr);gap:1px;left:-200px}.top-nav .dropdown-menu.show#topnav_dd_docs .dropdown-hero{grid-column:1/3;grid-row:1}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-document_types{grid-column:1;grid-row:2}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-use_cases{grid-column:2;grid-row:2}.top-nav .dropdown-menu.show#topnav_dd_docs .col-for-get_started{grid-column:1/3;grid-row:4;margin:-1px;padding-top:33px}.top-nav .dropdown-menu .navcol{padding:1rem 2rem}.top-nav .dropdown-menu.smaller-dropdown{padding:0 2rem}.top-nav .dropdown-menu.smaller-dropdown.show{padding:1rem 2rem;height:auto}.top-nav .dropdown-menu .dropdown-hero:first-child{padding-top:1rem}.top-nav .dropdown-toggle:not(.with-caret)::before,.top-nav .dropdown-toggle:not(.with-caret)::after{border:0;font-family:FontAwesome;color:#9a52ff;font-size:.75rem;transition:all .2s ease;overflow:clip;width:1rem}.top-nav .dropdown-toggle:not(.with-caret)::before{content:"";display:inline-block;margin-bottom:-5px}.top-nav .dropdown-toggle:not(.with-caret)::after{content:"";position:absolute;right:2rem}.top-nav .dropdown.show .dropdown-toggle::after{text-indent:5rem}.top-nav .dropdown:not(.show) .dropdown-toggle::before{width:0;height:0;text-indent:-5rem}.top-nav .dropdown-toggle.with-caret::after{border:0}.top-nav #top-main-nav{background-color:#232325;padding-top:32px;position:relative}.top-nav #top-main-nav.submenu-expanded{padding-top:0}.top-nav #top-main-nav.submenu-expanded .dropdown:not(.show) .dropdown-toggle{display:none}.top-nav #top-main-nav.submenu-expanded #topnav-search,.top-nav #top-main-nav.submenu-expanded #topnav-language,.top-nav #top-main-nav.submenu-expanded #topnav-theme{height:0;overflow:clip;padding-top:0;padding-bottom:0}.top-nav #topnav-search{position:absolute;top:0;right:105px}.top-nav #topnav-search .input-group{flex-wrap:nowrap}.top-nav #topnav-language{position:absolute;top:0;right:65px}.top-nav #topnav-language hr{border-top:1px solid #232325;margin-top:.25rem;margin-bottom:.25rem;display:static}.top-nav #topnav-theme{position:absolute;top:0;right:26px}}article h1:before,article h2:before,article h3:before,article h4:before,article h5:before,article h6:before,.interactive-block:before{display:block;content:" ";margin-top:-24px;height:60px;visibility:hidden;pointer-events:none}article h1:first-of-type:before{margin-top:-40px}.chevron{position:relative;display:inline-block;width:.75rem;height:.5625rem}.chevron span{position:absolute;top:.25rem;display:inline-block;width:.5rem;height:.15rem;background-color:#9a52ff;transition:all .2s ease;border:none}.chevron:not(.expander) span:first-of-type{left:0;transform:rotate(45deg)}.chevron:not(.expander) span:last-of-type{right:0;transform:rotate(-45deg)}.chevron.active span:first-of-type{transform:rotate(-45deg)}.chevron.active span:first-of-type{transform:rotate(45deg)}.dropdown.show .chevron span:first-of-type,.expander:not(.collapsed) .chevron span:first-of-type{transform:rotate(-45deg)}.dropdown.show .chevron span:last-of-type,.expander:not(.collapsed) .chevron span:last-of-type{transform:rotate(45deg)}#topnav-theme>div{border-radius:var(--language-picker-border-radius);color:var(--language-picker-text-color);background-color:var(--language-picker-background-color);border:1px solid var(--language-picker-border-color);padding:var(--language-picker-input-padding-vertical) var(--language-picker-input-padding-horizontal);min-height:var(--language-picker-min-height)}@media(max-width: 991.98px){.navbar-collapse,.dropdown-menu{box-shadow:0px 25px 40px -20px #000}}.web-banner{text-decoration:none;display:flex;justify-content:space-between;height:52px;background:#32e685 !important;padding:7px 35px;font-family:"Space Grotesk";z-index:10;cursor:pointer;color:#000 !important;text-align:center;font-family:"Space Grotesk";font-size:26px;font-style:normal;font-weight:600;letter-spacing:-0.32px}.web-banner:hover{text-decoration:none;color:#fff}.web-banner:hover .button-icon{animation:iconJitter .7s cubic-bezier(0.16, 1, 0.3, 1) forwards;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}.web-banner::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#e0e500;z-index:0;transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(0.7, 0, 0.84, 0);will-change:transform}.web-banner:hover::after{transform:scaleX(1);transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}.web-banner>*{position:relative;z-index:1}@media(max-width: 768px){.web-banner{font-size:18px;padding:11px 35px}.web-banner .banner-button{gap:11px !important}.web-banner .button-text{margin-bottom:4px}}@media(max-width: 564px){.web-banner{font-size:15px;padding:9px 40px}.web-banner .button-text{margin-bottom:0px}.web-banner .banner-event-details{gap:0px !important;flex-direction:column;text-align:left;line-height:21px}.web-banner .banner-event-details .event-date{position:relative;top:-5px}.web-banner .banner-button{align-self:baseline;gap:8px !important;margin-top:-2px !important;padding-top:0px !important}}.web-banner .banner-button{display:flex;align-items:center;gap:14.5px;padding-top:1px}.web-banner .banner-button img{width:24.5px;height:33.7px}@media(max-width: 768px){.web-banner .banner-button img{width:15.5px;height:17px;margin-top:4px}}@media(max-width: 564px){.web-banner .banner-button img{width:14.5px;height:13.85px}}.web-banner .banner-event-details{display:flex;gap:32px}.web-banner .button-icon{transform-style:preserve-3d;aspect-ratio:.71;object-fit:contain;animation:none;transform:rotateZ(0deg);transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1);align-self:stretch;margin:auto 0;transform-style:preserve-3d}@keyframes iconJitter{from{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(0deg) skew(0deg, 0deg)}to{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(45deg) skew(0deg, 0deg)}}.web-banner a{text-decoration:none}.button-icon{animation:iconJitter .7s ease-in-out;animation-iteration-count:1;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}@keyframes iconReturn{from{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(45deg) skew(0deg, 0deg)}to{transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateZ(0deg) skew(0deg, 0deg)}}.web-banner.has-hover:not(:hover) .button-icon{animation:iconReturn .7s ease-in-out forwards;transition:transform .7s cubic-bezier(0.16, 1, 0.3, 1)}[data-component-name="Markdown/Markdown"] article{padding-bottom:50px}[data-component-name="Markdown/Markdown"] article p code,[data-component-name="Markdown/Markdown"] article table code,[data-component-name="Markdown/Markdown"] article li>code{background-color:#0a2e1b;color:#5beb9d}[data-component-name="Markdown/Markdown"] article a{text-decoration:underline}[data-component-name="Markdown/Markdown"] article h1{font-size:3rem;margin-top:32px;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article h1:first-child{margin-top:0;line-height:1.2}[data-component-name="Markdown/Markdown"] article h2,[data-component-name="Markdown/Markdown"] article h2.md{margin-top:2.5rem;margin-bottom:1.5rem;font-size:2.5rem;font-weight:600;line-height:1.2}[data-component-name="Markdown/Markdown"] article h3,[data-component-name="Markdown/Markdown"] article h3.md{font-size:2.125rem;margin-top:2rem;margin-bottom:1rem;line-height:1.2}[data-component-name="Markdown/Markdown"] article h4{font-size:1.75rem;margin-top:1.5rem;margin-bottom:.5rem;line-height:1.2}[data-component-name="Markdown/Markdown"] article h5{font-size:1.25rem;margin-top:1.25rem;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article h6{font-size:1rem;margin-top:1rem;line-height:1.2;font-weight:700}[data-component-name="Markdown/Markdown"] article li{margin:6px;margin-top:24px}[data-component-name="Markdown/Markdown"] article li p{margin:0}[data-component-name="Markdown/Markdown"] article a[title=Source],[data-component-name="Markdown/Markdown"] article a[title=ソース]{float:right;padding-left:20px}[data-component-name="Markdown/Markdown"] article h1.invisible,[data-component-name="Markdown/Markdown"] article h2.invisible,[data-component-name="Markdown/Markdown"] article h3.invisible,[data-component-name="Markdown/Markdown"] article h4.invisible,[data-component-name="Markdown/Markdown"] article h5.invisible,[data-component-name="Markdown/Markdown"] article h6.invisible{font-size:0;line-height:0;margin:0}[data-component-name="Markdown/Markdown"] article h1.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h2.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h3.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h4.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h5.invisible .hover_anchor,[data-component-name="Markdown/Markdown"] article h6.invisible .hover_anchor{display:none}[data-component-name="Markdown/Markdown"] article .shield{display:inline-block !important;vertical-align:middle}.blurb a{text-decoration:underline}.hover_anchor{visibility:hidden;padding-left:1rem;font-size:1.25rem}h1:hover .hover_anchor,h2:hover .hover_anchor,h3:hover .hover_anchor,h4:hover .hover_anchor,h5:hover .hover_anchor,h6:hover .hover_anchor{visibility:visible;text-decoration:none}pre{color:#fff;background-color:#232325;word-wrap:normal;padding:2rem;border-radius:4px}pre code{white-space:pre;color:#fff;background-color:#232325}.multicode{padding:0;z-index:1;position:relative}.multicode pre{background:none;border:none;border-radius:0;padding:0;clear:both}.multicode pre code{overflow:auto;max-height:24em;border-radius:0 4px 4px 4px;display:block;padding:2rem}.multicode pre code.expanded{overflow:visible;max-height:none;position:absolute;min-width:100%}.multicode ul{margin:0 !important;padding:0}.multicode ul li{display:block;float:left;list-style-type:none;margin-right:0px;margin-left:0px;border:0;clear:none}.multicode a{text-decoration:none;color:#fff;background-color:transparent;padding:.75rem 2rem;margin:0;border-radius:4px 4px 0 0}.multicode a.current{background-color:#232325}.multicode a:hover{text-decoration:none;background-color:#232325;color:#9a52ff;padding-bottom:.625rem}.multicode .btn{z-index:10}.multicode .codetabs{position:relative;z-index:10}.clipboard-btn{z-index:10;margin-right:10px}.codehilite{background:#232325;color:#fff}.codehilite .c,.codehilite .ch,.codehilite .cm,.codehilite .cp,.codehilite .cpf,.codehilite .c1,.codehilite .cs{color:#838386}.codehilite .k,.codehilite .kc,.codehilite .kd,.codehilite .kn,.codehilite .kp,.codehilite .kr,.codehilite .kt{color:#ff6719}.codehilite .m,.codehilite .mb,.codehilite .mh,.codehilite .mi,.codehilite .mo,.codehilite .il{color:#19a3ff}.codehilite .n,.codehilite .na,.codehilite .nb,.codehilite .nc,.codehilite .nd,.codehilite .ne,.codehilite .nf,.codehilite .ni,.codehilite .nl,.codehilite .nn,.codehilite .nt,.codehilite .nv,.codehilite .nx,.codehilite .bp,.codehilite .fm,.codehilite .py{color:#fff}.codehilite .p{color:#e0e0e1}.codehilite .s,.codehilite .s1,.codehilite .s2,.codehilite .sa,.codehilite .sb,.codehilite .sc,.codehilite .dl,.codehilite .sd,.codehilite .se,.codehilite .sh,.codehilite .si,.codehilite .sr,.codehilite .ss,.codehilite .sx{color:#28b86a}.codehilite{background:transparent;position:relative}.codehilite .btn-group{top:1rem;right:1rem;position:absolute}.multicode .codehilite .btn-group{top:70px;right:20px}#redocly_root .cm-foldPlaceholder{background-color:#232325;border:none;font-size:18px}article img{max-width:100%;height:auto}article svg{max-width:100%}article .floating-diagram{margin:.5rem;float:left}article li{clear:left}html:not(.light) article svg[fill=black]{fill:#fff;stroke:#fff}html:not(.light) article svg[fill=black] *[fill=white]{fill:#000}html:not(.light) article svg[fill=black] *[stroke=white]{stroke:#000}html:not(.light) article svg[fill=black] *[fill=black]{fill:#fff}html:not(.light) article svg[fill=black] *[stroke=black]{stroke:#fff}html:not(.light) article svg[fill=black] g[fill=blue]{fill:#19a3ff}html:not(.light) article svg[fill=black] g[stroke=blue]{stroke:#19a3ff}html:not(.light) article svg[fill=black] g[fill="rgb(120,120,120)"]{fill:#e0e0e1}html:not(.light) article svg[fill=black] g[stroke="rgb(120,120,120)"]{stroke:#e0e0e1}html:not(.light) article svg[fill=black] g[fill="rgb(200,200,200)"]{fill:#343437}html:not(.light) article svg[fill=black] g[fill="rgb(70,70,70)"]{fill:#838386}html:not(.light) article svg[fill=black] g[stroke="rgb(70,70,70)"]{stroke:#838386}html:not(.light) article svg[fill=black] g[fill="rgb(29,180,255)"]{fill:#9a52ff}html:not(.light) article svg[fill=black] g[stroke="rgb(29,180,255)"]{stroke:#9a52ff}html:not(.light) article svg[fill=black] rect[stroke="rgb(245,247,249)"]{stroke:#000}html:not(.light) article svg[fill=black] g[fill=lime],html:not(.light) article svg[fill=black] g[fill="rgb(0,255,0)"]{fill:#9a52ff}html:not(.light) article svg[fill=black] g[stroke=lime],html:not(.light) article svg[fill=black] g[stroke="rgb(0,255,0)"]{stroke:#9a52ff}html:not(.light) article svg[fill=black] g[fill=yellow],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#faff19}html:not(.light) article svg[fill=black] g[fill=yellow] path[stroke=black],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"] path[stroke=black]{stroke:#000}html:not(.light) article svg[fill=black] g[fill=red],html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#ff198b}html:not(.light) article svg[fill=black] g[stroke=red],html:not(.light) article svg[fill=black] g[stroke="rgb(255,255,0)"]{stroke:#ff198b}html:not(.light) article svg[fill=black] g[fill=yellow]+g text,html:not(.light) article svg[fill=black] g[fill="rgb(255,255,0)"]+g text{fill:#000}html:not(.light) article svg[fill=black] g[fill=lime]+g text{fill:#000}html:not(.light) article svg[fill=none] path[fill="#000000"]{fill:#fff}html:not(.light) article svg[fill=none] path[stroke="#000000"]{stroke:#fff}html:not(.light) article svg[fill=none] path[fill="#ffffff"]{fill:#000}html:not(.light) article svg[fill=none] path[stroke="#ffffff"]{stroke:#000}html:not(.light) article svg[fill=none] path[fill="#23292f"],html:not(.light) article svg[fill=none] path[fill="#23282f"]{fill:#fff}html:not(.light) article svg[fill=none] path[stroke="#23292f"],html:not(.light) article svg[fill=none] path[stroke="#23282f"]{stroke:#fff}html:not(.light) article svg[fill=none] path[fill="#2c3e50"],html:not(.light) article svg[fill=none] path[fill="#2b3e51"]{fill:#e0e0e1}html:not(.light) article svg[fill=none] path[stroke="#2c3e50"],html:not(.light) article svg[fill=none] path[stroke="#2b3e51"]{stroke:#e0e0e1}html:not(.light) article svg[fill=none] path[fill="#1c2835"]{fill:#f5f5f7}html:not(.light) article svg[fill=none] path[stroke="#1c2835"]{stroke:#f5f5f7}html:not(.light) article svg[fill=none] path[fill="#21aa47"]{fill:#32e685}html:not(.light) article svg[fill=none] path[stroke="#21aa47"]{stroke:#32e685}html:not(.light) article svg[fill=none] path[fill="#e64b3b"]{fill:#dc3545}html:not(.light) article svg[fill=none] path[stroke="#e64b3b"]{stroke:#dc3545}html:not(.light) article svg[fill=none] path[stroke="#27a2db"],html:not(.light) article svg[fill=none] path[stroke="#00aae4"]{stroke:#9a52ff}html:not(.light) article svg[fill=none] path[fill="#27a2db"],html:not(.light) article svg[fill=none] path[fill="#00aae4"]{fill:#9a52ff}html:not(.light) article svg[fill=none] path[fill="#e6e7e8"]{fill:#232325}html:not(.light) article svg[fill=none] path[stroke="#e6e7e8"]{stroke:#232325}html:not(.light) article svg[fill=none] path[stroke="#ffbf27"]{stroke:#d919ff}html:not(.light) article svg[fill=none] path[fill="#00ff00"]{fill:#32e685}html:not(.light) article svg[fill=none] path[stroke="#00ff00"]{stroke:#32e685}html:not(.light) article svg[fill=none] path[fill="#ff00ff"]{fill:#ff198b}html:not(.light) article svg[fill=none] path[stroke="#ff00ff"]{stroke:#ff198b}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#ffffff"]{stop-color:#343437}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#e6e7e8"]{stop-color:#232325}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#dbdcdd"]{stop-color:#000}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#b1b3b5"]{stop-color:#111112}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#29a1da"]{stop-color:#2dcf78}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#2789b9"]{stop-color:#5beb9d}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#6bc1ec"]{stop-color:#adf5ce}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#8ad6f4"]{stop-color:#84f0b6}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#fab913"]{stop-color:#f2b2ff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#fad26b"]{stop-color:#ea80ff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#f8a136"]{stop-color:#e24cff}html:not(.light) article svg[fill=none] linearGradient stop[stop-color="#f7931a"]{stop-color:#c000e5}html.light svg[fill=black] g[fill=blue]{fill:#006bb2}html.light svg[fill=black] g[stroke=blue]{stroke:#19a3ff}html.light svg[fill=black] g[fill="rgb(120,120,120)"]{fill:#343437}html.light svg[fill=black] g[stroke="rgb(120,120,120)"]{stroke:#343437}html.light svg[fill=black] g[fill="rgb(200,200,200)"]{fill:#a2a2a4}html.light svg[fill=black] g[fill="rgb(70,70,70)"]{fill:#343437}html.light svg[fill=black] g[stroke="rgb(70,70,70)"]{stroke:#343437}html.light svg[fill=black] g[fill="rgb(29,180,255)"]{fill:#19a3ff}html.light svg[fill=black] g[stroke="rgb(29,180,255)"]{stroke:#006bb2}html.light svg[fill=black] rect[stroke="rgb(245,247,249)"]{stroke:#fcfcfd}html.light svg[fill=black] g[fill=lime],html.light svg[fill=black] g[fill="rgb(0,255,0)"]{fill:#5beb9d}html.light svg[fill=black] g[stroke=lime],html.light svg[fill=black] g[stroke="rgb(0,255,0)"]{stroke:#28b86a}html.light svg[fill=black] g[fill=yellow],html.light svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#fcff80}html.light svg[fill=black] g[fill=red],html.light svg[fill=black] g[fill="rgb(255,255,0)"]{fill:#ff4ba4}html.light svg[fill=black] g[stroke=red],html.light svg[fill=black] g[stroke="rgb(255,255,0)"]{stroke:#ff198b}html.light svg[fill=none] rect[fill="#111112"]{fill:#f5f5f7}html.light svg[fill=none] path[fill=white]{fill:#000}html.light svg[fill=none] path[fill="#343437"]{fill:#c1c1c2}html.light svg[fill=none] path[fill="#A2A2A4"],html.light svg[fill=none] rect[fill="#A2A2A4"],html.light svg[fill=none] ellipse[fill="#A2A2A4"]{fill:#454549}html.light svg[fill=none] path[fill="#232325"]{fill:#e0e0e1}html.light svg[fill=none] path[fill="#F5F5F7"]{fill:#111112}html.light svg[fill=none] path[stroke="#F5F5F7"]{stroke:#111112}html.light svg[fill=none] path[stroke="#FF198B"]{stroke:#b20058}html.light svg[fill=none] linearGradient stop[stop-color="#F5F5F7"]{stop-color:#111112}html.light svg[fill=none] linearGradient stop[stop-color="#C1C1C2"]{stop-color:#343437}.external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:16px;padding:0 4px 0 8px;width:16px;height:16px;background-position:center;transition:transform 100ms ease-in-out}.external-link:hover::after{transform:translate(3px, -3px)}.external-link .fa-external-link{display:none}.top-nav .dropdown .external-link::after,.xrpl-footer .external-link::after{background-position:left 6px bottom 1px;width:2rem}@-moz-document url-prefix(){@supports(animation: calc(0s)){.top-nav .dropdown .external-link::after,.xrpl-footer .external-link::after{background-position:left 8px bottom 2px}}}.top-nav .dropdown .external-link:hover::after,.xrpl-footer .external-link:hover::after{background-position:left 8px bottom 3px}.q-wrapper .external-link::after{background-position:left 0 bottom 7px}.q-wrapper .external-link:hover::after{background-position:left 4px bottom 11px}.li-links{position:relative;border-bottom:2px solid #454549}.li-links a{width:100%;padding:16px 0}.li-links a::after{position:absolute;right:4px;content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:1.5rem;padding:0 .5rem;background-position:left 0 bottom -0.1rem;transition:background-position 100ms ease-in-out}.li-links a:hover::after{background-position:left .2rem bottom .1rem}[data-component-name="Footer/Footer"]{padding:7.5rem 2rem}[data-component-name="Footer/Footer"] [data-component-name="Footer/FooterColumn"]{text-shadow:#111112 0px 0px 2px,#111112 1px 1px 2px,#111112 2px 2px 3px,#111112 2px 2px 4px,#111112 2px 2px 5px,#111112 2px 2px 6px,#111112 -1px -1px 2px,#111112 -2px -2px 3px,#111112 -2px -2px 4px}@media(min-width: 992px){[data-component-name="Footer/Footer"]{background-image:url(../img/backgrounds/footer.svg);background-size:cover;background-repeat:no-repeat;background-position:bottom right}}@media(max-width: 991.98px){[data-component-name="Footer/Footer"] .col-lg:not(:first-child){margin-top:4rem}}[data-component-name="Footer/Footer"] h5{font-size:1rem;font-weight:600;color:#a2a2a4}[data-component-name="Footer/Footer"] .nav-link{padding:.75rem 0;line-height:1}[data-component-name="Footer/Footer"] .absolute-bottom-footer{font-size:10px;line-height:1rem}@media(max-width: 991.98px){[data-component-name="Footer/Footer"] .absolute-bottom-footer .copyright-license{margin-top:3rem}}.devportal-callout.tip,.devportal-callout.ヒント{border-color:#32e685}.devportal-callout.tip>strong:first-child:before,.devportal-callout.ヒント>strong:first-child:before{color:#32e685}.devportal-callout.note>strong:first-child:before,.devportal-callout.注記>strong:first-child:before{color:#19a3ff}.devportal-callout.note,.devportal-callout.注記{border-color:#19a3ff}.devportal-callout.caution,.devportal-callout.注意{border-color:#faff19}.devportal-callout.caution>strong:first-child:before,.devportal-callout.注意>strong:first-child:before{color:#faff19}.devportal-callout.warning,.devportal-callout.警告{border-color:#ff198b}.devportal-callout.warning>strong:first-child:before,.devportal-callout.警告>strong:first-child:before{color:#ff198b}blockquote,.devportal-callout{border-style:solid;border-radius:0;border-width:1px;border-left-width:4px;padding:5px;padding-left:25px;page-break-inside:avoid}.devportal-callout>strong:first-child{display:block;page-break-after:avoid}.devportal-callout.tip>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.note>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.caution>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}.devportal-callout.warning>strong:first-child:before{content:"";font-family:FontAwesome;margin-left:-20px;padding-right:5px}@media(min-width: 992px){.card,.cta-card,.q-wrapper{box-shadow:0px 5px 40px #000}}#code-samples-deck .card{box-shadow:none;margin:0 2rem 5rem 2rem}#code-samples-deck .card-header{border-bottom:none;background-color:unset}#code-samples-deck .card-footer{background-color:unset;font-size:initial}#code-samples-deck .card-deck .card a{margin:0 2.5rem 5rem 2.5rem}#code-samples-deck .circled-logo{margin-left:-15px}@media(min-width: 992px){.code-contribute{width:75vw;position:relative;left:20%;right:20%;margin-left:-30vw;margin-right:-30vw}}.contribute::before{content:"";display:block;height:2px;width:100%;position:absolute;top:0}.contribute .dot{height:16px;width:16px;background-color:#111112;border-radius:50%;border:3px solid #fbff4c;display:inline-block;position:absolute;top:-7px;left:-6px}@media(max-width: 991.98px){.contribute::before{left:0;height:100%;width:2px;top:15px}.contribute .dot{top:5px;left:-6px}}.contribute_1::before{background:-webkit-linear-gradient(left, #feff01, #ff2d9a)}.contribute_1 .dot{border-color:#fbff4c}.contribute_2::before{background:-webkit-linear-gradient(left, #ff2d9a, #e24cff)}.contribute_2 .dot{border-color:#ff198b}.contribute_3::before{background:-webkit-linear-gradient(left, #e24cff, #9a52ff)}.contribute_3 .dot{border-color:#c000e5}.contribute_4::before{background:-webkit-linear-gradient(left, #9a52ff, #9a52ff)}.contribute_4 .dot{border-color:#9a52ff}.card>img{border-radius:8px 8px 0 0}.card-body>p,.card-body>p:not(:last-child){padding:0;margin-bottom:2rem}main a.card{border:0;color:#fff}a.card:hover,a:hover .card-new,[data-component-name="Markdown/Markdown"] a.card{text-decoration:none !important}a.card:hover h3{text-decoration:underline}.circled-logo{background-color:#454549;border-radius:50%;padding:.65rem;width:50px;height:50px;margin-bottom:.75rem;border:2px solid #232325}.circled-logo img{width:26px;height:26px;display:inline-block}.light .circled-logo{border:none}.cols-of-1{grid-template-rows:repeat(1, min-content)}.cols-of-2{grid-template-rows:repeat(2, min-content)}.cols-of-3{grid-template-rows:repeat(3, min-content)}.cols-of-4{grid-template-rows:repeat(4, min-content)}.cols-of-5{grid-template-rows:repeat(5, min-content)}.cols-of-6{grid-template-rows:repeat(6, min-content)}.cols-of-7{grid-template-rows:repeat(7, min-content)}.cols-of-8{grid-template-rows:repeat(8, min-content)}.cols-of-9{grid-template-rows:repeat(9, min-content)}.cols-of-10{grid-template-rows:repeat(10, min-content)}.card-deck{margin-top:2.5rem;margin-left:-1.25rem;margin-right:-1.25rem;margin-bottom:5rem;flex-grow:1}@media(min-width: 992px){.card-deck{margin-top:5rem}}.card-deck .card{flex-grow:0;flex-basis:100%;margin:0 1.25rem 5rem 1.25rem;background-position:bottom;background-repeat:no-repeat;background-size:contain}.card-deck.row-cols-1 .card{flex-basis:100%;min-height:264px}@media(min-width: 768px){.card-deck.row-cols-1 .card{min-height:347px}}@media(min-width: 1200px){.card-deck.row-cols-lg-3{margin-left:-2.5rem;margin-right:-2.5rem}}@media(min-width: 992px){.card-deck.row-cols-lg-3 .card{flex-basis:calc(33% - 2.5rem )}}@media(min-width: 1200px){.card-deck.row-cols-lg-3 .card{margin:0 2.5rem 5rem 2.5rem;flex-basis:calc(33% - 5rem )}}@media(min-width: 992px){.card-deck.row-cols-lg-4 .card{flex-basis:calc(25% - 2.5rem )}}.card-deck a.card{transition:all .35s ease-out;cursor:pointer}.card-deck a.card:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}.card-deck .card-footer{font-size:0;padding:1rem;background-position:bottom;background-repeat:no-repeat;background-size:cover;border-top:0}@media(max-width: 991.98px){.card-deck{margin-top:2rem}.card-deck .card-body{padding:1rem}.card-deck.row-cols-1 .card{margin:.75rem .75rem 5rem .75rem;max-width:calc(100% - 1.5rem)}.card-deck.row-cols-2 .card{margin:.75rem;max-width:calc(50% - 1.5rem)}}main article .card-grid.card-grid-3xN{grid-gap:1rem}main article .card-grid.card-grid-3xN .card{padding:0;margin:.5rem}main article .card-grid.card-grid-3xN .card .card-body{padding:1rem}main article .card-grid.card-grid-3xN .card .card-icon-container{width:50px;height:50px;background:#454549;display:flex;justify-content:center;align-items:center;border-radius:50%;margin-bottom:12px}main article .card-grid.card-grid-3xN .card .card-icon-container img{width:70%;height:70%}main article .card-grid.card-grid-3xN .card .card-footer{font-size:0;line-height:0;padding:1rem;background-position:bottom;background-repeat:no-repeat;background-size:cover;border-top:0}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-green-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-magenta-3.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-green-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-light-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3col-orange-yellow-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-pink-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(0) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-green-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-magenta.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-purple2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-neutral-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-purple-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3col-light-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-blue-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(1) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-dark-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-magenta-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3-col-light-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-light-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-magenta-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-orange-3.svg")}main article .card-grid.card-grid-3xN:nth-of-type(2) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-blue-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(1) .card-footer{background-image:url("../img/cards/3-col-green.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(2) .card-footer{background-image:url("../img/cards/3-col-orange.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-purple.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(5) .card-footer{background-image:url("../img/cards/3-col-light-blue2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(6) .card-footer{background-image:url("../img/cards/3col-orange-yellow.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(7) .card-footer{background-image:url("../img/cards/3-col-pink.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(8) .card-footer{background-image:url("../img/cards/3col-green-2.svg")}main article .card-grid.card-grid-3xN:nth-of-type(3) .card:nth-child(9) .card-footer{background-image:url("../img/cards/3col-orange-2.svg")}.cta-card{text-align:center;background-color:#232325}.card-subhead{font-size:1rem;margin-bottom:.25rem;margin-top:.5rem}.breadcrumbs-wrap{position:relative;z-index:11;padding:0 0 2rem 0}.interactive-block .breadcrumbs-wrap{padding:0}.breadcrumb-item+.breadcrumb-item:before{content:"";font-family:FontAwesome;padding-right:5px}.breadcrumbs-wrap .breadcrumb{padding:0;margin-bottom:0;font-size:.833em}.breadcrumb-item a{color:#e0e0e1;text-decoration:none}.breadcrumb-item a:hover{color:#9a52ff}.landing .container-fluid.section-hero,.landing .section-hero.container-sm,.landing .section-hero.container-md,.landing .section-hero.container-lg,.landing .section-hero.container-xl{padding:48px 0}.landing article .children-display>ul>li,.landing article .curated-links>ul>li{margin-top:24px}.landing article .children-display li a,.landing article .curated-links li a{font-weight:700;font-size:1.25rem;text-decoration:none}.landing article .children-display li a:hover,.landing article .curated-links li a:hover{text-decoration:underline}.landing section:first-of-type h1:first-child{margin-top:0;line-height:1.2}.landing .level-1,.landing .level-2{margin-top:0}.landing .curated-links ul,.landing .curated-links ol,.landing .children-display ul{padding-left:0;margin-bottom:0}.landing .section-hero .blurb{font-size:1.2em;line-height:1.71em}.landing .doc-index .level-1{list-style-type:disc;margin-left:1rem}.landing .doc-index .level-2{list-style-type:circle;margin-left:2rem}.landing .doc-index .level-3{list-style-type:square;margin-left:3rem}.landing .doc-index .level-4{list-style-type:disc;margin-left:4rem}.landing .doc-index .level-5{margin-left:5rem;list-style-type:circle}.landing .doc-index .level-6{margin-left:6rem;list-style-type:square}.landing p a,.landing h5 a{color:#9a52ff;font-weight:600}.landing p a:hover,.landing h5 a:hover{text-decoration:underline}.landing .display-4{margin-bottom:1.5rem}.landing #test-net-servers h3{font-size:1.4rem;font-weight:700}.landing #test-net-servers pre{overflow-x:auto}.landing section:first-of-type{border-top-width:0}.landing #main_content_wrapper{border-bottom:none;margin-top:80px}.landing .marketing-wrapper{margin-top:10rem;margin-bottom:6rem}@media(max-width: 767.98px){.landing .marketing-wrapper{margin-top:6rem}}.landing .nav .nav-link{padding:1rem 2rem 1rem 0;color:#e0e0e1;border-bottom:1px solid #232325;position:relative}.landing .nav .nav-link:hover{color:#9a52ff}.landing .nav .nav-link:not(.external-link)::after{content:" ";background-image:url(../img/icons/arrow-right-purple.svg);background-repeat:no-repeat;background-position:center;background-size:1rem;position:absolute;right:0;width:1.5rem;height:1.5rem;transition:all .2s ease}.landing .nav .nav-link:not(.external-link):hover::after{animation:arrowDance2 1.2s infinite}.landing .nav .nav-link.external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;position:absolute;background-position:center;background-size:.75rem;right:7px;width:1.5rem;height:1.5rem;transition:all .2s ease}.landing .nav .nav-link.external-link:hover::after{animation:arrowDanceDiag 1.2s infinite}.landing .card-body .nav .nav-link{border-bottom:1px solid #454549}.alert-info{color:#fff;background-color:#006bb2;border-width:0}.alert-info a{text-decoration:underline;color:#fff}.alert-info a:hover{color:#e0e0e1}.highlight-subcard{margin:1.5rem 0;padding:1rem;border:2px solid #fff;background:#111112}.interactive-block-inner{border:1px dashed #9a52ff;padding:10px;margin:5px}.interactive-block-ui>button{margin:10px 0}.interactive-block input:invalid{box-shadow:inset 0 0 5px 5px #ff198b}.interactive-block .breadcrumbs-wrap{margin-bottom:11px}.interactive-block .breadcrumb-item{margin-top:6px}.interactive-block .breadcrumb-item a{text-decoration:none}.interactive-block .breadcrumb-item.current a{font-weight:bold}.interactive-block .breadcrumb-item.active a{color:#b480ff}.interactive-block .breadcrumb-item.disabled a{color:#454549}.interactive-block .breadcrumb-item.done a:after{content:"";font-family:FontAwesome;color:#e0e0e1;padding-right:5px;padding-left:5px}.interactive-block .waiting-for-tx{word-break:break-word}.ws-console{height:200px;overflow:auto}.status{cursor:help;padding:1px 2px;font-weight:normal;text-indent:0}.status.not_enabled{color:#faff19}.status.removed{color:#ff198b}.labels-wrap ul::before{content:"";font-family:FontAwesome;font-size:1.5rem}.labels-wrap .list-inline-item{margin-top:.5rem}.pg-category{color:#a2a2a4}.pg-category::after{content:"";font-family:FontAwesome;padding-left:5px}.label{border-radius:100px;border-width:0;padding:.5rem 1rem;font-weight:bold;text-decoration:none !important;text-align:center;white-space:nowrap;background-color:#111112;color:#c1c1c2}.label .badge-pill{width:24px;height:24px;border-radius:50px;margin-left:.5rem;font-weight:400;line-height:23px;font-size:16px;padding:0;margin-top:-2px}html.light .label{background-color:#e0e0e1;color:#232325}html.light .label .badge-pill{color:#e0e0e1;background-color:#232325}html.light .label:hover{background-color:#c1c1c2;color:#111112}html.light .label:hover .badge-pill{color:#c1c1c2;background-color:#111112}.label .badge-pill{color:#111112;background-color:#c1c1c2}.label:hover{color:#e0e0e1;background-color:#232325}.label:hover .badge-pill{color:#232325;background-color:#e0e0e1}.label.label-accounts,.label.label-payment-channels,.label.label-amm,.label.label-アカウント,.label.label-payment-channel,.label.label-use-infrastructure,.label.label-use-security,.label.blog-category-development,.label.chip-indigo{background-color:#20004c;color:#b480ff}.label.label-accounts .badge-pill,.label.label-payment-channels .badge-pill,.label.label-amm .badge-pill,.label.label-アカウント .badge-pill,.label.label-payment-channel .badge-pill,.label.label-use-infrastructure .badge-pill,.label.label-use-security .badge-pill,.label.blog-category-development .badge-pill,.label.chip-indigo .badge-pill{color:#20004c;background-color:#b480ff}.label.label-accounts:hover,.label.label-payment-channels:hover,.label.label-amm:hover,.label.label-アカウント:hover,.label.label-payment-channel:hover,.label.label-use-infrastructure:hover,.label.label-use-security:hover,.label.blog-category-development:hover,.label.chip-indigo:hover{background-color:#350080;color:#d2b2ff}.label.label-accounts:hover .badge-pill,.label.label-payment-channels:hover .badge-pill,.label.label-amm:hover .badge-pill,.label.label-アカウント:hover .badge-pill,.label.label-payment-channel:hover .badge-pill,.label.label-use-infrastructure:hover .badge-pill,.label.label-use-security:hover .badge-pill,.label.blog-category-development:hover .badge-pill,.label.chip-indigo:hover .badge-pill{color:#350080;background-color:#d2b2ff}html.light .label.label-accounts,html.light .label.label-payment-channels,html.light .label.label-amm,html.light .label.label-アカウント,html.light .label.label-payment-channel,html.light .label.label-use-infrastructure,html.light .label.label-use-security,html.light .label.blog-category-development,html.light .label.chip-indigo{background-color:#d2b2ff;color:#350080}html.light .label.label-accounts .badge-pill,html.light .label.label-payment-channels .badge-pill,html.light .label.label-amm .badge-pill,html.light .label.label-アカウント .badge-pill,html.light .label.label-payment-channel .badge-pill,html.light .label.label-use-infrastructure .badge-pill,html.light .label.label-use-security .badge-pill,html.light .label.blog-category-development .badge-pill,html.light .label.chip-indigo .badge-pill{color:#d2b2ff;background-color:#350080}html.light .label.label-accounts:hover,html.light .label.label-payment-channels:hover,html.light .label.label-amm:hover,html.light .label.label-アカウント:hover,html.light .label.label-payment-channel:hover,html.light .label.label-use-infrastructure:hover,html.light .label.label-use-security:hover,html.light .label.blog-category-development:hover,html.light .label.chip-indigo:hover{background-color:#b480ff;color:#20004c}html.light .label.label-accounts:hover .badge-pill,html.light .label.label-payment-channels:hover .badge-pill,html.light .label.label-amm:hover .badge-pill,html.light .label.label-アカウント:hover .badge-pill,html.light .label.label-payment-channel:hover .badge-pill,html.light .label.label-use-infrastructure:hover .badge-pill,html.light .label.label-use-security:hover .badge-pill,html.light .label.blog-category-development:hover .badge-pill,html.light .label.chip-indigo:hover .badge-pill{color:#b480ff;background-color:#20004c}.label.label-blockchain,.label.label-xrp,.label.label-ブロックチェーン,.label.label-non-fungible-tokens-nfts,.label.label-use-nfts,.label.blog-category-release_notes,.label.blog-category-features,.label.chip-green{background-color:#145c35;color:#84f0b6}.label.label-blockchain .badge-pill,.label.label-xrp .badge-pill,.label.label-ブロックチェーン .badge-pill,.label.label-non-fungible-tokens-nfts .badge-pill,.label.label-use-nfts .badge-pill,.label.blog-category-release_notes .badge-pill,.label.blog-category-features .badge-pill,.label.chip-green .badge-pill{background-color:#84f0b6;color:#145c35}.label.label-blockchain:hover,.label.label-xrp:hover,.label.label-ブロックチェーン:hover,.label.label-non-fungible-tokens-nfts:hover,.label.label-use-nfts:hover,.label.blog-category-release_notes:hover,.label.blog-category-features:hover,.label.chip-green:hover{background-color:#1e8a50;color:#adf5ce}.label.label-blockchain:hover .badge-pill,.label.label-xrp:hover .badge-pill,.label.label-ブロックチェーン:hover .badge-pill,.label.label-non-fungible-tokens-nfts:hover .badge-pill,.label.label-use-nfts:hover .badge-pill,.label.blog-category-release_notes:hover .badge-pill,.label.blog-category-features:hover .badge-pill,.label.chip-green:hover .badge-pill{background-color:#adf5ce;color:#1e8a50}html.light .label.label-blockchain,html.light .label.label-xrp,html.light .label.label-ブロックチェーン,html.light .label.label-non-fungible-tokens-nfts,html.light .label.label-use-nfts,html.light .label.blog-category-release_notes,html.light .label.blog-category-features,html.light .label.chip-green{background-color:#adf5ce;color:#145c35}html.light .label.label-blockchain .badge-pill,html.light .label.label-xrp .badge-pill,html.light .label.label-ブロックチェーン .badge-pill,html.light .label.label-non-fungible-tokens-nfts .badge-pill,html.light .label.label-use-nfts .badge-pill,html.light .label.blog-category-release_notes .badge-pill,html.light .label.blog-category-features .badge-pill,html.light .label.chip-green .badge-pill{color:#adf5ce;background-color:#145c35}html.light .label.label-blockchain:hover,html.light .label.label-xrp:hover,html.light .label.label-ブロックチェーン:hover,html.light .label.label-non-fungible-tokens-nfts:hover,html.light .label.label-use-nfts:hover,html.light .label.blog-category-release_notes:hover,html.light .label.blog-category-features:hover,html.light .label.chip-green:hover{background-color:#84f0b6;color:#000}html.light .label.label-blockchain:hover .badge-pill,html.light .label.label-xrp:hover .badge-pill,html.light .label.label-ブロックチェーン:hover .badge-pill,html.light .label.label-non-fungible-tokens-nfts:hover .badge-pill,html.light .label.label-use-nfts:hover .badge-pill,html.light .label.blog-category-release_notes:hover .badge-pill,html.light .label.blog-category-features:hover .badge-pill,html.light .label.chip-green:hover .badge-pill{color:#84f0b6;background-color:#000}.label.label-checks,.label.label-core-server,.label.label-コアサーバ,.label.label-use-interoperability,.label.label-use-web_monetization,.label.blog-category-gateway_bulletins,.label.chip-purple{background-color:#40004c;color:#ea80ff}.label.label-checks .badge-pill,.label.label-core-server .badge-pill,.label.label-コアサーバ .badge-pill,.label.label-use-interoperability .badge-pill,.label.label-use-web_monetization .badge-pill,.label.blog-category-gateway_bulletins .badge-pill,.label.chip-purple .badge-pill{background-color:#ea80ff;color:#40004c}.label.label-checks:hover,.label.label-core-server:hover,.label.label-コアサーバ:hover,.label.label-use-interoperability:hover,.label.label-use-web_monetization:hover,.label.blog-category-gateway_bulletins:hover,.label.chip-purple:hover{background-color:#6b0080;color:#f2b2ff}.label.label-checks:hover .badge-pill,.label.label-core-server:hover .badge-pill,.label.label-コアサーバ:hover .badge-pill,.label.label-use-interoperability:hover .badge-pill,.label.label-use-web_monetization:hover .badge-pill,.label.blog-category-gateway_bulletins:hover .badge-pill,.label.chip-purple:hover .badge-pill{background-color:#f2b2ff;color:#6b0080}html.light .label.label-checks,html.light .label.label-core-server,html.light .label.label-コアサーバ,html.light .label.label-use-interoperability,html.light .label.label-use-web_monetization,html.light .label.blog-category-gateway_bulletins,html.light .label.chip-purple{background-color:#f2b2ff;color:#6b0080}html.light .label.label-checks .badge-pill,html.light .label.label-core-server .badge-pill,html.light .label.label-コアサーバ .badge-pill,html.light .label.label-use-interoperability .badge-pill,html.light .label.label-use-web_monetization .badge-pill,html.light .label.blog-category-gateway_bulletins .badge-pill,html.light .label.chip-purple .badge-pill{color:#f2b2ff;background-color:#6b0080}html.light .label.label-checks:hover,html.light .label.label-core-server:hover,html.light .label.label-コアサーバ:hover,html.light .label.label-use-interoperability:hover,html.light .label.label-use-web_monetization:hover,html.light .label.blog-category-gateway_bulletins:hover,html.light .label.chip-purple:hover{background-color:#ea80ff;color:#40004c}html.light .label.label-checks:hover .badge-pill,html.light .label.label-core-server:hover .badge-pill,html.light .label.label-コアサーバ:hover .badge-pill,html.light .label.label-use-interoperability:hover .badge-pill,html.light .label.label-use-web_monetization:hover .badge-pill,html.light .label.blog-category-gateway_bulletins:hover .badge-pill,html.light .label.chip-purple:hover .badge-pill{color:#ea80ff;background-color:#40004c}.label.label-cross-currency,.label.label-security,.label.label-クロスカレンシー,.label.label-セキュリティ,.label.label-use-gaming,.label.label-use-defi,.label.blog-category-amendments,.label.chip-yellow{background-color:#4b4c00;color:#fcff80}.label.label-cross-currency .badge-pill,.label.label-security .badge-pill,.label.label-クロスカレンシー .badge-pill,.label.label-セキュリティ .badge-pill,.label.label-use-gaming .badge-pill,.label.label-use-defi .badge-pill,.label.blog-category-amendments .badge-pill,.label.chip-yellow .badge-pill{background-color:#fcff80;color:#4b4c00}.label.label-cross-currency:hover,.label.label-security:hover,.label.label-クロスカレンシー:hover,.label.label-セキュリティ:hover,.label.label-use-gaming:hover,.label.label-use-defi:hover,.label.blog-category-amendments:hover,.label.chip-yellow:hover{background-color:#7d8000;color:#fdffb2}.label.label-cross-currency:hover .badge-pill,.label.label-security:hover .badge-pill,.label.label-クロスカレンシー:hover .badge-pill,.label.label-セキュリティ:hover .badge-pill,.label.label-use-gaming:hover .badge-pill,.label.label-use-defi:hover .badge-pill,.label.blog-category-amendments:hover .badge-pill,.label.chip-yellow:hover .badge-pill{background-color:#fdffb2;color:#7d8000}html.light .label.label-cross-currency,html.light .label.label-security,html.light .label.label-クロスカレンシー,html.light .label.label-セキュリティ,html.light .label.label-use-gaming,html.light .label.label-use-defi,html.light .label.blog-category-amendments,html.light .label.chip-yellow{background-color:#fdffb2;color:#4b4c00}html.light .label.label-cross-currency .badge-pill,html.light .label.label-security .badge-pill,html.light .label.label-クロスカレンシー .badge-pill,html.light .label.label-セキュリティ .badge-pill,html.light .label.label-use-gaming .badge-pill,html.light .label.label-use-defi .badge-pill,html.light .label.blog-category-amendments .badge-pill,html.light .label.chip-yellow .badge-pill{color:#fdffb2;background-color:#4b4c00}html.light .label.label-cross-currency:hover,html.light .label.label-security:hover,html.light .label.label-クロスカレンシー:hover,html.light .label.label-セキュリティ:hover,html.light .label.label-use-gaming:hover,html.light .label.label-use-defi:hover,html.light .label.blog-category-amendments:hover,html.light .label.chip-yellow:hover{background-color:#fcff80;color:#4b4c00}html.light .label.label-cross-currency:hover .badge-pill,html.light .label.label-security:hover .badge-pill,html.light .label.label-クロスカレンシー:hover .badge-pill,html.light .label.label-セキュリティ:hover .badge-pill,html.light .label.label-use-gaming:hover .badge-pill,html.light .label.label-use-defi:hover .badge-pill,html.light .label.blog-category-amendments:hover .badge-pill,html.light .label.chip-yellow:hover .badge-pill{color:#fcff80;background-color:#4b4c00}.label.label-decentralized-exchange,.label.label-smart-contracts,.label.label-transaction-sending,.label.label-分散型取引所,.label.label-スマートコントラクト,.label.label-トランザクション送信,.label.label-use-developer_tooling,.label.label-use-payments,.label.blog-category-developer_reflections,.label.chip-blue{background-color:#002e4c;color:#80ccff}.label.label-decentralized-exchange .badge-pill,.label.label-smart-contracts .badge-pill,.label.label-transaction-sending .badge-pill,.label.label-分散型取引所 .badge-pill,.label.label-スマートコントラクト .badge-pill,.label.label-トランザクション送信 .badge-pill,.label.label-use-developer_tooling .badge-pill,.label.label-use-payments .badge-pill,.label.blog-category-developer_reflections .badge-pill,.label.chip-blue .badge-pill{background-color:#80ccff;color:#002e4c}.label.label-decentralized-exchange:hover,.label.label-smart-contracts:hover,.label.label-transaction-sending:hover,.label.label-分散型取引所:hover,.label.label-スマートコントラクト:hover,.label.label-トランザクション送信:hover,.label.label-use-developer_tooling:hover,.label.label-use-payments:hover,.label.blog-category-developer_reflections:hover,.label.chip-blue:hover{background-color:#004d80;color:#b2e0ff}.label.label-decentralized-exchange:hover .badge-pill,.label.label-smart-contracts:hover .badge-pill,.label.label-transaction-sending:hover .badge-pill,.label.label-分散型取引所:hover .badge-pill,.label.label-スマートコントラクト:hover .badge-pill,.label.label-トランザクション送信:hover .badge-pill,.label.label-use-developer_tooling:hover .badge-pill,.label.label-use-payments:hover .badge-pill,.label.blog-category-developer_reflections:hover .badge-pill,.label.chip-blue:hover .badge-pill{background-color:#b2e0ff;color:#004d80}html.light .label.label-decentralized-exchange,html.light .label.label-smart-contracts,html.light .label.label-transaction-sending,html.light .label.label-分散型取引所,html.light .label.label-スマートコントラクト,html.light .label.label-トランザクション送信,html.light .label.label-use-developer_tooling,html.light .label.label-use-payments,html.light .label.blog-category-developer_reflections,html.light .label.chip-blue{background-color:#b2e0ff;color:#004d80}html.light .label.label-decentralized-exchange .badge-pill,html.light .label.label-smart-contracts .badge-pill,html.light .label.label-transaction-sending .badge-pill,html.light .label.label-分散型取引所 .badge-pill,html.light .label.label-スマートコントラクト .badge-pill,html.light .label.label-トランザクション送信 .badge-pill,html.light .label.label-use-developer_tooling .badge-pill,html.light .label.label-use-payments .badge-pill,html.light .label.blog-category-developer_reflections .badge-pill,html.light .label.chip-blue .badge-pill{color:#b2e0ff;background-color:#004d80}html.light .label.label-decentralized-exchange:hover,html.light .label.label-smart-contracts:hover,html.light .label.label-transaction-sending:hover,html.light .label.label-分散型取引所:hover,html.light .label.label-スマートコントラクト:hover,html.light .label.label-トランザクション送信:hover,html.light .label.label-use-developer_tooling:hover,html.light .label.label-use-payments:hover,html.light .label.blog-category-developer_reflections:hover,html.light .label.chip-blue:hover{background-color:#80ccff;color:#002e4c}html.light .label.label-decentralized-exchange:hover .badge-pill,html.light .label.label-smart-contracts:hover .badge-pill,html.light .label.label-transaction-sending:hover .badge-pill,html.light .label.label-分散型取引所:hover .badge-pill,html.light .label.label-スマートコントラクト:hover .badge-pill,html.light .label.label-トランザクション送信:hover .badge-pill,html.light .label.label-use-developer_tooling:hover .badge-pill,html.light .label.label-use-payments:hover .badge-pill,html.light .label.blog-category-developer_reflections:hover .badge-pill,html.light .label.chip-blue:hover .badge-pill{color:#80ccff;background-color:#002e4c}.label.label-escrow,.label.label-tokens,.label.label-development,.label.label-トークン,.label.label-開発,.label.label-use-wallet,.label.label-use-sustainability,.label.blog-category-advisories,.label.chip-orange{background-color:#4c1a00;color:#ffaa80}.label.label-escrow .badge-pill,.label.label-tokens .badge-pill,.label.label-development .badge-pill,.label.label-トークン .badge-pill,.label.label-開発 .badge-pill,.label.label-use-wallet .badge-pill,.label.label-use-sustainability .badge-pill,.label.blog-category-advisories .badge-pill,.label.chip-orange .badge-pill{background-color:#ffaa80;color:#4c1a00}.label.label-escrow:hover,.label.label-tokens:hover,.label.label-development:hover,.label.label-トークン:hover,.label.label-開発:hover,.label.label-use-wallet:hover,.label.label-use-sustainability:hover,.label.blog-category-advisories:hover,.label.chip-orange:hover{background-color:#802b00;color:#ffccb2}.label.label-escrow:hover .badge-pill,.label.label-tokens:hover .badge-pill,.label.label-development:hover .badge-pill,.label.label-トークン:hover .badge-pill,.label.label-開発:hover .badge-pill,.label.label-use-wallet:hover .badge-pill,.label.label-use-sustainability:hover .badge-pill,.label.blog-category-advisories:hover .badge-pill,.label.chip-orange:hover .badge-pill{background-color:#ffccb2;color:#802b00}html.light .label.label-escrow,html.light .label.label-tokens,html.light .label.label-development,html.light .label.label-トークン,html.light .label.label-開発,html.light .label.label-use-wallet,html.light .label.label-use-sustainability,html.light .label.blog-category-advisories,html.light .label.chip-orange{background-color:#ffccb2;color:#802b00}html.light .label.label-escrow .badge-pill,html.light .label.label-tokens .badge-pill,html.light .label.label-development .badge-pill,html.light .label.label-トークン .badge-pill,html.light .label.label-開発 .badge-pill,html.light .label.label-use-wallet .badge-pill,html.light .label.label-use-sustainability .badge-pill,html.light .label.blog-category-advisories .badge-pill,html.light .label.chip-orange .badge-pill{color:#ffccb2;background-color:#802b00}html.light .label.label-escrow:hover,html.light .label.label-tokens:hover,html.light .label.label-development:hover,html.light .label.label-トークン:hover,html.light .label.label-開発:hover,html.light .label.label-use-wallet:hover,html.light .label.label-use-sustainability:hover,html.light .label.blog-category-advisories:hover,html.light .label.chip-orange:hover{background-color:#ffaa80;color:#4c1a00}html.light .label.label-escrow:hover .badge-pill,html.light .label.label-tokens:hover .badge-pill,html.light .label.label-development:hover .badge-pill,html.light .label.label-トークン:hover .badge-pill,html.light .label.label-開発:hover .badge-pill,html.light .label.label-use-wallet:hover .badge-pill,html.light .label.label-use-sustainability:hover .badge-pill,html.light .label.blog-category-advisories:hover .badge-pill,html.light .label.chip-orange:hover .badge-pill{color:#ffaa80;background-color:#4c1a00}.label.label-fees,.label.label-payments,.label.label-data-retention,.label.label-手数料,.label.label-支払い,.label.label-データ保持,.label.label-use-exchanges,.label.label-use-custody,.label.blog-category-security,.label.chip-magenta{background-color:#4c0026;color:#ff80bf}.label.label-fees .badge-pill,.label.label-payments .badge-pill,.label.label-data-retention .badge-pill,.label.label-手数料 .badge-pill,.label.label-支払い .badge-pill,.label.label-データ保持 .badge-pill,.label.label-use-exchanges .badge-pill,.label.label-use-custody .badge-pill,.label.blog-category-security .badge-pill,.label.chip-magenta .badge-pill{background-color:#ff80bf;color:#4c0026}.label.label-fees:hover,.label.label-payments:hover,.label.label-data-retention:hover,.label.label-手数料:hover,.label.label-支払い:hover,.label.label-データ保持:hover,.label.label-use-exchanges:hover,.label.label-use-custody:hover,.label.blog-category-security:hover,.label.chip-magenta:hover{background-color:#80003f;color:#ffb2d8}.label.label-fees:hover .badge-pill,.label.label-payments:hover .badge-pill,.label.label-data-retention:hover .badge-pill,.label.label-手数料:hover .badge-pill,.label.label-支払い:hover .badge-pill,.label.label-データ保持:hover .badge-pill,.label.label-use-exchanges:hover .badge-pill,.label.label-use-custody:hover .badge-pill,.label.blog-category-security:hover .badge-pill,.label.chip-magenta:hover .badge-pill{background-color:#ffb2d8;color:#80003f}html.light .label.label-fees,html.light .label.label-payments,html.light .label.label-data-retention,html.light .label.label-手数料,html.light .label.label-支払い,html.light .label.label-データ保持,html.light .label.label-use-exchanges,html.light .label.label-use-custody,html.light .label.blog-category-security,html.light .label.chip-magenta{background-color:#ffb2d8;color:#80003f}html.light .label.label-fees .badge-pill,html.light .label.label-payments .badge-pill,html.light .label.label-data-retention .badge-pill,html.light .label.label-手数料 .badge-pill,html.light .label.label-支払い .badge-pill,html.light .label.label-データ保持 .badge-pill,html.light .label.label-use-exchanges .badge-pill,html.light .label.label-use-custody .badge-pill,html.light .label.blog-category-security .badge-pill,html.light .label.chip-magenta .badge-pill{color:#ffb2d8;background-color:#80003f}html.light .label.label-fees:hover,html.light .label.label-payments:hover,html.light .label.label-data-retention:hover,html.light .label.label-手数料:hover,html.light .label.label-支払い:hover,html.light .label.label-データ保持:hover,html.light .label.label-use-exchanges:hover,html.light .label.label-use-custody:hover,html.light .label.blog-category-security:hover,html.light .label.chip-magenta:hover{background-color:#ff80bf;color:#4c0026}html.light .label.label-fees:hover .badge-pill,html.light .label.label-payments:hover .badge-pill,html.light .label.label-data-retention:hover .badge-pill,html.light .label.label-手数料:hover .badge-pill,html.light .label.label-支払い:hover .badge-pill,html.light .label.label-データ保持:hover .badge-pill,html.light .label.label-use-exchanges:hover .badge-pill,html.light .label.label-use-custody:hover .badge-pill,html.light .label.blog-category-security:hover .badge-pill,html.light .label.chip-magenta:hover .badge-pill{color:#ff80bf;background-color:#4c0026}.tag-cloud .list-inline-item{margin-top:1.5rem}.command-list-wrapper{position:sticky;top:calc(var(--navbar-height) + var(--toc-offset-top));max-height:calc(100vh - var(--navbar-height) - var(--toc-offset-top));overflow-y:auto;width:var(--toc-width)}#tx-sender-history .list-group-item{font-size:small;color:#454549}.response-metadata .timestamp{color:#454549}.throbber{width:24px;height:24px}#connection-status .card-body{border-left:0}#connection-status-item.active{background-color:#32e685;border-color:#32e685}.api-input-area .btn-group>.send-request.btn{border-bottom-right-radius:4px;border-top-right-radius:4px}#tx-sender-history ul{overflow:auto;height:220px;border:1px solid #e0e0e1}.progress small{margin-top:.5rem}.page-tx-sender .input-group .form-control,.interactive-block-ui .input-group .form-control{flex:1 1 20%;height:auto}.bootstrap-growl{max-width:90vw !important;overflow:hidden}.list-group-item-danger,#tx-sender-history .list-group-item-danger{background-color:#ff80bf;color:#000}.list-group-item-danger a,#tx-sender-history .list-group-item-danger a{color:#000}.list-group-item-danger a:hover,#tx-sender-history .list-group-item-danger a:hover{color:#000;text-decoration:underline}.rpc-tool .main h1::before,.rpc-tool .main h2::before,.rpc-tool .main h3::before{display:none}.form-text a{text-decoration:underline}@media print{.multicode>div{display:block !important}.multicode>em,.multicode>p>em{display:block !important;page-break-after:avoid}.multicode>p{display:block !important}.code_toggler{display:none}pre{white-space:pre-wrap;max-height:none !important;overflow:visible;page-break-inside:auto;word-wrap:break-word}pre code{white-space:pre-wrap !important;color:#22252b !important}code{white-space:pre-wrap !important;color:#22252b !important}.codehilite .n,.codehilite .na,.codehilite .nb,.codehilite .nc,.codehilite .nd,.codehilite .ne,.codehilite .nf,.codehilite .ni,.codehilite .nl,.codehilite .nn,.codehilite .nt,.codehilite .nv,.codehilite .nx,.codehilite .bp,.codehilite .fm,.codehilite .py{color:#22252b}article a[title=Source]{float:none}header,footer,aside{display:none !important}.navbar{display:none !important}article,#main_content_body{position:static;display:block;width:auto;height:auto;color:#000 !important;max-width:100%;overflow:visible !important}body{overflow:visible;background:#fff}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{color:#000}.interactive-block{display:none}.container{margin-top:1rem !important}}#home-purple{position:absolute;left:0;top:-400px}#home-green{position:absolute;right:-3px;top:60px}.sidelinks:hover{color:#9a52ff}.sidelinks.active{color:#9a52ff;font-weight:bold}.page-home #home-hero-container{display:flex;justify-content:center;align-items:center;width:100%;padding-top:54.8%;overflow:hidden}.page-home #home-hero-graphic{width:100%;max-width:856px;height:auto;object-fit:cover;content:url("../img/home-hero.svg");margin-bottom:24px;display:block;margin-left:auto;margin-right:auto}@media(min-width: 992px){.page-home #home-hero-graphic{min-height:470px}}@media(max-width: 991px)and (min-width: 540px){.page-home #home-hero-graphic{min-height:250px}}@media(max-width: 539px){.page-home #home-hero-graphic{min-height:170px}}.page-home #benefits-list #public{content:url("../img/icons/public.svg")}.page-home #benefits-list #streamlined{content:url("../img/icons/streamlined.svg")}.page-home #benefits-list #performance{content:url("../img/icons/performance.svg")}.page-home #benefits-list #low-cost{content:url("../img/icons/low-cost.svg")}.page-home #benefits-list #community{content:url("../img/icons/community.svg")}.page-home #benefits-list #reliability{content:url("../img/icons/reliability.svg")}.page-home #advanced-features .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-pink-purple.svg")}.page-home #advanced-features .card:nth-child(2) .card-footer{background-image:url("../img/cards/3col-neutral-blue.svg")}.page-home #advanced-features .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-light-green.svg")}.page-home #advanced-features .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-orange.svg")}.page-home #advanced-features .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-purple-blue-2.svg")}.page-home #get-started .card:nth-child(1) .card-footer{background-image:url("../img/cards/3col-orange-yellow.svg")}.page-home #get-started .card:nth-child(2) .card-footer{background-image:url("../img/cards/3col-magenta-orange.svg")}.page-home #get-started .card:nth-child(3) .card-footer{background-image:url("../img/cards/3col-purple-blue-green.svg")}.page-home #get-started .card:nth-child(4) .card-footer{background-image:url("../img/cards/3col-light-blue.svg")}.page-home #get-started .card:nth-child(5) .card-footer{background-image:url("../img/cards/3col-green-blue.svg")}.cta{position:absolute}.cta-top-left{top:0;left:0}.cta-bottom-right{bottom:0;right:0}.landing-bg{opacity:.6}@media(min-width: 768px){.landing-bg{opacity:1}}.landing-builtin-bg::before{content:"";position:absolute;top:0;left:0;background-repeat:no-repeat;background-position-x:left;background-position-y:top;opacity:.6}@media(min-width: 768px){.landing-builtin-bg::before{opacity:1}}#xrp-overview-blue{position:absolute;top:0;left:0}@media(max-width: 767.98px){#xrp-mark-overview{height:40px;margin-top:16px}}#wallets #wallet-ledger{content:url("../img/wallets/ledger.svg")}#wallets #wallet-secalot{content:url("../img/wallets/secalot.svg")}#wallets #wallet-trezor{content:url("../img/wallets/trezor.svg")}#wallets #wallet-xumm{content:url("../img/wallets/xumm.svg")}#wallets #wallet-trust{content:url("../img/wallets/trust.svg")}#wallets #wallet-gatehub{content:url("../img/wallets/gatehub.svg")}#wallets #wallet-towo{content:url("../img/wallets/towo.svg")}#wallets #wallet-keystone{content:url("../img/wallets/keystone.svg")}#wallets #wallet-dcent{content:url("../img/wallets/dcent.svg")}#wallets #wallet-coin{content:url("../img/wallets/coin.svg")}#wallets #wallet-gem{content:url("../img/wallets/gem.svg")}#wallets #wallet-bitfrost{content:url("../img/wallets/bitfrost.png")}#wallets #wallet-crossmark{content:url("../img/wallets/crossmark.png")}#top-exchanges #exch-bitstamp{content:url("../img/exchanges/bitstamp.svg")}#top-exchanges #exch-kraken{content:url("../img/exchanges/kraken.svg")}#top-exchanges #exch-cex-io{content:url("../img/exchanges/cex-io.svg")}#top-exchanges #exch-liquid{content:url("../img/exchanges/liquid.svg")}#top-exchanges #exch-lmax{content:url("../img/exchanges/lmax.svg")}#top-exchanges #exch-bitfinex{content:url("../img/exchanges/bitfinex.svg")}#top-exchanges #exch-etoro{content:url("../img/exchanges/etoro.svg")}#top-exchanges #exch-bittrex{content:url("../img/exchanges/bittrex.png")}#top-exchanges #exch-currency-com{content:url("../img/exchanges/currency-com.png")}#top-exchanges #exch-ftx{content:url("../img/exchanges/ftx.png")}#xrpl-overview-purple{position:absolute;top:40px;left:0}@media(max-width: 767.98px){#xrpl-overview-purple{top:0;left:-20vw}}#xrpl-overview-orange{position:absolute;top:80px;right:-4px}#use-cases-orange{position:absolute;top:-480px;right:-4px}#validator-graphic{content:url(../img/validators.svg)}.page-uses .container-new{padding-left:16px;padding-right:16px}.page-uses h1{font-size:42px}.page-uses::before{transform:scaleX(-1);background-image:url(../img/backgrounds/use-cases-blue.svg)}.page-uses .card-grid{grid-gap:8px}.page-uses .card-grid img{max-height:40px}.page-uses .modal{padding:0}.page-uses .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#000;background-clip:padding-box;border:none;border-radius:0;box-shadow:none;outline:none;background:#111112}.page-uses .modal-header{border:none;background:#111112;box-shadow:0px 1px 2px #000}.page-uses .modal-header .cancel .chevron{transform:rotate(90deg)}.page-uses .modal-header .apply .chevron{transform:rotate(-90deg)}.page-uses .modal-footer{border:none;background:#111112;box-shadow:0px -1px 2px #000;align-items:unset;padding:.75rem;flex-direction:column;flex-wrap:wrap}.page-uses .card-title{margin-bottom:.5rem;line-height:26px}.page-uses .card-uses{padding:16px;margin:0;text-decoration:none;transition:all .35s ease-out}.page-uses .card-uses:hover{text-decoration:none;color:#e0e0e1;transform:translateY(-16px);text-decoration:none}.page-uses .card-body{background:#232325;border-radius:8px;height:100%;padding:32px;margin:0}.page-uses .page-events .label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.page-uses .category-header{font-weight:bold;color:#c1c1c2}.page-uses .light .category-checkbox label{color:#fff}.page-uses .category-checkbox{display:flex;align-items:center}.page-uses .category-checkbox label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.page-uses .category_count{margin-left:8px;padding:2px 16px;width:24px;height:16px;background:#350080;border-radius:100px;font-weight:600;font-size:12px;line-height:16px;color:#b480ff}.page-uses .category_sidebar{position:sticky;top:10px}.page-uses #infrastructure{content:url("../img/icons/usecases/ic_infrastructure.png")}.page-uses #developer_tooling{content:url("../img/icons/usecases/ic_developer_tooling.png")}.page-uses #interoperability{content:url("../img/icons/usecases/ic_interoperability.png")}.page-uses #wallet{content:url("../img/icons/usecases/ic_wallet.png")}.page-uses #nfts{content:url("../img/icons/usecases/ic_nfts.png")}.page-uses #exchanges{content:url("../img/icons/usecases/ic_exchanges.png")}.page-uses #gaming{content:url("../img/icons/usecases/ic_gaming.png")}.page-uses #security{content:url("../img/icons/usecases/ic_security.png")}.page-uses #payments{content:url("../img/icons/usecases/ic_payments.png")}.page-uses #web_monetization{content:url("../img/icons/usecases/ic_web_monetization.png")}.page-uses #sustainability{content:url("../img/icons/usecases/ic_sustainability.png")}.page-uses #cbdc{content:url("../img/icons/usecases/ic_cbdc.png")}.page-uses #other{content:url("../img/icons/usecases/ic_other.png")}.page-uses #carbon_markets{content:url("../img/icons/usecases/ic_carbon_markets.png")}.page-uses #custody{content:url("../img/icons/usecases/ic_custody.png")}.page-uses #defi{content:url("../img/icons/usecases/ic_defi.png")}.page-uses #use_case_companies_list #bithomp .biz-logo{max-height:40px;content:url("../img/uses/bithomp.svg")}.page-uses #use_case_companies_list #onthedex .biz-logo{max-height:40px;content:url("../img/uses/onthedex.svg")}.page-uses #use_case_companies_list #gatehub .biz-logo{max-height:40px;content:url("../img/uses/gatehub.svg")}.page-uses #use_case_companies_list #towo-labs .biz-logo{max-height:40px;content:url("../img/uses/towo-labs.svg")}.page-uses #use_case_companies_list #xrp-toolkit .biz-logo{max-height:40px;content:url("../img/uses/xrp-toolkit.svg")}.page-uses #use_case_companies_list #xrpl-org-ledger-explorer .biz-logo{max-height:40px;content:url("../img/uses/xrpl-org-ledger-explorer.svg")}.page-uses #use_case_companies_list #xrpl-rosetta .biz-logo{max-height:40px;content:url("../img/uses/xrpl-rosetta.svg")}.page-uses #use_case_companies_list #xrpscan .biz-logo{max-height:40px;content:url("../img/uses/xrpscan.svg")}.page-uses #use_case_companies_list #evernode .biz-logo{max-height:40px;content:url("../img/uses/evernode.svg")}.page-uses #use_case_companies_list #cryptum .biz-logo{max-height:40px;content:url("../img/uses/cryptum.svg")}.page-uses #use_case_companies_list #x-tokenize .biz-logo{max-height:40px;content:url("../img/uses/x-tokenize.svg")}.page-uses #use_case_companies_list #multichain .biz-logo{max-height:40px;content:url("../img/uses/multichain.svg")}.page-uses #use_case_companies_list #xumm-wallet .biz-logo{max-height:40px;content:url("../img/uses/xumm-wallet.svg")}.page-uses #use_case_companies_list #gem-wallet .biz-logo{max-height:40px;content:url("../img/uses/gem-wallet.svg")}.page-uses #use_case_companies_list #aesthetes .biz-logo{max-height:40px;content:url("../img/uses/aesthetes.svg")}.page-uses #use_case_companies_list #audiotarky .biz-logo{max-height:40px;content:url("../img/uses/audiotarky.svg")}.page-uses #use_case_companies_list #xrp-cafe .biz-logo{max-height:40px;content:url("../img/uses/xrp-cafe.svg")}.page-uses #use_case_companies_list #nft-master .biz-logo{max-height:40px;content:url("../img/uses/nft-master.svg")}.page-uses #use_case_companies_list #onxrp .biz-logo{max-height:40px;content:url("../img/uses/onxrp.svg")}.page-uses #use_case_companies_list #peerkat .biz-logo{max-height:40px;content:url("../img/uses/peerkat.svg")}.page-uses #use_case_companies_list #sologenic-nft .biz-logo{max-height:40px;content:url("../img/uses/sologenic-nft.svg")}.page-uses #use_case_companies_list #sologenic-dex .biz-logo{max-height:40px;content:url("../img/uses/sologenic-dex.svg")}.page-uses #use_case_companies_list #xp-market .biz-logo{max-height:40px;content:url("../img/uses/xp-market.svg")}.page-uses #use_case_companies_list #ledger-city .biz-logo{max-height:40px;content:url("../img/uses/ledger-city.svg")}.page-uses #use_case_companies_list #forte .biz-logo{max-height:40px;content:url("../img/uses/forte.svg")}.page-uses #use_case_companies_list #futureverse .biz-logo{max-height:40px;content:url("../img/uses/futureverse.svg")}.page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:40px;content:url("../img/uses/first-ledger-bot.svg")}.page-uses #use_case_companies_list #moai-finance .biz-logo{max-height:40px;content:url("../img/uses/moai-finance.svg")}.page-uses #use_case_companies_list #orchestra-finance .biz-logo{max-height:40px;content:url("../img/uses/orchestra-finance.svg")}.page-uses #use_case_companies_list #anchain-ai .biz-logo{max-height:40px;content:url("../img/uses/anchain-ai.svg")}.page-uses #use_case_companies_list #coil .biz-logo{max-height:40px;content:url("../img/uses/coil.svg")}.page-uses #use_case_companies_list #carbonland-trust .biz-logo{max-height:40px;content:url("../img/uses/carbonland-trust.svg")}.page-uses #use_case_companies_list #casino-coin .biz-logo{max-height:40px;content:url("../img/uses/casino-coin.svg")}.page-uses #use_case_companies_list #bitgo .biz-logo{max-height:40px;content:url("../img/uses/bitgo.svg")}.page-uses #use_case_companies_list #bitpay .biz-logo{max-height:40px;content:url("../img/uses/bitpay.svg")}.page-uses #use_case_companies_list #ripples-on-demand-liquidity .biz-logo{max-height:40px;content:url("../img/uses/ripples-on-demand-liquidity.svg")}.page-uses #use_case_companies_list #ripples-cbdc-platform .biz-logo{max-height:40px;content:url("../img/uses/ripples-cbdc-platform.svg")}.page-uses #use_case_companies_list #momento .biz-logo{max-height:40px;content:url("../img/uses/momento.svg")}.page-uses #use_case_companies_list #zerpmon .biz-logo{max-height:40px;content:url("../img/uses/zerpmon.png")}.page-uses #use_case_companies_list #Crossmark .biz-logo{max-height:40px;content:url("../img/uses/Crossmark.png")}.page-uses #use_case_companies_list #Edge .biz-logo{max-height:40px;content:url("../img/uses/Edge.png")}.page-uses .orchestra-finance{max-height:52px !important;margin:0 !important}.page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:81px !important}.page-uses #use_case_companies_list #zerpmon .biz-logo{max-height:81px !important}@media(min-width: 992px){.page-uses h1{font-size:62px}.page-uses .container-new{padding-left:64px;padding-right:64px}.page-uses .card-grid img{max-height:48px}.page-uses .card-grid{grid-gap:48px}.page-uses .card-uses{padding:24px}}#history-orange{position:absolute;top:0;right:-4px}#history-purple{position:absolute;top:-480px;left:-4px}.hidden-section{overflow:hidden;visibility:hidden;height:0}.hidden-section.show{overflow:auto;visibility:visible;height:auto}#impact-green{position:absolute;top:0;left:-4px;rotate:180deg}#impact-purple{position:absolute;top:100px;right:-4px}#impact-magenta{position:absolute;top:100px;right:-4px}#foundation-magenta{position:absolute;top:0px;left:0px}#foundation-orange{position:absolute;top:40px;right:-4px}.page-impact #map-light{display:none}.page-impact #map-dark{display:block}.page-impact .connect-list #connect-01{content:url("../img/impact/connect-01.svg")}.page-impact .connect-list #connect-02{content:url("../img/impact/connect-02.svg")}.page-impact .connect-list #connect-03{content:url("../img/impact/connect-03.svg")}.page-impact .connect-list #connect-04{content:url("../img/impact/connect-04.svg")}.page-funding .funding-list #funding-01{content:url("../img/funding/funding-01.svg")}.page-funding .funding-list #funding-02{content:url("../img/funding/funding-02.svg")}.page-funding .funding-list #funding-03{content:url("../img/funding/funding-03.svg")}.page-funding .funding-list #funding-04{content:url("../img/funding/funding-04.svg")}.page-funding #funding-orange{position:absolute;top:132px;left:-4px}@media(min-width: 992px){.page-funding .funding-box{min-height:200px}}.page-ambassadors #benefits-list #benefits-01{content:url("../img/ambassadors/benefits-01.svg")}.page-ambassadors #benefits-list #benefits-02{content:url("../img/ambassadors/benefits-02.svg")}.page-ambassadors #benefits-list #benefits-03{content:url("../img/ambassadors/benefits-03.svg")}.page-ambassadors #benefits-list #benefits-04{content:url("../img/ambassadors/benefits-04.svg")}.page-ambassadors #benefits-list #benefits-05{content:url("../img/ambassadors/benefits-05.svg")}.page-ambassadors #benefits-list #benefits-06{content:url("../img/ambassadors/benefits-06.svg")}.page-ambassadors #eligibility-list #eligibility-01{content:url("../img/ambassadors/eligibility-01.svg")}.page-ambassadors #eligibility-list #eligibility-02{content:url("../img/ambassadors/eligibility-02.svg")}.page-ambassadors #eligibility-list #eligibility-03{content:url("../img/ambassadors/eligibility-03.svg")}.page-ambassadors #eligibility-list #eligibility-04{content:url("../img/ambassadors/eligibility-04.svg")}.page-ambassadors #eligibility-list #eligibility-05{content:url("../img/ambassadors/eligibility-05.svg")}.page-ambassadors .btn{padding:.75rem}.page-ambassadors #container-scroll{height:160px;position:relative;overflow:hidden;margin-top:80px;margin-bottom:64px}.page-ambassadors .photobanner{position:absolute;top:0px;left:0px;overflow:hidden;white-space:nowrap;animation:bannermove 40s linear infinite}.page-ambassadors .photobanner-bottom{top:112px}.page-ambassadors .photobanner img{margin:0 .5em}@keyframes bannermove{0%{transform:translate(0, 0)}100%{transform:translate(-50%, 0)}}.page-ambassadors #carouselSlidesOnly{height:392px;margin-bottom:40px}@media(min-width: 992px){.page-ambassadors #carouselSlidesOnly{height:320px;margin-bottom:104px}}.page-ambassadors h6{font-size:1.25rem}.page-ambassadors .btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);vertical-align:middle;padding-left:8px;transition:transform .3s ease-out}.page-ambassadors .btn-arrow:hover{text-decoration:none;background:none !important;border:none}.page-ambassadors .btn-arrow:hover::after{background-position:left 4px bottom 4px;transform:translateX(4px)}.autoscroll-content{animation:autoscroll 15s linear infinite;white-space:nowrap;overflow:hidden;max-width:300px}#community-magenta{position:absolute;top:0px;left:0px}#community-purple{position:absolute;top:160px;right:0px}.page-events #event-hero-image{height:100%;min-height:209px;background:url(../img/events/event-hero1@2x.png);background-size:contain;background-repeat:no-repeat;background-position:center}.page-events #events-orange{position:absolute;top:0px;right:0px}.page-events .event-hero{color:#f5f5f7}.page-events .event-hero p{font-weight:500;font-size:24px;line-height:32px}.page-events .event-save-date{color:#fff;font-weight:bold;font-size:20px;line-height:26px}.page-events .event-small-gray{color:#e0e0e1}.page-events .btn{padding:.75rem}.page-events .event-card{max-width:311px;margin:32px auto;transition:all .35s ease-out;position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-clip:border-box;background-color:#232325;box-shadow:0px 5px 40px #000;border:1px solid rgba(0,0,0,.125);border-radius:8px;font-size:16px;line-height:24px;color:#e0e0e1}.page-events .event-card .event-card-header{position:relative;height:176px;background-size:contain !important;width:100%;border-radius:8px 8px 0 0}.page-events .event-card .event-card-title{position:absolute;bottom:32px;padding:0 32px;color:#f5f5f7;font-weight:bold;font-size:20px;line-height:28px}.page-events .event-card .event-card-body{padding:32px}.page-events .event-card .event-card-footer{padding:0 32px 32px}.page-events .event-card .event-card-footer .icon::before{height:24px;width:24px;content:"";margin-right:8px;background-size:contain;background-repeat:no-repeat}.page-events .event-card .icon-date::before{background:url(../img/events/event-date.svg)}.page-events .event-card .icon-location::before{background:url(../img/events/event-location.svg)}@media(min-width: 992px){.page-events .event-card{max-width:347px;margin:32px}.page-events .event-card-header{height:197px !important}}.page-events a.event-card:hover{transform:translateY(-16px);text-decoration:none}.page-events label{margin:0;padding-left:8px;color:#fff}.page-events .events-filter h6{font-size:16px}.page-events .events-filter{height:20px;width:20px}.page-events .events-filter[type=checkbox]::before{position:relative;display:block;width:20px;height:20px;content:"";background:#111112;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.page-events .events-filter[type=checkbox]::after{position:relative;display:block;top:-20px;width:20px;height:20px;content:"";background-repeat:no-repeat;background-position:center;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.page-events .events-filter[type=checkbox]:checked::before{background:#111112;border:none;border-radius:0}.page-events .events-filter[type=checkbox]:checked::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;background-color:#7919ff;border-width:2px;border-style:solid;border-color:#7919ff;border-radius:4px}.page-events .events-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}.page-events .events-filter[type=checkbox]:not(:disabled):hover::before{background:#111112;border:none;border-radius:0}.page-events .events-filter[type=checkbox]:not(:disabled):hover::after{background:#111112;border:none;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}#find-us-on-platforms .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-light-blue-3.svg)}#find-us-on-platforms .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-purple-blue-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-magenta-3.svg)}#find-us-on-platforms .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-green-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(5) .card-footer{background-image:url(../img/cards/4col-orange-yellow-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(6) .card-footer{background-image:url(../img/cards/4col-blue-purple.svg)}#find-us-on-platforms .card-deck .card:nth-child(7) .card-footer{background-image:url(../img/cards/4col-yellow-2.svg)}#find-us-on-platforms .card-deck .card:nth-child(8) .card-footer{background-image:url(../img/cards/4col-orange-2.svg)}#find-us-on-platforms .card-deck .card{margin-bottom:2.5rem}.page-faq::before{background-image:url(../img/backgrounds/faq-bg.svg)}@media(min-width: 768px){.page-faq::before{background-size:contain}}@media(min-width: 992px){.page-faq article{max-width:704px;margin-left:auto;margin-right:auto}}.page-faq article h6:first-of-type{color:#32e685;margin-bottom:1rem;margin-top:2.5rem;font-size:1.25rem;line-height:26px;text-align:center}.page-faq article h6:first-of-type .hover_anchor{display:none}@media(min-width: 992px){.page-faq article h6:first-of-type{margin-top:6.5rem}}.page-faq article h1:first-of-type{font-size:2.625rem;line-height:1.2;margin-top:0;margin-bottom:5rem;text-align:center}.page-faq article h1:first-of-type .hover_anchor{display:none}@media(min-width: 992px){.page-faq article h1:first-of-type{font-size:3.875rem;margin-bottom:13rem}}.page-faq h2{margin-top:13rem;font-size:2rem;line-height:2.375rem;text-align:center;font-weight:700}.page-faq .q-wrapper,.mini-faq .q-wrapper{background:#232325;border-radius:4px;padding:2rem;padding-right:3rem;margin-bottom:1.5rem;position:relative;z-index:5;width:100%;transform:translateY(0%)}.page-faq .q-wrapper p a,.mini-faq .q-wrapper p a{text-decoration:none;font-weight:600;color:#9a52ff}.page-faq .q-wrapper p a:hover,.mini-faq .q-wrapper p a:hover{text-decoration:underline}.page-faq .q-wrapper h4,.mini-faq .q-wrapper h4{font-size:1.25rem;line-height:1.625rem;margin-top:0}.page-faq .q-wrapper h4::before,.mini-faq .q-wrapper h4::before{display:block;content:" ";margin-top:-40px;height:40px;visibility:hidden;pointer-events:none}.page-faq .q-wrapper h4>a,.mini-faq .q-wrapper h4>a{text-decoration:none}.page-faq .q-wrapper h4>a:hover,.mini-faq .q-wrapper h4>a:hover{text-decoration:underline;color:#fff}@media(max-width: 991.98px){.page-faq .q-wrapper h4,.mini-faq .q-wrapper h4{font-size:1rem;line-height:1.5rem}}.page-faq .q-wrapper h4 .chevron,.mini-faq .q-wrapper h4 .chevron{position:absolute;top:40px;right:2rem}.page-docs-index::before{background-position-x:right}.page-docs-index .center-search .input-group-text{height:56px;padding:.75rem .75rem .75rem 1rem;line-height:2rem}.page-docs-index .center-search .ds-input{height:56px;padding:.75rem 1rem .75rem .5rem}.page-docs-index #software-and-sdks .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-green.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-light-blue.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-orange.svg)}.page-docs-index #software-and-sdks .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-yellow.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-orange-yellow.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-magenta.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-blue-green.svg)}.page-docs-index #doc-types .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-light-blue-2.svg)}.page-docs-index #docs-hot-topic .longform{margin-top:2.5rem}.page-docs-index #community-heading,.page-community #community-heading{padding-top:25rem;margin-top:0px}@media(max-width: 768px){.page-docs-index #community-heading,.page-community #community-heading{padding-top:31rem}}.page-docs-index #community-heading .hero-title,.page-community #community-heading .hero-title{position:absolute;bottom:0;left:50%;transform:translateX(-50%)}@media(min-width: 992px){.page-docs-index #community-heading,.page-community #community-heading{padding-left:0}.page-docs-index #community-heading .hero-title,.page-community #community-heading .hero-title{min-width:max-content;bottom:-83%}}.page-docs-index #community-heading .parallax,.page-community #community-heading .parallax{position:absolute;-webkit-transition:all .1s ease;-moz-transition:all .1s ease;-ms-transition:all .1s ease;-o-transition:all .1s ease;transition:all .1s ease}.page-docs-index #community-heading .one,.page-community #community-heading .one{top:160px;left:0%;opacity:.4}.page-docs-index #community-heading .two,.page-community #community-heading .two{top:130px;left:56%;height:320px;opacity:.4}.page-docs-index #community-heading .three,.page-community #community-heading .three{top:145px;right:16%;height:67px}.page-docs-index #community-heading .four,.page-community #community-heading .four{top:374px;left:8%;width:107px}.page-docs-index #community-heading .five,.page-community #community-heading .five{top:476px;width:152px;height:102px;right:5%;opacity:.4}.page-docs-index #run-a-network-node .card-deck .card:nth-child(1) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-yellow-2.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(2) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-purple.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(3) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-magenta-2.svg)}.page-docs-index #run-a-network-node .card-deck .card:nth-child(4) .card-footer,.page-community #run-a-network-node .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-light-green.svg)}.page-docs-index #run-a-network-node,.page-community #run-a-network-node{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #run-a-network-node,.page-community #run-a-network-node{padding-top:104px;padding-bottom:104px}}.page-docs-index #run-a-network-node .text-cards,.page-community #run-a-network-node .text-cards{grid-gap:40px}.page-docs-index #run-a-network-node .text-cards h6::before,.page-community #run-a-network-node .text-cards h6::before{margin-top:0;height:unset}.page-docs-index #run-a-network-node .text-cards a,.page-community #run-a-network-node .text-cards a{font-size:1.25rem;line-height:26px;color:#fff;font-weight:bold}.page-docs-index #run-a-network-node .text-cards a:hover,.page-community #run-a-network-node .text-cards a:hover{text-decoration:none;background:none !important}.page-docs-index #run-a-network-node .text-cards .btn-arrow::after,.page-community #run-a-network-node .text-cards .btn-arrow::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.page-docs-index #xrpl-grants,.page-community #xrpl-grants{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-grants,.page-community #xrpl-grants{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-blog,.page-community #xrpl-blog{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-blog,.page-community #xrpl-blog{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-events,.page-community #xrpl-events{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-events,.page-community #xrpl-events{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-careers,.page-community #xrpl-careers{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-careers,.page-community #xrpl-careers{padding-top:104px;padding-bottom:104px}}.page-docs-index #xrpl-design-assets,.page-community #xrpl-design-assets{padding-bottom:5rem}@media(min-width: 768px){.page-docs-index #xrpl-design-assets,.page-community #xrpl-design-assets{padding-top:104px;padding-bottom:208px}}.page-community #platform-github{content:url("../img/logos/github.svg")}.page-community #platform-twitch{content:url("../img/logos/twitch.svg")}.page-community #platform-stack-overflow{content:url("../img/logos/stack-overflow.svg")}.page-community #platform-twitter{content:url("../img/logos/twitter.svg")}.page-community #platform-discord{content:url("../img/logos/discord.svg")}.page-community #platform-youtube{content:url("../img/logos/youtube.svg")}.page-community #platform-devto{content:url("../img/logos/devto.svg")}.page-references #refs-types .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/3col-orange-2.svg)}.page-references #refs-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/3col-green-2.svg)}.page-references #refs-types .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/3col-magenta.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/4col-light-blue-4.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/4col-blue-green-2.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(3) .card-footer{background-image:url(../img/cards/4col-yellow-3.svg)}.page-references #xrpl-protocol .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/4col-purple-blue.svg)}.page-dev-tools #xrp-explorer .card-footer{background-image:url("../img/cards/3-col-orange.svg")}.page-dev-tools #bithomp-explorer .card-footer{background-image:url("../img/cards/3-col-light-blue.svg")}.page-dev-tools #xrpscan .card-footer{background-image:url("../img/cards/3-col-pink.svg")}.page-dev-tools #token-list .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}.page-dev-tools #websocket .card-footer{background-image:url("../img/cards/3-col-purple2.svg")}.page-dev-tools #rpc .card-footer{background-image:url("../img/cards/3-col-green.svg")}.page-dev-tools #technical-explorer .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}.page-dev-tools #faucets .card-footer{background-image:url("../img/cards/3-col-pink2.svg")}.page-dev-tools #trasaction-sender .card-footer{background-image:url("../img/cards/3-col-light-blue2.svg")}.page-dev-tools #domain .card-footer{background-image:url("../img/cards/3-col-green-purple.svg")}.page-dev-tools #xrp-ledger .card-footer{background-image:url("../img/cards/3-col-dark-blue.svg")}.page-dev-tools #binary-visualizer .card-footer{background-image:url("../img/cards/3-col-purple-blue.svg")}.page-dev-tools #token-metadata-lookup .card-footer{background-image:url("../img/cards/3-col-pink-purple.svg")}.page-dev-tools .nav-link{color:#a2a2a4;background-color:#111112;border-top:none;border-left:none;border-right:none;border-bottom-color:#454549}@media(max-width: 767.98px){.page-dev-tools .nav-tabs{display:flex;list-style:none;margin-left:0;padding-left:0;justify-content:space-between}.page-dev-tools .nav-item{display:inline-flex;width:auto;list-style:outside none none}.page-dev-tools .nav-link{display:inline-flex;width:auto;padding:1em 1em}}.page-dev-tools .nav-link.active{border-bottom-color:#9a52ff;color:#fff;font-weight:bold}.page-dev-tools .nav-tabs{border-bottom:1px solid #454549}.page-dev-tools .btn{padding:.75rem}html.light .page-dev-tools .nav-link{background-color:#f5f5f7}html.light .page-dev-tools .nav-link.active{border-bottom-color:#9a52ff;color:#000;font-weight:bold}html.light .page-dev-tools .nav-link{color:#000}html.light .page-dev-tools #trasaction-sender .card-footer{background-image:url("../img/cards/3-col-light-blue-2.svg")}.page-rwa-tokenization .right-arrow-item::after{display:inline-block;content:url("../img/icons/arrow-right-purple.svg");position:relative;top:1px;vertical-align:middle;padding-left:8px;transition:transform .3s ease-out}.page-rwa-tokenization #events-orange{position:absolute;top:0px;right:0px}.page-rwa-tokenization .token-title{color:var(--black-black-0-white, #FFF);text-align:center;font-family:"Work Sans";font-size:62px;font-style:normal;font-weight:700;line-height:70px;max-width:720px;z-index:1}@media(max-width: 991.98px){.page-rwa-tokenization .token-title{font-size:42px}}.page-rwa-tokenization .token-title-container{gap:32px;padding:104px 64px;display:flex;flex-direction:column;align-items:center;justify-content:center}.page-rwa-tokenization .token-video-container{flex-wrap:wrap;padding:104px 64px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:48px}.page-rwa-tokenization .token-video-container .token-video{width:50%;max-width:602px;height:372px}@media(max-width: 991.98px){.page-rwa-tokenization .token-video-container .token-video{width:100%}}.page-rwa-tokenization .token-video-container .token-video-text-container{max-width:520px;width:50%;display:flex;flex-direction:column;align-items:center;text-align:left;gap:24px;color:#e0e0e1;font-family:"Work Sans";font-size:24px;line-height:32px}@media(max-width: 991.98px){.page-rwa-tokenization .token-video-container .token-video-text-container{width:100%}}.page-rwa-tokenization .token-cards-wrapper{display:flex;justify-content:center}.page-rwa-tokenization .token-cards-container{display:flex;padding:100px 40px;flex-direction:column;justify-content:center;align-items:start;gap:40px;max-width:1280px}.page-rwa-tokenization .token-cards-container .cards-title-token{color:var(--black-black-0-white, #FFF);font-family:"Work Sans";font-size:32px;font-style:normal;font-weight:700;line-height:38px}.page-rwa-tokenization .token-cards-container .benefits-section{display:flex;flex-direction:column;align-items:center;font-family:"Work Sans",sans-serif;overflow:hidden}.page-rwa-tokenization .token-cards-container .section-title{font-size:32px;color:var(--black-black-0-white, #fff);font-weight:700;line-height:38px;max-width:776px;text-align:center;margin-bottom:40px}.page-rwa-tokenization .token-cards-container .benefits-container{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:40px;width:100%;max-width:1136px}@media(max-width: 991px){.page-rwa-tokenization .token-cards-container .section-title{font-size:28px;line-height:34px}}.page-rwa-tokenization .token-cards-container .benefit-card{border-radius:8px;background-color:var(--XRPL-Black-Black-80, #232325);display:flex;flex-direction:column;justify-content:flex-start;padding:40px;height:310px;width:352px}.page-rwa-tokenization .token-cards-container .benefit-icon{min-width:40px;min-height:40px;background-size:contain;background-repeat:no-repeat}.page-rwa-tokenization .token-cards-container .benefit-icon.low-fees{background-image:url(../img/tokenization/low-fees.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.access{background-image:url(../img/tokenization/cross-chain.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.native-compliance{background-image:url(../img/tokenization/native-compliance.png)}.page-rwa-tokenization .token-cards-container .benefit-icon.delegated-token-management{background-image:url(../img/tokenization/delegated-token-management.png)}.page-rwa-tokenization .token-cards-container .benefit-title{color:var(--black-black-0-white, #fff);font-size:20px;font-weight:700;line-height:26px;margin-top:-10px}.page-rwa-tokenization .token-cards-container .benefit-description{color:var(--Black-Black-20, #e0e0e1);font-size:16px;font-weight:400;line-height:24px;margin-top:16px}@media(max-width: 991px){.page-rwa-tokenization .token-cards-container .benefit-card{padding:20px}}.page-rwa-tokenization .upcoming-events{display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:100px 40px;max-width:1200px;width:100%}.page-rwa-tokenization .upcoming-events__title{max-width:620px;align-self:stretch;color:#fff;font:700 32px/38px Work Sans,-apple-system,Roboto,Helvetica,sans-serif;margin-bottom:64px}.page-rwa-tokenization .upcoming-events__logo-container{display:flex;align-items:center;gap:60px;justify-content:center;flex-wrap:wrap}.page-rwa-tokenization .token-events-wrapper{padding-top:0px;display:flex;justify-content:center}.page-rwa-tokenization .company-logo{flex:0 0 auto;width:140px;aspect-ratio:var(--aspect-ratio);background-size:contain;background-repeat:no-repeat;background-position:center}@media(max-width: 991px){.page-rwa-tokenization .upcoming-events__title{margin-bottom:40px}.page-rwa-tokenization .upcoming-events{text-align:center}.page-rwa-tokenization .upcoming-events__logo-container{justify-content:center}}@media(max-width: 575.98px){.page-rwa-tokenization .small-100{width:100%}}.page-rwa-tokenization .company-logo{cursor:pointer;flex:0 0 auto;max-width:140px;aspect-ratio:var(--aspect-ratio);background-size:contain;background-repeat:no-repeat;background-position:center}.page-rwa-tokenization .company-logo.zoniqx{background-image:url(../img/tokenization/zoniqx.png)}.page-rwa-tokenization .company-logo.archax{background-image:url(../img/tokenization/archax.png)}.page-rwa-tokenization .company-logo.palisade{background-image:url(../img/tokenization/palisade.png)}.page-rwa-tokenization .company-logo.axiology{background-image:url(../img/tokenization/axiology.png)}.page-rwa-tokenization .company-logo.open-eden{background-image:url(../img/tokenization/open-eden.png)}.page-rwa-tokenization .company-logo.ondo{background-image:url(../img/tokenization/ondo.png)}.page-rwa-tokenization .company-logo.meld{background-image:url(../img/tokenization/meld.png)}.page-rwa-tokenization .company-logo.ripple-logo{background-image:url(../img/tokenization/ripple-logo.png)}.page-rwa-tokenization .company-logo.hidden-road{background-image:url(../img/tokenization/hidden-road.png)}.page-rwa-tokenization .company-logo{max-height:66px;max-width:100px;width:100%;height:100%}.page-rwa-tokenization .token-developer-tools-section .developer-tools{font-family:"Work Sans",sans-serif;padding:180px 0;color:#fff}.page-rwa-tokenization .token-developer-tools-section .developer-tools__header{margin-bottom:64px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__title{font-size:32px;font-weight:700;line-height:1;margin-bottom:24px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__description{font-size:16px;line-height:24px}.page-rwa-tokenization .token-developer-tools-section .developer-tools__list{list-style:none;padding:0;margin:0}.page-rwa-tokenization .token-developer-tools-section .feature-item{margin-bottom:16px;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item a:hover{text-decoration:none}.page-rwa-tokenization .token-developer-tools-section .feature-item__content{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item__content:hover .right-arrow-item::after{transform:translateX(4px)}.page-rwa-tokenization .token-developer-tools-section .feature-item__title{font-size:16px;color:#e0e0e1;cursor:pointer}.page-rwa-tokenization .token-developer-tools-section .feature-item__icon{width:24px;height:24px;object-fit:contain}.page-rwa-tokenization .token-developer-tools-section .feature-item__divider{height:1px;opacity:.3;background-color:#fff}.page-rwa-tokenization .token-developer-tools-section .developer-tools__image{width:110%;height:124%;background-image:url("../img/tokenization/graphic.png");background-size:contain;background-repeat:no-repeat;background-position:center}.page-rwa-tokenization .token-developer-tools-section .m-h-300{min-height:300px}@media(max-width: 991px){.page-rwa-tokenization .token-developer-tools-section .developer-tools{padding:50px 0}.page-rwa-tokenization .token-developer-tools-section .developer-tools__header{margin-bottom:40px}}.page-rwa-tokenization .token-features-section .rwa-tokenization{font-family:"Work Sans",sans-serif;padding:100px 40px;padding-top:0px;color:#fff}.page-rwa-tokenization .token-features-section .container{max-width:1200px;margin:0 auto}.page-rwa-tokenization .token-features-section .rwa-header{text-align:start;margin-bottom:40px}.page-rwa-tokenization .token-features-section .rwa-title{font-size:32px;font-weight:700;line-height:38px}.page-rwa-tokenization .token-features-section .cta-container{display:flex;justify-content:flex-start;gap:24px}.page-rwa-tokenization .token-features-section .btn{font-size:16px;font-weight:700;padding:8px 16px;border-radius:4px;text-decoration:none}.page-rwa-tokenization .token-features-section .btn-primary{background-color:#7919ff;color:#fff}.page-rwa-tokenization .token-features-section .btn-link{color:#9a52ff}@media(max-width: 991px){.page-rwa-tokenization .token-features-section .auto-bridge{padding:18px !important}.page-rwa-tokenization .token-features-section .rwa-tokenization{padding:50px 20px}.page-rwa-tokenization .token-features-section .feature-grid{gap:20px}.page-rwa-tokenization .token-features-section .cta-container{flex-direction:column;align-items:center}}.page-rwa-tokenization .token-features-section .feature-grid{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;margin-bottom:20px}.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 100%;max-width:100%;margin-bottom:20px;position:relative}@media(min-width: 768px){.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 calc(50% - 40px);max-width:calc(50% - 40px)}}@media(min-width: 1200px){.page-rwa-tokenization .token-features-section .feature-grid .feature-card{flex:1 0 calc(25% - 30px);max-width:calc(25% - 30px)}}.page-rwa-tokenization .token-features-section .feature-card:hover .right-arrow-item::after{transform:translateX(4px)}.page-rwa-tokenization .token-features-section .feature-header{margin-bottom:16px;position:relative}.page-rwa-tokenization .token-features-section .feature-title{display:flex;align-items:flex-start;justify-content:space-between;font-size:20px;font-weight:700;line-height:26px;color:#fff;width:100%;flex-wrap:wrap}@media(max-width: 767px){.page-rwa-tokenization .token-features-section .feature-title{padding-right:30px;flex-wrap:nowrap;justify-content:flex-start}}@media(min-width: 768px)and (max-width: 1199px){.page-rwa-tokenization .token-features-section .feature-title{flex-wrap:nowrap;padding-right:30px;justify-content:flex-start}}.page-rwa-tokenization .token-features-section .feature-icon{width:16px;height:16px;margin-left:8px}.page-rwa-tokenization .token-features-section .feature-description{font-size:16px;line-height:24px;color:#e0e0e1}.page-rwa-tokenization .max-w-1150{max-width:1150px !important}.page-rwa-tokenization .custom-gap{justify-content:start !important}.page-rwa-tokenization .mt-16{margin-top:16px}.page-rwa-tokenization .com-card{min-width:auto !important;padding:40px !important;height:fit-content;max-height:388px !important}.page-rwa-tokenization .section-padding{padding:100px 40px}.page-rwa-tokenization .card-description{min-height:96px}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{display:flex !important;flex-wrap:wrap !important;gap:40px !important;justify-content:center !important;max-width:1280px;margin:100px auto;padding:0 40px}@media(max-width: 1199px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{gap:32px;margin:80px auto}}@media(max-width: 991px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{gap:24px;padding:0 20px;margin:60px auto}}@media(max-width: 767px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty{flex-direction:column;align-items:center;gap:24px}}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{flex:1 1 calc(50% - 20px) !important;min-width:300px !important;max-width:600px !important;width:auto !important;height:auto !important;max-height:none !important;margin:0 !important}@media(max-width: 1199px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{flex:1 1 100% !important;max-width:600px !important}}@media(max-width: 991px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{max-width:500px !important}}@media(max-width: 767px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card{min-width:100% !important;max-width:100% !important;padding:32px !important}}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .card-content{height:100%;display:flex;flex-direction:column}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .card-content .card-description{flex-grow:1;min-height:auto;margin-bottom:24px}.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .card-content .card-links{margin-top:auto}@media(max-width: 991px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .top-right-img,.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .bottom-right-img{height:250px}}@media(max-width: 767px){.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .top-right-img,.page-rwa-tokenization .token-dev-resources-section .bottom-cards-section.bug-bounty .com-card .bottom-right-img{height:200px}}.page-rwa-tokenization .token-utility-section{padding-top:100px}.page-rwa-tokenization .token-utility-section .section-title{font-size:32px;font-weight:700;line-height:38px;text-align:start;margin-bottom:64px;color:#fff}.page-rwa-tokenization .token-utility-section .utility-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:40px}@media(max-width: 1199px){.page-rwa-tokenization .token-utility-section .utility-grid{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 767px){.page-rwa-tokenization .token-utility-section .utility-grid{grid-template-columns:1fr}}.page-rwa-tokenization .token-utility-section .utility-card .utility-title{font-size:20px;font-weight:700;line-height:26px;margin-bottom:16px;color:#fff}.page-rwa-tokenization .token-utility-section .utility-card .utility-description{font-size:16px;line-height:24px;color:#e0e0e1}.page-rwa-tokenization .token-utility-section .utility-card .utility-description a{color:#9a52ff;text-decoration:none}.page-rwa-tokenization .token-utility-section .utility-card .utility-description a:hover{text-decoration:underline}.json-view{display:block;color:#4d4d4d;text-align:left;--json-property:#009033;--json-index:#676dff;--json-number:#676dff;--json-string:#b2762e;--json-boolean:#dc155e;--json-null:#dc155e}.json-view .json-view--property{color:var(--json-property)}.json-view .json-view--index{color:var(--json-index)}.json-view .json-view--number{color:var(--json-number)}.json-view .json-view--string{color:var(--json-string)}.json-view .json-view--boolean{color:var(--json-boolean)}.json-view .json-view--null{color:var(--json-null)}.json-view .jv-indent{padding-left:1em}.json-view .jv-chevron{display:inline-block;vertical-align:-20%;cursor:pointer;opacity:.4;width:1em;height:1em}:is(.json-view .jv-chevron:hover, .json-view .jv-size:hover + .jv-chevron){opacity:.8}.json-view .jv-size{cursor:pointer;opacity:.4;font-size:.875em;font-style:italic;margin-left:.5em;vertical-align:-5%;line-height:1}.json-view :is(.json-view--copy, .json-view--edit),.json-view .json-view--link svg{display:none;width:1em;height:1em;margin-left:.25em;cursor:pointer}.json-view .json-view--input{width:120px;margin-left:.25em;border-radius:4px;border:1px solid currentColor;padding:0px 4px;font-size:87.5%;line-height:1.25;background:transparent}.json-view .json-view--deleting{outline:1px solid #da0000;background-color:#da000011;text-decoration-line:line-through}:is(.json-view:hover, .json-view--pair:hover)>:is(.json-view--copy, .json-view--edit),:is(.json-view:hover, .json-view--pair:hover)>.json-view--link svg{display:inline-block}.json-view .jv-button{background:transparent;outline:none;border:none;cursor:pointer;color:inherit}.json-view .cursor-pointer{cursor:pointer}.json-view svg{vertical-align:-10%}.jv-size-chevron~svg{vertical-align:-16%}.json-view_a11y{color:#545454;--json-property:#aa5d00;--json-index:#007299;--json-number:#007299;--json-string:green;--json-boolean:#d91e18;--json-null:#d91e18}.json-view_github{color:#005cc5;--json-property:#005cc5;--json-index:#005cc5;--json-number:#005cc5;--json-string:#032f62;--json-boolean:#005cc5;--json-null:#005cc5}.json-view_vscode{color:#005cc5;--json-property:#0451a5;--json-index:blue;--json-number:blue;--json-string:#a31515;--json-boolean:blue;--json-null:blue}.json-view_atom{color:#383a42;--json-property:#e45649;--json-index:#986801;--json-number:#986801;--json-string:#50a14f;--json-boolean:#0184bc;--json-null:#0184bc}.json-view_winter-is-coming{color:#0431fa;--json-property:#3a9685;--json-index:#ae408b;--json-number:#ae408b;--json-string:#8123a9;--json-boolean:#0184bc;--json-null:#0184bc}.json-view{font-family:"Space Mono",monospace;padding:1em;background:#232325;overflow:hidden;color:#f5f5f7 !important;font-size:14px;letter-spacing:0}.json-view svg{height:11px !important;color:#f5f5f7}.jv-button{color:#ff6719 !important;font-size:14px}.jv-indent{border-left:1px solid #454549;margin:4px}.json-view--boolean{color:#e50071 !important}.json-view--pair{margin:4px}.json-view--property{color:#f5f5f7 !important}.json-view--null,.json-view--undefined{display:inline-block;padding:1px 2px;border-radius:3px;background-color:#454549;color:#f5f5f7 !important;font-size:11px}.json-view--number{color:#84f0b6 !important}.json-view--string{color:#ff6719 !important}.rpc-tool .nav-link{cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:6px 9px}.dev-blog .image-container{transform:translateY(15%);z-index:1}.dev-blog .text-bg{background-color:#232325;padding:60px 40px;width:100%;border-radius:30px}@media(min-width: 992px){.dev-blog .image-container{transform:translateX(15%)}.dev-blog .text-bg{padding:50px 60px}}.dev-blog .line-clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.dev-blog #blog-purple{position:absolute;top:0px;left:0px}.dev-blog #card-date{color:#a2a2a4}.dev-blog .post-date{text-decoration:overline solid #32e685 10%}.dev-blog #category-list #general{content:url("../img/blog/general.png");max-width:100%;width:100%}.dev-blog #category-list #developer_reflections{content:url("../img/blog/developer_reflections.png");max-width:100%;width:100%}.dev-blog #category-list #amendments{content:url("../img/blog/amendments.png");max-width:100%;width:100%}.dev-blog #category-list #advisories{content:url("../img/blog/advisories.png");max-width:100%;width:100%}.dev-blog #category-list #release_notes{content:url("../img/blog/release_notes.png");max-width:100%;width:100%}.dev-blog #category-list #development{content:url("../img/blog/development.png");max-width:100%;width:100%}.dev-blog #category-list #gateway_bulletins{content:url("../img/blog/gateway_bulletins.png");max-width:100%;width:100%}.dev-blog #category-list #features{content:url("../img/blog/features.png");max-width:100%;width:100%}.dev-blog #category-list #security{content:url("../img/blog/security.png");max-width:100%;width:100%}.dev-blog #category-list .label{width:fit-content}@media(min-width: 768px)and (max-width: 991px){.dev-blog #category-list{display:block}.dev-blog #category-list img{display:block;margin-bottom:10px}.dev-blog #category-list .label{display:block !important;margin-bottom:15px}}.dev-blog .category_sidebar{position:sticky;top:132px}.dev-blog .category-checkbox{display:flex;align-items:center}.dev-blog .dropdown{position:relative;display:inline-block}.dev-blog .dropdown-btn{color:#fff;background-color:#232325;border-color:#232325;border-style:solid;border-radius:4px;padding:8px 16px;font-size:16px;cursor:pointer;text-align:start;padding-right:10px}.dev-blog .dropdown-btn img{content:url("../img/icons/chevron-arrow-down.svg");width:10px;height:13px;padding:8px}.dev-blog .dropdown-content{display:flex;align-items:start;background-color:#232325;padding:16px 8px;width:254px;height:auto;border-radius:4px}.dev-blog .category-checkbox label{font-weight:normal;font-size:14px;margin:0;padding-left:26px}.dev-blog .category-header{font-weight:normal;width:200px;color:#f5f5f7}.dev-blog label{margin:0;padding-left:8px;color:#fff}.dev-blog .blog-filter h6{font-size:16px}.dev-blog .blog-filter[type=checkbox]::before{position:relative;display:block;width:20px;height:20px;content:"";background:#111112;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.dev-blog .blog-filter[type=checkbox]::after{position:relative;display:block;top:-20px;width:20px;height:20px;content:"";background-repeat:no-repeat;background-position:center;border-radius:4px;border-width:2px;border-style:solid;border-color:#a2a2a4}.dev-blog .blog-filter[type=checkbox]:checked::before{background:#111112;border:none;border-radius:0}.dev-blog .blog-filter[type=checkbox]:checked::after{background-image:url(../img/blog/blog-check.svg);background-repeat:no-repeat;background-position:center;background-color:#7919ff;border-width:2px;border-style:solid;border-color:#7919ff;border-radius:4px}.dev-blog .blog-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/blog/blog-check.svg);background-repeat:no-repeat;background-position:center;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}.dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::before{background:#111112;border:none;border-radius:0}.dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::after{background:#111112;border:none;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}#feedback-content .docked-widget{border:none !important;background-color:transparent !important;position:static !important;box-shadow:none !important;width:auto !important}#feedback-content .widget-form-wrapper{position:static !important;box-shadow:none !important;display:block;background-color:#232325 !important;border-width:0 !important;padding:24px !important;border-radius:8px !important}#feedback-content .widget-form-wrapper div{background-color:#232325 !important}#feedback-content .widget-form-wrapper textarea{background-color:#fff !important;opacity:1 !important;border:none !important;border-radius:4px !important;margin:0 !important;width:100% !important;color:#000 !important}#feedback-content .widget-form-wrapper .widget-header-title{background:none !important;flex-grow:0 !important;padding-right:1rem !important;height:auto !important;padding:0 !important;margin-bottom:10px !important}#feedback-content .widget-form-wrapper .widget-header-footer{background:none !important}#feedback-content .widget-form-wrapper .widget-form-footer{padding-right:0 !important}#feedback-content .widget-form-wrapper .submit{background-color:#7919ff !important;font-weight:bold !important;color:#fff !important;border:none !important;border-color:transparent !important;border-radius:4px !important;margin:0 !important;margin-top:8px !important}#feedback-content .widget-form-wrapper .submit:hover{background:#5f00e5 !important}#feedback-content .widget-form-wrapper .submit.disabled,#feedback-content .widget-form-wrapper .submit[disabled=disabled]{background-color:#4a00b2 !important}#feedback-content .widget-form-wrapper .submit.disabled:hover,#feedback-content .widget-form-wrapper .submit[disabled=disabled]:hover{background-color:#4a00b2 !important}#feedback-content .widget-form-wrapper .cancel{margin:0 !important;margin-top:8px !important;color:#b480ff !important;font-weight:600 !important}#feedback-content #closeFeedback{display:none}#feedback-content .widget-helpful .widget-header{background-color:#232325 !important;border-radius:8px !important}#feedback-content .widget-helpful .widget-header-title{color:#fff !important}.video-image{transition:all .35s ease-out;cursor:pointer}.video-image:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}#video-overlay{position:fixed;top:0;left:0;z-index:1190;height:100%;width:100%;background:#fff;opacity:.6;display:none}#video{display:none;position:fixed;top:10%;left:15%;width:70%;z-index:1200}#video-container{position:relative;top:50%;left:50%;-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%);max-width:982px;padding:0 20px}#videoWrapper{position:absolute;top:0;left:0;height:calc(90vh - 100px);width:80vw}#videoWrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}#video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-external-link{color:#9a52ff;font-weight:600}.video-external-link::after{content:" ";background-image:url(../img/icons/arrow-up-right.svg);background-repeat:no-repeat;display:inline-block;background-size:24px;padding:9px 4px 0 8px;width:2rem;background-position:left 8px bottom 0px;transition:background-position 100ms ease-in-out}.video-external-link.video-external-link:hover::after{background-position:left 12px bottom 8px}.video-title{line-height:1.2}@media(min-width: 768px){.video-title{font-size:1rem}}@media(max-width: 768px){.page-community .sm-align-items-start{align-items:start !important}}.page-community .numbers-animation{width:218px;height:96px}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.page-community .bounce-arrow{animation:bounce 1.5s infinite;animation-timing-function:ease-in-out;height:26px;width:26px;position:relative;top:24px}.page-community .m-gif{height:108px}.page-community .middle-image{margin:0 auto;height:35px}.page-community .bg-hero{width:100%;height:635px}.page-community #center-image{cursor:pointer}.page-community .gradient-num-three{background:linear-gradient(35deg, #84F0B6 -0.3%, #B480FF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .middle-image-two{margin:0 auto;height:52px}.page-community .gradient-num-two{background:linear-gradient(35deg, #EA80FF -0.3%, #80CCFF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .gradient-num{background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent}.page-community .surround-gradient{background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .surround-gradient-two{background:linear-gradient(35deg, #EA80FF -0.3%, #80CCFF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .surround-gradient-three{background:linear-gradient(35deg, #84F0B6 -0.3%, #B480FF 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:40px;font-weight:400}.page-community .main-title{color:var(--black-black-0, #FFF);text-align:center;font-family:Work Sans;font-size:62px;font-style:normal;font-weight:700;line-height:70px}@media(max-width: 768px){.page-community .main-title{font-size:42px;line-height:52px;text-align:left}}.page-community .get-funding-btn{width:90%;margin:0 auto}@media(max-width: 768px){.page-community .cd-none-sm{display:none !important}}@media(min-width: 769px){.page-community .cd-none-lg{display:none !important}}.page-community .icon-date{padding-right:4px;content:url(../img/events/event-date.svg)}.page-community .icon-location{padding-right:4px;content:url(../img/events/event-location.svg)}.page-community .builders-wrap{white-space:nowrap}@media(min-width: 768px){.page-community .builders-wrap{white-space:normal}}.page-community #community-table{padding:20px 93px;max-width:1280px;margin:0 auto;border-radius:5px;padding-top:165px}@media(min-width: 992px){.page-community #community-table{padding-top:512px}}@media(max-width: 768px){.page-community #community-table{margin:0;padding:20px;margin-top:100px !important}}.page-community .eyebrow-convo{text-align:start;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:26px;padding-bottom:5px}.page-community .final-tr{border:none !important}.page-community #community-table h4{text-align:start;margin:10px 0;font-family:Work Sans;font-size:32px;font-style:normal;font-weight:700;line-height:38px}.page-community #community-table table{width:100%;margin-top:31px;border-collapse:collapse}.page-community #community-table tr{padding:10px 10px;border-bottom:1px solid #343437}.page-community #community-table td{overflow:hidden;max-width:34vw;position:relative;vertical-align:middle}.page-community .scrolling-text{display:inline-block}.page-community #community-table img{max-width:52px;height:29px}.page-community .td-img{padding:10px;width:69px}.page-community .td-img .discord-icon{content:url(../img/community/ic_discord.png)}.page-community .td-img .twitter-icon{content:url(../img/community/ic_twitter.png)}.page-community .td-img .youtube-icon{content:url(../img/community/ic_youtube.png)}.page-community .td-img .xrpl-icon{content:url(../img/community/ic_xrpl.png)}.page-community .td-img .github-icon{content:url(../img/community/ic_github.png)}.page-community .td-img .stackoverflow-icon{content:url(../img/community/ic_stackoverflow.png)}.page-community .text-external-link{display:inline-flex;align-items:center;margin-left:10px}.page-community .external-link-contribute{display:inline-block;vertical-align:middle;padding-right:41px;height:16px;background:url(../img/icons/arrow-up-right.svg) no-repeat center center;transition:transform .3s ease}.page-community .text-external-link:hover .external-link-contribute{transform:translate(5px, -5px)}.page-community table td{position:relative;padding-right:25px}.page-community table td .text-external-link{position:absolute;right:5px;top:50%;transform:translateY(-50%)}@media(max-width: 768px){.page-community #community-table img{width:96px;height:29px}.page-community #community-table{width:100%}.page-community .td-img{min-width:60px}}.page-community .funding-text{color:var(#FFFFFF);font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:44px;padding-bottom:4px}.page-community .xrpl-events-section{padding:50px 40px;margin:100px auto;display:flex;justify-content:space-around;align-items:center;max-width:1280px}@media screen and (max-width: 768px){.page-community .xrpl-events-section{flex-direction:column;align-items:start}.page-community .xrpl-events-section .header-div{text-align:center}.page-community .xrpl-events-section .header{display:flex;flex-direction:column;align-items:start}.page-community .xrpl-events-section .header h6{margin-bottom:.5rem;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:28px}.page-community .xrpl-events-section .header h4{font-family:Work Sans;font-size:28px;font-style:normal;font-weight:700;line-height:34px}.page-community .xrpl-events-section .description{text-align:start;margin-top:2rem;font-family:Work Sans;font-size:24px;font-style:normal;font-weight:500;line-height:28px}.page-community .xrpl-events-section .view-all-events-btn{float:left}.page-community .xrpl-events-section .upcoming-event{text-align:start;margin-top:2rem;padding:1rem 0}.page-community .xrpl-events-section .upcoming-event .days-count{margin-bottom:1rem}}.page-community .xrpl-events-section .header-div{padding-top:27px}.page-community .xrpl-events-section .header h6{padding-left:1.5px;font-family:"Work Sans",sans-serif;font-size:20px;font-weight:700;color:var(--black-black-0, #FFF);text-align:start}.page-community .xrpl-events-section .header h4{text-align:start;font-family:"Work Sans",sans-serif;font-size:32px;font-weight:700;color:var(--black-black-0, #FFF)}.page-community .xrpl-events-section .description{font-family:"Work Sans",sans-serif;font-size:20px;font-weight:500;max-width:444px;color:var(--black-black-10-gray-200, #E0E0E1);line-height:32px}.page-community .xrpl-events-section .view-all-events-btn{display:inline-block;margin-top:1rem}.page-community .xrpl-events-section .upcoming-event{margin-top:2rem}.page-community .xrpl-events-section .upcoming-event .upcoming-label{position:relative;top:7px;font-family:"Work Sans",sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--black-black-30, #C1C1C2)}.page-community .xrpl-events-section .upcoming-event .days-count{font-weight:300;margin-bottom:21px;line-height:99px;font-size:88px;background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.page-community .xrpl-events-section .upcoming-event .days-word{vertical-align:bottom;font-weight:normal;margin-bottom:21px;line-height:99px;font-size:40px;background:linear-gradient(35deg, #B480FF -0.3%, #FFAA80 99.7%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}.page-community .xrpl-events-section .upcoming-event h5{font-family:"Work Sans",sans-serif;font-size:16px;font-weight:700;color:var(--black-black-10, #F5F5F7)}.page-community .xrpl-events-section .upcoming-event .event-details,.page-community .xrpl-events-section .upcoming-event .event-location{font-family:"Work Sans",sans-serif;font-size:12px;font-weight:600;color:var(--black-black-30, #C1C1C2)}.page-community .community-funding{display:flex;flex-wrap:wrap;justify-content:space-between;max-width:1280px;margin:100px auto;padding-right:54px;padding-left:73px;margin-top:120px}.page-community .funding-section{flex:1;padding:20px;color:var(--black-black-0)}.page-community .small-text{color:var(--black-black-30, #C1C1C2);font-family:Work Sans;font-size:12px;font-style:normal;font-weight:600;line-height:16px;text-transform:uppercase;padding-left:11px;text-align:start}.page-community .funding-section h2{font-size:32px;font-weight:700;line-height:38px;margin-top:10px;margin-bottom:40px}.page-community .funding-section p{color:var(--black-black-20);font-size:24px;font-weight:500;line-height:32px;margin-bottom:40px}.page-community .stats{flex:1;display:flex;justify-content:space-between}@media(max-width: 768px){.page-community .stats{flex-direction:column;align-items:start;text-align:start;padding-left:7px}}.page-community .stacked-stats{display:flex;flex-direction:column;justify-content:space-between}.page-community .stat{align-self:center;text-align:center;margin:0 auto;display:flex;flex-direction:column}@media(max-width: 768px){.page-community .stat{margin:0px;text-align:start;align-self:start}}.page-community .number{opacity:1;font-size:88px;display:flex;padding:10px;align-items:center;line-height:96px;font-weight:300}@media screen and (max-width: 768px){.page-community .community-funding{flex-direction:column-reverse;padding-left:16px;padding-right:16px}.page-community .funding-section,.page-community .stats{width:100%}}.page-community .carousel{position:relative;width:1280px;margin:0 auto;margin-top:106px;max-width:100%}.page-community .carousel .flex-align{display:flex;align-items:center}@media(max-width: 768px){.page-community .carousel{width:100%}}.page-community .center-image-wrapper{position:relative;width:552px;height:314px}@media(max-width: 1118px){.page-community .center-image-wrapper{width:55%;height:auto}}@media(max-width: 768px){.page-community .center-image-wrapper{margin:0 auto;width:86%}}.page-community .image-container{display:flex;justify-content:space-around;align-items:center;overflow:hidden}.page-community .image-container img{max-width:100%;transition:transform .7s ease-in-out,opacity .7s ease-in-out}.page-community #center-image{width:100%}.page-community #left-image,.page-community #right-image{width:252px;height:144px;opacity:.7}@media(max-width: 1118px){.page-community #left-image,.page-community #right-image{width:15%;height:auto}}@media(max-width: 768px){.page-community #left-image,.page-community #right-image{display:none;margin:0}}.page-community #left-image.exit,.page-community #right-image.exit{transform:translateX(-100%);opacity:0}.page-community #left-image.enter,.page-community #right-image.enter{transform:translateX(100%);opacity:0}.page-community #center-image.exit{transform:scale(0.8);opacity:0}.page-community #center-image.enter{transform:scale(1);opacity:1}.page-community .nav-btn{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;background:none;border:none;cursor:pointer}.page-community #prev-btn{left:0}.page-community #next-btn{right:0}.page-community .event-info{position:absolute;bottom:10px;left:32px;display:flex;flex-direction:column;gap:4px}@media(max-width: 768px){.page-community .event-info{left:7px}}.page-community .event-info span{color:#fff;font-family:Work Sans;font-size:12px;font-style:normal;font-weight:600;line-height:16px}.page-community .event-info .name{padding-bottom:5px;color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:24px}.page-community .arrow-wrapper{display:flex;justify-content:center;padding-top:24px}.page-community :root{--black-black-0: #FFF;--black-black-10: #F5F5F7;--black-black-30: #C1C1C2}.page-community .community-spotlight-wrapper{display:flex;padding:20px;max-width:1280px;min-height:582px;margin:100px auto;gap:48px;padding-right:54px;padding-left:73px}.page-community .community-spotlight{flex:1;display:flex;flex-direction:column;padding-right:10px}.page-community .projects-wrapper{flex:1;position:relative;display:flex;justify-content:center;gap:48px}@media(max-width: 768px){.page-community .projects-wrapper{gap:48px}}.page-community .project-card{background-color:transparent;border-radius:4px;height:fit-content;width:252px;max-height:456px}@media(max-width: 768px){.page-community .project-card{width:99%}}.page-community .project-card.bottom-right{align-self:end}.page-community .card-image{border-radius:4px;height:144px;width:252px;background-color:#2c2b2b;display:flex;align-items:center}.page-community .spotlight-title,.page-community .project-title{color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:16px}.page-community .spotlight-subtitle{color:var(--black-black-10, #F5F5F7);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:700;line-height:16px}.page-community .project-description{color:var(--black-black-30, #C1C1C2);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.page-community .card-details{background-color:transparent;display:flex;flex-direction:column;text-align:start;padding:15px;height:fit-content}.page-community .view-project{color:var(--blue-purple-blue-purple-50, #7919FF);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:16px;cursor:pointer;text-decoration:none}@media(max-width: 1076px){.page-community .project-card.bottom-right{align-self:auto}.page-community .community-spotlight-wrapper{flex-direction:column;align-items:center;margin-left:0px;padding-right:26px;padding-left:26px}.page-community .community-spotlight,.page-community .projects-wrapper{width:100%;margin:0;padding:0}.page-community .projects-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;position:static}.page-community .card-image{width:100%}.page-community .card-details{gap:16px;margin-top:10px}.page-community .project-card{position:static;margin:20px 0;height:fit-content}}.page-community .w-222{width:222px}.page-community .bottom-cards-section .com-card .card-content{display:flex;flex-direction:column;justify-content:space-between;gap:16px;position:relative;z-index:1;height:100%}.page-community .bottom-cards-section .com-card{border-radius:8px;padding:36px;background:#232325;min-width:352px;height:442px;max-width:352px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.page-community .bottom-cards-section.bug-bounty{justify-content:space-around}.page-community .bottom-cards-section.bug-bounty .com-card{min-width:559px;max-width:559px;height:442px}.page-community .pr-bt16{position:relative;bottom:16px}.page-community .pr-bt28{position:relative;bottom:28px}.page-community .bottom-cards-section{display:flex;flex-direction:row;justify-content:space-around;gap:48px;max-width:1280px;margin:70px auto}.page-community .bottom-cards-section .com-card{padding:36px;background:#232325;min-width:352px;height:442px;max-width:352px;position:relative}.page-community .bottom-cards-section .com-card .top-left-img{position:absolute;top:0;height:292px;left:0;content:url(../img/community/card-bg-1.svg)}.page-community .bottom-cards-section .com-card .top-right-img.bug-bounty-card-bg{content:url(../img/community/bug-bounty-card-bg.png)}.page-community .bottom-cards-section .com-card .bottom-right-img.bug-bounty-card-bg-2{content:url(../img/community/bug-bounty-card-bg-2.png)}.page-community .bottom-cards-section .com-card .bottom-right-img{position:absolute;bottom:0;right:0;height:333px;content:url(../img/community/card-bg-2.svg)}.page-community .bottom-cards-section .com-card .top-right-img{height:390px;position:absolute;top:0;right:0;content:url(../img/community/card-bg-3.svg)}.page-community .bottom-cards-section .com-card .card-content{display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}.page-community .bottom-cards-section .com-card .card-content .card-title{margin-bottom:0px !important;color:var(--black-black-0-white, #FFF);white-space:nowrap;font-family:Work Sans;font-size:20px;font-style:normal;font-weight:700;line-height:26px}.page-community .bottom-cards-section .com-card .card-content .card-subtitle{color:var(--black-black-0, #FFF);font-family:Work Sans;font-size:24px;font-style:normal;font-weight:700;line-height:32px;margin-top:2px}.page-community .bottom-cards-section .com-card .card-content .card-description{color:var(--black-black-20, #E0E0E1);font-family:Work Sans;font-size:16px;font-style:normal;font-weight:400;line-height:24px;margin-top:15px;margin-bottom:15px}.page-community .bottom-cards-section .com-card .card-content .card-description a{color:#9a52ff}.page-community .bottom-cards-section .com-card .card-content .card-links{display:flex;flex-direction:column;gap:8px}.page-community .bottom-cards-section .com-card .card-content .com-card-link{text-decoration:none;cursor:pointer;color:#9a52ff;font-family:Work Sans;font-size:16px;font-style:normal;font-weight:600;line-height:24px}@media(max-width: 767.98px){.page-community .bottom-cards-section .com-card .card-content .com-card-link{display:block;width:100%}}.page-community .bottom-cards-section .com-card .card-content .com-card-link::after{display:inline-block;content:url(../img/icons/arrow-right-purple.svg);position:relative;top:1px;vertical-align:middle;padding-left:8px;-webkit-transition:transform .3s ease-out;-moz-transition:transform .3s ease-out;-ms-transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out}.page-community .bottom-cards-section .com-card .card-content .com-card-link:hover{border:none}.page-community .bottom-cards-section .com-card .card-content .com-card-link:hover::after{-webkit-transform:translateX(4px);-moz-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}@media(max-width: 768px){.page-community .pr-bt28{position:relative;bottom:0px}.page-community .pr-bt16{position:relative;bottom:0px}.page-community .bottom-cards-section{flex-direction:column;align-items:center;padding:20px}.page-community .bottom-cards-section.bug-bounty{justify-content:space-around}.page-community .bottom-cards-section.bug-bounty .com-card{min-width:352px;height:fit-content;max-width:352px}.page-community .bottom-cards-section .com-card{margin-bottom:20px;display:block;width:100%}}.page-community .num-separator{width:32px;height:1px;background:var(--black-black-70, #343437);margin-bottom:32px;margin-top:1px}.page-community .stat-separator{width:32px;height:1px;background:var(--black-black-70, #343437);margin-bottom:32px;margin-top:8px}.page-community .ml-8{margin-left:8px}.page-community .ml-19{margin-left:19px}.page-community .ml-14{margin-left:11px}.page-community .header-div .header{gap:10px;display:flex;flex-direction:column;padding-bottom:35px}.page-community .spotlight-subtitle{font-size:32px;font-weight:700;line-height:38px;margin-top:10px;margin-bottom:40px}.page-community .spotlight-description{color:var(--black-black-20);font-size:24px;font-weight:500;line-height:32px;margin-bottom:40px}.sdk-img{align-self:center}.light .sdk-img{content:url(../img/graphics/sdk-white.png)}.light .ref-book-illustration{content:url(../img/graphics/ref-book-light.png)}.light .tutorial-illustration{content:url(../img/graphics/tutorials-illustration-light.png)}.light .concepts-doc-illustration{content:url(../img/graphics/concepts-docs-light.png)}.light .use-cases .wallet-illustration{content:url(../img/graphics/wallet-light.svg)}.light .use-cases .token-illustration{content:url(../img/graphics/tokens-light.png)}.light .use-cases .connections-illustration{content:url(../img/graphics/nodes-light.svg)}.light .quickstart-image{content:url(../img/graphics/getting-started-pages-light.png)}.light .dev-tools-img{content:url(../img/graphics/dev-tools-light.svg)}.light .dev-tools-link:hover p{color:#000}.dark .sdk-img{content:url(../img/graphics/sdk-black.png)}.dark .ref-book-illustration{content:url(../img/graphics/ref-book.png)}.dark .tutorial-illustration{content:url(../img/graphics/tutorials-illustration.png)}.dark .concepts-doc-illustration{content:url(../img/graphics/concepts-doc.png)}.dark .use-cases .wallet-illustration{content:url(../img/graphics/wallet-dark.png)}.dark .use-cases .token-illustration{content:url(../img/graphics/tokens-dark.png)}.dark .use-cases .connections-illustration{content:url(../img/graphics/nodes-dark.png)}.dark .quickstart-image{content:url(../img/graphics/getting-started-pages-dark.svg)}.dark .dev-tools-img{content:url(../img/graphics/dev-tools-dark.png)}.dark .dev-tools-link:hover p{color:#fff}.dark .flat-card-grid .nav-link:hover{color:#e0e0e1}.get-started-img,.flat-card{max-width:100%;max-height:100%}.faded-text{font-family:"Work Sans";font-style:normal;font-weight:400;font-size:15.5667px;line-height:23px}.page-docs-index section{padding-top:64px;padding-bottom:64px}.page-docs-index .dev-tools-link h6::before{margin-top:-20px;height:20px}.page-docs-index .dev-tools-link h6:hover{text-decoration:underline;text-decoration-color:#9a52ff;background:none !important}.page-docs-index .dev-tools-link:hover p{text-decoration:none !important;background:none !important;display:inline-block}.page-docs-index .dev-tools-link a:hover{color:#9a52ff;text-decoration:none !important}.page-docs-index .dev-tools-link .btn-arrow::after{content:url(../img/icons/arrow-right-purple.svg);width:1.5rem;height:1.5rem}.page-docs-index .langs>a{display:block}.page-docs-index .langs h5:hover{text-decoration:underline;text-decoration-color:#9a52ff;background:none !important}.page-docs-index .langs a:hover{text-decoration:none !important}.page-docs-index .langs .btn-arrow::after{content:url(../img/icons/arrow-right-purple.svg);vertical-align:baseline;width:1.5rem;height:1.5rem}.page-docs-index .langs h5{margin-block-start:0 !important}.page-docs-index .langs h5::before{margin-top:0;height:0}.page-docs-index h1{font-size:3.875rem}.page-docs-index .arrow-purple::after{content:url(../img/icons/arrow-right-purple.svg)}.page-docs-index .documentation-index:hover,.page-docs-index .documentation-index::after{color:#9a52ff;text-decoration:none !important;background:none !important}@media(max-width: 765px){.page-docs-index h1{font-size:3rem}.page-docs-index .flat-card-grid{grid-gap:24px}.page-docs-index .flat-card-grid .flat-card{padding:32px 12px}.page-docs-index::before{display:none}}#langs-cards{grid-gap:40px}@media(max-width: 991.98px){.page-docs-index .langs-cards{grid-template-columns:1fr 1fr;grid-auto-rows:auto}}.dev-tools-img{max-width:100%;max-height:100%;margin:auto}.page-docs .h4::before{margin-top:0;height:0}.page-docs .row{margin-right:0;margin-left:0}.page-docs .video-grid{grid-gap:35px}.page-docs .title-space{margin-bottom:16px}.page-docs .circled-logo{margin-left:.1rem}.flat-card-grid{grid-gap:15px;max-width:100%;min-height:384px}.flat-card-grid .flat-card{padding:32px 50px;height:100%;width:100%;box-shadow:none}.flat-card-grid .flat-card-padding{margin-bottom:75px}.flat-card-grid img{width:auto;height:115px;margin-left:auto;margin-right:auto}.flat-card-grid .nav-link{border:none !important}.flat-card-grid .nav-link:hover{text-decoration:underline;text-decoration-color:#9a52ff}.flat-card-grid .nav-link::after{content:none !important}@media(max-width: 991.98px){.flat-card-grid .flat-card-padding{margin-bottom:0}.flat-card-grid .nav-link::after{content:" " !important}.flat-card-grid .flat-card .btn{display:none}}.float-up-on-hover{transition:all .35s ease-out;cursor:pointer}.float-up-on-hover:hover{-webkit-transform:translateY(-16px);-moz-transform:translateY(-16px);-ms-transform:translateY(-16px);-o-transform:translateY(-16px);transform:translateY(-16px)}.float-up-on-hover .video-image:hover{-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}@media(min-width: 992px){.align-button-on-bottom .btn-primary{position:absolute;bottom:0}}.center-image{display:flex;justify-content:center}.quickstart-card .quickstart-image{margin-left:-20px;margin-right:-20px;margin-bottom:-20px}@media(min-width: 992px){.quickstart-card{margin-left:-32px;margin-right:-32px;margin-bottom:-32px;width:calc(100% + 64px)}}.explore-links .card-grid{grid-gap:40px}.full-documentation-link{margin-top:-35px}button.MarkpromptFloatingTrigger{bottom:4.5rem;border-radius:4px;right:16px;border:1px solid transparent;color:var(--markprompt-primaryForeground);background-color:var(--markprompt-primary)}@media(min-width: 992px){button.MarkpromptFloatingTrigger{right:32px}}html.light .MarkpromptContentDialog a{color:#7919ff}html.light .MarkpromptContentDialog h3:not(.chip){color:#000}.MarkpromptExtendedFeedbackTextInput{background-color:#fff;color:#000}.MarkpromptOverlay{z-index:20}.MarkpromptContentDialog{z-index:10000}.osano-cm-close{box-sizing:content-box !important}.osano-cm-switch{box-sizing:content-box !important}.osano-cm-widget{right:16px;width:50px;height:50px;border:1px solid transparent}@media(min-width: 992px){.osano-cm-widget{right:32px}}html.light article p code,html.light article table code,html.light article li>code{background-color:#e0e0e1;color:#111112}html.light body{background-color:#f5f5f7;color:#000}html.light #topnav-theme .custom-theme-toggle .custom-control-label::before{background-color:transparent;background-position:bottom right;transform:rotate(-15deg)}html.light h1:not(.chip),html.light h2:not(.chip),html.light h3:not(.chip),html.light h4:not(.chip),html.light h5:not(.chip),html.light h6:not(.chip),html.light .h1:not(.chip),html.light .h2:not(.chip),html.light .h3:not(.chip),html.light .h4:not(.chip),html.light .h5:not(.chip),html.light .h6:not(.chip){color:#000}html.light h1.green-500,html.light h2.green-500,html.light h3.green-500,html.light h4.green-500,html.light h5.green-500,html.light h6.green-500,html.light .h1.green-500,html.light .h2.green-500,html.light .h3.green-500,html.light .h4.green-500,html.light .h5.green-500,html.light .h6.green-500{color:#28b86a;text-shadow:#fff 0 0 2px,#fff -1px -1px 2px,#fff 1px 1px 2px}html.light .bg-grey-800{background-color:#fcfcfd}html.light .grey-400{color:#454549}html.light .text-muted{color:#232325 !important}html.light .longform{color:#232325}html.light .numbers{color:#000}html.light .stat-highlight,html.light .eyebrow{color:#111112}html.light .invertible-img{filter:invert(100%)}html.light .arrow-link::after{content:url("../img/lightmode/icon-long-arrow.svg")}html.light .search .input-group-text,html.light .input-group .input-group-text,html.light .form-group .input-group-text{background-color:#e0e0e1;color:#232325}html.light .search label .input-group-text,html.light .search .form-control:not(.btn),html.light .input-group label .input-group-text,html.light .input-group .form-control:not(.btn),html.light .form-group label .input-group-text,html.light .form-group .form-control:not(.btn){color:#000;background-color:#e0e0e1;border-color:#e0e0e1}html.light .search .ds-input,html.light .input-group .ds-input,html.light .form-group .ds-input{color:#000;background-color:#e0e0e1;border-color:#e0e0e1}html.light .search .ds-input:focus,html.light .input-group .ds-input:focus,html.light .form-group .ds-input:focus{border-color:#9a52ff}html.light .list-group-item{border-color:#232325;background-color:#f5f5f7}html.light .list-group-item.disabled{color:#a2a2a4}html.light .progress{background-color:#e0e0e1}html.light [data-component-name="Search/SearchIcon"]>path{fill:#000}html.light a,html.light nav a,html.light a:not([role=button]){color:#000}html.light a.btn-primary,html.light nav a.btn-primary,html.light a:not([role=button]).btn-primary{color:#fff}html.light a.btn-primary:hover,html.light nav a.btn-primary:hover,html.light a:not([role=button]).btn-primary:hover{color:#fff}html.light a:hover,html.light a:active,html.light a.active,html.light nav a:hover,html.light nav a:active,html.light nav a.active,html.light a:not([role=button]):hover,html.light a:not([role=button]):active,html.light a:not([role=button]).active{color:#7919ff}html.light a:not(.btn):focus,html.light nav a:not(.btn):focus,html.light a:not([role=button]):not(.btn):focus{background-color:transparent}html.light a.card:hover,html.light:active,html.light.active{color:#000}html.light .landing-table tbody td{color:#232325}html.light .btn-outline-secondary,html.light article a.button,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary{color:#111112;border-color:#111112}html.light .btn-outline-secondary:not(:disabled):not(.disabled):hover,html.light .btn-outline-secondary:not(:disabled):not(.disabled):active,html.light article a.button:not(:disabled):not(.disabled):hover,html.light article a.button:not(:disabled):not(.disabled):active,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary:not(:disabled):not(.disabled):hover,html.light .navbar-dark .navbar-nav .nav-link.btn-outline-secondary:not(:disabled):not(.disabled):active{color:#9a52ff;border-color:#9a52ff;background-color:transparent}html.light .breadcrumb{background:#f5f5f7}html.light .breadcrumb-item a{color:#454549}html.light .breadcrumb-item a:hover{color:#9a52ff}html.light .top-nav{background:#f5f5f7}html.light .top-nav #topnav-pages .nav-link{color:#000}html.light .top-nav .navbar-brand .logo{content:url(../img/XRPLedger_DevPortal-black.svg);height:40px}html.light .top-nav #dropdown-hero-for-docs>img{content:url(../img/icons/lightmode/docs.svg)}html.light .top-nav #dropdown-hero-for-community>img{content:url(../img/icons/lightmode/contribute.svg)}html.light .top-nav .dropdown-menu{background-color:#f5f5f7;border-color:#f5f5f7;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .top-nav .dropdown-menu a:hover,html.light .top-nav .dropdown-menu a.active{color:#7919ff}html.light .top-nav .dropdown-menu .dropdown-item.dropdown-hero>img{background-color:#fcfcfd}html.light .top-nav .dropdown-menu .dropdown-item.dropdown-hero p{color:#343437}html.light .top-nav .dropdown-menu .dropdown-item.active{color:#7919ff}html.light .top-nav .dropdown-menu h5{color:#454549}html.light .top-nav .dropdown-menu .col-for-get_started{background-color:#e0e0e1}html.light .top-nav #topnav-button{background-color:#e0e0e1}@media(max-width: 991.98px){html.light .top-nav .navbar-toggler .navbar-toggler-icon::after,html.light .top-nav .navbar-toggler .navbar-toggler-icon::before,html.light .top-nav .navbar-toggler .navbar-toggler-icon div{background-color:#111112}html.light .top-nav .navbar-nav .nav-link,html.light .top-nav .navbar-collapse>.nav-item{background:#e0e0e1}html.light .top-nav #top-main-nav{background-color:#c1c1c2}}html.light aside .sidenav_cat_title{color:#000}html.light .page-toc .level-1 a,html.light .command-list .separator{color:#000}html.light aside a:hover,html.light aside .sidenav_cat_title:hover,html.light aside a.active,html.light aside a.active:hover,html.light aside .active>a,html.light aside .active>a:hover{color:#7919ff}html.light .dactyl-tree-nav nav{border-left:1px solid #000}html.light .dactyl-tree-nav nav .nav-link:hover,html.light .dactyl-tree-nav nav .nav-link:active{border-left-color:#7919ff}html.light .dactyl-tree-nav nav .active>.nav-link{border-left-color:#7919ff}html.light .page-toc,html.light .command-list{border-left:1px solid #000}html.light .page-toc .level-3,html.light .command-list .level-3{border-left:1px solid #000}html.light .page-toc li a:hover,html.light .page-toc li a .active,html.light .command-list li a:hover,html.light .command-list li a .active{border-left-color:#7919ff}html.light .footer-brand .logo{filter:invert(100%)}html.light .copyright-license{text-shadow:#fff 0px 0px 2px,#fff 1px 1px 2px,#fff 2px 2px 3px,#fff 2px 2px 4px,#fff 2px 2px 5px,#fff 2px 2px 6px,#fff -1px -1px 2px,#fff -2px -2px 3px,#fff -2px -2px 4px}html.light a.osano-cm-link{color:#fff}html.light article .card,html.light .landing .card,html.light .cta-card,html.light aside .card{color:#000;background-color:#fcfcfd;box-shadow:0px 5px 20px 0px #c1c1c2}html.light #code-samples-deck .card{box-shadow:0px 5px 20px 0px #c1c1c2}html.light #code-samples-deck .card-header{border-bottom:none;background-color:#fcfcfd}html.light #code-samples-deck .card-footer{background-color:#fcfcfd}html.light .page-faq.landing-builtin-bg::before,html.light .mini-faq.landing-builtin-bg::before{opacity:.6}html.light .page-faq .q-wrapper,html.light .mini-faq .q-wrapper{background-color:#fcfcfd;color:#000;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .page-faq .q-wrapper>h4 a.expander:hover,html.light .mini-faq .q-wrapper>h4 a.expander:hover{color:#000}html.light .page-community .com-card{background:#fff}html.light .page-community .project-description{color:#343437}html.light .page-community #platform-stack-overflow{content:url("../img/logos/lightmode/stack-overflow.svg")}html.light .page-community #platform-discord{content:url("../img/logos/lightmode/discord.svg")}html.light .status.not_enabled{color:#aeb200}html.light .pg-category{color:#454549}html.light .landing .nav .nav-link{color:#232325;border-bottom-color:#c1c1c2}html.light .landing .circled-logo{background-color:#e0e0e1}html.light .landing .circled-logo img[src="assets/img/logos/globe.svg"]{filter:invert(100%)}html.light .landing p a,html.light .landing .longform a{color:#7919ff}html.light .devportal-callout.caution,html.light .devportal-callout.注意{border-color:#aeb200}html.light .devportal-callout.caution>strong:first-child::before,html.light .devportal-callout.注意>strong:first-child::before{color:#aeb200}html.light .devportal-callout.tip,html.light .devportal-callout.ヒント{border-color:#2dcf78}html.light .devportal-callout.tip>strong:first-child::before,html.light .devportal-callout.ヒント>strong:first-child::before{color:#2dcf78}html.light code{color:#000}html.light pre code,html.light pre{background-color:#e0e0e1}html.light .multicode a{color:#000}html.light .multicode a.current{color:#fff}html.light .multicode a:hover{text-decoration:none;background-color:#e0e0e1;color:#fff}html.light .multicode a:focus{background-color:#232325}html.light .codehilite .btn-outline-secondary{background-color:#232325;color:#f5f5f7;border-color:#f5f5f7}html.light .interactive-block .breadcrumb-item.done a::after{color:#145c35}html.light .modal-content{background-color:#fcfcfd}html.light .rpc-tool pre .toggle{color:#fff}html.light .rpc-tool pre .toggle:hover{color:#b480ff}html.light .page-home #home-hero-graphic{content:url("../img/lightmode/home-hero.svg")}html.light .page-home #benefits-list #public{content:url("../img/icons/lightmode/public.svg")}html.light .page-home #benefits-list #streamlined{content:url("../img/icons/lightmode/streamlined.svg")}html.light .page-home #benefits-list #performance{content:url("../img/icons/lightmode/performance.svg")}html.light .page-home #benefits-list #low-cost{content:url("../img/icons/lightmode/low-cost.svg")}html.light .page-home #benefits-list #community{content:url("../img/icons/lightmode/community.svg")}html.light .page-home #benefits-list #reliability{content:url("../img/icons/lightmode/reliability.svg")}html.light #validator-graphic{content:url("../img/lightmode/validators.svg")}html.light #wallets #wallet-xumm{content:url("../img/wallets/lightmode/xumm.svg")}html.light #wallets #wallet-bitfrost{content:url("../img/wallets/lightmode/bitfrost.png")}html.light #wallets #wallet-towo{content:url("../img/wallets/lightmode/towo.svg")}html.light #wallets #wallet-keystone{content:url("../img/wallets/lightmode/keystone.svg")}html.light #wallets #wallet-dcent{content:url("../img/wallets/lightmode/dcent.svg")}html.light #wallets #wallet-coin{content:url("../img/wallets/lightmode/coin.svg")}html.light #wallets #wallet-gem{content:url("../img/wallets/lightmode/gem.svg")}html.light #wallets #wallet-crossmark{content:url("../img/wallets/lightmode/crossmark.png")}html.light #top-exchanges #exch-bitstamp{content:url("../img/exchanges/lightmode/bitstamp.svg")}html.light #top-exchanges #exch-cex-io{content:url("../img/exchanges/lightmode/cex-io.svg")}html.light #top-exchanges #exch-liquid{content:url("../img/exchanges/lightmode/liquid.svg")}html.light #top-exchanges #exch-bitfinex{content:url("../img/exchanges/lightmode/bitfinex.svg")}html.light #top-exchanges #exch-bittrex{content:url("../img/exchanges/lightmode/bittrex.png")}html.light #top-exchanges #exch-currency-com{content:url("../img/exchanges/lightmode/currency-com.png")}html.light #top-exchanges #exch-ftx{content:url("../img/exchanges/lightmode/ftx.png")}html.light #top-exchanges #exch-lmax{content:url("../img/exchanges/lightmode/lmax.png")}html.light .timeline-dot{background-color:#f5f5f7}html.light .page-uses .card-body{background:#fff;color:#343437}html.light .page-uses .modal-footer,html.light .page-uses .modal-header{background-color:#fcfcfd}html.light .page-uses #infrastructure{content:url("../img/icons/usecases/lightmode/ic_infrastructure.png")}html.light .page-uses #developer_tooling{content:url("../img/icons/usecases/lightmode/ic_developer_tooling.png")}html.light .page-uses #interoperability{content:url("../img/icons/usecases/lightmode/ic_interoperability.png")}html.light .page-uses #wallet{content:url("../img/icons/usecases/lightmode/ic_wallet.png")}html.light .page-uses #nfts{content:url("../img/icons/usecases/lightmode/ic_nfts.png")}html.light .page-uses #exchanges{content:url("../img/icons/usecases/lightmode/ic_exchanges.png")}html.light .page-uses #gaming{content:url("../img/icons/usecases/lightmode/ic_gaming.png")}html.light .page-uses #security{content:url("../img/icons/usecases/lightmode/ic_security.png")}html.light .page-uses #payments{content:url("../img/icons/usecases/lightmode/ic_payments.png")}html.light .page-uses #web_monetization{content:url("../img/icons/usecases/lightmode/ic_web_monetization.png")}html.light .page-uses #sustainability{content:url("../img/icons/usecases/lightmode/ic_sustainability.png")}html.light .page-uses #cbdc{content:url("../img/icons/usecases/lightmode/ic_cbdc.png")}html.light .page-uses #custody{content:url("../img/icons/usecases/lightmode/ic_custody.png")}html.light .page-uses #other{content:url("../img/icons/usecases/lightmode/ic_other.png")}html.light .page-uses #carbon_markets{content:url("../img/icons/usecases/lightmode/ic_carbon_markets.png")}html.light .page-uses #defi{content:url("../img/icons/usecases/lightmode/ic_defi.png")}html.light .page-uses .category-header{color:#343437}html.light .page-uses .category_count{background:#d2b2ff;color:#350080}html.light .page-uses .section-text-title{color:#000}html.light .page-uses #use_case_companies_list #bitgo .biz-logo{max-height:40px;content:url("../img/uses/lightmode/bitgo.svg")}html.light .page-uses #use_case_companies_list #sologenic-nft .biz-logo{max-height:40px;content:url("../img/uses/lightmode/sologenic-nft.svg")}html.light .page-uses #use_case_companies_list #carbonland-trust .biz-logo{max-height:40px;content:url("../img/uses/lightmode/carbonland-trust.svg")}html.light .page-uses #use_case_companies_list #futureverse .biz-logo{max-height:40px;content:url("../img/uses/lightmode/futureverse.png")}html.light .page-uses #use_case_companies_list #moai-finance .biz-logo{max-height:40px;content:url("../img/uses/lightmode/moai-finance.svg")}html.light .page-uses #use_case_companies_list #orchestra-finance .biz-logo{max-height:40px;content:url("../img/uses/lightmode/orchestra-finance.svg")}html.light .page-uses #use_case_companies_list #x-tokenize .biz-logo{max-height:40px;content:url("../img/uses/lightmode/x-tokenize.svg")}html.light .page-uses #use_case_companies_list #casino-coin .biz-logo{max-height:40px;content:url("../img/uses/lightmode/casino-coin.svg")}html.light .page-uses #use_case_companies_list #xrp-cafe .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrp-cafe.svg")}html.light .page-uses #use_case_companies_list #coil .biz-logo{max-height:40px;content:url("../img/uses/lightmode/coil.svg")}html.light .page-uses #use_case_companies_list #xrp-toolkit .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrp-toolkit.svg")}html.light .page-uses #use_case_companies_list #first-ledger-bot .biz-logo{max-height:40px;content:url("../img/uses/lightmode/first-ledger-bot.svg")}html.light .page-uses #use_case_companies_list #cryptum .biz-logo{max-height:40px;content:url("../img/uses/lightmode/cryptum.svg")}html.light .page-uses #use_case_companies_list #xrpl-org-ledger-explorer .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpl-org-ledger-explorer.svg")}html.light .page-uses #use_case_companies_list #evernode .biz-logo{max-height:40px;content:url("../img/uses/lightmode/evernode.svg")}html.light .page-uses #use_case_companies_list #xrpl-rosetta .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpl-rosetta.svg")}html.light .page-uses #use_case_companies_list #ripples-cbdc-platform .biz-logo{max-height:40px;content:url("../img/uses/lightmode/ripples-cbdc-platform.svg")}html.light .page-uses #use_case_companies_list #xrpscan .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xrpscan.svg")}html.light .page-uses #use_case_companies_list #ripples-on-demand-liquidity .biz-logo{max-height:40px;content:url("../img/uses/lightmode/ripples-on-demand-liquidity.svg")}html.light .page-uses #use_case_companies_list #xumm-wallet .biz-logo{max-height:40px;content:url("../img/uses/lightmode/xumm-wallet.svg")}html.light .page-uses #use_case_companies_list #sologenic-dex .biz-logo{max-height:40px;content:url("../img/uses/lightmode/sologenic-dex.svg")}html.light .page-uses #use_case_companies_list #Crossmark .biz-logo{max-height:40px;content:url("../img/uses/lightmode/Crossmark.png")}html.light .page-uses #use_case_companies_list #threezy .biz-logo{max-height:40px;content:url("../img/uses/lightmode/threezy.png")}html.light .page-uses .modal-content-uses .first-ledger-bot{content:url("../img/uses/lightmode/first-ledger-bot.svg")}html.light .page-uses .modal-content-uses .moai-finance{content:url("../img/uses/lightmode/moai-finance.svg")}html.light .page-uses .modal-content-uses .orchestra-finance{max-height:52px;margin:0;content:url("../img/uses/lightmode/orchestra-finance.svg")}html.light .page-uses #bitpay .biz-logo,html.light .page-uses #forte .biz-logo,html.light .page-uses #xrplorer .biz-logo,html.light .page-uses #gatehub .biz-logo{filter:invert(100%)}html.light .landing-bg{opacity:.4}@media(min-width: 768px){html.light .landing-bg{opacity:1}}html.light .landing-builtin-bg::before{opacity:.4}@media(min-width: 768px){html.light .landing-builtin-bg::before{opacity:1}}html.light #feedback-content .widget-form-wrapper{background-color:#fff !important}html.light #feedback-content .widget-form-wrapper div{background-color:#fff !important}html.light #feedback-content .widget-form-wrapper textarea{background-color:#f5f5f7 !important}html.light #feedback-content .widget-form-wrapper .widget-header-title{color:#111112 !important}html.light #feedback-content .widget-form-wrapper .cancel{color:#7919ff !important}html.light #feedback-content .widget-helpful .widget-header{background-color:#fff !important}html.light #feedback-content .widget-helpful .widget-header-title{color:#111112 !important}html.light #feedback-content .widget-helpful .widget-header-icon{filter:invert(100%)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/lightmode/4col-green.svg)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue.svg)}html.light .page-docs-index #software-and-sdks .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-yellow.svg)}html.light .page-docs-index #doc-types .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-2.svg)}html.light .page-docs-index .funding-text,html.light .page-community .funding-text{color:#232325}html.light .page-docs-index .stat .small-text,html.light .page-community .stat .small-text{color:#232325}html.light .page-docs-index .project-card,html.light .page-community .project-card{background-color:transparent}html.light .page-docs-index .card-details,html.light .page-community .card-details{background-color:transparent}html.light .page-docs-index .card-image,html.light .page-community .card-image{background:#e0e0e1}html.light .page-docs-index #community-table tr,html.light .page-community #community-table tr{border-bottom:1px solid #34343740}html.light .page-docs-index .card-description,html.light .page-community .card-description{color:#343437 !important}html.light .page-docs-index .card-subtitle,html.light .page-community .card-subtitle{color:#111112 !important}html.light .page-docs-index .card-title,html.light .page-community .card-title{color:#111112 !important}html.light .page-docs-index .main-title,html.light .page-community .main-title{color:#111112}html.light .page-docs-index .event-location,html.light .page-community .event-location{color:#232325 !important}html.light .page-docs-index .event-details,html.light .page-community .event-details{color:#232325 !important}html.light .page-docs-index .upcoming-event .event-name,html.light .page-community .upcoming-event .event-name{color:#111112}html.light .page-docs-index .upcoming-label,html.light .page-community .upcoming-label{color:#232325 !important}html.light .page-docs-index .description,html.light .page-community .description{color:#232325}html.light .page-docs-index .events-text,html.light .page-community .events-text{color:#111112}html.light .page-docs-index .discord-icon,html.light .page-community .discord-icon{content:url(../img/community/ic_discord_light.png)}html.light .page-docs-index .twitter-icon,html.light .page-community .twitter-icon{content:url(../img/community/ic_twitter_light.png)}html.light .page-docs-index .youtube-icon,html.light .page-community .youtube-icon{content:url(../img/community/ic_youtube_light.png)}html.light .page-docs-index .xrpl-icon,html.light .page-community .xrpl-icon{content:url(../img/community/ic_xrpl_light.png)}html.light .page-docs-index .github-icon,html.light .page-community .github-icon{content:url(../img/community/ic_github_light.png)}html.light .page-docs-index .stackoverflow-icon,html.light .page-community .stackoverflow-icon{content:url(../img/community/ic_stackoverflow_light.png)}html.light .page-docs-index #run-a-network-node .card-deck .card:nth-child(4) .card-footer,html.light .page-community #run-a-network-node .card-deck .card:nth-child(4) .card-footer{background-image:url(../img/cards/lightmode/4col-light-green.svg)}html.light .page-docs-index #run-a-network-node .text-cards a,html.light .page-community #run-a-network-node .text-cards a{color:#000}html.light .page-docs-index #xrpl-blog .blog-graphic,html.light .page-community #xrpl-blog .blog-graphic{content:url(../img/community/lightmode/community-blog@2x.png)}html.light .page-docs-index #xrpl-events .text-light,html.light .page-community #xrpl-events .text-light{color:#000 !important}html.light .page-docs-index #xrplGrantsDark g,html.light .page-docs-index #xrplGrantsDark-small g,html.light .page-docs-index #careersDark g,html.light .page-docs-index #careersDark-small g,html.light .page-community #xrplGrantsDark g,html.light .page-community #xrplGrantsDark-small g,html.light .page-community #careersDark g,html.light .page-community #careersDark-small g{filter:invert(100%) brightness(0.8)}html.light #find-us-on-platforms .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-3.svg)}html.light .page-references #refs-types .card-deck .card:nth-child(2) .card-footer{background-image:url(../img/cards/lightmode/3col-green-2.svg)}html.light .page-references #xrpl-protocol .card-deck .card:nth-child(1) .card-footer{background-image:url(../img/cards/lightmode/4col-light-blue-4.svg)}html.light ::-webkit-input-placeholder{color:#454549}html.light :-ms-input-placeholder{color:#454549}html.light ::-moz-placeholder{color:#454549;opacity:1}html.light :-moz-placeholder{color:#454549;opacity:1}html.light .page-events label{color:#111112}html.light .page-events .event-card{color:#000;background-color:#fcfcfd;box-shadow:0px 5px 20px 0px #c1c1c2}html.light .page-events a.event-card:hover{color:#000}html.light .page-events .event-hero{color:#111112}html.light .page-events .event-save-date{color:#111112}html.light .page-events .event-small-gray{color:#454549}html.light .page-events #event-hero-image{height:100%;min-height:209px;background:url(../img/events/event-hero1-light@2x.png);background-size:contain;background-repeat:no-repeat;background-position:center}html.light .page-events .icon-date::before{background:url(../img/events/event-date-light.svg)}html.light .page-events .icon-location::before{background:url(../img/events/event-location-light.svg)}html.light .page-events .events-filter[type=checkbox]::before{background-color:#f5f5f7}html.light .page-events .events-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/events/event-check.svg);background-repeat:no-repeat;background-position:center;background-color:#5f00e5;border-width:2px;border-style:solid;border-color:#5f00e5;border-radius:4px}html.light .page-events .events-filter[type=checkbox]:not(:disabled):hover::before{background-color:#f5f5f7}html.light .page-events .events-filter[type=checkbox]:not(:disabled):hover::after{background-color:#f5f5f7}html.light .page-ambassadors #benefits-list #benefits-01{content:url("../img/ambassadors/lightmode/benefits-01.svg")}html.light .page-ambassadors #benefits-list #benefits-02{content:url("../img/ambassadors/lightmode/benefits-02.svg")}html.light .page-ambassadors #benefits-list #benefits-03{content:url("../img/ambassadors/lightmode/benefits-03.svg")}html.light .page-ambassadors #benefits-list #benefits-04{content:url("../img/ambassadors/lightmode/benefits-04.svg")}html.light .page-ambassadors #benefits-list #benefits-05{content:url("../img/ambassadors/lightmode/benefits-05.svg")}html.light .page-ambassadors #benefits-list #benefits-06{content:url("../img/ambassadors/lightmode/benefits-06.svg")}html.light .page-ambassadors #eligibility-list #eligibility-01{content:url("../img/ambassadors/lightmode/eligibility-01.svg")}html.light .page-ambassadors #eligibility-list #eligibility-02{content:url("../img/ambassadors/lightmode/eligibility-02.svg")}html.light .page-ambassadors #eligibility-list #eligibility-03{content:url("../img/ambassadors/lightmode/eligibility-03.svg")}html.light .page-ambassadors #eligibility-list #eligibility-04{content:url("../img/ambassadors/lightmode/eligibility-04.svg")}html.light .page-ambassadors #eligibility-list #eligibility-05{content:url("../img/ambassadors/lightmode/eligibility-05.svg")}html.light .page-funding .funding-list #funding-01{content:url("../img/funding/lightmode/funding-01.svg")}html.light .page-funding .funding-list #funding-02{content:url("../img/funding/lightmode/funding-02.svg")}html.light .page-funding .funding-list #funding-03{content:url("../img/funding/lightmode/funding-03.svg")}html.light .page-funding .funding-list #funding-04{content:url("../img/funding/lightmode/funding-04.svg")}html.light .page-funding #xrplGrantsDark{filter:invert(100%) brightness(0.8)}html.light .page-impact .connect-list #connect-01{content:url("../img/impact/lightmode/connect-01.svg")}html.light .page-impact .connect-list #connect-02{content:url("../img/impact/lightmode/connect-02.svg")}html.light .page-impact .connect-list #connect-03{content:url("../img/impact/lightmode/connect-03.svg")}html.light .page-impact .connect-list #connect-04{content:url("../img/impact/lightmode/connect-04.svg")}html.light .page-impact #map-light{display:block}html.light .page-impact #map-dark{display:none}html.light main article .card-grid{color:#000}html.light main article .card-grid code{background-color:#d6fae7}html.light main article .card-grid .card-icon-container,html.light main article .card-grid.card-grid-3xN .card-icon-container{background:#c1c1c2}html.light [data-component-name="Footer/Footer"] [data-component-name="Footer/FooterColumn"]{text-shadow:#f5f5f7 0px 0px 2px,#f5f5f7 1px 1px 2px,#f5f5f7 2px 2px 3px,#f5f5f7 2px 2px 4px,#f5f5f7 2px 2px 5px,#f5f5f7 2px 2px 6px,#f5f5f7 -1px -1px 2px,#f5f5f7 -2px -2px 3px,#f5f5f7 -2px -2px 4px}html.light .dev-blog .text-bg{background-color:#fff}html.light .dev-blog #card-date{color:#454549}html.light .dev-blog .category-header{color:#111112}html.light .dev-blog label{color:#343437}html.light .dev-blog .blog-filter[type=checkbox]::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:checked::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):checked:hover::after{background-image:url(../img/blog/blog-check-light-mode.svg)}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::before{background:#f5f5f7}html.light .dev-blog .blog-filter[type=checkbox]:not(:disabled):hover::after{background:#f5f5f7}html.light .dev-blog .post-date{text-decoration:overline solid #145c35 10%}html.light .dev-blog #general-badge{background-color:#fff;color:#343437}html.light .dev-blog #release_notes-badge{background-color:#32e685;color:#145c35}html.light .dev-blog #advisories-badge{background-color:#ff6719;color:#4c1a00}html.light .dev-blog #amendments-badge{background-color:#faff19;color:#4b4c00}html.light .dev-blog #development-badge{background-color:#7919ff;color:#20004c}html.light .dev-blog #developer_reflections-badge{background-color:#19a3ff;color:#002e4c}html.light .dev-blog #gateway_bulletins-badge{background-color:#d919ff;color:#40004c}html.light .dev-blog #features-badge{background-color:#32e685;color:#145c35}html.light .dev-blog #security-badge{background-color:#ff198b;color:#4c0026}html.light .dev-blog .dropdown-btn{color:#111112;background-color:#e0e0e1;border-color:#e0e0e1}html.light .dev-blog .dropdown-btn img{content:url("../img/icons/lightmode/chevron-arrow-down.svg")}html.light .dev-blog .dropdown-content{background-color:#e0e0e1}html.light .page-tokenization .project-cards .project-logo{filter:invert(100%)}html.light .page-tokenization .article-card{background-color:#fff}html.light .page-tokenization .article-card-background{filter:drop-shadow(0px 1px 18px rgba(24, 24, 24, 0.5))}html.light .page-tokenization .evernode{content:url("../img/logos/evernode.svg")}html.light .page-tokenization .prev img{content:url("../img/icons/prev_light.svg")}html.light .page-tokenization .next img{content:url("../img/icons/prev_light.svg");transform:scaleX(-1)}html.light .page-tokenization .arrow-button{background-color:#e0e0e1}html.light .page-rwa-tokenization .section-title{color:#000}html.light .page-rwa-tokenization .utility-card .utility-title{color:#000}html.light .page-rwa-tokenization .utility-card .utility-description{color:#000}html.light .page-rwa-tokenization .benefit-icon.low-fees{background-image:url(../img/tokenization/lightmode/low-fees.png)}html.light .page-rwa-tokenization .benefit-icon.access{background-image:url(../img/tokenization/lightmode/cross-chain.png)}html.light .page-rwa-tokenization .benefit-icon.native-compliance{background-image:url(../img/tokenization/lightmode/native-compliance.png)}html.light .page-rwa-tokenization .benefit-icon.delegated-token-management{background-image:url(../img/tokenization/lightmode/delegated-token-management.png)}html.light .page-rwa-tokenization .company-logo.open-eden{background-image:url(../img/tokenization/lightmode/open-eden.png)}html.light .page-rwa-tokenization .company-logo.zoniqx{background-image:url(../img/tokenization/lightmode/zoniqx.png)}html.light .page-rwa-tokenization .company-logo.axiology{background-image:url(../img/tokenization/lightmode/axiology.png)}html.light .page-rwa-tokenization .company-logo.archax{background-image:url(../img/tokenization/lightmode/archax.png)}html.light .page-rwa-tokenization .company-logo.meld{background-image:url(../img/tokenization/lightmode/meld.png)}html.light .page-rwa-tokenization .company-logo.palisade{background-image:url(../img/tokenization/lightmode/palisade.png)}html.light .page-rwa-tokenization .company-logo.ripple-logo{background-image:url(../img/tokenization/lightmode/ripple-logo.png)}html.light .page-rwa-tokenization .company-logo.ondo{background-image:url(../img/tokenization/lightmode/ondo.png)}html.light .page-rwa-tokenization .company-logo.hidden-road{background-image:url(../img/tokenization/lightmode/hidden-road.png)}html.light .page-rwa-tokenization .token-features-section .btn-link{color:#7919ff}html.light .page-rwa-tokenization .card-description a{color:#7919ff !important}html.light .page-rwa-tokenization .developer-tools__image{background-image:url("../img/tokenization/lightmode/graphic.png")}html.light .page-rwa-tokenization .right-arrow-item::after{content:url("../img/icons/lightmode/arrow-right-purple.svg")}html.light .page-rwa-tokenization .token-video-text-container p{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .cards-title-token{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .benefit-card{background:#fff}html.light .page-rwa-tokenization .benefit-card .benefit-title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .benefit-card .benefit-description{color:var(--XRPL-Black-Black-80, #232325)}html.light .page-rwa-tokenization .developer-tools__description{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-item__title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-item__divider{background-color:#000}html.light .page-rwa-tokenization .rwa-subtitle{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-title{color:var(--XRPL-Primary-Black, #000)}html.light .page-rwa-tokenization .feature-description{color:var(--XRPL-Black-Black-80, #232325)}html.light .page-rwa-tokenization .com-card-link{color:#7919ff !important} diff --git a/static/img/wallets/crossmark.png b/static/img/wallets/crossmark.png new file mode 100644 index 0000000000000000000000000000000000000000..0b480247ddab505f08dc2eece08c0c37d4dcc1a3 GIT binary patch literal 15752 zcmXw=18^l<_x1;|ZQC|Zk`vpuHL-156I&xDjahM9QF$JxUK zl>4amTt8Vg4T!{q0+wbE9Tg&Jhc2>LR9RUVmWi&Py?_LiKq7*IA+DSpR6^keF)Fo2 zX{lwl%CmVtwXNRz8eX~HYRQMtbRS?i>AGF1>t+w;D_5YqzhQ&6rTJ1xB@U1g`Mq%d zX`w9T@32($Vrdpnxkfo1^TWsNMIk;+=eK^xXWP_lfc-hbMg4xii+;Rmdxz%+%{+AU zt8)83toQSkr4A{{|73(f#zw##e&zCzT~(v7$kom13368RE>N>beFJwG{VD2Tdv$UU9}kVvKRiJdbLCs-mEeV<4K2xbLEr|*N3)!W1Bf#)ZM=RiLFv* zprw)g?T)ZXWa$uFGY-p8Nvcgj5qq?gX(|$git>+Gexa6jw?8%8SGbSl6u_-fe3nCo zgfqz^azO|PJ0C!T4@mlI{0AefBPRt;s9{Y^_?T^ zdm7(X@~Y*H9*w3meXgL=LVl@a`vsYOlT>h@C7J2CtJLo6@kmhY}S98 zyr|Gdc)jT?)sY&?$V&z5%iyVx<=>c%6=)osA_?U-sdA=z4>gMj00hEJDOUek6-Sh+ z##5tSiSZqME`R>G+zcyMUSaVYAAbHGmO!e@kJk2KC-1+!e__{H-7{kx<0`rg|1T*R z&bUIiR+BL5Cs20l+NS|-qT@vp6X~1f{D^o<4rEI_sczS5yq^l{CZPWwvH@xs${N>V zji+o(GHfVT!wdgly|q#mj){8y7bp7GuQ4yJa-dqa7l&_l38$hMm4nob&i|RpQ7oNj zgIPC2F7?$Bb~18!a1Wll&zAB3iRRzVJGo# z7w(0C`l#KS4m`aF)Dq42h`?+Un;uLz6Z-9VE%W8W+hl?=MYVzU7lPw15L{;5FgX9+ z7rQ9DP81C`XaGLHtB^fSoSLsdme4hH+Jb_-ctnZ!tMqXv4wlYqIYkT8n3KT&x}3!5 zNAaY-R@67Ua8=_1mimELmcKcsESClPLDJ}Yad>OU#PAPz+P)w7rCwga?{&?5bcSyL zI?2y(Ho1uK(<IF2p(z_*y@0%fA1Xv0KB`4QLy7#|Z!vDWOvrG@d|3a(R+V?=AXrd8rt*Cx_3vS1b9WM`ZYO8aUXZ40mD7Zmk}CJu{RPEfRq!a^ zPm3vdnEwf?3XAqboe|6jKagiys61uMNv;VDQpJ{gGOR@ZaAp`_0F3#W8Y}ng1`d5R~r5leV;3&}vii zAvkXfTqb0=hM#)B-@i@>-2{Y1F^gRU4YLH~o7RJag}%4w{O)c%QGX~4BMY{;my|uOOXF-&2uukMH$PFW!wLQ=KG9Ub^JF8Qh$R)i} zr$&D_CM*IUx+CHb@&$toyQvHT*nOl`=zYZxEV`>L92_Ac`zK%G=9DrFb=hbMlL&p* z%TO2PRe$Ux``GC!|0e^4_a{fSfB>v|BZFeU=DxCCG}$a>_@fw$eXav5CpbPj{rtiK zY4`stRH5G16?Imn46U&l&P^JRd)34-@B+j5l=|gV3B!Z)NFwGHq4ZfbWVq% z$v}%s!gn8x%Bv>2po;k{&5yMzkimnk8Z!Vsk$}3i>-zq5BykDDR#eEcqGNJfkAoe4qmIJ=O!Y z#08dIbs;V8KYqoU;Fk5+${>tDoWrfYwyoCAO`V*tFcdI${ z-_&d`50?s%H}`}BfZ)=ll&i0lSDZ#*gDH*M(lVVJY2CcwLNC$|1Rvt^-mdf#2Xk5t zNbQ~kW+^Y=n9JXQLR%QZ;Mkt%eU|N(&jQK%9%Vob+>3BTtdP~P$E5jfSokWKO=m_4 z3%+Cm)f>Aorv8e-+D#jc&$-78VQMzTZ&AhI^ucXNi8&^5cR_BZm1NA8Z6i2b_m#E& z;-8u{*XKs9C@48WvCR)Hiv6*;YEaXL00rpagmT}&noV7tSDU-L8KVaYK6Y7&ip?Z` zX1ufAy?M<=bg8EN4Ak-G1*vN!ebRrSul~|9SmH`7N~R~^$ZdoD3D*)}z*sl0cfdi6 z88-Hn9mUVl!(|Fy(HK0UUyvU_CSv;lSa<_UG^-cVhvARKhC_x*L;v7JoDQ|7k>>u&= znvr^8oN<41oy{oS*##mgZqpxIRr#2Uk?s@;TyjVW@adfye>9?{4S_6o+$$=OCOwg% z#g=XFPU$bl^nCL7*BOI0x+H~+2@0M+MSzg7>Rg+1+n3r>E;NmPdliyg6e>Ait9q0L zuSkEqLwFg#VH6rebs*pxY8dlusZM(Aumgt$Tv34o8aG!2wCF6pBd0AN9{{*ppH73Z z?a&A884;KowTe%JF}V0sp)t=_BZ$Ng&6EIasmvp5=Z;iz^Bg+wz-FoeOEzg(T&oOB zxUkq4)+FYKZPb0_XEQ&R_q&)3j~OS>=3{-iU|5{Fve&T$$alvN$8%VMt&}k;>7P=L zad*L8?7hDT+H`6fiE`Nh2Bun_5wc$Y**}}5&fvxt9lrSP_lUUlK&XV%zD2xc*l#xqvXyTQ5Y?^_Rb(tLCAYv&}HhEo$UaB`& zjLD5YKma#@kv?>-q31gaq9ob0bo0KE{m13*hvO<`#TCZ5NIXe`U&u*vxm4m}XT*bU zacI{ID;jW+M&zFC-*cJ~j|uC6Lvo7S`KbVAV7f6U?QwsXruLhb)e~C>OsC05TYkE9#AIoJD46e44l<(AoPh)C;2N2&T3<0i#iE)M4EH;-#PHG!Nk4DTf z2%KeFo7mVB`=j+Zs-LnfmfzZ&JB%O^dvx(xLi93*f*@aG}}RtmvrM+ z_{!jl<8CfjXk>=wPxMB5NyYIAY1a?eYnaIPT_Sri-!!#E>je?*4FPi>j_xVrg* z$Z+>s29@J!Ox3ZCjw^|^(0vg#5%UN|ks4!P;2rs6f%_k?c-w@!?L|!yI`_pNvmJg8 z#)cE`CBEqL_&(GP4XL(fIRl5Eqwg%r&0mOL4uRXBBcE5XVrR*rcf-(cs2P|uSzrMk zkzA&I$5>Im7Ph31C#E+Pf1gV!;W(*vU<)QoeDVz<27A+PaIjH%*jK=9o%Azb2Shuw zL$m1}0E zXbO=C00#^lFGL@$XdbA)3N{`y%E?64(F5wF8+p`t;v3sHNQ6Cfl8E)Dh=m_aIY#G@!=#GHECt(_pP%j4GcU+?V^SzlhyG-FTwx zdw$?Pfath*Cdz+jw%6(ae7r?T{E4tIXMtMBET}2R&}u$K8*PY}?o?0r&C+zI-_`BK|T}SP)8Sw`TIOU`<8}TBqVER%>5n- zcMTJpkb&HV)&1zp%o8!|)Cl(5=l3eon~pg2CK4qk<#1GZ4NFD#$x`yU%k-b)Ex>=S zAqW<|;YqA@$N^>l84x);N?1NJ-JSN2i7F>jUba9uZ$=FN@Z`L^W#$V-e_WxHm3%Ll zYO#%osj_wuZ%#t}au2Uq?0&)==ODSi7ClSC|BJr`hrje0j9#6ULNsA0)(}XF4DD)A zY`V+{kk)!BE;F&qh{^%ND19yEMA=B_lGZhFkY|CsT5QvJyV_*9(*JazfTm&Y1C6Y22xsel9}!8${8Ev2c` zy&Jl4vgrjrD=K3V=I4eU{nm-~SCH>4P_sgEK~7ArK|liypFwp3!m*yXt$l*_$6*Z4 z`XhOXnHriyc@}>}pFRg*8S*-U#FFc2`!D#aC;-+F!`Zj@$+qh@Xg@KvoU}QoD;1rD z61@It{g#@#EpOs*dya4B%}e-7URUe;Q1PU$mC($DIwF+AOZ98t)rFPMDGHUmwxPu{ zg$n(PKE}glm<6+ox9(9#<;rQ};y(>a{uFkfvU8=~=szuv+i17WU*bq7# z7aP`IP2btMEaI_LoL;Z?rBr|$p+mZy2E$P|V za6A67A4V#c!3*xf^eVWcPUhKIJ1Ft09wSQvWWIMW;Bj-H@Vx6OYU_dnCmfP zkBvd3-%m^)HFcNMl#MAYN%&;IKA|%vN1HxcSl9cOM|79de=H-f!u?jG)4wJ8LhFb0 z{6;f4z=CvUsNS(`u02)@GJ3Us&R$*U3pg)$mHE)OOAOG@v@_ ztC-yQopQ&$)K%e01=O%pnO!9YN3EwnKmR)%FyQ@~;`Clpuv&gm*~(Gf9yC>4g~3tm z@p1$l5L)BJUx7^wCKWaI+uHS=ErVy&E%Nj2b@BZf>oevUCQ9#^Lw^`!mxm|m&^4>- z7k1}0<*1pYvGbIdYC7vTbKv%c?~5&fugL6HK@$28#~=WUi2#~CpzWr}@m`4GYxnYw z9%Y!j%LkK%cb4+)U)VcnJ(k(GbDbH--A36~vZJ*y(UB3h!C2n@!?Q#czJq{UzQ2Xu z?}Q*hO9H^z$)KhdmcQ8~Wuryr3tx4g2TjOUahpEm#JG`0~&ADi6KwdcZoXv%K(4AHMpR^GPW z*B4!!nwdzAN#~Ev8wW|8ZB$}~X1aTo#9wNtuc4J^GeXs>N*;^`hCE`Ix8XQntBE06 zn5)tSN`o&0sgyOzXyJO^YEKar*en^+hw_|gaAaxSqs7$={h7(U~MaKO#q6&$!yfG_L z$ONPRg;DRQ;>f-CteE1Ud(OIg1U4R*q^E!{^**@_21mU@kzK4OWKx+39sbmtD~NAq zawNwfr0P>uVk8lK#zB}n**b?+ech2={z6vOUWB69RCxAYvR}gtXVM&8SO`$v#=x*; z=7;jRqBSGBwC;yQ7+4L6Q4Z}-=e)q51dw0Z}W!#sY+Y(`f! znP8&{3hhl{Z2(2dj_52hfbY+-3$H%Y@2{-t)^Fm_00gXpzo7-^mTwo5z7myqC%!vl z>{bSMs4EktrndfFPxyIniY9WreS>5BW{KWptC zUJiSFvDulF<4^)p1R5-5>DEyDktf?V5~mgCTc}?Y4l8HdVY$sNa2Ec|fN3kzisos5 z@KgWzCCxa&HcqNzj(GdLN-aKc<66`Z@=;<ijyfGnxgDdfq#*D6W^jeqT|J_@CZ^{n#2D$Kdxk8IjX@^xMd75i0Eu4&Iw$G!d4rhU)6%J45*=8;vWcmm*xr@Aymrwy zMq-H$niAdhy8UKnZ$g<*V6B%zB5Q61CQuA}p2|#z4)~dg+*Shi);H<^hY`ZjUnr=ZoqmLHX%jrmJvO*6+2jyT0v4&uoJ zhg_ocX@9=h%t3RieV1}{@U(iqvsZ`2GW}dKPIaw_A#uO5^m&VFL~)KTK%zOFKN| zwL=A<6rMR|BBn}({^23dpFcPihKrfo3y+&$HXD6xjT|k`_gk_vL4i?I2_{0zo5m+Q zzlV;-7Oe;KjYVd7YBAi}BNT!v!BvHin85-a7PI5r-Gzn}r>=6O71{#QGZ6Ah;!z}} ze>|_lJx3Gv5_wMHhafIwN+|0xgy40i_BC22$;nD<(4^D~EWwXgCU}Lh&R$SP`~Df> z&)R9(%r*KTQGZpl+OG0i0&?A=Fm#YP2L^?nHuY!8+6Je4s8JrWCI%!YSI=XvS(v6F z26m=Z=arR^u%)IU1Z;`{CNE7ZBE6>{9@XaWD}BoE?pMVtYTJah*N zQ?~eb8<3OC`@_XN(Tjau>~T4Tg?Leun&{uf`q789{rM@Tt*i#4GpyH&1UWcY;=C9a5pyx>Q~^@m$E{-g-Eco?ot^oi4=2T?XD&w% z#G8>_(q%5o8_T)YH<9sy%YH1zDGOEz!#!c&xSF^>Hs;)@9&^FU3kU=0nZE>H&+4w; zXZN-eEz+B~Ajj*9BvJ5ao1fp>Yt?H!H19LxKnfo$608Sn&j4(@b9d_qTtRI(bl=(X zaw(i6y61=iSF%f5Ialc=T)scoL~WY6`x!$~OjfKugB|&*Q365=ZA1G@**w^1R$L28EW1ONeds{X&@tDt zg>eIC>fS$hV_%BJMo;fU_D=i>QYR!h*I~a~RHFDhjrHD;JIgEAGf=JK+m$O3$;)XD zWPrpG#nZ=(kd1b%2}iQi$+=DE2q7t!OzHq}(LuDnyu!g}CO@->K{tGa1gZ7cAWMSf zJ{?5w?l>x3oMxZ&jHOG4Jbz-0w3Z&i=?`W}7_|uwWxurkOv=@nTEJ%Tf7a$?=>xqVN}dNL+rVvwl;$Hl=gQ z!2Hlq@kca8Cq^0>Z09S-HTQ5uE-B6mt+{~>8iuIsx>i7V(# zt<&2bvVEiG(z=ykiV>K_$amm8&z@25V!?cGm#8s~Cou8u8C}m6ow83UGBx1iQN3B> ztX4!SQik}YgH~#AJ4LAhm&`Z;)T$Ud@N4JS?2Y`cY|ouc&@^yKDTx;gSy3n^=b}6? zd^PG#biCT=H=8ZvlT#+}XL;5Fl*@jP=Wfna} zn=D%FHVWvg!pKZt%Vt((sqFwR%O9-1P{&m_uc%Ic6q}-De+Pi{ZXMJgAGp>OUp}>B zxVn~ovB8pJjKHeZ9BmK9K5(xqPSeISPM8%8t~}9d@H9t;_gqdT;kNA)7!O znn=x$<3CwkyVa!`9DgEpmh{Qg6Uao!S;PIA8oub5yWtz!Kp=9{W;W=b#-tkkILs*88!z9f7>v(?s{tYrhf%=Zu5eFeL820zLrt89DE-_=%CDsUp@2~av zP|Eeu{AI69Mkguq0XkY&CGu+|jP*q0vjD2&txZ_B9(~gJE|(<6dgGQZ>J9e5ES$@gl<@*)(qQ{F0#iq5 z*(>W93krL04i$MA!@QhuxhM&ad$3h#*rdd zhuGn$E^5iUI1>4daPcN9nS!$YZ)3kW>ID*`q5~(fT+BFTBK=kt5bAfAp(0R%TIB0F z`+(jk+b$X*x;_vpfi=!YlZ(DF^Gl3|)u&jx5$>Ci-E;g5kTi|7&#XkZFCVfYPXvR= zFcfJh@ztjw|GEZB#W|UkLI0mXWvnrr9;$BjljP(s;pRe zz8+7*!uR1$xti_feRsjmrhAGk;Zv{_b=UbOm!bYprcA`x=QC+l>gSD;MHCWiBMFD> z9Png6e}3d0L2LCUzt)w%zG#Y3m@^PJ;JSw{Bd1DK<@J)ZmX;o&^XI8$fhYjadrGgF z!+}FWb;#O<0wL>Wl)b3^HQ{=r^k=w^DWURP^t12OxpyOjI*YeXJxv)evrooD>bQ5V z_C_s*eQJU&Z{;XT+o|pbn)9qv%xk)@4@4)H3b0JIi2jUPbELCK78q_Mj}w0Rjk@Gh zG=bzX;c@rzCf=zn24ml#3hG>1(Kf)2EleRvS|EhZKqcQ6l8q znmH;0fY#P0Rgul~!^88(BiY{&?@SMgjq5NF2wFl|RD(CH6N>4Rmplk8(}B~(A>T}= zTYZjX*0XYG^aPKrC9-_*yd{Gq;F?TTba%&Rp2`%c(Om-Z#5LX3YcFZd+Rz4P+i%vv zj2XT*^mj-YZvZZt6c<*H37^CFXa5Aq*iV@$`K2Gyq|c9#$A2^5jX1>5wOph%P##{{ z4m7U9*kt+zPyz_J1A`{Ht#ed=U%G#;09;_Ktw7&poNaPXd@c#VK8MeCG|h5Z2=~7p zfkLhxyU!B8l%*(FWRkxPmzs6%V%`3IzkHvL%69uJx#zsHUot%?60vvxwX$byCG@2E zL1Wm7jnBqG$2^7Md*u;rgM!P#ESB8YOW|y&F7m_=aDuavNJ^7h0D85P_*iv8zQ;mR zk_Vl#X6H^5nH>|9OxDvnSSHIVI2M?0OG}McEqU<+v>IviBQz{VVZ_{g0 z*i=AOpl%{CHFS6A1lx1RZ33YrnPQI_2w&iLn7N%+lW2N-_`ZrgRIzcGBB2T=+MN0E z89Tc(apm|XH(-r9lA(}TBjXo?NK`?3pl4iIVi)9bY0_c}z)K8Ij{RyRx zw@W8ibFT|p@u=eu=LM7#e^4W|?iU;hgMB*+qzyH65JE6Jq8r=Ya~t3gnb|SfHR=wLz6WqE-U10Ve5)ol&h1<%9DNKf`1<#W_Vx?S~iO?E+GALIJ( zOpgnJDc&&P8-^r0+?Y`CY?giufc$TWjPtI>#x$+l!Ss&|2-kg2^Zk3&8Y{UX(dEsb zjxQ6jxsma12=k{#S>YIrQI(QJi6$E;3w;0l9X_!;@o%x@$-Uf0}%)a+8D@cc1v?Ia&dU^&o3PDk#Y zVdsn;i^3&KNlyEV$;y4fkxI04S(5rv{Kx#G*WJ8wLvu>Q-92S?soUU;#qx$azsRx_ z$#le8>bwreKL6_>z^cS5+=VivC{XVB?5*&oP z*FpA`Jp6vXAf#S#KwKoG-Fitl-#9Fmp=q3@celFD1ws9Ti4*oazrDR0xu_^k$Bo57 zQ}|kgDn*+ge>n0yF}m|&ZR^?%DA)?$%OWjkkOfJk0Fg0z%-;rvrV{xQ=O;w5yCA^_ zF|Ybi`N+6eNvcLwH380Fk}#s1h43F=(e<6e)UO^PohK3EOuvyY+fl2&uS!uP<4;NW zR7_IN_{Y5(_DTDpG-mmIGy*LXdR0v#s?T2K$Bkw4IyaQe`x4`myRaSHx>Rai! zmq1$hIAfRfW+Zzf(OXRf!s5CGeFzkjIpG+;b7o{NKTh3n`{n6h-y_P)hugnN4~!!= zA*}dnN{44z8$Rz?fPR?Wbf{hBMy=W9B^u;D=M#JbkjKfg@9>e@IaI*oHcj>eydT|_ zRLc(KITT)Wc#T1F6NoBFRdikjj|DH+9+3BX(uuoDJWooQQJWS^Ip5g5l>WTtiQVh` zs{Vxk&sD6?2HvWIT4Vxn^m9t+*T+$v$g= zYzI&&74fdNXzlp8%sFDg>O*X6XQlg29K5TY_V}&rb>^43ID7OoCF&bwFw+MHa5q;!(}eZ;~CSi zpLyuO`i0*il@LKuYnv>bIzdWQHqDPj*iVf$->L41i7))TW#e#| zCARvs>#Hsq^8?gREC}u7-BNbJ743Cn1jSz@jQ?8SpT}YB5Ypa%>6mlf+yM|1Rs)Z z_qFBbRO#yN3te^qL<>E$*t*qBK9)0{iozb>3%LQsP`Y|57w^lonA4G5H~HBbP*S=! zxjn1UCTVWPEY)MLn0$`m4%T^6E=j)PGk{=mVM%FkTQzN)V3HGx5Wali{IS7QM75i? z_EqN9$JcPY764x1D2`=Z4pHpQC(F^PA^cIO>DtvIz^>Jpx6C^Fs~DIu-yd8fry4L=iD*){m826-0!1It!dp(jM~Eo-Cd7Ei2okx0qp$qt-hi9gLhUMQf4u8fxKdN&WBn;N>r+{ zkYb=vb}@45uXg9{R^&oYZAX)xmX2ggr<MHK|x|&(;cWrSl(pTT8|t@2^(+ zyn6B!%JV(=?P8tMsO7DPIZD|eWPBgI|Cp6~MZ&$sy8G(hAdF5|JgrxjJy7~FJ$8=M+JiT~AmH#X*?QLT#6I zO1WR#{AgrbN6ACrx~hi@a)L@dy`&A275TWg!R_n}>#g(IyHK)|L6SdGsMFwq-^IZe zENdIuTUqL>MB5f$HEqAL6bh3l_m6&dS2$;dIhJc1&Nf>Zdx0OJ}r}n(r5CfoG-y)SM##G_C3M4 zPm!tm807dM#1jd=z&F}h21LLf=SBXdCJG746^gZbukiX>O!b{nPc1=Z)c6fT%mL%8 z`LUwOMuLC5lMwIswBHXQI+lW_7SeP0rnBGFn0X*y%+a5*e>*^n5wEVxTb_2rxfZ5X z<-P*4-qj?KpZcYDk)s|it7dSoNnJ`C!|vXH&ypAo)+fJt>`wR@8n(C&w##Oor<<8{ z)#>$l$Pg-CJ?55N>3cDf>l>@wl7+eJzeGEVZ;!&jEA%cj&lnyYx+|nUC`uPzq0GzA z_tm6Wk35SW%iJ3+u16-%!c~6i!y{~E&#OJE^xpd2T624}%rd=01Ym1=o`U&rykf~# zr1+SMe5YfA5289Ea7Cb#?IYzeCbcVfU5r<3fsIl%N1Q|QpCnKo{yoop9)KfaFPlxh z2A;VQ8LWIj6e5fr-yt$~TIG}m;+PKM!=c)AqQD)eh+^mwoZMBxMEp*&# zq?z;~6@}LGd0Km}255Es?D^ZwCnm9LC@N>ku zKrh2gDNDc9Wjv+ap{NWXe(n|1*-#0ypNi*dgz+zyU(SHfR$adFuJ5d1-Tt&^ZI<;Q zp>Wi|BZ%kLPB)e<+#v(Sb#{4*5X#QoS837&n+3xLsUBuB5+vRGFbg)yTTC!oHCIUC zwveM*3aUzs8_o*^Q+y~OUNIo;JdZo4|76%LqWKkG0vX&ZM;x~=aGw)$iP8}O@=iom z`^|A;D-kf=o_d5BZ!JU}6D?HyQ;5ikNP)QO$1ftPyn9X>I0R?Uj|NNAS>E(wfF=Dp zV9u>+Waloy#PRV0|21=g)d5iHu@Q4>SeN$sh|_1%*LBzCI3s;LJ(_|Nm56HB6=g-i z6`|uH2$GiX;gTngjhU9baKIjKzIBc!iX~16dQSj0-w&VivS0Vlv~pNM|Z;NhfeO-hm^lq<(rw=BcKeic6UJ5tKO?qXN2Ug(ny+vPq#NHd zS)Lu26>^B-%WuODYjRToTMYXBm4E2w+n#blcJda3=a zd8JifTeV-Wj{2g;kvcR-*`3OQXB1!`9IsUY$(njJC?tN=Q+fR5?4`>#q{Yuw#g!>r ziAZJGLOQnFG}UV*roLi}O%1tRKEFFSTqdigAXMs`j>K69-3P7UTpUlshz?NRCCm>P z!`#f)q}!r1sRJV1`$rZMBd0(Z+z1siLZ65|%^qINCUT}&<4%Rfb&JA1{aSa^vuTD{a}Jn@=?1r0|S z2kvk*%)uWaVaV8Hf){M{ih+9~29 zYK-b^c|bL4E##l+UQXqO-e;Rs$KtuPuf7CmB^^K`{pMT47N~ddfY#l6G3urxC)6W$ z(=8l5yq#=8V_k;ZRu^lfQ0`a3S1*^b#-cuasSKZVy|Tb?hD=7F{`Y@@60Gkfp$KWR zcSZnePwUDSMH=nvlo(XIda5Gsf8ME+X)J$Bm`y&?1A@UdXGU-7?kT49%V98r0bjA+ z_e>DpPtlAo>o}Up<0uSikLM^T{R@kvs}wZ8S|OXN#`7VP8(Sb!9lBe{-StYZm9aCq*kCKjZ$7PC}Ux zDVe0yh|A|zTtF)eB+C!MGohXv3syCOwDTpoJLjdU&@cl^;hM93!mz691^9G- zmRM8CEQpln$f*x4lM?Y;{t7Iw(UPNEzl;p}j%52{!;r&lions#@Uq*<%3;cEH1%WN zV^dCb2Pd0={EQ~rHCqbOmM%&K?G5 zQTKA7OE3X=-x1JPktP+|$A$3~kuv-yE{msDKld9L}c-?^398%W^UX!8`hA236c8O7xft=O(Ht`inpEie=rH<)H6R@_{C>d&UhB` zSp1RX@>;HQ##tSNcpp~SPh4{J=~52$c*Dm?X$?{j50->ouP(G)SGGX^Xn-ozeYq^2jc%yd(9_4ua_LV<_LOxC(XjWmGKooeMYTm#e)*+ z!macGST$pJoPw(?rdg@N%cLo0JyJ_X?Mz1J^CvzFH}{9~hY`uVmo@&Gl`m}QK`Tr> zQ}mE&tBI>~>ZZ)bN4=@>|1*d)6u2yx%x^#j1afDe&;axcA9m2S9Ow37p|XWqrXq^v zgjSvKhg*E~+NuE!;l+b_q!YPLo0yUBv}&E_+fLJJRX$k%dVxhEX?bn<16hG4buW`{ z-T1aR-JvSkZ~ZIAnziAEDjZ@y{3mXhy7n`*n~=J9#(w}5D+2y$lAzvB;mX+d?1v^3 z^ys&b>Xvo(#!`FAN1`_{|8zz+~_8AJ#|IM+OCsy0u`O* z%V&atLv?G-@=pYex;7?zTybY=&o1j4>@)>-FCiKK#}Fp1oNhXAL8UOxSWwIwO;n1L zr`7*DSU<%ub%@u`xuruT%Mw_`|CQymHIwePXfS!c#A zqrEkj#Z)hG-j_*)UH+{(a<%7^(Z$vR^4j_ME6N;;5Sst2$x{@Xs5}v<3z^NKkD~S$ zc1mH706Q~2!qgmRi1$M^_15%67+Ze>@E;h(KtgQ>B14ZN4+ge6yH3DB(&0z#@s-#A zs+Oj@)op(*7(hcZL06X9f&0IBBH`}erGrQYNOX%s^F@nu$MW|HTUVDD zt7uxGfVR-Ie{^szia9Oe=_L3hBzfbZ{{t=sOIp1Z{oS2=5mfCCX-=e-4j=Vro@JDa4~pFZ7w*AL1e+F`cRwV|AA`XJ#?I=zir}5?ERd+gf5zK;5zQt4cv=R3R!!^;Zx#xnRdMuh*vPH zWJUj2kkCeqOvsyygoI6a7&rmrHUCF`nc~9^PY>F3A%v*sxvxDtJzR^O%= zcP0`FOyqx=ul2|`i-d1!{si%v_i>SDH^i#%CqD=*?Ll`z{hR?By)=$Ib{tZ$P`K`O z@2)&a7?rM_7KsJp|KCIOHEqkwg+HXqH*M6-i@AUN%{__P9BE~vf-j9(t13g8yWW+u zGES|#3O4=euP^m~sn`ok21*1^QcvPzb?oTAC~-mjQa6bHX0;640ofGcajw==3hPKX zxuSYtiEZ1qZQIGj`g!mDTB~n&-(IJ2s@5s&+TrrD zV(>6HFhD>+@Dk#}ia- z2?AA5K*W1P_?l zFK9anC&SMVDy-3OUWEEyE#j95I5;)1a1j&~Og>Qr)euq!k)k3HH86@eqnhG1LksuA z*Urv#%3AufiRq2YGehe0r;$U$!+B@Ad(X~$6Qw5ZbShbxI0uJaM4)15;#Vd&n7i-E zyvX@quN9ux&Z9~vpZldN>&U;#-5+l(<`Hk8*6(k!XD$+sdJ&fXjnW+{H3%>@Vqn#t zZxg=PaRG4u6$mW4)OF)r?&ojCqh$B8H9d_tYP4`1s69*a)pj`Z%nxG^@qQKSiC=Q@ zy!UU1ZEERl$1@a3#_<0ejZ(Q;CiMa`2yoPqKoSAi9;e2HiBeRO4E=4rl7u-y2_n&< z$zX^nH{D2?OGA%8qT$&TskYx?C2a-#N3dFJ?|sV58tJHPZqbp5-8+3B(gWxSb}?%nbtBeJpl|IY!~ zJvkOZ#}E&-AOj~zzM?`NBMmR65i&hAe*-B=bC!uN2nvcuu1;Rr`hv?72Au03{U52_ z>oo>+;sEVYW^fv$r{*`2LnXS6-gf%u(+DZT8z#h~$onzQ_f}*he@S)ols9{qqt06< z1}Vg1{YR|yYa_JOL$SDzB?$Y;AU!N-BlTfGdW6*(WHJ@+v_vhrae_h-nY2Ux`*9(l zw42p^h_N)pi$Wx3b-AIZdENm~I3XrqAy8Z&&T;IPqKinJzeIvW3;BEg{Q946_$vJx zf?b-fh-1=?Bwl;E9>JK+cNLm~UL2^Z$8JCBfgL55E$f7w#nJPRLf(iu^c5W5ZMTo-{nsD{SNuG#$*Nzh#{s3v@@?Jgz@(8J;y(h4#s@(f zv=1GNX;v4cApUvNxgcnh_Z4Koo$xg9C`tRG9D-dGqL%tjE7(B&i-q^J=RcF--}eTr zS8C^r2aO0KnkATy_FJ?+o|09(f;LHc<$*l_hPXY2*igD$bt4Iah8rcXc8v%|7>f0O z_V)WW80MJ;JwKOM@XOujmB&Zq4O9-@@85e~X*xoll~&ch0vaM?A~g}ZwOAXpN~YlZ z!2hPDmk4Q$C9GdqUU*u*(T4o7XHrs4xW>G`y;U(hzBzGJ948;gF~X0&By2Y6e{cCa zz@UMJka$WLb&i*xMOf901?&M+5;Z^>qDVxFtkFIAzJAhCXliI|*4izFR=m5FNL2Ix z4eR%wNIsy6E|&uNd;*z_1g9xtI$C*ZJm`s@rwS`yPktn!iuFdiU9?ct?0+MOiEA;# z=cyFHn1hML)R&;_50lKJg|h`pm0N4iFUh@Za=%_M+g(`JKI@p3hf(|WBqqI-I;!cwp*!S_X^Lf|y+wRzvm4`lq^zl@&?P&L zaE|-`tNa1~x#v z*s`9&H>Ta!19NN!!(v^zrAk?}mTM%z0$zAGW3q-a^SYVRWi!;kR8PWSa@eLDIy3R} zp+UljIaB#_vPPF?WbjkR>J|?4KN9#zm?6K%`At<(#jfR zkuT8m!l#nu^NV@d`;Me@ln|%)qqjZ9jJ(V7}oIrbf-`1%ZL*DR}ZYZEsiD@WxNOD`<_7AaV%WpnB;X( zYVkGNvh?AQb}aiLFSDyXqI@PtGSH?osZt`-y;I1!90i*Py|39D+G5ba=!!46+~$Q> z;~nq#_(oG|`oXv8ut<;ceH>N7hht$1mV(q}u14JIAE);xU+St^1d@Q{4aWbb7T6D} zqYR=5wGEa;Kc%mfYY(VY#6t1pNsCZ^<){Y&_=e&nP_FEvkx+3zuOtkQGMQk*RSm~! zMy~Aqutv~8{^BBZ_L+3iO;N5@WI;S4%M*Nvu_t|SIJ2!Sm6788d118s3R2i|U4lVN zd<>U(Nxfs7p2dO`r2|he7$nAcox!X$_`a{zyGMv3<3i6>6@vK~_?Mziq zS4|BkHr=IJ{b_3tT>d;{UvwUmIjl5ul!C(-T*Ax}Wo`KkGw{3=S5^|TIJLqrte11| z!hw(&{G(TJj!T%kN<8A%V1K1`BzB{Ce=IfXbE%u}oVE6`yxf5VPjLLDz5*UToQZZC znJ|X@de-ej)nWY~_o5HzCDJ_arVSQXl8h8G=c10BT5OsW$hcS|<(Gl0%3J4V%wM(9 zD#5AK`zCbOu_GNrud=~CJdU-lV^YzvV;*u@hcJfd;B_EdW9$(fD>04pI^lJ|sBH<) zs^HgI_Jk7AQ(QT~2*1OPZ(8X_+c^3CW0vDvuj@-j{I7tu*d3|GW*!~6H$Dp4{1@~d zatoXzm$SKzvDX1-n+?^kw9=7*1+@uJ`m7wD6(8#wOoOQ7<6{9@wd%FP@^Ne%4OLb> zDT>6ZW?r|w^QB1DIDuGz&1P$#j*iZh;&6rmQ~JJ#^@fcEg}XLpb)ip4JgFFh3`Lbm z=LUTG7X?aVd3gjzje4B{b&>8{gix+t!CY+JU2EmRj$fd?_8!M{KAYcp=F(Yk#3#X zV8_JixD7sVM>8gOj9jHIfD#2Pp*5rbYdMkC15P86BK|SBYi!+xTbv}s<6I`;VYp|k z`O9e>E@11MZZ=U9B&C;ak4mh}AE?m?Z$w|!DQf;bNVL7KHQ;q^NH zPYl9v$NM?D=V6+ADm=)M>dhO#U>zK&V`Y#*GO6zsB=N}~W5}AZo&&cHU za!Wm1s1tq{p)k{n=uf!Gyg5RtIR2d<%Q6y!-vRf$B7+VQdoh`QV?!#uPxQ~+SNn}8 z<}Ty%v}3R}qV4p-*ZwP1o$kqndYF|42PXrU&T@&2dPoi6<0(Yd2F`%El8SUOJL5je z4*8nXboKJDxR^L+DwDk?QWBEM=i{X~CMISJz#vvYABJO25<|QW5}>-bHZ!z#!I2a5 zpr)y%#b2bWe>yu?P+pGWi%>k8egdkd=j|+lRaIPE9C+)+Akd-mN`1f5Is#cbX=Y`` z1AO2S!==KrxZZy6Lc;=p*y;7Wl{x2p(Wn~ksDm?n?KYnCwY0D>$#FkUr!Vq}IlW*y zy?Fh)aHG6(<8h%#`-fPHX=Y}&x?OL;FXr78ap*Ex($d({!XtzpU7s9^^qh{q7Aw*297ae+5kWpBzLW^lqg_L$5~o z#4W0D98Q@V*_}fV{Pg*8dpoi3=f4Fxt+G&Y-zZ-q>&}$@Jz0`ppr4-lo2_$lDgkq= zUJp~2nwpwVeTU8r+n^?NA^&nS$YNF$Mry)Bc(<3?YOE?8q|28Z%@_yewj(%+lvo58RR2z#K8*OEv%4`P?{y3)X=vzs{UR`Hr@NY}t6io8z+t({z<%p7{?@ZqBqL{HzY2EW zS2-sp8p2JKUa#40)JTqTxv{Xc?86gA*U~0mfA7RU{c@VEe6=spodhGLU4fOu{MJKh|+f*x}Q!4<((J7#yY( z?fJr-9F-f{^1ILmpWo*)ke8U@NFTtn3;9%@G@Z3!+w%#^VlpYNct(7Fap5}HsvA0H z2qV(uPNRL5$zfAjL-=-rA_ZyI9|SF9xl-K)Uow&(tr*Q6`?!G>7|G<%EI{K?*_Uh8 zVWab0MWiV`Dfug=5yIO8;^tIEALKg&|+w#Je4bKqixcPgOfzV+FGFh#L(U+GW z9=N4amN|}c=f-s9&L?cN-n#LFy$dJZz>J3hx|tL86!))t6s$sL1mNpY!|Mjh-X?1l zSDpdgF8yj$I^Xvg^*LTKmnEk1Ad?|Y3(aU7-eM@3){@IFbz~t3ZuV378*^O^){ozt0oBfHt>an1KV?iU=hNhwD;i z;{qJ!ZEql5@INY1;gY(61^$vSZJ;*aCY26Pe(LY@4nM9ufO3dY|2~b!a`~?g6GH0l zfvyNSNKNzHpsU^Y&d5xjvf?Pd{brNJ(s@Ddb(`7U{?J1i*e*I!8Z5xcK#zvrt&-C4 z{+;HFPeueJ$ZAEHXPTlQtd2P*|S=P3g8Fx-ed39HW1u)y^#7<0&NM5Bt9sPi!WGK@6-D zNasoL<3|t)1?Cs@dFN#Ny>bqiZHSDxVxOV)JS61{k5U>Mw;02JH zNy#Z~qgpD0*qK}uk}5?mLe%d8^+$%{`GI~%epFvd1wvrytLfH-tuPoE{hrz7<>B+? zo_P;Ao&}~{@|8->CKC>e^`gwQ_rN`VON+*92!!$LiP||MB&K(Zd_emp`l;XxI<$# z$sY&gEODEql9LkV%1tOuNoYhHqUi=&-#Q{Xz*~S0_ftIs(#9PCT~ltwEBiO>WrNwQ z(b3Ufa&*|V$>pU~t<9PZJ%MwPB)s85A}=~0N4EL%1fo2o4*`A4#`=#a+lix*wBjrb zX101$H>+}GvHrF`sKh9-`y2BBOam?tFDE@_p*tW-g}7sPD4S+0P59g-w^oU8em>B% zAqHxR5Z1Ev@|bnR^F;pluzD^3m^KBynZZmb1*OBsjTPVR$is>qzxvLxu7A&vxvK69 zY7{WP$`RA6h0NNQAUU2^4Gm{_9%^#*9pDWaS}UaHHogOH-bkTlQLCyfT=~T**ks61 z^aQq1Z|elT2>-s^BHWVsFeXD04VwzJ;98L9uxa9lE?nK#)!85Qnae>P4My>l=r6s> zRdVIz68P!3Grewxb^P4hEkP$}IeXxYFfZkmvdkLAfM_(a?;jq#`RJU-mPJH{fwM6$ zWPgL4Tqo(gB8U&B@-DCy zG8hKErW4Tc8ITM!YIF(yNPB&k_t1qhkX!XZg2ah>Cwu6hPM2LNj@6DsT^hnYZiMqJ z?%V9IP)RVh-maq*t#3p_EjjO?wFXmLe_LZc>?q;Mn~;7Rv3eMXm2E7*6PTOntM|L+ z8!oI6+@J^PCTh196Znx^_Nsc0j&6kQ12UkPP>~QAHXS*|cq`n;rbgVwjebyt8OUdB}~GxmXk zqe{|4$b2K5$b@Gw?_wn5a^@fOYvJ|%rd~m`0D$>(1;a`UOiC4Rp+t@!n{W=CSR=R0 z0E8;m+*-$-4E4TN9Yo&KD2S5H;dk#0HBs$C*9LrhPe zFXo^@oz6Ujs$_*rA$*hd38XYx8Kjw|)+6sCGbOfdiE{+Eo|6gb&S_>W4UI6$4j|ap=bmHV@}Jz9tv(0hN%SQt!4tlEg*_u z#!Co^*Xn=GdM;7BlcpU@IQ%n=pMiOd#w*DCBQ5Gw0jkBKx4O9KM#a~fTE-z;ifinH z$Tgn0d*B7k_|ClON>|OVZKOjExuNDastxlMFVf7_(vU?w%pVs4R>+Yv;;maIC8o(8 zv(U0(v!TS4j&97@H(YZ194r4N|KY_*c0t@sKa;!P$K{Yb0)@-06C7SH#zg8iFS^r* zH8!ADrODTlR*xk|G45%Rz~6L5*0Hgs%!9|Xvogonnb>5CPOEYT-2Jj0=2duh(GF`(ESrcIwx| ziM7Z&>JH;Bw$3yzn*6_zB;)BBSqyh@&dpheb%RqqJTHfL~7TOPSr+_>-$kKh)5 zW-5ib=B*XUc)Z*O!wJVM*$(b2NjFPd3f&YOeL>D-#l&bHl*c-5*&Jp}0=U2kycYMO^o#LQ0>=?Edg_s5qivVQ!)EJ>mo=23{ zlZIPU!K6-kh2)`*!itKEUtSyjo_*Y}0^Z)AiC+3JDiTbhes!j-+TZDL1MyKKN+Ij* zLqNV4dWA3~_>jj4JXvx8%y&Kr8r6bSb(qWCu54PM z-D&Yzs5E^wqI*T|FX^X1&;;$M%6ao4Mx4Q4L1cdwd-QF|EJ>=lEgh|E^llXWQT2el z$N`1rUK!(FFrHLGB}REYehZQ|;M+H}_ONtC&F9~|%fpa`lz6y85Dy%BAP?Lr%c!jc z#`h=fP5}FOxHc(Z6NcK`SNh@ai*hF~MkzWeybh1Y@#j)P;vxN06W$`D-}1m$!HhjQ zRE~cm)wEL`75I}Xb@=2widCuJ3fhT&y|TKd7$ksccuGrryNrH4v+QcD#KS4rzR1Y- zF9~|gBz9{~90cwXX>!d(tlha?iqcf|X~_w%q6;vmA0lmXbtK486|u)ac>UX%)mn_i zMk@M>kbGI}>*%5ia*pH+<$*?ZFNAU?f|3uH$YP&vb@Q@r+Y}N4rhqxeZc0UZd*^%# z$bW>=2gvTb5iEk%21$n<9#yMJ@8nfi-^u?YCc5f(T?7~S7nr_t=k`(8$R10WXtlu? zzf8KgylgRGp_Q_3Q?_V#RbHugN`^V9%@O0xgTYjzz%Nu9LAHZIQj&qxC(S25kD?dH z`2M=$xY2aePQN{hg?_-kUv5AJ!ZR5oS4CpM#BY6svpe3LOtzDm-h4t;y?&a`!-kvw zrHq7^2^{G2mx9xOX$XCHHFXvOB&AlrURe^*>$xl-Oh_F;zR{Q)B-_#nlQ=s>==)(m zM-u?jyK(R#`bRpmj|}P5nhGaDp9j-?UcJ&=mudblNFA%&Q+)-NL(?v?Rg=XqeOu;NT*?g6|manR;oq2 z2fi*p;blV^ocM(X;T)Nkxw#6N{(MfJT(YT)lM^2lgtGxTH0Xx4pWWFdzd;PCul>W+ zLN(4$#ya{nVg}`sqY7q~=ox^7Co_}>u|toG3(*+}h_1z-+fW9U&f&}2QdEihRf7g9 zdJq>vQ{+d+6Gb^P6-J)mVq(x^Y2P1s0Rxi(2%G&KV&EWvpU-W1~cgKUie@ z1*seffmb99r%$7v86AaZ$v-+Tp+W_V2Xn1ibb3$WL4NyF1J`z1&)?JiE7S&w(ORYu zMf9ZtjwDx7(ldP&30f{42%kFA(kZW3kKyE4;}iL^2ngc0xu>6mowbaNOkr*NY~-~l zjutRdALTgqA;e6Qkao>-;WgTl@ltcgcL+bBWkO%&XaOB9o8|H3nj9M&!ndlD(gGW) zn2pl@?TLV&M0>1aHl5_)nx*Mh`?Z>FoAG*}JiiyZMIODoA?LZFoixh7D*_Re8#j-! zQiTGxpV(gAarBN6Vk0;B#SyeP!QnD55z=Ir$eU9yImD+E!35ANEELhVqN|+T=W37s zs1R3c5bvU~f(?_R$(#<(@<8bQZ)^t8eR)@mQ(?0mg#;VjQA#*KVtZRgH}%lr{Zri} ziW5u>z0lkeV75M`#tA8k@f!*0*%E9fD729TyDzDU+9Au__u^7>1$|8}`htn5+`f(R z&vhbmnQ>D?a|s*Owy~RsJq=j9l^wJ5zuUc?!;hySX{(~h(}L1C{>>xAC!m+SuO%&= zSqx7O3qqSKH(#*_FknS|9W3(jX-+31O=d;03|=JA$qx5b z`>)>@k&d;sy}G)Z#2&$>=hG$1o<>y?=q2QO4(%X~(bZzU88Wd6x9UF;-GmEEMz2@d zXfrt^iozKk|?8Z zA0p@Y%8*{S{hh=O8T5&P^f;hlEkF)5@?Bb9-i~xd9~GAs4#a{My1#7;1pA8j#@3LR zcZUA&j55yVQVoGZ9P(dQL5{AFKyfr>vLliGTAe(;et>U)r#V7#7$#u3rvS!3a3+48 z<3p#D9r0q^x@D^w@hlsEd#d)g??#Xbw1)?- zxnYvhh%pBa5;9-oTvYQ1NpDu`-=#G*IRSP2GC4v#a>xLWe-;=E7oFH#5b!9;Pzx2L z-GP0=LsTTI$9c^zNVXo&Vl)V4ym|lxtz8vc_Go9F;O9SD-w)S*bs8HhjK=08iAmOMBR^gv*xpgh@-Kw1s-!#`l9Um8aV zqXf8dQ97#rK!4JGtfIOJs%4w5;UjM+nDp$vpDX4$V2LADv%Z-`b@#lk3bU%oCxGI60MiIj@@JQ87%XMK9SPg>P zd@bD*WvV2s9fH9TN4PjGDw3Vg2N#KrtFsDa>BlTD_a6;a1>*8GgYKrLBMxypSpj>5 zl*L4JlvpvAHj7A89NbX3k+f$TU7)m_mQXls9`LAPl`bTy75~z@ya(_*wd+RHa^!!Nj^h?V7p;>Oay)BsW&5c2B_LO^2S&;K z>4@V4YNg7H(u5M!3O4Klw4Ot+p2iN~3R%>V{>$Jo{|**!iH|oLDC6GP*dQ&70=VBF zD5Lz5?qy|Vy%=Xm7`do0Bq77fB>*q9u+(zrr>ON-c)oiXd*b9x9;}UC@p;+I9*C$= z+pEWzah` z%0d*^jOkDF?(@aJIUcF1qOB>0*(=WUS+mmES9UJib}TdkzX7#s0-K#cxKmk{;;lOhH3p6%lKJn-4a%z6k*xY z8v5M~wzsh=QuPdnq!ntN&gQ|Cfh&G}R)l_~RLx9aXa%XIEfjB+!{T?*5X3&KM@>H= z9+pcH3`zEIVn|&_-Em^gM~`8tsWPD*h%o=;v+(NnYiYeV*U@hL^a(vxKP62DKmeWp zYNYG9NKf-Xscle+dK9JvOZFUTT4Ah4ox#w9G6h-USSAtcpUfN+z4_ai7z6|xSIJ|L zMfQQa7~PuE5cv0MqE7-Y@=&BL&;3M&tNn?a;Vm?oesBXk&;g4a3E=Q3JpVdQNJ{=f z=E^QWjPwq}5Rbj8I$vkz60KTuOy5iW-m^Fjl9(TM@zYbX_chKq3TNpT!GD4lCaDxU z4cSj54F&1$Sv?P^qMTO6Wl|D3$oTOadw2TVZuJ4jZ2tNp-a*m6n!mR?6TfC$(19t4 z3K6ZdtKe`%3+Vw_AV;0%%2kF_(`FAvvm&azS^Wk z*0YU9p@F7d7jz;zq~m%X*6 z!}AptSr)Fpga-~*%GUUiVyDOBc`}iMKEk1Q-&YtapxD(<<0$TpgrMda-<|z_#sB2h zN=oWtK$-Kmj3LvXW;Abi=gZZ)&Oh2o9%iSr8PChrSNd8>U7sp@Ke4=vYqI%wRO^Px z3lH%^BVELAg6A*7&TmYGU_aXndT~juTUTG16yA=Gju~8bo6RP9`zPgmH8vycC_HaE zz_><$ECG7N!8!0TI?>lhdp+;D+Dq)gDy6VW zv>R{$8*0sm8oC7DgP$v?cgA?oPu2ViKutp`WFY9#Q)Ru4Lqm^;B#06D(C0$a(|_(; zdZ27gcGNy_N8kG<-wc*GHp!c_bABKzI$bEZpd-Pwk)S_oX3`R@1O31yf5_w9F}+S z-*J*lRua)RI0z|5Bds*lz;U-u_Z|3<%g!6ng-ShnW)~GJtxn?2lqH8UN}5z z&n26s<@Kv(a&3QyNdJQ9nB`nM&Wed!n;31333>Kwx7z8#L9cZ3<3=gC_cC7A6+X^k zT5&5}6G@|>gfG$4OKk^ho|&qfUj;}h=>(Jxtt|9Kjze!JbR|a<3#|5_#ySFijSZ)) z-}RDtV=3-XvLUpv*@u@^N%Ko!E4W+LoUWCNfO046}5~8}3rg5^j%w z5DwwBj=(xwYhYwSnG~HOoudzeOrV&qy6p38Q)kcw`W|?vkHhhX{&B?%#Wp_rn0nGp z3$(E?!)jxHWD#b$R&p~q#Y))Z(y=%P1}5bFJBX!rb>r2Xc9?+>A!)62sQ2WMH^noD zLg%8|w$r|9Msn!pd`5=7-rf=;=$(>r-*x392efrf`SMUq(MBC#D^~yyg*S{#c%+&J zV7Q)&FuL9CvpsMxCuzEK`~p!mGlq_gg2uL>&$B0#K0C`Pgb7TCk2(n?`mO$HK^nMR zrMaX4fDoqc^SsQ}TM=3x6s_P2=rnG_&Pk?K6OD9jGmchNjcW!?(GK(RI=--vIeuR#La(X+R@&=a%)&ThzXQ!AbC9gR&* zQwhw&j*Zjwt=sjNp%>@pH1)t*%Ifh>s1Zik2`N(YQaF_}a%4=4P0#k*pJ8S?`SQkX zE)7c^u^kC3!Xm$3bad6Bupv40jqLPB&$zV%mR7ax=OLSL8`p^CQA!k=+C5m6g# zN*2<8N|g^~u|NiVkcJLD3_4I9axP}pwzhlLgUQ40r#JdYaS32hu>ML)O3p0XQX)ZW zW5OGZOm??XzM5w;P)rz?d^nsTlIFYGl1Bnkd+sFYQlckzt>lf?$#(2=LbcU)Qbx&w3&D4PAQHXu7$vWptoqce z)b06}DkXm-C?_Va5Hx{jq^B5GvYo86Vt8yxgLg&@I>t_G&q-RNG?~&KoEjzza22ws z^>xk4_2B6=3pbVIhX%!nf9bU;mVtC|2jsJLw&*VU&xoEU{GcpVhz(E$`U=kovp@7ASuFCk}i zLkwC9fQHY@w!z?OH-IAO;@KqMER&EH)joSvVz7lK%fijN{>#E6=lwUX_W zYZ(GcKav|PYuPr!Dy_G=d=B@~jb>iuHv)T2EEO}G03QL+qf%Ml(lge$Jtuv_ta}gH zlOL1;Di^Rp+SRq?L24VbtUFR~Tfm4T<1Yx6m$;>=yPwon8(;5}=?y(H#xES4`NXO& zmi-7Zve0+;v2maH&h*nQKj;PRqSS7|H)7i4i1V5FJH_zcydnTQEeH|pt~>ZwpBvz{ z6Pn4qZjM7Ko|G7eF&zvRHEa2?%`aM%V75d@st@c~|BMb5Rq&U{gWNT_re;QVFBGpH zkrs3MrHO=Kq0F;naAUdh5%OWHg0QErS;q0u^>gW9ucx|QwtlMBNZpL!PEy|IS{O=X zk;4XiE$+R_=|lzieVxF=(4?2e{2KbVHeL2~G2dz^1KD(U>`=(I;S#dC~@ScEyQ?w4PI_-(Qz)}L@S|$CkPQBsovX70&vt9p6wqX zXCl}C&Z7U}D}yGQ+_S2RP>rOK8{nFibT?sFubv~eS^E=YJeLLRPA%02@cqQg&(EAu zTPKqC`jsks3u|eQWF}5!h(Bm78zS%St_BTm7IfN7H8p(!E>MkALAUSLPea0+=%_AL zpc^Bq*94?IA?cL<3v^cO%cD^dK2h;Yj}6pN?B<3_16g9y$BHG)r(pY4Cqt<r6g87~ZhLsMYft&rPWPm-DEhqf& zuGi@UNo2#FpxiFfB-MM+2p>_%$YV%Rjj(e=OS!_3@f%uXOK^QmTg|eZtyf4Tk%JVbv7DejD3E6hi`h9mF;_ zb`)+%Pcd<)Fs94^_F+T&R+#gJ*O;iYp|8sn1Hu8mzu7H z0FW&X;z!V^6kuVv6-qd`VqR@!<}Y0@(B7%LsoOo_N>Lku5yztExE%2C&Z!4C(kdj^ zj^Bz_1VQ%RXiexuaMT9wgu@s3jqdJ-2WH#XyuF)?D=W4k_PiB!bj~7-{cj>rMH6?0w_+smursM zf*L+8N!}t`&x&9GA-_%~-qha9u$o#kEJJo!?>B{{sd{y;Kzly$LH{BONi}7YW>n}4 z*>bwW)jC6sRK8e{&pgYBWWh%ao^2xW&Ve$)N`_+uoL^=TKQQs3FZ3Gm^D2rsn&%I^ zmBrtu7foBvfw^-?yeQ`vyl~;B#(`4qP#4CutsRDS1HND?t>81jOwTzw`U!iDnLxZq zph%;{p29bFgf?*T(>T-EzTrZ3_wL(zUDi*DHmXWJzZL%qrXyYj)MuSZwPPks?lk(S z;R7Lh5?nIMwLhpldi!#>lRx-~nIP^|J~E`nw+by_Gt2Pf*TGidX|E;PPgco@tYuk4G9`(RituN7M#JLsJ z1GYC++v=skcy{6qTYg7&%FXK?e;C11V{7cBp(BLEa%g#w)edC38fIUJu(V3k2zHDC z;Ue4DHRQRkS$Dag;MHePhi8HaGL|dz@x$AH!XwK9&EF2^$&t6XN2k5zDajqi%GQiz<&fzVbuE~?hY@L53e=rpy{#g{8RWh#FVWf z;0_?@|9YNtI`jR9&X$B+iP5#U^NAa;M0I|N6Esx|zUdauUm0l>&i;|aMB%X|mckNM z%_7^&m~Cz5cu@@am_(8=D4AJB4u7pa;XX><7!8Dh`gOI7EVX?a-C*UDy4e*`2-E1j zMxN>Qy5L6rr!d}EH6TX!`;hAVurH7oB(??HmomYJg@}JS;6?kYdBxQ)+nEn5Dkovy zPBsQC?@hoK^vh^?sUB>{Qn|-n9G)!n`>zD?ng5 zF0@EZdbKA=uXEwB%q!P>8_@)j=7V7})Z*H!w7sBmk{$qq{5WDj_SOsBjWF{Mc1703 z7gZ`0Cir?S_1Vywfm_)s3xl$XU2!g%s`@Rsh(^mm2Bv!jBql z89$oC3~4QAr#}6K-v`pYbGFo8qJJ5=q4;R8w7EH)@@Gru>d94ya;%vxVIno*!ztUd(gqTn`VczB#`8?Dp74Ww zi19CdZm|LNt4 zJ?P@5T&1u^2ze!PVBffa<+y8o1Qlm;Q{or-0CC4tCjU0G*102kL?pAcgwzRkb!Um% zQYeR0=h5MEJpTL2;hjVi<|c1}gmw~&+VAwmQ%+rv0=~`aJp0U)s@B#S#d`o>ucy{J z>WRCrjvPHe#pW(0j_N{s@t_sZwhBcP6~-2D(LVa>#5cBP8~?fQlt9=ew^+y3D031_ zIkxtWRPVA48}PkngzrnR#_od&9scnS*YO=NjBB&qZ9?Z|2e{+s{%Po@b`x;V346Fp z5KWd2@@EI>pihtbgo(Upiz7&K0$)_By|DN}pV3p$H!%4>A*_+AB5#Bu?r82mqdg!Y zpFgmMABU!=r)>ot9Dpe<6s@Y@&LUeOE5@~MH~DhIJkapx6Jjg!0)2_nofrmLG9!Fa zMm2Q-La(Ms_m;CO&k@vPB&R>UsmDp=QYlu5$Eob8`=7d!O&|wIcPj`u%I}u{Dw6WQ zACZ^p(s-sHOJQ>1&olItuzRIBFxVDut!8p}9it2QF?ToI^J~~{1JDfZg$71%p#C(B zFUq;i>YX4=qB1^VszAps{6N#P+8r)eJ$GBwaNI}YUZE`lnvVp9*f)y7`rw1F)Tck$ zy}|cKA`v``RMu|%kr;n>|dw;TBXM+go+=h zLSyR=4MdK6xp~*ZPt z^z=>R1sV1(qowjAywgHG04BEn(LdyDKv;_M8r@(YoVH5&X(mr~T98fHh@s~nZ4GAT zSPwP=T7@qHf))FN;lDW)t6c^Roqp;**Df2@o_tW_2yS9EFWx_+ge7S`5N z*h9>i*tO9hQmcRI-JlRxdp*46uZ zRr@D7@*lNkh?iWk6{h-n+*js$GmqzWS2iD2D#L%ckSDICZ<9i0#|Z~YDA4Dp`7uhq z($kfQAdf7Ws2d(6Dp}rmL#{h9rOm_KG>46XTXkkkoP;x^C#d2SDRkh;W>QSx)O{>z zh;xhL2A5{_6tZM>5-igraahNRmDLuM??-1w{BJ;uROaoboHo7-pDi&Q;rmLA!i2f) zSJ(N6O($`GIR_kVySqJa((xW2JDFvlJkDDiI(qJKu+`JNDEu*buoy3=u?U~!Ol9XT zi2K1ZhDvVk*@opII{{9ovuaXJSI%7ZgmON>j{!+{Vp>|MQ^nbVTl}1@F%BJ$n-g%A z1}5^@K+xmD#0FyelP)82PeJ+zTsN)EE0YIrE+*P@si~zOnW;y>2A4nZGOMu1eIyoT zX)@kFB|GWQP6<|g4of~;`l-+8Ap^M-mQL1TTct^?cSDg7K8farURwihlpD!3aG92Ztxtt9|K z+Ps0G?0NGn4ruV3(BW^3MS1=vmC0Rr?fY9xQ+U2eT6+E>RR5k>IJ+kDROveAbL{@% zJz`9=?2JKiI(hrU;laRyvmD7H3SZ3}Jl2ZCN=ST@Y;JS=Ks@AuMc+MN?);LMfghUb z4ydHolNcJzMUSL*f3+t|_0G6xh!`V!bY>0gOOZaiyY7JtK~O;|S@H9`&8>@<>Pe8T z98u31W?fR_6Y$jt(qWd6WMqQ+j3|)nta1;M-~3@f9tDN=*@frKN&u*Q!K*2A<3OUy zO4fID!O8|H%0yA*x+O0d+M^4zMww_-Fot>>Aysm`;WRR3MqR`iZ1WCxN|f%$PQ-mc z@?)60&JkH~wPf>Gx0R?|X7j3zNS4ZMO0Bjj-nY%kc3v5eB#cF)@?VBp;#SAE{>`O7 zqO9?AqiWBu=MD}#oTzpg4ft+JWR|s>?^i#@^!=A#2cUuiVC|$@1e}^dwX;Vjy+Z1E z(x~Lr>Xid?+Co=-uB(vc9V1~w_l`o8^PNyd5Y{0sVwsnLlVOC5eMy8v5`;GTMYmhC z4*VvN06)Wm8+uG5sa)^NQzFtYAq(l`kD;fzt0XSonK>$uTsY{(R5 zz{U(T%~3-Lx>OYm^2RFNKg;>mwwM-?teK^)QRRH)qIiUmtf-~uBvGe`$31)~Eq?al zMda8)Xh3?CqgPJ6^#jM*Nt3-d(@HEaD=xYEz_7+xPEhRlBp*7)7I~65gYKUdOx{$} zjH{aA|L^rK*zZ-y4)0*blz=$|&%p z+I@hQ1}AL6FP_T{>EtxmFGwpW?$+3h))7i+#1k6npbCs&Wg zZWkXeQKD9vJ6_0^nFvPdcUiwg3sUpPl1D}Sj~uK|;@iMtyc!}XWi5ge!C~twh_6&b zy4JlswFLMzp}ku39m^%x9&njzlAwsQ7mlBe4rCOJDY#O8(ypw6(Rs{a#Q#Y}&cOc@ z@ws0&oeK~g@8e7AvL=TW1elDENxuTNqI<04FM9q^{+IL226Q-r8MpTB&;xsYl1Ef} zCNuwcO`ln|JLNBUwGJrc@Ok$);i5Z5wRbyNPgK3+o+txmL@~&1J%&P=n(RiK4*cH z%3lx(5D_gS@06WSZH#8VW|K9=wG>hl84k+P9W0RKwo+Q;ESe;1zqelq6t`@SJKG~F zx1LEYa0Kp)dQj{7Ox1mMx?uJ66wOmsU@7@)05mB7Wu5{@w5qbAv=a283Le)>&?;%i zJ?w#KvR|1Ux0_Aq40J4zxh_4xE1ljyG8A1<@`M#MSh+I zZ`GCH30M+q^=G>C8bR)xX3PF_O*Ks6$ek9H%Nlv%&7uu~Eq1YKGSRiAtLj@ynv`y> zX7Q4QZ1MGA*)DeWQU!18w3j^prtX}cq$MfFrTS};M{Ucw6`K~Ys7+R{p05C2Ty}P-sO@ur_;3CEPlQICXt(^%694VekZSs z%C}^e1)t2m7Ov*>FKMaVC5Z+pkZXBje)QP+1f#Bp_KNra7H+M+s-vJTF&`S6@vR?vA_g zEBM84VGsQa{XVlo{`4g%WZ&QbMqv#VWRnm(T4smN}pFFbRL+Bmhvrhb{ zUUYLj%}i+*lbm-SvgN$iz2TrhVwPa*@)n(xD=(5cTJAq~2~{&OT_ttwd$fp_(ihKD z+O13EEJgb-c!a>p#Q?zsgDWonExXsP`jo!u_fOuXEJ{gxFFog6bo$wU!L%t_p84gI z(htnMeELg=;fWQkpJwPnHsS)ezJ?ropUPHqWTS!74bzm*oe7e;yLax%vU6Rb${(b) zOGvMF;;wycU+f>A_ov3p_|&oS280&aY0l^kk5omxxuejKK!YDb>+c2 zj?&$(jv2CnsUL#g&D-KL8tMlGO&?e;c0G`k+VJ>-5sT}VwL4^1=Ds&w>8W?2 zW?ffO-T@Xab5N249%1oiRiA)i-La>a^0_B^a?g8qRsHY2S&hp+>9?%=`uB`$M`5O! zvs~~4<*z~a`BnGuOw|ednwTO14nAgK*H*6Ux6E8hZ~NrW)cO-A_0l;!==oy7Gf!7( zw(y+RFXHjImUdXVR&duY=XFbe>pTBW1Md#r@K8ai`Jv*+xT$VZMo+^3sqUYhy>N%H z;)GR9n-~_V=iaXT>h`YT)hhq*SpoedecDv@D5NeKN5oW&H~41zUC)H1R?UqyOv%0<)F=2>Sd1 Q9*4r<>FVdQ&MBb@059_Ne*gdg literal 0 HcmV?d00001 diff --git a/styles/_pages.scss b/styles/_pages.scss index 8a04c01c22..2c858e8dfa 100644 --- a/styles/_pages.scss +++ b/styles/_pages.scss @@ -149,9 +149,11 @@ #wallet-#{$wallet} { content: url("../img/wallets/#{$wallet}.svg"); } + } - #wallet-bitfrost { - content: url("../img/wallets/bitfrost.png"); + @each $wallet in "bitfrost", "crossmark" { + #wallet-#{$wallet} { + content: url("../img/wallets/#{$wallet}.png"); } } } @@ -2124,4 +2126,4 @@ html.light { } } } -} \ No newline at end of file +} diff --git a/styles/light/_light-theme.scss b/styles/light/_light-theme.scss index 98e0f71651..1a77c9a96e 100644 --- a/styles/light/_light-theme.scss +++ b/styles/light/_light-theme.scss @@ -569,6 +569,10 @@ pre { #wallet-gem { content: url("../img/wallets/lightmode/gem.svg"); } + + #wallet-crossmark { + content: url("../img/wallets/lightmode/crossmark.png"); + } } @@ -1362,4 +1366,4 @@ main article .card-grid { .DocSearch-Modal { box-shadow: $light-box-shadow; } - */ \ No newline at end of file + */ From 1cc8a4b3c060f8077e478cd08b14196f61512cbf Mon Sep 17 00:00:00 2001 From: Maria Shodunke Date: Thu, 17 Jul 2025 12:33:48 +0100 Subject: [PATCH 33/41] Update with review comments --- .../js/claimPayChannel.ts | 2 +- .../py/claim_pay_channel.py | 17 ++-- _code-samples/escrow/js/create-escrow.js | 2 +- _code-samples/escrow/js/finish-escrow.js | 6 +- _code-samples/escrow/py/create_escrow.py | 2 +- _code-samples/escrow/py/finish_escrow.py | 4 +- docs/_snippets/wait-for-validation.md | 2 - .../disable-master-key-pair.md | 2 +- .../set-up-multi-signing.md | 2 +- .../use-escrows/cancel-an-expired-escrow.md | 2 +- .../send-a-conditionally-held-escrow.md | 4 +- .../use-escrows/send-a-time-held-escrow.md | 88 ++----------------- 12 files changed, 29 insertions(+), 104 deletions(-) diff --git a/_code-samples/claim-payment-channel/js/claimPayChannel.ts b/_code-samples/claim-payment-channel/js/claimPayChannel.ts index 9fba2216f2..15f7763b29 100644 --- a/_code-samples/claim-payment-channel/js/claimPayChannel.ts +++ b/_code-samples/claim-payment-channel/js/claimPayChannel.ts @@ -1,6 +1,6 @@ /* * Create, claim and verify a Payment Channel. - * Reference: https://xrpl.org/paychannel.html + * Reference: https://xrpl.org/docs/references/protocol/ledger-data/ledger-entry-types/paychannel */ import { AccountObjectsRequest, diff --git a/_code-samples/claim-payment-channel/py/claim_pay_channel.py b/_code-samples/claim-payment-channel/py/claim_pay_channel.py index 310e9e2f1b..e802c194f8 100644 --- a/_code-samples/claim-payment-channel/py/claim_pay_channel.py +++ b/_code-samples/claim-payment-channel/py/claim_pay_channel.py @@ -35,7 +35,7 @@ payment_channel_create = PaymentChannelCreate( public_key=wallet1.public_key, ) -print("Submitting a PaymentChannelCreate transaction...") +print("\nSubmitting a PaymentChannelCreate transaction...") payment_channel_response = submit_and_wait( payment_channel_create, client, @@ -53,15 +53,16 @@ account_objects = account_objects_response.result["account_objects"] # Find the PayChannel object to get the correct channel ID channel_id = None -for obj in account_objects: - if obj["LedgerEntryType"] == "PayChannel": - channel_id = obj["index"] - break +if 'meta' in payment_channel_response.result and 'AffectedNodes' in payment_channel_response.result['meta']: + for node in payment_channel_response.result["meta"]["AffectedNodes"]: + if 'CreatedNode' in node and node["CreatedNode"]["LedgerEntryType"] == 'PayChannel': + channel_id = node['CreatedNode']['LedgerIndex'] + break if not channel_id: - raise Exception("PayChannel not found in account objects") + raise Exception("Payment Channel ID not found in the response.") -print(f"PayChannel ID: {channel_id}") +print(f"Payment Channel ID: {channel_id}") # Destination claims the Payment Channel and we see the balances to verify. payment_channel_claim = PaymentChannelClaim( @@ -70,7 +71,7 @@ payment_channel_claim = PaymentChannelClaim( amount="100", ) -print("Submitting a PaymentChannelClaim transaction...") +print("\nSubmitting a PaymentChannelClaim transaction...") channel_claim_response = submit_and_wait( payment_channel_claim, client, diff --git a/_code-samples/escrow/js/create-escrow.js b/_code-samples/escrow/js/create-escrow.js index 9f48213565..6d557475b6 100644 --- a/_code-samples/escrow/js/create-escrow.js +++ b/_code-samples/escrow/js/create-escrow.js @@ -44,7 +44,7 @@ async function main() { "Destination": wallet.address, "Amount": "6000000", //drops XRP "DestinationTag": 2023, - "Condition": conditionHex, + "Condition": conditionHex, // Omit this for time-held escrows "Fee": "12", "FinishAfter": xrpl.isoTimeToRippleTime(finishAfter.toISOString()), }; diff --git a/_code-samples/escrow/js/finish-escrow.js b/_code-samples/escrow/js/finish-escrow.js index 71f1dabe1b..879aedbf0d 100644 --- a/_code-samples/escrow/js/finish-escrow.js +++ b/_code-samples/escrow/js/finish-escrow.js @@ -35,9 +35,11 @@ const main = async () => { "Owner": wallet.address, // This should equal the sequence number of the escrow transaction "OfferSequence": offerSequence, - // Crypto condition that must be met before escrow can be completed, passed on escrow creation + // Crypto condition that must be met before escrow can be completed, passed on escrow creation. + // Omit this for time-held escrows. "Condition": condition, - // Fulfillment of the condition, passed on escrow creation + // Fulfillment of the condition, passed on escrow creation. + // Omit this for time-held escrows. "Fulfillment": fulfillment, }; diff --git a/_code-samples/escrow/py/create_escrow.py b/_code-samples/escrow/py/create_escrow.py index 9ea2512347..ecd75df9a2 100644 --- a/_code-samples/escrow/py/create_escrow.py +++ b/_code-samples/escrow/py/create_escrow.py @@ -34,7 +34,7 @@ create_txn = EscrowCreate( destination=receiver_addr, finish_after=claim_date, cancel_after=expiry_date, - condition=condition + condition=condition # Omit this for time-held escrows ) # Autofill, sign, then submit transaction and wait for result diff --git a/_code-samples/escrow/py/finish_escrow.py b/_code-samples/escrow/py/finish_escrow.py index a8c0b7821d..f4d58a3f11 100644 --- a/_code-samples/escrow/py/finish_escrow.py +++ b/_code-samples/escrow/py/finish_escrow.py @@ -29,8 +29,8 @@ finish_txn = EscrowFinish( account=sender_wallet.address, owner=escrow_creator, offer_sequence=escrow_sequence, # The sequence number of the escrow transaction - condition=condition, - fulfillment=fulfillment + condition=condition, # Omit this for time-held escrows + fulfillment=fulfillment # Omit this for time-held escrows ) # Autofill, sign, then submit transaction and wait for result diff --git a/docs/_snippets/wait-for-validation.md b/docs/_snippets/wait-for-validation.md index f385e9fd01..d020db203d 100644 --- a/docs/_snippets/wait-for-validation.md +++ b/docs/_snippets/wait-for-validation.md @@ -1,5 +1,3 @@ On a live network (including Mainnet, Testnet, or Devnet), you can wait 4-7 seconds for the ledger to close automatically. If you're running `rippled` in stand-alone mode, use the [ledger_accept method][] to manually close the ledger. - -{% raw-partial file="/docs/_snippets/common-links.md" /%} diff --git a/docs/tutorials/how-tos/manage-account-settings/disable-master-key-pair.md b/docs/tutorials/how-tos/manage-account-settings/disable-master-key-pair.md index b3f8cb3204..e400be100a 100644 --- a/docs/tutorials/how-tos/manage-account-settings/disable-master-key-pair.md +++ b/docs/tutorials/how-tos/manage-account-settings/disable-master-key-pair.md @@ -308,7 +308,7 @@ If the transaction fails with the result `tecNO_ALTERNATIVE_KEY`, your account d ### 4. Wait for validation -{% partial file="/docs/_snippets/wait-for-validation.md" /%} +{% raw-partial file="/docs/_snippets/wait-for-validation.md" /%} ### 5. Confirm Account Flags diff --git a/docs/tutorials/how-tos/manage-account-settings/set-up-multi-signing.md b/docs/tutorials/how-tos/manage-account-settings/set-up-multi-signing.md index 5bbfc29111..bafa6aa94b 100644 --- a/docs/tutorials/how-tos/manage-account-settings/set-up-multi-signing.md +++ b/docs/tutorials/how-tos/manage-account-settings/set-up-multi-signing.md @@ -160,7 +160,7 @@ Make sure that the [Transaction Result](../../../references/protocol/transaction ## 4. Wait for validation -{% partial file="/docs/_snippets/wait-for-validation.md" /%} +{% raw-partial file="/docs/_snippets/wait-for-validation.md" /%} ## 5. Confirm the new signer list diff --git a/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md b/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md index c1adf3d566..9b11580aa0 100644 --- a/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md +++ b/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/cancel-an-expired-escrow.md @@ -91,7 +91,7 @@ Take note of the transaction's identifying `hash` value so you can check its fin ## 4. Wait for validation -{% partial file="/docs/_snippets/wait-for-validation.md" /%} +{% raw-partial file="/docs/_snippets/wait-for-validation.md" /%} ## 5. Confirm final result diff --git a/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md b/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md index 93f39ba2a9..f2dad19faa 100644 --- a/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md +++ b/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-conditionally-held-escrow.md @@ -118,7 +118,7 @@ Response: ## 4. Wait for validation -{% partial file="/docs/_snippets/wait-for-validation.md" /%} +{% raw-partial file="/docs/_snippets/wait-for-validation.md" /%} ## 5. Confirm that the escrow was created @@ -178,7 +178,7 @@ Take note of the transaction's identifying `hash` value so you can check its fin ## 7. Wait for validation -{% partial file="/docs/_snippets/wait-for-validation.md" /%} +{% raw-partial file="/docs/_snippets/wait-for-validation.md" /%} ## 8. Confirm final result diff --git a/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md b/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md index 2cb08fec91..418f399fa7 100644 --- a/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md +++ b/docs/tutorials/how-tos/use-specialized-payment-types/use-escrows/send-a-time-held-escrow.md @@ -58,54 +58,11 @@ Response: {% /tab %} {% tab label="Javascript" %} -```js -// Prepare EscrowCreate transaction ------------------------------------ -const escrowCreateTransaction = { - "TransactionType": "EscrowCreate", - "Account": wallet.address, - "Destination": wallet.address, - "Amount": "6000000", //drops XRP - "DestinationTag": 2023, - "Fee": "12", - "FinishAfter": xrpl.isoTimeToRippleTime(finishAfter.toISOString()), -}; - -xrpl.validate(escrowCreateTransaction); - -// Sign and submit the transaction ---------------------------------------- -console.log('Signing and submitting the transaction:', - JSON.stringify(escrowCreateTransaction, null, "\t"), "\n" -); -const response = await client.submitAndWait(escrowCreateTransaction, { wallet }); -console.log(`Sequence number: ${response.result.tx_json.Sequence}`); -console.log(`Finished submitting! ${JSON.stringify(response.result, null, "\t")}`); -``` +{% code-snippet file="/_code-samples/escrow/js/create-escrow.js" language="js" from="// Prepare EscrowCreate" before="await client.disconnect" /%} {% /tab %} {% tab label="Python" %} -```python -# Build escrow create transaction -create_txn = EscrowCreate( - account=sender_wallet.address, - amount=xrp_to_drops(10.000), - destination=receiver_addr, - finish_after=claim_date -) - -# Autofill, sign, then submit transaction and wait for result -stxn_response = submit_and_wait(create_txn, client, sender_wallet) - -# Return result of transaction -stxn_result = stxn_response.result - - -# Parse result and print out the neccesary info -print(stxn_result["tx_json"]["Account"]) -print(stxn_result["tx_json"]["Sequence"]) - -print(stxn_result["meta"]["TransactionResult"]) -print(stxn_result["hash"]) -``` +{% code-snippet file="/_code-samples/escrow/py/create_escrow.py" language="py" from="# Build escrow create" /%} {% /tab %} {% /tabs %} @@ -114,7 +71,7 @@ Take note of the transaction's identifying `hash` value so you can check its fin ## 3. Wait for validation -{% partial file="/docs/_snippets/wait-for-validation.md" /%} +{% raw-partial file="/docs/_snippets/wait-for-validation.md" /%} ## 4. Confirm that the escrow was created @@ -191,44 +148,11 @@ Response: {% /tab %} {% tab label="Javascript" %} -```js -// Prepare EscrowFinish transaction --------------------------------- -const escrowFinishTransaction = { - "Account": wallet.address, - "TransactionType": "EscrowFinish", - "Owner": wallet.address, - // This should equal the sequence number of the escrow transaction - "OfferSequence": offerSequence, -}; - -xrpl.validate(escrowFinishTransaction); - -// Sign and submit the transaction ---------------------------------------- -console.log('Signing and submitting the transaction:', JSON.stringify(escrowFinishTransaction, null, "\t")); -const response = await client.submitAndWait(escrowFinishTransaction, { wallet }); -console.log(`Finished submitting! ${JSON.stringify(response.result, null, "\t")}`); -``` +{% code-snippet file="/_code-samples/escrow/js/finish-escrow.js" language="js" from="// Prepare EscrowFinish" before="await client.disconnect" /%} {% /tab %} {% tab label="Python" %} -```python -# Build escrow finish transaction -finish_txn = EscrowFinish( - account=sender_wallet.address, - owner=escrow_creator, - offer_sequence=escrow_sequence, # The sequence number of the escrow transaction -) - -# Autofill, sign, then submit transaction and wait for result -stxn_response = submit_and_wait(finish_txn, client, sender_wallet) - -# Parse response and return result -stxn_result = stxn_response.result - -# Parse result and print out the transaction result and transaction hash -print(stxn_result["meta"]["TransactionResult"]) -print(stxn_result["hash"]) -``` +{% code-snippet file="/_code-samples/escrow/py/finish_escrow.py" language="py" from="# Build escrow finish" /%} {% /tab %} {% /tabs %} @@ -237,7 +161,7 @@ Take note of the transaction's identifying `hash` value so you can check its fin ## 7. Wait for validation -{% partial file="/docs/_snippets/wait-for-validation.md" /%} +{% raw-partial file="/docs/_snippets/wait-for-validation.md" /%} ## 8. Confirm final result From 0aee6fdc3385179125f8e3b56fb7d9d9df4e59dd Mon Sep 17 00:00:00 2001 From: Rome Reginelli Date: Thu, 17 Jul 2025 13:59:27 -0700 Subject: [PATCH 34/41] Update clustering concept Fix #832 --- docs/concepts/networks-and-servers/clustering.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/concepts/networks-and-servers/clustering.md b/docs/concepts/networks-and-servers/clustering.md index a87baed06a..6bc8708087 100644 --- a/docs/concepts/networks-and-servers/clustering.md +++ b/docs/concepts/networks-and-servers/clustering.md @@ -1,6 +1,4 @@ --- -html: clustering.html -parent: networks-and-servers.html seo: description: Run rippled servers in a cluster to share the load of cryptography between them. labels: @@ -8,13 +6,13 @@ labels: --- # Clustering -If you are running multiple `rippled` servers in a single datacenter, you can configure those servers into a cluster to maximize efficiency. Running your `rippled` servers in a cluster provides the following benefits: +Clustering is a configuration operation for `rippled` servers that improves efficiency among mutually trusted servers. Clustering should only be used for servers that are located within the same datacenter and are operated by the same organization. Clustering provides the following benefits: -- Clustered `rippled` servers share the work of cryptography. If one server has verified the authenticity of a message, the other servers in the cluster trust it and do not re-verify. +- Clustered servers share the work of cryptography. If one server has verified the authenticity of a message, the other servers in the cluster trust it and do not re-verify. - Clustered servers share information about peers and API clients that are misbehaving or abusing the network. This makes it harder to attack all servers of the cluster at once. - Clustered servers always propagate transactions throughout the cluster, even if the transaction does not meet the current load-based transaction fee on some of them. -If you are running a validator as a [private peer](peer-protocol.md#private-peers), Ripple recommends using a cluster of `rippled` servers as proxy servers. +If you are running a validator as a [private peer](peer-protocol.md#private-peers), it's recommended to run a cluster of servers as proxies, since a cluster is more resilient to failure than individual servers. ## See Also From 20ef3a4edd4e772dcdf28059fd29f0d6e95a68ef Mon Sep 17 00:00:00 2001 From: Rome Reginelli Date: Thu, 17 Jul 2025 14:02:53 -0700 Subject: [PATCH 35/41] Fix typo on consensus structure page Fix #833 --- docs/concepts/consensus-protocol/consensus-structure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/consensus-protocol/consensus-structure.md b/docs/concepts/consensus-protocol/consensus-structure.md index 790f235b91..e631218447 100644 --- a/docs/concepts/consensus-protocol/consensus-structure.md +++ b/docs/concepts/consensus-protocol/consensus-structure.md @@ -129,7 +129,7 @@ _Figure 7: An XRP Ledger Server Calculates a Ledger Validation — Each server a Validators each relay their results in the form of a signed message containing the hash of the ledger version they calculated. These messages, called _validations_, allow each server to compare the ledger it computed with those of its peers. -[{% inline-svg file="/docs/img/consensus-declare-validation.svg" /%}](/docs/img/consensus-declare-validation.svg "Figure 8: Ledger is Validated When Supermajority of Peers Calculate the Same Result Result") +[{% inline-svg file="/docs/img/consensus-declare-validation.svg" /%}](/docs/img/consensus-declare-validation.svg "Figure 8: Ledger is Validated When Supermajority of Trusted Validators Calculate the Same Result Result") _Figure 8: Ledger is Validated When Supermajority of Peers Calculate the Same Result — Each server compares its calculated ledger with the hashes received from its chosen validators. If not in agreement, the server must recalculate or retrieve the correct ledger._ From c74450f5fb270f99770275908e3184170b4ec21b Mon Sep 17 00:00:00 2001 From: Rome Reginelli Date: Thu, 17 Jul 2025 15:07:37 -0700 Subject: [PATCH 36/41] Apply suggestions from review Co-authored-by: Maria Shodunke --- docs/infrastructure/installation/system-requirements.md | 2 +- .../installation/update-rippled-manually-on-ubuntu.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/infrastructure/installation/system-requirements.md b/docs/infrastructure/installation/system-requirements.md index ac94d8e046..27a89826f5 100644 --- a/docs/infrastructure/installation/system-requirements.md +++ b/docs/infrastructure/installation/system-requirements.md @@ -28,7 +28,7 @@ For testing purposes, you can run an XRP Ledger server on commodity hardware wit - Operating System: macOS, Windows (64-bit), or most Linux distributions (Red Hat, Ubuntu, and Debian supported). - CPU: 64-bit x86_64, 4+ cores. - - For development purposes, is also possible to compile `rippled` for some Apple Silicon or ARM processors. See the [Build instructions](https://github.com/XRPLF/rippled/blob/develop/BUILD.md) for guidance. However, architectures other than x86_64 are not officially supported and are not recommended for production. + - For development purposes, it is also possible to compile `rippled` for some Apple Silicon or ARM processors. See the [Build instructions](https://github.com/XRPLF/rippled/blob/develop/BUILD.md) for guidance. However, architectures other than x86_64 are not officially supported and are not recommended for production. - Disk: SSD / NVMe (10,000 IOPS sustained - not burst or peak - or better). Minimum 50 GB for the database partition. Do not use Amazon Elastic Block Store (AWS EBS) because its latency is too high to sync reliably. - RAM: 16 GB+. diff --git a/docs/infrastructure/installation/update-rippled-manually-on-ubuntu.md b/docs/infrastructure/installation/update-rippled-manually-on-ubuntu.md index b70a9c2fc6..e9ec1af9fb 100644 --- a/docs/infrastructure/installation/update-rippled-manually-on-ubuntu.md +++ b/docs/infrastructure/installation/update-rippled-manually-on-ubuntu.md @@ -7,7 +7,7 @@ labels: --- # Update Manually on Ubuntu or Debian -This page describes how to update manually to the latest release of `rippled` on Ubuntu Linux. You can also up [automatic updates](update-rippled-automatically-on-linux.md). +This page describes how to manually update to the latest release of `rippled` on Ubuntu Linux. You can also set up [automatic updates](update-rippled-automatically-on-linux.md). These instructions assume you have already [installed `rippled` on a supported version of Ubuntu using Ripple's `deb` package](install-rippled-on-ubuntu.md). If you are upgrading from `rippled` 1.6.x or older, remove it and perform a fresh install instead. From b21252f4994a17eb93c49be8c45455445a87554f Mon Sep 17 00:00:00 2001 From: tequ Date: Fri, 18 Jul 2025 22:53:57 +0900 Subject: [PATCH 37/41] Fix DevTool links to use Link component --- index.page.tsx | 2 +- resources/dev-tools/index.page.tsx | 19 ++++++++++--------- sidebars.yaml | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/index.page.tsx b/index.page.tsx index 2add1e04e2..001ff11d2c 100644 --- a/index.page.tsx +++ b/index.page.tsx @@ -24,7 +24,7 @@ const cards = [ id: 'low-cost', title: 'Low Cost', description: <> - At fractions of a penny per transaction, costs are inexpensive enough to enable a wide variety of blockchain use cases + At fractions of a penny per transaction, costs are inexpensive enough to enable a wide variety of blockchain use cases }, { diff --git a/resources/dev-tools/index.page.tsx b/resources/dev-tools/index.page.tsx index f536661b3c..6c0b096d1d 100644 --- a/resources/dev-tools/index.page.tsx +++ b/resources/dev-tools/index.page.tsx @@ -1,5 +1,6 @@ import * as React from "react"; import { useThemeHooks } from '@redocly/theme/core/hooks'; +import { Link } from "@redocly/theme/components/Link/Link"; export const frontmatter = { seo: { @@ -192,9 +193,9 @@ export default function DevTools() {

{translate("Explorers")}

{explorers_tools.map((card) => ( - {translate(card.description)}

 
-
+ ))}
@@ -221,9 +222,9 @@ export default function DevTools() {

{translate("API Access")}

{api_access_tools.map((card) => ( - {translate(card.description)}

 
-
+ ))}
@@ -251,9 +252,9 @@ export default function DevTools() {

{translate("Other")}

{other.map((card) => ( - {translate(card.description)}

 
-
+ ))} diff --git a/sidebars.yaml b/sidebars.yaml index d6acf43f65..fe018515fc 100644 --- a/sidebars.yaml +++ b/sidebars.yaml @@ -699,7 +699,7 @@ labelTranslationKey: sidebar.resources.codesamples page: resources/code-samples.page.tsx - group: Dev Tools - labelTranslationKey: sidebar.resources.dev-tools + groupTranslationKey: sidebar.resources.dev-tools page: resources/dev-tools/index.page.tsx expanded: false items: From 9d45d8564104d16089fd415cdd437e316f071604 Mon Sep 17 00:00:00 2001 From: akcodez Date: Mon, 21 Jul 2025 09:17:29 -0700 Subject: [PATCH 38/41] add proper link for gemwallet --- about/xrp.page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/about/xrp.page.tsx b/about/xrp.page.tsx index dca92d84c9..ae50852e11 100644 --- a/about/xrp.page.tsx +++ b/about/xrp.page.tsx @@ -27,7 +27,7 @@ const softwallets = [ alt: "Gatehub", imgclasses: "invertible-img", }, - { href: "https://gemwallet.com/", id: "wallet-gem", alt: "Gem Wallet" }, + { href: "https://gemwallet.app/", id: "wallet-gem", alt: "Gem Wallet" }, { href: "https://coin.space/", id: "wallet-coin", alt: "Coin Space" }, { href: "https://crossmark.io/", id: "wallet-crossmark", alt: "Crossmark Wallet" }, ]; From fda88826ea5bf5b4a12cd45c16e920c069906a97 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 16:51:03 +0000 Subject: [PATCH 39/41] Bump axios from 1.10.0 to 1.11.0 Bumps [axios](https://github.com/axios/axios) from 1.10.0 to 1.11.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.10.0...v1.11.0) --- updated-dependencies: - dependency-name: axios dependency-version: 1.11.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4a95856d2e..c93596e5f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3228,20 +3228,20 @@ "license": "MIT" }, "node_modules/axios": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz", - "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz", + "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", + "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, "node_modules/axios/node_modules/form-data": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz", - "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", "license": "MIT", "dependencies": { "asynckit": "^0.4.0", From 0c45223a1c8b716edbe71338b4dd6c26d450b44c Mon Sep 17 00:00:00 2001 From: Rome Reginelli Date: Wed, 23 Jul 2025 13:22:56 -0700 Subject: [PATCH 40/41] Fix unparsed ref link to Object in Binary reference --- docs/references/protocol/binary-format.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/references/protocol/binary-format.md b/docs/references/protocol/binary-format.md index 6efb50805c..4381f16fb3 100644 --- a/docs/references/protocol/binary-format.md +++ b/docs/references/protocol/binary-format.md @@ -338,7 +338,7 @@ Some fields specify a _type_ of asset, which could be XRP or a fungible [token]( ### Object Fields -[STObject]: #object-fields +[Object]: #object-fields Some fields, such as `SignerEntry` (in [SignerListSet transactions][]), and `Memo` (in `Memos` arrays) are objects (called the "STObject" type). The serialization of objects is very similar to that of arrays, with one difference: **object members must be placed in canonical order** within the object field, where array fields have an explicit order already. From 6ab4c2991665a706b114f4b5fe36b8d936044584 Mon Sep 17 00:00:00 2001 From: amarantha-k Date: Wed, 23 Jul 2025 15:12:20 -0700 Subject: [PATCH 41/41] Add blog with Frii Pay case study --- ...xrpl-case-study-crypto-payment-solution.md | 79 +++++++++++++++++++ blog/sidebars.yaml | 1 + 2 files changed, 80 insertions(+) create mode 100644 blog/2025/frii-pay-xrpl-case-study-crypto-payment-solution.md diff --git a/blog/2025/frii-pay-xrpl-case-study-crypto-payment-solution.md b/blog/2025/frii-pay-xrpl-case-study-crypto-payment-solution.md new file mode 100644 index 0000000000..cece50f5dc --- /dev/null +++ b/blog/2025/frii-pay-xrpl-case-study-crypto-payment-solution.md @@ -0,0 +1,79 @@ +--- +category: 2025 +date: "2025-07-23" +template: '../../@theme/templates/blogpost' +seo: + description: Learn how Frii Pay built a crypto payment solution on the XRP Ledger (XRPL). This case study details their journey, technical integration, and market impact. +labels: + - Case Study +markdown: + editPage: + hide: true +--- +# Frii Pay & XRPL: Next-Gen Crypto Payment Solution + +One of the promising players leveraging XRPL's payment capabilities is [Frii Pay](https://friipay.io/) — a crypto-native payment solution, focused on widening access to low-cost, [real-time digital payments](/docs/use-cases/payments) at point of sale, and introducing the benefits of blockchain finance to mainstream businesses and consumers alike. + +This case study explores how Frii Pay utilizes XRPL technology, its value proposition, and the business interest and traction it has achieved, serving as a model for payment businesses building on the XRP Ledger (XRPL). + + + + + + +## How Frii Pay Utilizes XRPL Technology for Payments + +Frii Pay’s core infrastructure is purpose-built on the XRP Ledger, leveraging its decentralized, fast, and scalable blockchain environment to deliver seamless payment experiences. + +### Key ways Frii Pay leverages XRPL + +* **[Stablecoin Payments](/docs/use-cases/tokenization/stablecoin-issuer)**: Frii Pay issues and supports [multiple stablecoins](https://ripple.com/insights/the-rise-of-global-stablecoins-on-the-xrpl/) (e.g. RLUSD) directly on the XRPL, ensuring price-stable crypto payments while maintaining high transaction speed and low fees. + +* **Instant Settlement Layer**: Utilizing XRPL's average settlement time of 3-5 seconds, Frii Pay enables real-time cross-border and domestic payments without intermediaries. + +* **On-Ledger Tokenization**: Frii Pay uses [XRPL’s native tokenization features](/docs/use-cases/tokenization/real-world-assets) to issue coupons and loyalty rewards in the form of merchant-specific tokens or digital money, creating new and engaging consumer interactions by unlocking the programmable finance capabilities of the XRPL. + +* **Real-time Currency Conversion**: Frii Pay utilizes the XRPL’s [Decentralized Exchange (DEX)](/docs/concepts/tokens/decentralized-exchange) to enable consumers to pay using any tradable currency in their wallet, while ensuring the merchant receives the exact currency and amount they have requested. + +* **Compliance**: Frii Pay’s architecture incorporates XRPL’s compliance-ready infrastructure, facilitating KYC/AML-integrated payment rails that can interact with traditional financial systems to on and off ramp funds for all users. + + +## Benefits of XRPL for Payment Companies like Frii Pay + +Frii Pay’s value proposition revolves around providing frictionless, stable, and cost-effective payment infrastructure to businesses, powered by XRPL. + +In addition, the application leverages consumer spending data with the real-time, cross-border capabilities of XRPL to introduce new and interesting payment experiences that benefit merchants, consumers, and even brands. + +Imagine spending $100 on a meal and having your $10 loyalty discount sent instantly to a wallet on the other side of the world to pay for a gift, medical treatment, or education. + + +### How XRPL Adds Value to Frii Pay’s Crypto Payment Solution + + + +Frii Pay abstracts blockchain complexity for businesses by providing merchant SDKs, customer-facing wallets, payment APIs, settlement & reconciliation dashboards. This allows merchants to accept crypto payments without technical blockchain expertise while tapping into XRPL’s efficiency. They have also expanded their solution to support payments online and via unattended kiosks. + +## Frii Pay's Business Traction and Impact with XRPL + +Since the launch of its XRPL-based payment ecosystem, Frii Pay has achieved significant traction. + +Key results of the partnership include: +* **Payment Terminal Compatibility**: Frii Pay has developed its terminal software to be compatible with **50+ million existing card payment terminals worldwide**. +* **Merchants & Acquiring Bank Relationships**: Frii Pay has established relationships with a number of acquiring banks covering the UK and Europe to offer crypto acceptance, digital loyalty and digital couponing on XRPL alongside traditional card payments through existing POS terminals. +* **Merchant Network**: In the UK, Frii Pay has established a **network of over 900 merchants** who can accept crypto payments once regulation allows. +* **Consumer Engagement**: Frii Pay has initiated a program to educate **250 million university students worldwide** on using digital wallets and digital currencies. +* **Student POC Deployment**: Frii Pay has successfully launched a Proof-of-Concept (POC) with The University of Birmingham, providing students with a free mobile wallet powered by XRPL, offering coupons for free products, and loyalty discounts at merchants in and around the university campus. The service received **100% uptake** by their pilot cohort, who have been providing feedback to refine the solution and will open up to all **40,000 students** in the 2024-2025 academic year. +* **Merchant & Consumer Early Adopter Feedback Includes**: + * A smooth transaction experience – validation only takes 3-5 seconds. + * Interest in new methods to engage with each other, pay, and get paid. + * Enthusiasm for saving and spending in digital assets or other currencies. + * A need for lower transaction fees offered by XRPL compared to card networks. + * Immediate settlement (seconds instead of days). + * Increased customer engagement via loyalty rewards issued on XRPL. + +## Driving Innovation in the Crypto Payment Ecosystem + +Frii Pay illustrates the real-world use case of XRPL technology in payments. By building an accessible, stablecoin payment infrastructure on XRPL, Frii Pay has addressed the core challenges of legacy payment systems: cost, speed, transparency, and global reach. + +To find out more about XRPL’s payment capabilities and start building, visit [XRP Ledger Developer Resources](https://xrpl.org/docs). + diff --git a/blog/sidebars.yaml b/blog/sidebars.yaml index c06020441f..b83d345b42 100644 --- a/blog/sidebars.yaml +++ b/blog/sidebars.yaml @@ -6,6 +6,7 @@ - group: '2025' expanded: false items: + - page: 2025/frii-pay-xrpl-case-study-crypto-payment-solution.md - page: 2025/fixes-enabled-dnfts-expected.md - page: 2025/clio-2.4.1.md - page: 2025/integrating-dia-oracles-on-xrpl.md