diff --git a/archive/API-1-1-1.md b/archive/API-1-1-1.md deleted file mode 100644 index 0a6f956cfe..0000000000 --- a/archive/API-1-1-1.md +++ /dev/null @@ -1,886 +0,0 @@ -# INTRODUCTION # - -`ripple-rest : v1.1.1` - -## Ripple-REST API ## - -The `ripple-rest` API makes it easy to access the Ripple system via a RESTful web interface. In this section, we will cover the concepts you need to understand, and get you started accessing the API and learning how to use it. - -While there are other API's to use with Ripple (i.e. Accessing the `rippled` server directly via a web socket), this documentation is meant only for the `ripple-rest` API as this is the high-level API recommended for working with Ripple and some of the endpoints provide abstractions to make it much easier to use than the traditional websocket API's. - -Installation instructions and source code can be found in the `ripple-rest` repository here. - -Older versions of the `ripple-rest` documentation will archived here. - - -## Available API Routes ## - -* [`GET /v1/accounts/{:address}/payments/paths`](#preparing-a-payment) -* [`GET /v1/accounts/{:address}/payments`](#confirming-a-payment) -* [`GET /v1/accounts/{:address}/balances`](#account-balances) -* [`GET /v1/accounts/{:address}/settings`](#account-settings) -* [`GET /v1/accounts/{:address}/trustlines`](#reviewing-trustlines) -* [`GET /v1/accounts/{:address}/notifications`](#checking-notifications) -* [`GET /v1/server/connected`](#check-connection-state) -* [`GET /v1/server`](#get-server-status) -* [`GET /v1/tx`](#retrieve-ripple-transaction) -* [`GET /v1/uuid`](#create-client-resource-id) - - -* [`POST /v1/payments`](#submitting-a-payment) -* [`POST /v1/accounts/{:address}/settings`](#updating-account-settings) -* [`POST /v1/accounts/{:address}/trustlines`](#granting-a-trustline) - -## API Overview ## - -### Ripple Concepts ### - -Ripple is a system for making financial transactions. You can use Ripple to send money anywhere in the world, in any currency, instantly and for free. - -In the Ripple world, each account is identified by a Ripple Address. A Ripple address is a string that uniquely identifies an account, for example: `rNsJKf3kaxvFvR8RrDi9P3LBk2Zp6VL8mp` - -A Ripple ___payment___ can be sent using Ripple's native currency, XRP, directly from one account to another. Payments can also be sent in other currencies, for example US dollars, Euros, Pounds or Bitcoins, though the process is slightly more complicated. - -Payments are made between two accounts, by specifying the ___source___ and ___destination___ address for those accounts. A payment also involves an ___amount___, which includes both the numeric amount and the currency, for example: `100+XRP`. - -When you make a payment in a currency other than XRP, you also need to include the Ripple address of the ___issuer___. The issuer is the gateway or other entity who holds the foreign-currency funds on your behalf. For foreign-currency payments, the amount will look something like this: `100+USD+rNsJKf3kaxvFvR8RrDi9P3LBk2Zp6VL8mp`. - -While the `ripple-rest` API provides a high-level interface for sending and receiving payments, there are other endpoints within the API that you can use to work with generic ripple transactions, and to check the status of the Ripple server. - -### Sending Payments ### - -Sending a payment involves three steps: - -1. You need to generate the payment object by doing using what is called a pathfind(preparing a payment). If the payment is to be made in a currency other than XRP, the Ripple system will identify the chain of trust, or ___path___, that connects the source and destination accounts; when creating the payment, the `ripple-rest` API will automatically find the set of possible paths for you. - -2. You can modify the payment object if necessary, and then ___submit___ it to the API for processing. It is recommended to submit the payment object generated directly to prevent any errors from occuring. - -3. Finally, you have to ___confirm___ that the payment has gone through by checking the payment's ___status___. This is because the payment submission is considered an asynchronous process, payments themselves can still fail even after they have been submitted successfully. - -Note that when you submit a payment for processing, you have to assign a unique `client resource identifier` to that payment. This is a string which uniquely identifies the payment, and ensures that you do not accidentally submit the same payment twice. You can also use the `client_resource_id` to retrieve a payment once it has been submitted. - -### Transaction Types ### - -The Ripple protocol supports multiple types of transactions other than just payments. Transactions are considered to be any changes to the database made on behalf of a Ripple Address. Transactions are first constructed and then submitted to the network. After transaction processing, meta data is associated with the transaction which itemizes the resulting changes to the ledger. - -+ Payment: Payment transaction is an authorized transfer of balance from one address to another. - -+ Trustline: Trustline transaction is an authorized grant of trust between two addresses. - -+ Setting: Setting transaction is an authorized update of account flags under a Ripple Account. - -## Getting Started ## - -### Setup ### - -Before you can use the `ripple-rest` API, you will need to have three things: - - * An installed version of `ripple-rest` running locally or remotely. Instructions on installing `ripple-rest` can be found in the readme.md file in the Github Repository here. - - * An activated Ripple account. If you don't have a Ripple account, you can use the Ripple web client to create one, as described in the Client Manual. Make sure you have a copy of the Ripple address for your account; the address can be found by clicking on the __Receive__ tab in the web client. - - * The URL of the server running the `ripple-rest` API that you wish to use. In this documentation, we will assume that the server is installed and running on a server you have connectivity to. - -As a programmer, you will also need to have a suitable HTTP client library that allows you to make secure HTTP (`HTTPS`) requests. To follow the examples below, you will need to have access to the `curl` command-line tool. - - -### Exploring the API ### - -Let's start by using `curl` to see if the `ripple-rest` API is currently running. Type the following into a terminal window: - -`curl http://[ripple-rest-server]/v1/server` - -After a short delay, the following response should be displayed: - -```js -{ - "rippled_server_url": "wss://s-west.ripple.com:443", - "rippled_server_status": { - "build_version": "0.23.0", - "complete_ledgers": "5526705-6142138", - "fetch_pack": 2004, - "hostid": "NEAT", - "last_close": { - "converge_time_s": 2.005, - "proposers": 5 - }, - "load_factor": 1, - "peers": 55, - "pubkey_node": "n9KmrBnGoyVf89WYdiAnvGnKFaVqjLdAYjKrBuvg2r8pMxGPp6MF", - "server_state": "full", - "validated_ledger": { - "age": 1, - "base_fee_xrp": 0.00001, - "hash": "BADDAB671EF21E8ED56B21253123D2C74139FE34E12DBE4B1F5527772EC88494", - "reserve_base_xrp": 20, - "reserve_inc_xrp": 5, - "seq": 6142138 - }, - "validation_quorum": 3 - }, - "success": true, - "api_documentation_url": "https://github.com/ripple/ripple-rest" -} -``` - -The `ripple-rest` API conforms to the following general behavior for a web interface: - -* The HTTP method identifies what you are trying to do. Generally, HTTP `GET` requests are used to retrieve information, while HTTP `POST` requests are used to make changes or submit information. - -* You make HTTP (or HTTPS) requests to the API endpoint, including the desired resources within the URL itself. - -* If more complicated information needs to be sent, it will be included as JSON-formatted data within the body of the HTTP POST request. - -* Upon completion, the server will return an HTTP status code of 200 (OK), and a `Content-Type` value of `application/json`. The body of the response will be a JSON-formatted object containing the information returned by the endpoint. - -* The returned JSON object will include a `success` field indicating whether the request was successful or not. - - -### Errors ### - -There are two different ways in which errors are returned by the `ripple-rest` API: - -Low-level errors are indicated by the server returning an appropriate HTTP status code. The following status codes are currently supported: - -+ `Bad Request (400)` The JSON body submitted is malformed or invalid. -+ `Method Not Accepted (404)` The endpoint is not allowed. -+ `Gateway Timeout (502)` The rippled server is taking to long to respond. -+ `Bad Gateway (504)` The rippled server is non-responsive. - -Application-level errors are described further in the body of the JSON response with the following fields: - -+ `success` This will be set to `false` if an error occurred. - -+ `error` A short string identifying the error that occurred. - -+ `message` A longer human-readable string explaining what went wrong. - - -### API Objects ### - -#### 1. Amount #### - -All currencies on the Ripple Network have issuers, except for XRP. In the case of XRP, the `issuer` field may be omitted or set to `""`. Otherwise, the `issuer` must be a valid Ripple address of the gateway that issues the currency. - -For more information about XRP see the Ripple wiki page on XRP. For more information about using currencies other than XRP on the Ripple Network see the Ripple wiki page for gateways. - -Amount Object: - -```js -{ - "value": "1.0", - "currency": "USD", - "issuer": "r..." -} -``` - -or for XRP: - -```js -{ - "value": "1.0", - "currency": "XRP", - "issuer": "" -} -``` - -#### 2. Payment #### - -The `Payment` object is a simplified version of the standard Ripple transaction format. - -This `Payment` format is intended to be straightforward to create and parse, from strongly or loosely typed programming languages. Once a transaction is processed and validated it also includes information about the final details of the payment. - - - - + `source_address` is the Ripple address for the source account, as a string. - - + `destination_address` is the Ripple address for the destination account, as a string. - - + `destination_amount` is an [Amount](#amount_object) object representing the amount that should be deposited into the destination account. - -The full set of fields accepted on `Payment` submission is as follows: - -+ `source_tag` is an optional unsigned 32 bit integer (0-4294967294, inclusive) that is generally used if the sender is a hosted wallet at a gateway. This should be the same as the `destination_tag` used to identify the hosted wallet when they are receiving a payment. - -+ `destination_tag` is an optional unsigned 32 bit integer (0-4294967294, inclusive) that is generally used if the receiver is a hosted wallet at a gateway. - -+ `source_slippage` can be specified to give the `source_amount` a cushion and increase its chance of being processed successfully. This is helpful if the payment path changes slightly between the time when a payment options quote is given and when the payment is submitted. The `source_address` will never be charged more than `source_slippage` + the `value` specified in `source_amount`. - -+ `invoice_id` is an optional 256-bit hash field that can be used to link payments to an invoice or bill. - -+ `paths` is a "stringified" version of the Ripple PathSet structure. Most users of this API will want to treat this field as opaque. See the [Ripple Wiki](https://ripple.com/wiki/Payment_paths) for more information about Ripple pathfinding. - -+ `flag_no_direct_ripple` is a boolean that can be set to `true` if `paths` are specified and the sender would like the Ripple Network to disregard any direct paths from the `source_address` to the `destination_address`. This may be used to take advantage of an arbitrage opportunity or by gateways wishing to issue balances from a hot wallet to a user who has mistakenly set a trustline directly to the hot wallet. Most users will not need to use this option. - -+ `flag_partial_payment` is a boolean that, if set to true, indicates that this payment should go through even if the whole amount cannot be sent because of a lack of liquidity or funds in the `source_address` account. The vast majority of senders will never need to use this option. - -Payment Object: - -```js -{ - /* User Specified */ - - "source_address": "rKXCummUHnenhYudNb9UoJ4mGBR75vFcgz", - "source_tag": "", - "source_amount": { - "value": "0.001", - "currency": "XRP", - "issuer": "" - }, - "source_slippage": "0", - "destination_address": "rNw4ozCG514KEjPs5cDrqEcdsi31Jtfm5r", - "destination_tag": "", - "destination_amount": { - "value": "0.001", - "currency": "XRP", - "issuer": "" - }, - - /* Advanced Options */ - - "invoice_id": "", - "paths": "[]", - "flag_no_direct_ripple": false, - "flag_partial_payment": false -} -``` -# PAYMENTS # - -`ripple-rest` provides access to `ripple-lib`'s robust transaction submission processes. This means that it will set the fee, manage the transaction sequence numbers, sign the transaction with your secret, and resubmit the transaction up to 10 times if `rippled` reports an initial error that can be solved automatically. - -## Making Payments ## - -### Preparing a Payment ### - -__GET /v1/accounts/{:address}/payments/paths/{destination_account}/{destination_amount}__ - - -To prepare a payment, you first make an HTTP `GET` call to the above endpoint. This will generate a list of possible payments between the two parties for the desired amount, taking into account the established trustlines between the two parties for the currency being transferred. You can then choose one of the returned payments, modify it if necessary (for example, to set slippage values or tags), and then submit the payment for processing. - -The following URL parameters are required by this API endpoint: - -+ `address` *[required]* The Ripple address for the source account. -+ `destination_account` *[required]* The Ripple address for the destination account. -+ `destination_amount` *[required]* The amount to be sent to the destination account. Note that this value uses `+` characters to separate the `value`, `currency` and `issuer` fields. -+ For XRP, the format is: `0.1+XRP` - -+ For other currencies, you need to include the Ripple address of the currency's issuer, like this: `0.1+USD+r...` - -Optionally, you can also include the following as a query string parameter: - -`source_currencies` *[optional]* A comma-separated list of source currencies. This is used to filter the returned list of possible payments. Each source currency can be specified either as a currency code (eg, `USD`), or as a currency code and issuer (eg, `USD+r...`). If the issuer is not specified for a currency other than XRP, then the results will be limited to the specified currency, but any issuer for that currency will be included in the results. - -Note that this call is a wrapper around the [Ripple path-find](https://ripple.com/wiki/RPC_API#path_find) command, and returns an array of [`Payment`](#payment_object) objects, like this: - -```js -{ - "success": true, - "payments": [ - { /* Payment */ }, - { /* Payment */ }, - ... - ] -} -``` -You can then select the desired payment, modify it if necessary, and submit the payment object to the [`POST /v1/payments`](#submitting-a-payment) endpoint for processing. - -__NOTE:__ This command may be quite slow. If the command times out, please try it again. - -### Submitting a Payment ### - -__`POST /v1/payments`__ - -Before you can submit a payment, you will need to have three pieces of information: - -+ The [`Payment`](#payment_object) *[required]* object to be submitted. - -+ The `secret` *[required]* or private key for your Ripple account. - -__DO NOT SUBMIT YOUR SECRET TO AN UNTRUSTED REST API SERVER__ -- this is the key to your account and your money. If you are using the test server provided, only use test accounts to submit payments. - -+ A `client_resource_id` *[required]* that will uniquely identify this payment. This is a 36-character UUID (universally unique identifier) value which will uniquely identify this payment within the `ripple-rest` API. Note that you can use the [`GET /v1/uuid`](#calculating_a_uuid) endpoint to calculate a UUID value if you do not have a UUID generator readily available. - -This HTTP `POST` request must have a content-type of `application/json`, and the body of the request should look like this: - -```js -{ - "secret": "s...", - "client_resource_id": "...", - "payment": { - "source_account": "rPs7nVbSops6xm4v77wpoPFf549cqjzUy9", - "source_tag": "", - "source_amount": { - "value": "1", - "currency": "XRP", - "issuer": "" - }, - "source_slippage": "0", - "destination_account" "rKB4oSXwPkRpb2sZRhgGyRfaEhhYS6tf4M", - "destination_tag": "", - "destination_amount": { - "value": "1", - "currency": "XRP", - "issuer": "" - }, - "invoice_id": "", - "paths": "[]", - "no_direct_ripple": false, - "partial_payment": false, - "direction": "outgoing", - "state": "validated", - "result": "tesSUCCESS", - "ledger": "6141074", - "hash": "85C5E6762DE7969DC1BD69B3C8C7387A5B8FCE6A416AA1F74C0ED5D10F08EADD", - "timestamp": "2014-04-18T01:21:00.000Z", - "fee": "0.000012", - "source_balance_changes": - [ - { - "value": "-1.000012", - "currency": "XRP", - "issuer": "" - } - ], - "destination_balance_changes": - [ - { - "value": "1", - "currency": "XRP", - "issuer": "" - } - ] - } -} -``` - -Upon completion, the server will return a JSON object which looks like the following: - -```js -{ - "success": true, - "client_resource_id": "f2f811b7-dc3b-4078-a2c2-e4ca9e453981", - "status_url": ".../v1/accounts/r1.../payments/f2f811b7-dc3b-4078-a2c2-e4ca9e453981" -} -``` - -The `status_url` value is a URL that can be queried to get the current status for this payment. This will be a reference to the `GET /v1/accounts/{account}/payments` endpoint, with the client resource ID filled in to retrieve the details of the payment. More information on this endpoint can be found in the section on [confirming a payment](#confirming-a-payment). - -If an error occurred that prevented the payment from being submitted, the response object will look like this: - -```js -{ - "success": false, - "error": "tecPATH_DRY", - "message": "Path could not send partial amount. Please ensure that the src_address has sufficient funds (in the src_amount currency, if specified) to execute this transaction." -} -``` - -More information about transaction errors can be found on the [Ripple Wiki](https://ripple.com/wiki/Transaction_errors). - -Note that payments cannot be cancelled once they have been submitted. - -### Confirming a Payment ### - -__`GET /v1/accounts/{:address}/payments/{:hash} or {:client_resource_id}`__ - -To confirm that your payment has been submitted successfully, you can call this API endpoint. The `hash` value can either be the transaction hash for the desired payment, or the payment's client resource ID. - -The server will return the details of your payment: - -```js -{ - "success": true, - "payment": { - "source_account": "rPs7nVbSops6xm4v77wpoPFf549cqjzUy9", - "source_tag": "", - "source_amount": { - "value": "1", - "currency": "XRP", - "issuer": "" - }, - "source_slippage": "0", - "destination_account" "rKB4oSXwPkRpb2sZRhgGyRfaEhhYS6tf4M", - "destination_tag": "", - "destination_amount": { - "value": "1", - "currency": "XRP", - "issuer": "" - }, - "invoice_id": "", - "paths": "[]", - "no_direct_ripple": false, - "partial_payment": false, - "direction": "outgoing", - "state": "validated", - "result": "tesSUCCESS", - "ledger": "6141074", - "hash": "85C5E6762DE7969DC1BD69B3C8C7387A5B8FCE6A416AA1F74C0ED5D10F08EADD", - "timestamp": "2014-04-18T01:21:00.000Z", - "fee": "0.000012", - "source_balance_changes": - [ - { - "value": "-1.000012", - "currency": "XRP", - "issuer": "" - } - ], - "destination_balance_changes": - [ - { - "value": "1", - "currency": "XRP", - "issuer": "" - } - ] -} -``` - -You can then check the `state` field to see if the payment has gone through; it will have the value "validated" when the payment has been validated and written to the Ripple ledger. - -If the payment cannot be found, then an error will be returned instead: - -```js -{ - "success": true, - "error": "Payment Not Found", - "message": "This may indicate that the payment was never validated and written into the Ripple ledger and it was not submitted through this ripple-rest instance. This error may also be seen if the databases of either ripple-rest or rippled were recently created or deleted." -} -``` - -Note that there can be a delay in processing a submitted payment; if the payment does not exist yet, or has not been validated, you should wait for a short period of time before checking again. - -## Receiving Payments ## - -As well as sending payments, your application will need to know when incoming payments have been received. To do this, you first make the following API call: - -__`GET /v1/accounts/{:address}/payments`__ - -This will return the most recent payments (both incoming and outgoing will be denoted in the direction) - -```js -{ - "success": true, - "payments": [ - { /* payment */ }. - { /* payment */ }. - { /* payment */ }. - { /* payment */ }. - { /* payment */ } - ] -} -``` -__`GET /v1/accounts/{:address}/payments?direction=incoming`__ - -This will return the most recent incoming payments for your account, up to a maximum of 20. You can process these historical payments if you want, and also retrieve more historical payments if you need to by using the `page` parameter, as described in the [Payment History](#payment-history) section below. - -Regardless of what else you do with these payments, you need to extract the value of the `ledger` field from the most recent (ie, first) payment in the returned list. Convert this number to an integer and increment it by one. The resulting value, which will we call the `next_ledger` value, is the starting point for polling for new payments. - -Your application should then periodically make the following API call: - -__`GET /v1/accounts/{:address}/payments?direction=incoming&earliest_first=true&start_ledger={next_ledger}`__ - -This will return any _new_ payments which have been received, up to a maximum of 20. You should process these incoming payments. If you received a list of 20 payments, there may be more payments to be processed. You should then use the `page` parameter to get the next chunk of 20 payments, like this: - -__`GET /v1/accounts/{:address}/payments?direction=incoming&earliest_first=true&start_ledger={next_ledger}&page=2`__ - -Continue retrieving the payments, incrementing the `page` parameter each time, until there are no new incoming payments to be processed. - -__Note:__ We use the `earliest_first` parameter to retrieve the payments in ascending date order (ie, the oldest payment first). This ensures that if any more payments come in after the first API call with `start_ledger` set to `next_ledger`, you won't miss any payments. If you use the `page` parameter while retrieving the payments in descending order (ie, the most recent payment first), you may miss one or more payments while scanning through the pages. - -Once you have retrieved all the payments, you should update your `next_ledger` value by once again taking the value of the `ledger` field from the most recent (ie, last) payment received, converting this value to an integer and incrementing it by one. This will give you the `next_ledger` value to use the next time you poll for payments. - -Using this approach, you can regularly poll for new incoming payments, confident that no payments will be processed twice, and no incoming payments will be missed. - - -## Payment History ## - -__`GET /v1/accounts/{:address}/payments`__ - -This API endpoint can be used to browse through an account's payment history and also used to confirm specific payments after a payment has been submitted. The following query string parameters can be used to filter the list of returned payments: - -+ `source_account` Filter the results to only include payments sent by the given account. - -+ `destination_account` Filter the results to only include payments received by the given account. - -+ `exclude_failed` If set to `true`, the results will only include payments which were successfully validated and written into the ledger. Otherwise, failed payments will be included. - -+ `direction` Limit the results to only include the given type of payments. The following direction values are currently supported: - + `incoming` - + `outgoing` - + `pending` - + `earliest_first` If set to `true`, the payments will be returned in ascending date order. Otherwise, the payments will be returned in descending date order (ie, the most recent payment will be returned first). Defaults to `false`. - -+ `start_ledger` The index for the starting ledger. If `earliest_first` is `true`, this will be the oldest ledger to be queried; otherwise, it will be the most recent ledger. Defaults to the first ledger in the `rippled` server's database. - -+ `end_ledger` The index for the ending ledger. If `earliest_first` is `true`, this will be the most recent ledger to be queried; otherwise, it will be the oldest ledger. Defaults to the most recent ledger in the `rippled` server's database. - -+ `results_per_page` The maximum number of payments to be returned at once. Defaults to 20. - -+ `page` The page number to be returned. The first page of results will have page number `1`, the second page will have page number `2`, and so on. Defaults to `1`. - -Upon completion, the server will return a JSON object which looks like the following: - -```js -{ - "success": true, - "payments": [ - { - "client_resource_id": "3492375b-d4d0-42db-9a80-a6a82925ccd5", - "payment": { - /* Payment */ - } - }, { - "client_resource_id": "4a4e3fa5-d81e-4786-8383-7164c3cc9b01", - "payment": { - /* Payment */ - } - } - ] -} -``` - -If the server returns fewer than `results_per_page` payments, then there are no more pages of results to be returned. Otherwise, increment the page number and re-issue the query to get the next page of results. - -Note that the `ripple-rest` API has to retrieve the full list of payments from the server and then filter them before returning them back to the caller. This means that there is no speed advantage to specifying more filter values. - - - -# ACCOUNTS # - -`ripple-rest` provides the ability to review and confirm on information regarding your Ripple account. You can view your current balances and settings, as well as the ability to set your account setting flags. - -## Account Balances ## - -__`GET /v1/accounts/{:address}/balances`__ - -Retrieve the current balances for the given Ripple account. - -The `account` parameter should be set to the Ripple address of the desired account. The server will return a JSON object which looks like the following: - -```js -{ - "success": true, - "balances": [ - { - "currency": "XRP", - "amount": "1046.29877312", - "issuer": "" - }, - { - "currency": "USD", - "amount": "512.79", - "issuer": "r...", - } - ... - ] -} -``` - -There will be one entry in the `balances` array for the account's XRP balance, and additional entries for each combination of currency code and issuer. - -## Account Settings ## - -You can retrieve an account's settings by using the following endpoint: - -__`GET /v1/accounts/{account}/settings`__ - -The server will return a list of the current settings in force for the given account, in the form of a JSON object: - -```js -{ - "success": true, - "settings": { - "transfer_rate": 100, - "password_spent": false, - "require_destination_tag": false, - "require_authorization": false, - "disallow_xrp": false, - "disable_master": false, - "transaction_sequence": 22 - } -} -``` - -The following account settings are currently supported: - -+ `PasswordSpent` `true` if the password has been "spent", else `false`. - -+ `RequireDestTag` If this is set to `true`, incoming payments will only be validated if they include a `destination_tag` value. Note that this is used primarily by gateways that operate exclusively with hosted wallets. - -+ `RequireAuth` If this is set to `true`, incoming trustlines will only be validated if this account first creates a trustline to the counterparty with the authorized flag set to true. This may be used by gateways to prevent accounts unknown to them from holding currencies they issue. - -+ `DisallowXRP` If this is set to `true`, payments in XRP will not be allowed. - -+ `EmailHash` The MD5 128-bit hash of the account owner's email address, if known. - -+ `MessageKey` An optional public key, represented as a hex string, that can be used to allow others to send encrypted messages to the account owner. - -+ `Domain` The domain name associated with this account. - -+ `TransferRate` The rate charged each time a holder of currency issued by this account transfers some funds. The default rate is `"1.0"; a rate of `"1.01"` is a 1% charge on top of the amount being transferred. Up to nine decimal places are supported. - -## Updating Account Settings ## - -To change an account's settings, make an HTTP `POST` request to the above endpoint. The request must have a content-type of `application/json`, and the body of the request should look like this: - -__`POST /v1/accounts/{account}/settings`__ - -```js -{ - "secret": "s...", - "settings": { - "transfer_rate": 0, - "password_spent": false, - "require_destination_tag": false, - "require_authorization": false, - "disallow_xrp": false, - "disable_master": false - } -} -``` - -The given settings will be updated. - -# TRUSTLINES # - -## Reviewing Trustlines ## - -__`GET /v1/account/{:address}/trustlines`__ - -Retrieves all trustlines associated with the Ripple address. Upon completion, the server will return a JSON object which represents each trustline individually along with the currency, limit, and counterparty. - -The following query string parameters are supported to provide additional filtering for either trustlines to a particular currency or trustlines from a specific counterparty: - -+ `currency` Three letter currency denominations (i.e. USD, BTC). -+ `counterparty` Ripple address of the counterparty trusted. - -__`GET /v1/account/{:address}/trustlines?currency=USD&counterparty=rPs723Dsd...`__ - -The object returned looks like this: - -```js -{ - "success": true, - "lines": [ - { - "account": "rPs7nVbSops6xm4v77wpoPFf549cqjzUy9", - "counterparty": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", - "currency": "USD", - "trust_limit": "100", - "reciprocated_trust_limit": "0", - "account_allows_rippling": false, - "counterparty_allows_rippling": true - }, - { - "account": "rPs7nVbSops6xm4v77wpoPFf549cqjzUy9", - "counterparty": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs58B", - "currency": "BTC", - "trust_limit": "5", - "reciprocated_trust_limit": "0", - "account_allows_rippling": false, - "counterparty_allows_rippling": true - }, - { /* trustline */ }, - { /* trustline */ }, - { /* trustline */ } - ] -} -``` - -## Granting a Trustline ## - -__`POST /v1/accounts/{:address}/trustlines`__ - -A trustline can also updated and simply set with a currency,amount,counterparty combination by submitting to this endpoint with the following JSON object. - -```js -{ - "secret": "sneThnzgBgxc3zXPG....", - "trustline": { - "limit": "110", - "currency": "USD", - "counterparty": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", - "allows_rippling": false - } -} -``` -A successful submission will result in a returning JSON object that includes a transaction hash to the trustline transaction. - -```js -{ - "success": true, - "line": { - "account": "rPs7nVbSops6xm4v77wpoPGf549cqjzUy9", - "counterparty": "rKB4oSXwPkRpb2sZRhgGyRfaEhhYS6tf4M", - "currency": "USD", - "trust_limit": "100", - "allows_rippling": true - }, - "ledger": "6146255", - "hash": "6434F18B3997D81152F1AB31911E8D40E1346A05478419B7B3DF78B270C1151A" -} -``` -# NOTIFICATIONS # - -Notifications can be used as a looping mechanism to monitor any transactions against your Ripple address or to confirm against missed notifications if your connection to `rippled` goes down. Notifications are generic and span across all types of Ripple transactions which is different than the "Payments" endpoints which specifically retrieve payment transactions. The "Payments" endpoints also provide full payment objects versus the notification objects which described the transaction at a higher level with less detail. - -## Checking Notifications ## - -__`GET /v1/accounts/{:address}/notifications/{:transaction_hash}`__ - -This endpoint will grab the notification based on the specific transaction hash specified. Once called the notification object retreived will provide information on the type of transaction and also the previous and next notifications will be shown as well. The `previous_notification_url` and `next_notification_url` can be used to walk up and down the notification queue. Once the `next_notification_url` is empty that means you have the most current notification, this applies for the `previous_notification_url` similarly when it's empty as it means you are holding the earliest notification available on the `rippled` you are connecting to. - -A successful retrieval will look like this: - -```js -{ - "success": true, - "notification": { - "account": "rPs7nVbSops6xm4v77wpoPFf549cqjzUy9", - "type": "payment", - "direction": "outgoing", - "state": "validated", - "result": "tesSUCCESS", - "ledger": "5704389", - "hash": "EA1C8349FFFDB180BF6805FB69B32A41A5C86E27B4F79BED3CD8BA9A1E902721", - "timestamp": "+046228-05-27T00:20:00.000Z", - "transaction_url": "/v1/accounts/rPs7nVbSops6xm4v77wpoPFf549cqjzUy9/payments/EA1C8349FFFDB180BF6805FB69B32A41A5C86E27B4F79BED3CD8BA9A1E902721", - "previous_hash": "1578758880412050B6C9C367DAE090B5452649549F00780276BED51BDEECF63C", - "previous_notification_url": "/v1/accounts/rPs7nVbSops6xm4v77wpoPFf549cqjzUy9/notifications/1578758880412050B6C9C367DAE090B5452649549F00780276BED51BDEECF63C", - "next_hash": "441E8AEC90A3674318710B4978E9598BD47190CF51E44CBD11C28FFF75FBC934", - "next_notification_url": "/v1/accounts/rPs7nVbSops6xm4v77wpoPFf549cqjzUy9/notifications/441E8AEC90A3674318710B4978E9598BD47190CF51E44CBD11C28FFF75FBC934" - } -} -``` - -The notification of the most recent transaction will show `next_notification_url` as an empty string. - -The earliest notification available on the `rippled` server will show `previous_notification_url` as an empty string. - -# RIPPLED SERVER STATUS # - -The following two endpoints can be used to check if the `ripple-rest` API is currently connected to a `rippled` server, and to retrieve information about the current status of the API. - -## Check Connection State ## - -__`GET /v1/server/connected`__ - -Checks to see if the `ripple-rest` API is currently connected to a `rippled` server, and is ready to be used. This provides a quick and easy way to check to see if the API is up and running, before attempting to process transactions. - -No additional parameters are required. Upon completion, the server will return `true` if the API is connected, and `false` otherwise. - -```js -{ - "success": true, - "connected": true -} -``` - -## Get Server Status ## - -__`GET /v1/server`__ - -Retrieve information about the current status of the `ripple-rest` API and the `rippled` server it is connected to. - -This endpoint takes no parameters, and returns a JSON object with information on the current status of the API: - -```js -{ - "api_server_status": "online", - "rippled_server_url": "wss://s_west.ripple.com:443", - "rippled_server_status": { - "info": { - "build_version": "0.21.0-rc2", - "complete_ledgers": "32570-4805506", - "hostid": "BUSH", - "last_close": { - "converge_time_s": 2.011, - "proposers": 5 - }, - "load_factor": 1, - "peers": 51, - "pubkey_node": "n9KNUUntNaDqvMVMKZLPHhGaWZDnx7soeUiHjeQE8ejR45DmHyfx", - "server_state": "full", - "validated_ledger": { - "age": 2, - "base_fee_xrp": 0.00001, - "hash": "2B79CECB06A500A2FB92F4FB610D33A20CF8D7FB39F2C2C7C3A6BD0D75A1884A", - "reserve_base_xrp": 20, - "reserve_inc_xrp": 5, - "seq": 4805506 - }, - "validation_quorum": 3 - } - }, - "api_documentation_url": "https://github.com/ripple/ripple-rest" -} -``` - -If the server is not currently connected to the Ripple network, the following error will be returned: - -```js -{ - "success": false, - "error": "rippled Disconnected", - "message": "ripple-rest is unable to connect to the specified rippled server, or the rippled server is unable to communicate with the rest of the Ripple Network. Please check your internet and rippled server settings and try again" -} -``` -# UTILITIES # - -## Retrieve Ripple Transaction ## - -While the `ripple-rest` API is a high-level API built on top of the `rippled` server, there are times when you may need to access an underlying Ripple transaction rather than dealing with the `ripple-rest` data format. When you need to do this, you can retrieve a standard Ripple formatted transaction by using the following endpoint: - -__`GET /v1/tx/{:transaction_hash}`__ - -This retrieves the underlying Ripple transaction with the given transaction hash value. Upon completion, the server will return following JSON object: - -```js -{ - "success": true, - "tx": { /* Ripple Transaction */ } -} -``` - -Please refer to the [Transaction Format](https://ripple.com/wiki/Transactions) page in the Ripple Wiki for more information about Ripple transactions. - -If the given transaction could not be found in the `rippled` server's historical database, the following error will be returned: - -```js -{ - "success": false, - "error": "txnNotFound", - "message": "Transaction not found." -} -``` - - -## Create Client Resource ID ## - -__`GET /v1/uuid`__ - -This endpoint creates a universally unique identifier (UUID) value which can be used to calculate a client resource ID for a payment. This can be useful if the application does not have a UUID generator handy. - -This API endpoint takes no parameters, and returns a JSON object which looks like the following: - -```js -{ - "success": true, - "uuid": "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx" -} -``` diff --git a/archive/API-Beta.md b/archive/API-Beta.md deleted file mode 100644 index b74dbcf89a..0000000000 --- a/archive/API-Beta.md +++ /dev/null @@ -1,512 +0,0 @@ -#INTRODUCTION - -## Ripple-REST API (BETA) - -_`ripple-rest` API is currently in BETA and subject to multiple changes and iterations as it is being finalized. Please double check with the_ `ripple-rest` _github repo for the most up-to-date versions and documentation. Feel free to poke around the branches to see what we're working on changing as well._ - -The `ripple-rest` API makes it easy to access the Ripple system via a RESTful web interface. In this section, we will cover the concepts you need to understand, and get you started accessing the API and learning how to use it. - -While there are different APIs that you can use, for example by accessing the `rippled` server directly via a web socket, this documentation focuses on the `ripple-rest` API as this is the high-level API recommended for working with the Ripple system. - -A test version of the `ripple-rest` server is up and running at: - -`https://ripple-rest.herokuapp.com` - -## Available API Routes - -+ [`GET /api/v1/addresses/:address/payments/:dst_address/:dst_amount`](#preparing-a-payment) -+ [`GET /api/v1/addresses/:address/next_notification`](#most-recent-notification) -+ [`GET /api/v1/addresses/:address/next_notification/:prev-hash`](#checking-next-notification) -+ [`GET /api/v1/addresses/:address/payments/:hash`](#retrieving-a-payment) -+ [`GET /api/v1/status`](#check-rippled-status) -+ [`POST /api/v1/addresses/:address/payments`](#submitting-a-payment) - -## Ripple Concepts - -### Ripple Address - -Ripple is a system for making financial transactions. You can use Ripple to send money anywhere in the world, in any currency, instantly and for free. - -In the Ripple world, each account is identified by a Ripple Address. A Ripple address is a string that uniquely identifies an account, for example: `rNsJKf3kaxvFvR8RrDi9P3LBk2Zp6VL8mp` - -A Ripple ___payment___ can be sent using Ripple's native currency, XRP, directly from one account to another. Payments can also be sent in other currencies, for example US dollars, Euros, Pounds or Bitcoins, though the process is slightly more complicated. - -Payments are made between two accounts, by specifying the ___source___ and ___destination___ address for those accounts. A payment also involves an ___amount___, which includes both the numeric amount and the currency, for example: `100+XRP`. - -When you make a payment in a currency other than XRP, you also need to include the Ripple address of the ___issuer___. The issuer is the gateway or other entity who holds the foreign-currency funds on your behalf. For foreign-currency payments, the amount will look something like this: `100+USD+rNsJKf3kaxvFvR8RrDi9P3LBk2Zp6VL8mp`. - -While the `ripple-rest` API provides a high-level interface for sending and receiving payments, there are other endpoints within the API that you can use to work with generic ripple transactions, and to check the status of the Ripple server. - -### Sending Payments - -Sending a payment involves three steps: - -1. You need to create the payment object. If the payment is to be made in a currency other than XRP, the Ripple system will identify the chain of trust, or ___path___, that connects the source and destination accounts; when creating the payment, the `ripple-rest` API will automatically find the set of possible paths for you. - -2. You can modify the payment object if necessary, and then ___submit___ it to the API for processing. - -3. Finally, you can check to see if your payment has gone through by looking for the appropriate ___notification___. - -You can also use notifications to see when a payment has been received. - -### Transaction Types - -The Ripple protocol supports multiple types of transactions other than just payments. Transactions are considered to be any changes to the database made on behalf of a Ripple Address. Transactions are first constructed and then submitted to the network. After transaction processing, meta data is associated with the transaction which itemizes the resulting changes to the ledger. - -+ `Payment` - Payment transactions is an authorized transfer of balance from one address to another. -+ `Trustline` - Trustline transactions is an authorized grant of trust between two addresses. - -##Getting Started - -### Setup - -Before you can use the `ripple-rest` API, you will need to have two things: - - * An activated Ripple account. If you don't have a Ripple account, you can use the Ripple web client to create one, as described in the Client Manual. Make sure you have a copy of the Ripple address for your account; the address can be found by clicking on the __Receive__ tab in the web client. - - * The URL of the server running the `ripple-rest` API that you wish to use. In this documentation, we will assume that the server is running at https://ripple-rest.herokuapp.com, which is the URL for a test version of the server. When you follow the examples below, make sure that you replace this with the URL for the server you want to access. Please remember to only use - -As a programmer, you will also need to have a suitable HTTP client library that allows you to make secure HTTP (`HTTPS`) requests. To follow the examples below, you will need to have access to the `curl` command-line tool. - - -### Exploring the API - -Let's start by using `curl` to see if the `ripple-rest` API is currently running. Type the following into a terminal window: - -`curl https://ripple-rest.herokuapp.com/api/v1/status` - -After a short delay, the following response should be displayed: - -```js -{ - "api_server_status": "online", - "rippled_server_url": "wss://s_west.ripple.com:443", - "rippled_server_status": { - "info": { - "build_version": "0.21.0-rc2", - "complete_ledgers": "32570-5254146", - "hostid": "WEAN", - "last_close": { - "converge_time_s": 2.022, - "proposers": 5 - }, - "load_factor": 1, - "peers": 52, - "pubkey_node": "n9LVyJ9GGBwHeeZ1bwPQUKj5P6vyD5tox2ozMPadMDvXx8CrPPmJ", - "server_state": "full", - "validated_ledger": { - "age": 6, - "base_fee_xrp": 1.0e-5, - "hash": "ADF8BEFA91F4D355C60AE37E7ED79E91591704D052114F2BBDB6AF892E5E749E", - "reserve_base_xrp": 20, - "reserve_inc_xrp": 5, - "seq": 5254146 - }, - "validation_quorum": 3 - } - }, - "api_documentation_url": "https://github.com/ripple/ripple-rest" - } -``` -#### Using the API #### - -The `ripple-rest` API conforms to the following general behavior for a web interface: - -* The HTTP method identifies what you are trying to do. Generally, HTTP `GET` requests are used to retrieve information, while HTTP `POST` requests are used to make changes or submit information. - -* You make HTTP (or HTTPS) requests to the API endpoint, including the desired resources within the URL itself. - -* If more complicated information needs to be sent, it will be included as JSON-formatted data within the body of the HTTP POST request. - -* Upon completion, the server will return an HTTP status code of 200 (OK), and a `Content-Type` value of `application/json`. The body of the response will be a JSON-formatted object containing the information returned by the endpoint. - -* The returned JSON object will include a `success` field indicating whether the request was successful or not. - -### Errors - -Errors can be represented by general HTTP response codes. Errors specific to `ripple-rest` will return a 200 status but will include `error` and `message` fields, where `error` is a short string identifying the error that occurred, and `message` will be a longer human-readable string explaining what went wrong. - -### API Objects - -#### 1. Amount - -All currencies on the Ripple Network have issuers, except for XRP. In the case of XRP, the `"issuer"` field may be omitted or set to `""`. Otherwise, the `"issuer"` must be a valid Ripple address of the gateway that issues the currency. - -For more information about XRP see the Ripple wiki page on XRP. For more information about using currencies other than XRP on the Ripple Network see the Ripple wiki page for gateways. - -Note that the `value` can either be specified as a string or a number. Internally this API uses a BigNumber library to retain higher precision if numbers are inputted as strings. - -`Amount Object:` - -```js -{ - "value": "1.0", - "currency": "USD", - "issuer": "r..." -} -``` -`Or for XRP:` - -```js -{ - "value": "1.0", - "currency": "XRP", - "issuer": "" -} -``` - -#### 2. Payment - -The `Payment` object is a simplified version of the standard Ripple transaction format. - -This `Payment` format is intended to be straightforward to create and parse, from strongly or loosely typed programming languages. Once a transaction is processed and validated it also includes information about the final details of the payment. - -The following fields are the minimum required to submit a `Payment`: - - + `src_address` is the Ripple address for the source account, as a string. - + `dst_address` is the Ripple address for the destination account, as a string. - - + `dst_amount` is an [Amount](#1-amount) object representing the amount that should be deposited into the destination account. - -```js -{ - "src_address": "rKXCummUHnenhYudNb9UoJ4mGBR75vFcgz", - "dst_address": "rNw4ozCG514KEjPs5cDrqEcdsi31Jtfm5r", - "dst_amount": { - "value": "0.001", - "currency": "XRP", - "issuer": "" - } -} -``` - -The full set of fields accepted on `Payment` submission is as follows: - -+ `src_tag` is an optional unsigned 32 bit integer (0-4294967294, inclusive) that is generally used if the sender is a hosted wallet at a gateway. This should be the same as the `dst_tag` used to identify the hosted wallet when they are receiving a payment. -+ `dst_tag` is an optional unsigned 32 bit integer (0-4294967294, inclusive) that is generally used if the receiver is a hosted wallet at a gateway -+ `src_slippage` can be specified to give the `src_amount` a cushion and increase its chance of being processed successfully. This is helpful if the payment path changes slightly between the time when a payment options quote is given and when the payment is submitted. The `src_address` will never be charged more than `src_slippage` + the `value` specified in `src_amount` -+ `invoice_id` is an optional 256-bit hash field that can be used to link payments to an invoice or bill -+ `paths` is a "stringified" version of the Ripple PathSet structure. Most users of this API will want to treat this field as opaque. See the [Ripple Wiki](https://ripple.com/wiki/Payment_paths) for more information about Ripple pathfinding -+ `flag_no_direct_ripple` is a boolean that can be set to `true` if `paths` are specified and the sender would like the Ripple Network to disregard any direct paths from the `src_address` to the `dst_address`. This may be used to take advantage of an arbitrage opportunity or by gateways wishing to issue balances from a hot wallet to a user who has mistakenly set a trustline directly to the hot wallet. Most users will not need to use this option. -+ `flag_partial_payment` is a boolean that, if set to true, indicates that this payment should go through even if the whole amount cannot be sent because of a lack of liquidity or funds in the `src_address` account. The vast majority of senders will never need to use this option. - -```js -{ - /* User Specified */ - - "src_address": "rKXCummUHnenhYudNb9UoJ4mGBR75vFcgz", - "src_tag": "", - "src_amount": { - "value": "0.001", - "currency": "XRP", - "issuer": "" - }, - "src_slippage": "0", - "dst_address": "rNw4ozCG514KEjPs5cDrqEcdsi31Jtfm5r", - "dst_tag": "", - "dst_amount": { - "value": "0.001", - "currency": "XRP", - "issuer": "" - }, - - /* Advanced Options */ - - "invoice_id": "", - "paths": "[]", - "flag_no_direct_ripple": false, - "flag_partial_payment": false -} -``` - - -When a payment is confirmed in the Ripple ledger, it will have additional fields added: - -+ `tx_result` will be `tesSUCCESS` if the transaction was successfully processed. If it was unsuccessful but a transaction fee was claimed the code will start with `tec`. More information about transaction errors can be found on the [Ripple Wiki](https://ripple.com/wiki/Transaction_errors). -+ `tx_timestamp` is the UNIX timestamp for when the transaction was validated -+ `tx_fee` is the network transaction fee charged for processing the transaction. For more information on fees, see the [Ripple Wiki](https://ripple.com/wiki/Transaction_fees). In the standard Ripple transaction format fees are expressed in drops, or millionths of an XRP, but for clarity the new formats introduced by this API always use the full XRP unit. -+ `tx_src_bals_dec` is an array of [`Amount`](#1-amount) objects representing all of the balance changes of the `src_address` caused by the payment. Note that this includes the `tx_fee` -+ `tx_dst_bals_inc` is an array of [`Amount`](#1-amount) objects representing all of the balance changes of the `dst_address` caused by the payment - -```js -{ - /* ... */ - - /* Generated After Validation */ - - "tx_direction": "outgoing", - "tx_state": "confirmed", - "tx_result": "tesSUCCESS", - "tx_ledger": 4696959, - "tx_hash": "55BA3440B1AAFFB64E51F497EFDF2022C90EDB171BBD979F04685904E38A89B7", - "tx_timestamp": 1391025100000, - "tx_timestamp_human": "2014-01-29T19:51:40.000Z", - "tx_fee": "0.000012", - "tx_src_bals_dec": [{ - "value": "-0.001012", - "currency": "XRP", - "issuer": "" - }], - "tx_dst_bals_inc": [{ - "value": "0.001", - "currency": "XRP", - "issuer": "" - }] -} -``` - -#### 3. Notification - -Notifications are new type of object not used elsewhere on the Ripple Network but intended to simplify the process of monitoring accounts for new activity. - -If there is a new `Notification` for an account it will contain information about the type of transaction that affected the account, as well as a link to the full details of the transaction and a link to get the next notification. - - -If there is a new `notification` for an account, it will come in this format: - -+ `timestamp` is the UNIX timestamp for when the transaction was validated, or the number of milliseconds since January 1st, 1970 (00:00 UTC) -+ `timestamp_human` is the transaction validation time represented in the format `YYYY-MM-DDTHH:mm:ss.sssZ`. The timezone is always UTC as denoted by the suffix "Z" -+ `transaction_url` is a URL that can be queried to retrieve the full details of the transaction. If it the transaction is a payment it will be returned in the `Payment` object format, otherwise it will be returned in the standard Ripple transaction format -+ `next_notification_url` is a URL that can be queried to get the notification following this one for the given address -+ `source_transaction_id` will be the same as the `source_transaction_id` originally submitted by the sender. Senders should look for the `source_transaction_id`'s of payments they have submitted to `ripple-rest` amongst `Notification`s of validated payments. If the `source_transaction_id` of a particular payment appears in a `Notification` with the `state` listed as `validated`, then that payment has been successfully written into the Ripple Ledger - -```js -{ - "address": "rKXCummUHnenhYudNb9UoJ4mGBR75vFcgz", - "type": "payment", - "tx_direction": "outgoing", - "tx_state": "confirmed", - "tx_result": "tesSUCCESS", - "tx_ledger": 4696959, - "tx_hash": "55BA3440B1AAFFB64E51F497EFDF2022C90EDB171BBD979F04685904E38A89B7", - "tx_timestamp": 1391025100000, - "tx_timestamp_human": "2014-01-29T19:51:40.000Z", - "tx_url":"http://api/v1/addresses/r../payments/55B..", - "next_notification_url":"http://api/v1/addresses/r../next_notification/5.." - "confirmation_token": "55BA3440B1AAFFB64E51F497EFDF2022C90EDB171BBD979F04685904E38A89B7" -} -``` - -If there are no new notifications, the empty `Notification` object will be returned in this format: - -+ `type` will be `none` if there are no new notifications -+ `tx_state` will be `pending` if there are still transactions waiting to clear and `empty` otherwise -+ `next_notification_url` will be provided whether there are new notifications or not so that that field can always be used to query the API for new notifications. - -```js -{ - "address": "rKXCummUHnenhYudNb9UoJ4mGBR75vFcgz", - "type": "none", - "tx_direction": "", - "tx_state": "empty", - "tx_result": "", - "tx_ledger": "", - "tx_hash": "", - "tx_timestamp": "", - "tx_timestamp_human": "", - "tx_url": "", - "next_notification_url": "http://api/v1/addresses/r../next_notification/5..", - "confirmation_token": "" -} -``` - -# PAYMENTS - -`ripple-rest` provides access to `ripple-lib`'s robust transaction submission processes. This means that it will set the fee, manage the transaction sequence numbers, sign the transaction with your secret, and resubmit the transaction up to 10 times if `rippled` reports an initial error that can be solved automatically. - -## Making Payments - -### Preparing a Payment - -#### `GET /api/v1/addresses/:address/payments/:dst_address/:dst_amount` - -A payment needs to be formatted in the following order with the payment object to be submitted as a valid payment. - -```js -{ - "secret": "s...", - "payment": { /* Payment Object */ - "source_address": "rKXCummUHnenhYudNb9UoJ4mGBR75vFcgz", - "source_transaction_id": "12345", - "destination_address": "rNw4ozCG514KEjPs5cDrqEcdsi31Jtfm5r", - "destination_amount": { - "value": "0.001", - "currency": "XRP", - "issuer": "" - } - } -} -``` - -The payment object itself can be prepared manually for any transactions that are occuring directly with XRP or if there are already established trustlines between the two parties for the currency being transferred. In most cases, a payment object can be created automatically by performing a `GET` on the payments endpoint. - -This call generates possible payments for a given set of parameters. This is a wrapper around the [Ripple path-find command](https://ripple.com/wiki/RPC_API#path_find) that returns an array of [`Payment Objects`](#2-payment), which can be submitted directly. - -This uses the [`Payment` Object format](#2-payment). - -The `:dst_amount` parameter uses `+` to separate the `value`, `currency`, and `issuer` fields. For XRP the format is `0.1+XRP` and for other currencies it is `0.1+USD+r...`, where the `r...` is the Ripple address of the currency's issuer. - -__NOTE:__ This command may be quite slow. If the command times out, please try it again. - -### Submitting a Payment - -#### `POST /api/v1/addresses/:address/payments` - -Submit a payment in the [`Payment` Object](#2-payment) format. - -__DO NOT SUBMIT YOUR SECRET TO AN UNTRUSTED REST API SERVER__ -- this is the key to your account and your money. If you are using the test server provided, only use test accounts to submit payments. - -Request JSON: -```js -{ - "secret": "s...", - "payment": { /* Payment */ } -} -``` - -Response: - -```js -{ - "success": true, - "confirmation_token": "55BA3440B1AAFFB64E51F497EFDF2022C90EDB171BBD979F04685904E38A89B7" -} -``` -Or if there is a problem with the transaction: - -```js -{ - "success": false, - "error": "tecPATH_DRY", - "message": "Path could not send partial amount. Please ensure that the src_address has sufficient funds (in the src_amount currency, if specified) to execute this transaction." -} -``` -More information about transaction errors can be found on the [Ripple Wiki](https://ripple.com/wiki/Transaction_errors). - -Save the `confirmation_token` to check for transaction confirmation by matching that against new `notification`'s. Payments cannot be cancelled once they are submitted. - -### Confirming a Payment - -#### `GET /api/v1/addresses/:address/next_notification/:tx_hash` - -A payment can be confirmed by retrieving a notification with the `confirmation_token` from the sucessfully submited payment. The tx_state will be "confirmed" if the payment has successfully gone through. - -```js -{ - "success": true, - "notification": { - "address": "rNw4ozCG514KEjPs5cDrqEcdsi31Jtfm5r", - "type": "payment", - "tx_direction": "outgoing", - "tx_state": "confirmed", - "tx_result": "tesSUCCESS", - "tx_ledger": 4850743, - "tx_hash": "81D48826FA84B0B83902CA3BFE49E2503A5BA1069B214D492AE6AB145B6C4781", - "tx_timestamp": 1391792990000, - "tx_timestamp_human": "2014-02-07T17:09:50.000Z", - "tx_url": "https://api/v1/addresses/r../payments/81..?ledger=4850743", - "next_notification_url": "https://api/v1/addresses/r../next_notification/81..?ledger=4850743" - "confirmation_token": "81D48826FA84B0B83902CA3BFE49E2503A5BA1069B214D492AE6AB145B6C4781" - } -} -``` - -#MONITORING - -Applications will not only need to submit payments but monitor all incoming transactions that our occuring against the Ripple address. The general rule of thumb for monitoring your account should be the following: - -1. Checking the most recent notification -2. Checking the next notification - -## Checking Notifications - -### Most recent notification - -#### `GET /api/v1/addresses/:address/next_notification` - -Use this to retrieve the most recent notification on the account: - -To find out more information about that payment follow the link at `tx_url`. Otherwise follow the `next_notification_url` and check for the next notification. - -If notifications are being retrieved from a `rippled` server that does not have a full historical database, the response may have serveral blank fields. - -```js -{ - "success": true, - "notification": { - "address": "rKXCummUHnenhYudNb9UoJ4mGBR75vFcgz", - "type": "payment", - "tx_direction": "incoming", - "tx_state": "confirmed", - "tx_result": "tesSUCCESS", - "tx_ledger": 4716034, - "tx_hash": "EC19E24AA51D39E809597A5DCF3A7E253F98C27FE3287CB919319A5C59AD8302", - "tx_timestamp": 1391130630000, - "tx_timestamp_human": "2014-01-31T01:10:30.000Z", - "tx_url": "http://ripple-rest.herokuapp.com:49598/api/v1/addresses/rKXCummUHnenhYudNb9UoJ4mGBR75vFcgz/payments/EC19E24AA51D39E809597A5DCF3A7E253F98C27FE3287CB919319A5C59AD8302?ledger=4716034", - "next_notification_url": "http://ripple-rest.herokuapp.com:49598/api/v1/addresses/rKXCummUHnenhYudNb9UoJ4mGBR75vFcgz/next_notification/EC19E24AA51D39E809597A5DCF3A7E253F98C27FE3287CB919319A5C59AD8302?ledger=4716034" - "confirmation_token": "" - } -} -``` - -### Checking next notification - -#### `GET /api/v1/addresses/:address/next_notification/:prev_tx_hash` - -By checking for the most recent notification above, take the hash from the most recent notification to monitor if another notification has arrived. If there is no notifications newer than the most recent, than you will receive the notification object with: - -`"type": "none"` -`"tx_state": "empty"` - -Because the `type` is `none` and the `tx_state` is `empty`, that means there is no next notification (yet) and there are no transactions pending in the outgoing queue. A `tx_state` of `pending` would indicate that there are still transactions waiting for confirmation. - -If there is a newer notification than the one you are checking on, than the response will contain a new notification object. - -## Retrieving a Payment - -#### `GET /api/v1/addresses/:address/payments/:tx_hash` - -Use this to retrieve the details of a specfic payment with the transaction hash. A [`Payment` object format](#2-payment) will be returned with the details of the payment filled out including the path of the payment. - -#RIPPLED SERVER STATUS - -It is important to be able to check on the status of the `ripple-rest` server and the connected `rippled` server that it is currently connected to. - -## Check 'rippled' Status - -#### `GET /api/v1/status` - -Will return the status of the current `rippled` server that the `ripple-rest` server is configured to communicate with. The response body looks like this: - -```js -{ - "api_server_status": "online", - "rippled_server_url": "wss://s_west.ripple.com:443", - "rippled_server_status": { - "info": { - "build_version": "0.21.0-rc2", - "complete_ledgers": "32570-4805506", - "hostid": "BUSH", - "last_close": { - "converge_time_s": 2.011, - "proposers": 5 - }, - "load_factor": 1, - "peers": 51, - "pubkey_node": "n9KNUUntNaDqvMVMKZLPHhGaWZDnx7soeUiHjeQE8ejR45DmHyfx", - "server_state": "full", - "validated_ledger": { - "age": 2, - "base_fee_xrp": 0.00001, - "hash": "2B79CECB06A500A2FB92F4FB610D33A20CF8D7FB39F2C2C7C3A6BD0D75A1884A", - "reserve_base_xrp": 20, - "reserve_inc_xrp": 5, - "seq": 4805506 - }, - "validation_quorum": 3 - } - }, - "api_documentation_url": "https://github.com/ripple/ripple-rest" -} -``` diff --git a/assets/img/ripple_logo_large.png b/assets/img/ripple_logo_large.png deleted file mode 100644 index e328f265cb..0000000000 Binary files a/assets/img/ripple_logo_large.png and /dev/null differ diff --git a/assets/img/ripple_logo_small.png b/assets/img/ripple_logo_small.png deleted file mode 100644 index 3f916cac03..0000000000 Binary files a/assets/img/ripple_logo_small.png and /dev/null differ diff --git a/css/devportal.css b/css/devportal.css new file mode 100644 index 0000000000..0f37d9b9ac --- /dev/null +++ b/css/devportal.css @@ -0,0 +1,430 @@ +/* Big draft warning at top of page so it's hard to mix up with the live site */ +.draft-warning { + background-color: red; + color: white; + padding: 10px 20px; + margin: 10px; + float: right; +} + +/* Images should occupy the full main column width if possible */ +.page-template-template-dev-portal-php .content img { + width: 100%; + height: auto; +} + +/* Underline links in Dev Portal content */ +.page-template-template-dev-portal-php .main a { + text-decoration: underline !important; +} + +/* "Button-style" links should look like buttons, not links */ +.page-template-template-dev-portal-php a.button { + cursor: pointer; + text-decoration: none !important; +} + +/* Code Tabs stuff */ +.page-template-template-dev-portal-php .multicode { + color: #000; + margin: 12px 0px 0px 0px; + padding: 0 0 0 0; + z-index: 1; + padding-left: 10px; + position: relative; +} +.page-template-template-dev-portal-php .multicode ul { + margin: 0 !important; + padding: 0; +} +.page-template-template-dev-portal-php .multicode pre { + padding-top: 0; + clear: both; +} +.page-template-template-dev-portal-php .multicode li { + display: block; + float: left; + overflow: hidden; + list-style-type: none; + margin-right: 5px; + border-top: 1px solid #DBDDE2; +} +.page-template-template-dev-portal-php .multicode ul > li:before { + background: none; + border: none; +} +.page-template-template-dev-portal-php .multicode a, +.page-template-template-dev-portal-php a.current { + color: black; + background: #DFE2E7; + border: 1px solid #DBDDE2; + padding: 1em 1em 0 1em; + margin: 0px; + text-decoration: none; +} +.page-template-template-dev-portal-php .multicode a.current { + background: #fff; + border-bottom: 1px solid #fff; + color: black; +} +.page-template-template-dev-portal-php .multicode a:hover { + color: black; + background: white; +} +/* End of code tabs stuff */ + +.page-template-template-dev-portal-php .button { + border-radius: 5px; + background-color: #27a2db; + padding: 5px 20px; + text-align: center; + cursor: default; + margin: 10px 0; + -ms-user-select: none; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + display: inline-block; + vertical-align: middle; + color: #ffffff; + -o-transition: .5s; + -webkit-transition: .5s; + transition: .5s; +} +.page-template-template-dev-portal-php .button:hover { + background-color: #43bded; + -o-transition: .5s; + -webkit-transition: .5s; + transition: .5s; +} +.page-template-template-dev-portal-php pre { + overflow: visible; + word-wrap: normal; +} +.page-template-template-dev-portal-php pre code { + white-space: pre; +} +.page-template-template-dev-portal-php .code_sample pre { + background: none; + border: none; + border-radius: 0; +} +.page-template-template-dev-portal-php .code_sample pre code { + overflow: auto; + max-height: 14em; + background-color: #f5f5f5; + border: 1px solid #cccccc; + border-radius: 4px; +} +.page-template-template-dev-portal-php .code_sample pre code.expanded { + overflow: visible; + max-height: none; + position: absolute; + min-width: 661px; +} +.page-template-template-dev-portal-php .code_sample .code_toggler { + position: absolute; + bottom: 0; + right: 0; +} +.page-template-template-dev-portal-php .navbar-default { + border-bottom: none; +} +.page-template-template-dev-portal-php .wrap.container { + margin-top: 110px; +} +.page-template-template-dev-portal-php .main { + z-index: 5; + border-left: 1px solid #cccccc; + padding-left: 40px; +} +.page-template-template-dev-portal-php .content { + padding-bottom: 50px; +} +.page-template-template-dev-portal-php .level-1 { + margin: 10px 0 3px 0; + text-transform: uppercase; +} +.page-template-template-dev-portal-php .level-1 a { + color: #000000; + font-family: 'open_sansbold', sans-serif; + letter-spacing: .04em; +} +.page-template-template-dev-portal-php .level-2 { + margin-left: 2em; +} +.page-template-template-dev-portal-php .level-3 { + margin-left: 4em; +} +.page-template-template-dev-portal-php .level-3 a { + color: #999999; +} +.page-template-template-dev-portal-php .level-3 a:hover { + color: #666; +} +.page-template-template-dev-portal-php ul#dev_nav_sidebar { + padding-left: 5px; + list-style-type: none; + max-width: 370px; +} +.page-template-template-dev-portal-php .dev_nav_wrapper { + position: fixed; + width: 100%; + overflow-y: scroll; + top: 130px; + bottom: 35px; +} +.page-template-template-dev-portal-php td { + border: 1px solid #dbdde2; + padding: 0.2em; +} +.page-template-template-dev-portal-php th { + padding: 0.2em; +} +.page-template-template-dev-portal-php .content a[title="Source"] { + float: right; + padding-left: 20px; +} +.page-template-template-dev-portal-php .content table { + clear: right; +} +.page-template-template-dev-portal-php h1:before, +.page-template-template-dev-portal-php h2:before, +.page-template-template-dev-portal-php h3:before { + display: block; + content: " "; + margin-top: -130px; + height: 130px; + visibility: hidden; +} +@media (max-width: 1200px) { + .page-template-template-dev-portal-php .dev_nav_wrapper { + max-width: 300px; + } +} +@media (max-width: 992px) { + .page-template-template-dev-portal-php .dev_nav_wrapper { + max-width: 230px; + } +} +@media (max-width: 768px) { + .page-template-template-dev-portal-php .dev_nav_wrapper, + .page-template-template-dev-portal-php .sidebar { + display: none; + } + .page-template-template-dev-portal-php .main { + border-left: none; + padding-left: 0px; + overflow-wrap: break-word; + word-wrap: break-word; + overflow: hidden; + } +} +@media (min-width: 768px) { + .page-template-template-dev-portal-php .main { + float: right; + } +} +@media (max-width: 480px) { + .page-template-template-dev-portal-php html { + overflow-x: hidden !important; + } +} +@media print { + .page-template-template-dev-portal-php { + /* undo code tabs */ + /* wrap code, not scroll */ + /* Source URLs are too big to float */ + /* Show URLs after links - even for anchors */ + /* Drop header, footer, google translate */ + /* table of contents can't scroll */ + /* better margins on main content */ + /* crazy print-section-numbering idea */ + } + .page-template-template-dev-portal-php .multicode > div { + display: block !important; + } + .page-template-template-dev-portal-php .multicode > ul { + display: none !important; + } + .page-template-template-dev-portal-php .multicode > em, + .page-template-template-dev-portal-php .multicode > p > em { + display: block !important; + page-break-after: avoid; + } + .page-template-template-dev-portal-php .multicode > p { + display: block !important; + } + .page-template-template-dev-portal-php pre { + white-space: pre-wrap; + max-height: none !important; + overflow: visible; + page-break-inside: auto; + word-wrap: break-word; + } + .page-template-template-dev-portal-php pre code { + white-space: pre-wrap !important; + } + .page-template-template-dev-portal-php .content a[title="Source"] { + float: none; + } + .page-template-template-dev-portal-php .main a:after { + content: " (" attr(href) ")"; + } + .page-template-template-dev-portal-php header, + .page-template-template-dev-portal-php footer { + display: none; + } + .page-template-template-dev-portal-php #goog-gt-tt { + display: none; + } + .page-template-template-dev-portal-php .wrap.container { + margin-top: 0 !important; + } + .page-template-template-dev-portal-php .dev_nav_wrapper { + position: static !important; + } + .page-template-template-dev-portal-php .sidebar:before { + display: none !important; + } + .page-template-template-dev-portal-php .sidebar { + padding-top: 0 !important; + display: block !important; + float: none !important; + } + .page-template-template-dev-portal-php h1 { + page-break-before: always; + } + .page-template-template-dev-portal-php .main { + float: none !important; + width: 85% !important; + border-left: 0 !important; + padding: 0 !important; + margin: 0 !important; + display: block !important; + overflow: visible !important; + } + .page-template-template-dev-portal-php .main { + counter-reset: level1; + counter-reset: level2; + counter-reset: level3; + } + .page-template-template-dev-portal-php .main h1 { + counter-increment: level1; + counter-reset: level2; + } + .page-template-template-dev-portal-php .main h1:before { + content: counter(level1) ". " !important; + display: inline !important; + background: none !important; + position: static !important; + box-shadow: none !important; + visibility: visible !important; + } + .page-template-template-dev-portal-php .main h2 { + counter-reset: level3; + } + .page-template-template-dev-portal-php .main h2:before { + counter-increment: level2; + content: counter(level1) "." counter(level2) ". " !important; + display: inline !important; + background: none !important; + position: static !important; + box-shadow: none !important; + visibility: visible !important; + } + .page-template-template-dev-portal-php .main h3:before { + counter-increment: level3; + content: counter(level1) "." counter(level2) "." counter(level3) ". " !important; + display: inline !important; + background: none !important; + position: static !important; + box-shadow: none !important; + visibility: visible !important; + } + .page-template-template-dev-portal-php .menubar, + .page-template-template-dev-portal-php .dev_nav_wrapper { + counter-reset: toclevel1; + } + .page-template-template-dev-portal-php .level-1 { + counter-reset: toclevel2; + } + .page-template-template-dev-portal-php .level-1:before { + counter-increment: toclevel1; + content: counters(toclevel1, ".") ". " !important; + display: inline !important; + background: none !important; + position: static !important; + box-shadow: none !important; + } + .page-template-template-dev-portal-php .level-2 { + counter-reset: toclevel3; + } + .page-template-template-dev-portal-php .level-2:before { + counter-increment: toclevel2; + content: counters(toclevel1, ".") "." counters(toclevel2, ".") ". " !important; + display: inline !important; + background: none !important; + position: static !important; + box-shadow: none !important; + } + .page-template-template-dev-portal-php .level-3:before { + counter-increment: toclevel3; + content: counters(toclevel1, ".") "." counters(toclevel2, ".") "." counters(toclevel3, ".") ". " !important; + display: inline !important; + background: none !important; + position: static !important; + box-shadow: none !important; + } +} + +/*------------- Code Tabs -----------------------------------------*/ +.multicode { + color: #000; + border-bottom: 1px solid #DBDDE2; + margin: 12px 0px 0px 0px; + padding: 0 0 0 0; + z-index: 1; + padding-left: 10px; +} + +.multicode ul { + padding-bottom: 0; +} + +.multicode pre { + padding-top: 0; +} + +.multicode li { + display: inline; + overflow: hidden; + list-style-type: none; +} + +.multicode ul > li:before { + background: none; + border: none; +} + +.multicode a, a.current { + color: black; + background: #DFE2E7; + border: 1px solid #DBDDE2; + padding: 1em 1em 0 1em; + margin: 0px; + text-decoration: none; } + +.multicode a.current { + background: #fff; + border-bottom: 1px solid #fff; + color : black; +} + +.multicode a:hover { + color: black; + background: white; +} + +.multicode a.current:hover {} + diff --git a/css/ripple.css b/css/ripple.css new file mode 100644 index 0000000000..b64c30eb8f --- /dev/null +++ b/css/ripple.css @@ -0,0 +1,8685 @@ +/******************************************************************** + THIS PAGE IS GENERATED FROM RIPPLE.COM. DO NOT EDIT MANUALLY. + *******************************************************************/ + +/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +@media print { + * { + text-shadow: none !important; + color: #000 !important; + background: transparent !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + select { + background: #fff !important; + } + .navbar { + display: none; + } + .table td, + .table th { + background-color: #fff !important; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #333333; + background-color: #ffffff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #346aa9; + text-decoration: none !important; +} +a:hover, +a:focus { + color: #22456e; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + width: 100% \9; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 6px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + display: inline-block; + width: 100% \9; + max-width: 100%; + height: auto; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 10px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 10px; + margin-bottom: 10px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 36px; +} +h2, +.h2 { + font-size: 30px; +} +h3, +.h3 { + font-size: 24px; +} +h4, +.h4 { + font-size: 18px; +} +h5, +.h5 { + font-size: 14px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +small, +.small { + font-size: 85%; +} +cite { + font-style: normal; +} +mark, +.mark { + background-color: #fcf8e3; + padding: .2em; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #346aa9; +} +a.text-primary:hover { + color: #285282; +} +.text-success { + color: #3c763d; +} +a.text-success:hover { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #346aa9; +} +a.bg-primary:hover { + background-color: #285282; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; +} +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-top: 0; + margin-bottom: 20px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 992px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #27a2db; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; + text-align: right; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +blockquote:before, +blockquote:after { + content: ""; +} +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #ffffff; + background-color: #333333; + border-radius: 3px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + box-shadow: none; +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857143; + word-break: break-all; + word-wrap: break-word; + color: #333333; + background-color: #f5f5f5; + border: 1px solid #cccccc; + border-radius: 4px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} +.row { + margin-left: -15px; + margin-right: -15px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #dddddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #dddddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #dddddd; +} +.table .table { + background-color: #ffffff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #dddddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #dddddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-child(odd) > td, +.table-striped > tbody > tr:nth-child(odd) > th { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover > td, +.table-hover > tbody > tr:hover > th { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + float: none; + display: table-column; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + float: none; + display: table-cell; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + overflow-x: auto; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #dddddd; + -webkit-overflow-scrolling: touch; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + padding: 0; + margin: 0; + border: 0; + min-width: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555555; + background-color: #ffffff; + background-image: none; + border: 1px solid #cccccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6); +} +.form-control::-moz-placeholder { + color: #777777; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #777777; +} +.form-control::-webkit-input-placeholder { + color: #777777; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + cursor: not-allowed; + background-color: #eeeeee; + opacity: 1; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + line-height: 34px; + line-height: 1.42857143 \0; +} +input[type="date"].input-sm, +input[type="time"].input-sm, +input[type="datetime-local"].input-sm, +input[type="month"].input-sm { + line-height: 30px; +} +input[type="date"].input-lg, +input[type="time"].input-lg, +input[type="datetime-local"].input-lg, +input[type="month"].input-lg { + line-height: 46px; +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + min-height: 20px; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-left: 0; + padding-right: 0; +} +.input-sm, +.form-horizontal .form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.input-lg, +.form-horizontal .form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +select.input-lg { + height: 46px; + line-height: 46px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 42.5px; +} +.form-control-feedback { + position: absolute; + top: 25px; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; +} +.input-lg + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px; +} +.input-sm + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + border-color: #3c763d; + background-color: #dff0d8; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + border-color: #8a6d3b; + background-color: #fcf8e3; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + border-color: #a94442; + background-color: #f2dede; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + margin-top: 0; + margin-bottom: 0; + padding-top: 7px; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; +} +.form-horizontal .form-group { + margin-left: -15px; + margin-right: -15px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + margin-bottom: 0; + padding-top: 7px; + } +} +.form-horizontal .has-feedback .form-control-feedback { + top: 0; + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 14.3px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + white-space: nowrap; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus { + color: #333333; + text-decoration: none; +} +.btn:active, +.btn.active { + outline: 0; + background-image: none; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + pointer-events: none; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-default { + color: #333333; + background-color: #ffffff; + border-color: #cccccc; +} +.btn-default:hover, +.btn-default:focus, +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #ffffff; + border-color: #cccccc; +} +.btn-default .badge { + color: #ffffff; + background-color: #333333; +} +.btn-primary { + color: #ffffff; + background-color: #346aa9; + border-color: #2e5e96; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #ffffff; + background-color: #285282; + border-color: #204067; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #346aa9; + border-color: #2e5e96; +} +.btn-primary .badge { + color: #346aa9; + background-color: #ffffff; +} +.btn-success { + color: #ffffff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:hover, +.btn-success:focus, +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #ffffff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #ffffff; +} +.btn-info { + color: #ffffff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:hover, +.btn-info:focus, +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #ffffff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #ffffff; +} +.btn-warning { + color: #ffffff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:hover, +.btn-warning:focus, +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #ffffff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #ffffff; +} +.btn-danger { + color: #ffffff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:hover, +.btn-danger:focus, +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #ffffff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #ffffff; +} +.btn-link { + color: #346aa9; + font-weight: normal; + cursor: pointer; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #22456e; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 11px 0 0 !important; + list-style: none; + font-size: 14px; + text-align: left; + background-color: #f4f6f7; + border-left: 1px solid #cccccc; + border-right: 1px solid #cccccc; + border-bottom: 1px solid #cccccc; + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 18px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + text-decoration: none; + color: #346aa9; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #346aa9; + text-decoration: none; + outline: 0; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: not-allowed; +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + left: auto; + right: 0; +} +.dropdown-menu-left { + left: 0; + right: auto; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} +@media (min-width: 992px) { + .navbar-right .dropdown-menu { + left: auto; + right: 0; + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus { + outline: 0; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child > .btn:last-child, +.btn-group > .btn-group:first-child > .dropdown-toggle { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.btn-group > .btn-group:last-child > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-bottom-left-radius: 4px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + float: none; + display: table-cell; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn > input[type="radio"], +[data-toggle="buttons"] > .btn > input[type="checkbox"] { + position: absolute; + z-index: -1; + opacity: 0; + filter: alpha(opacity=0); +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 46px; + line-height: 46px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #cccccc; + border-radius: 4px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + margin-left: -1px; +} +.nav { + margin-bottom: 0; + padding-left: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 20px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + background-color: transparent; + cursor: not-allowed; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #346aa9; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #dddddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #dddddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + background-color: #ffffff; + border: 1px solid #dddddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #dddddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #dddddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 4px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #ffffff; + background-color: #346aa9; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + text-align: center; + margin-bottom: 5px; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #dddddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #dddddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #ffffff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar { + position: relative; + min-height: 50px; +} +@media (min-width: 992px) { + .navbar { + border-radius: 4px; + } +} +@media (min-width: 992px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + overflow-x: visible; + padding-right: 15px; + padding-left: 15px; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 992px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-left: 0; + padding-right: 0; + } +} +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 992px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 992px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +@media (min-width: 992px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + padding: 15px 0 15px; + font-size: 18px; + line-height: 30px; + height: 66px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-toggle { + position: relative; + float: right; + margin-right: 15px; + padding: 9px 10px; + margin-top: 8px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 992px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 7.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 991px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 992px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } +} +@media (min-width: 992px) { + .navbar-left { + float: left !important; + float: left; + } + .navbar-right { + float: right !important; + float: right; + } +} +.navbar-form { + margin-left: -15px; + margin-right: -15px; + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 8px; + margin-bottom: 8px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 991px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} +@media (min-width: 992px) { + .navbar-form { + width: auto; + border: 0; + margin-left: 0; + margin-right: 0; + padding-top: 0; + padding-bottom: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-form.navbar-right:last-child { + margin-right: -15px; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} +.navbar-btn.btn-sm { + margin-top: 10px; + margin-bottom: 10px; +} +.navbar-btn.btn-xs { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-text { + margin-top: 15px; + margin-bottom: 15px; +} +@media (min-width: 992px) { + .navbar-text { + float: left; + margin-left: 15px; + margin-right: 15px; + } + .navbar-text.navbar-right:last-child { + margin-right: 0; + } +} +ul#menu-primary-navigation { + float: right; + margin-top: 10px; + letter-spacing: .03em; +} +.home .navbar-default { + z-index: 99999; + background-color: transparent; + border-bottom: none; + -o-transition: .3s; + -ms-transition: .3s; + -moz-transition: .3s; + -webkit-transition: .3s; + transition: .3s; +} +.home .navbar-default .navbar-brand { + color: #777777; +} +.home .navbar-default .navbar-brand:hover, +.home .navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.home .navbar-default .navbar-text { + color: #777777; +} +.home .navbar-default .navbar-nav > li > a { + color: #ffffff; +} +.home .navbar-default .navbar-nav > li > a:hover, +.home .navbar-default .navbar-nav > li > a:focus { + color: #ffffff; + background-color: transparent; +} +.home .navbar-default .navbar-nav > .active > a, +.home .navbar-default .navbar-nav > .active > a:hover, +.home .navbar-default .navbar-nav > .active > a:focus { + color: #346aa9; + background-color: #ffffff; +} +.home .navbar-default .navbar-nav > .disabled > a, +.home .navbar-default .navbar-nav > .disabled > a:hover, +.home .navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} +.home .navbar-default .navbar-toggle { + margin-top: 16px; +} +.home .navbar-default .navbar-toggle:hover, +.home .navbar-default .navbar-toggle:focus { + background-color: transparent; +} +.home .navbar-default .navbar-toggle .icon-bar { + background-color: #ffffff; +} +.home .navbar-default .navbar-collapse, +.home .navbar-default .navbar-form { + border-color: #e7e7e7; +} +.home .navbar-default .navbar-nav > .open > a, +.home .navbar-default .navbar-nav > .open > a:hover, +.home .navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555555; +} +@media (max-width: 991px) { + .home .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777777; + } + .home .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .home .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333333; + background-color: transparent; + } + .home .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .home .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .home .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555555; + background-color: #e7e7e7; + } + .home .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .home .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .home .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #cccccc; + background-color: transparent; + } +} +.home .navbar-default .navbar-link { + color: #777777; +} +.home .navbar-default .navbar-link:hover { + color: #333333; +} +.home .navbar-default .btn-link { + color: #777777; +} +.home .navbar-default .btn-link:hover, +.home .navbar-default .btn-link:focus { + color: #333333; +} +.home .navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .home .navbar-default .btn-link:hover, +.home .navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .home .navbar-default .btn-link:focus { + color: #cccccc; +} +.navbar-default { + z-index: 99999; + background-color: #ffffff; + border-bottom: 1px solid #346aa9; +} +.navbar-default .navbar-brand { + color: #777777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777777; +} +.navbar-default .navbar-nav > li > a { + color: #666666; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #346aa9; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #346aa9; + background-color: #ffffff; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + margin-top: 16px; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: transparent; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #346aa9; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555555; +} +@media (max-width: 991px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #cccccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777777; +} +.navbar-default .navbar-link:hover { + color: #333333; +} +.navbar-default .btn-link { + color: #777777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #cccccc; +} +.navbar-default.scrolled { + z-index: 99999; + background-color: #ffffff !important; + border-bottom: 1px solid #346aa9; + -o-transition: .3s; + -ms-transition: .3s; + -moz-transition: .3s; + -webkit-transition: .3s; + transition: .3s; +} +.navbar-default.scrolled .navbar-brand { + color: #777777; +} +.navbar-default.scrolled .navbar-brand:hover, +.navbar-default.scrolled .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default.scrolled .navbar-text { + color: #777777; +} +.navbar-default.scrolled .navbar-nav > li > a { + color: #666666; + -o-transition: 1s; + -ms-transition: 1s; + -moz-transition: 1s; + -webkit-transition: 1s; + transition: 1s; +} +.navbar-default.scrolled .navbar-nav > li > a:hover, +.navbar-default.scrolled .navbar-nav > li > a:focus { + color: #346aa9; + background-color: transparent; + -o-transition: 1s; + -ms-transition: 1s; + -moz-transition: 1s; + -webkit-transition: 1s; + transition: 1s; +} +.navbar-default.scrolled .navbar-nav > .active > a, +.navbar-default.scrolled .navbar-nav > .active > a:hover, +.navbar-default.scrolled .navbar-nav > .active > a:focus { + color: #346aa9; + background-color: #ffffff; +} +.navbar-default.scrolled .navbar-nav > .disabled > a, +.navbar-default.scrolled .navbar-nav > .disabled > a:hover, +.navbar-default.scrolled .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} +.navbar-default.scrolled .navbar-toggle:hover, +.navbar-default.scrolled .navbar-toggle:focus { + background-color: transparent; +} +.navbar-default.scrolled .navbar-toggle .icon-bar { + background-color: #346aa9; +} +.navbar-default.scrolled .navbar-collapse, +.navbar-default.scrolled .navbar-form { + border-color: #e7e7e7; +} +.navbar-default.scrolled .navbar-nav > .open > a, +.navbar-default.scrolled .navbar-nav > .open > a:hover, +.navbar-default.scrolled .navbar-nav > .open > a:focus { + background-color: #e7e7e7; + color: #555555; +} +@media (max-width: 991px) { + .navbar-default.scrolled .navbar-nav .open .dropdown-menu > li > a { + color: #777777; + } + .navbar-default.scrolled .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default.scrolled .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333333; + background-color: transparent; + } + .navbar-default.scrolled .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default.scrolled .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default.scrolled .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555555; + background-color: #e7e7e7; + } + .navbar-default.scrolled .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default.scrolled .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default.scrolled .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #cccccc; + background-color: transparent; + } +} +.navbar-default.scrolled .navbar-link { + color: #777777; +} +.navbar-default.scrolled .navbar-link:hover { + color: #333333; +} +.navbar-default.scrolled .btn-link { + color: #777777; +} +.navbar-default.scrolled .btn-link:hover, +.navbar-default.scrolled .btn-link:focus { + color: #333333; +} +.navbar-default.scrolled .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default.scrolled .btn-link:hover, +.navbar-default.scrolled .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default.scrolled .btn-link:focus { + color: #cccccc; +} +.navbar-inverse { + background-color: #222222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #777777; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #ffffff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #777777; +} +.navbar-inverse .navbar-nav > li > a { + color: #777777; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #ffffff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #ffffff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + background-color: #080808; + color: #ffffff; +} +@media (max-width: 991px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #777777; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #ffffff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #ffffff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #777777; +} +.navbar-inverse .navbar-link:hover { + color: #ffffff; +} +.navbar-inverse .btn-link { + color: #777777; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #ffffff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + content: "/\00a0"; + padding: 0 5px; + color: #cccccc; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #346aa9; + background-color: #ffffff; + border: 1px solid #dddddd; + margin-left: -1px; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #22456e; + background-color: #eeeeee; + border-color: #dddddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + background-color: #346aa9; + border-color: #346aa9; + cursor: default; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + background-color: #ffffff; + border-color: #dddddd; + cursor: not-allowed; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 6px; + border-top-left-radius: 6px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-bottom-right-radius: 6px; + border-top-right-radius: 6px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-bottom-right-radius: 3px; + border-top-right-radius: 3px; +} +.pager { + padding-left: 0; + margin: 20px 0; + list-style: none; + text-align: center; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + border: none; + outline: 0; + color: #27a2db; + border-radius: 5px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: underline !important; +} +.pager .next > a, +.pager .next > span { + float: right; + margin-top: 35px; +} +.pager .previous > a, +.pager .previous > span { + float: left; + margin-top: 35px; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + background-color: #ffffff; + cursor: not-allowed; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #346aa9; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #285282; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + color: #ffffff; + line-height: 1; + vertical-align: baseline; + white-space: nowrap; + text-align: center; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #346aa9; + background-color: #ffffff; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron { + border-radius: 6px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-left: 60px; + padding-right: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857143; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-left: auto; + margin-right: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #346aa9; +} +.thumbnail .caption { + padding: 9px; + color: #333333; +} +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #3c763d; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #31708f; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + background-color: #fcf8e3; + border-color: #faebcc; + color: #8a6d3b; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + background-color: #f2dede; + border-color: #ebccd1; + color: #a94442; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #ffffff; + text-align: center; + background-color: #346aa9; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-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-image: -o-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-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: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar[aria-valuenow="1"], +.progress-bar[aria-valuenow="2"] { + min-width: 30px; +} +.progress-bar[aria-valuenow="0"] { + color: #777777; + min-width: 30px; + background-color: transparent; + background-image: none; + box-shadow: none; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-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-image: -o-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-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); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-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-image: -o-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-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); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-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-image: -o-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-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); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-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-image: -o-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-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); +} +.media, +.media-body { + overflow: hidden; + zoom: 1; +} +.media, +.media .media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media-object { + display: block; +} +.media-heading { + margin: 0 0 5px; +} +.media > .pull-left { + margin-right: 10px; +} +.media > .pull-right { + margin-left: 10px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + margin-bottom: 20px; + padding-left: 0; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #ffffff; + border: 1px solid #dddddd; +} +.list-group-item:first-child { + border-top-right-radius: 4px; + border-top-left-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +a.list-group-item { + color: #555555; +} +a.list-group-item .list-group-item-heading { + color: #333333; +} +a.list-group-item:hover, +a.list-group-item:focus { + text-decoration: none; + color: #555555; + background-color: #f5f5f5; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + background-color: #eeeeee; + color: #777777; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #ffffff; + background-color: #346aa9; + border-color: #346aa9; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #bed3eb; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +a.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +a.list-group-item-success.active:hover, +a.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +a.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +a.list-group-item-info.active:hover, +a.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +a.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +a.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 4px; + border-bottom: 1px solid #cccccc !important; +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #dddddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.panel > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive { + border-top: 1px solid #dddddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + border: 0; + margin-bottom: 0; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 4px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body { + border-top: 1px solid #dddddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #dddddd; +} +.panel-default { + border-color: #dddddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #dddddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #dddddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #dddddd; +} +.panel-primary { + border-color: #346aa9; +} +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #346aa9; + border-color: #346aa9; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #346aa9; +} +.panel-primary > .panel-heading .badge { + color: #346aa9; + background-color: #ffffff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #346aa9; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object { + position: absolute; + top: 0; + left: 0; + bottom: 0; + height: 100%; + width: 100%; + border: 0; +} +.embed-responsive.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 6px; +} +.well-sm { + padding: 9px; + border-radius: 3px; +} +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover, +.close:focus { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + display: none; + overflow: hidden; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transform: translate3d(0, -25%, 0); + transform: translate3d(0, -25%, 0); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} +.modal.in .modal-dialog { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #ffffff; + border: 1px solid #999999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000000; +} +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; + min-height: 16.42857143px; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: 15%; + opacity: 0.5; + filter: alpha(opacity=50); + font-size: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} +.carousel-control.right { + left: auto; + right: 0; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} +.carousel-control:hover, +.carousel-control:focus { + outline: 0; + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid #ffffff; + border-radius: 10px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); +} +.carousel-indicators .active { + margin: 0; + width: 12px; + height: 12px; + background-color: #ffffff; +} +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -15px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -15px; + } + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-footer:before, +.modal-footer:after { + content: " "; + display: table; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-footer:after { + clear: both; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; + visibility: hidden !important; +} +.affix { + position: fixed; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/* +****************** +Global adjustments +****************** +*/ +html { + overflow-y: scroll; +} +html, +body { + font-family: 'open_sansregular', sans-serif; + background-color: #ffffff; + width: 100%; + height: 100%; + font-size: 14px; + color: #333333; + letter-spacing: .01em; +} +.main_content, +.main { + background: #ffffff; +} +.sidebar-primary .wrap.container { + margin: 100px auto; +} +section#comments, +section#respond { + visibility: hidden; +} +input, +textarea, +select { + background-color: #ffffff; + border: 1px solid #cccccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + -webkit-transition: all border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s ease-out; + -moz-transition: all border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s ease-out; + -o-transition: all border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s ease-out; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + transition: all border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s ease-out; +} +input:focus, +textarea:focus, +select:focus { + border-color: #888888; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(136, 136, 136, 0.6); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(136, 136, 136, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(136, 136, 136, 0.6); +} +b, +strong { + font-weight: normal; + font-family: 'open_sansbold', sans-serif; +} +.collapse { + padding-bottom: 15px; +} +/* +****************** +Fonts +****************** +*/ +@font-face { + font-family: 'open_sansregular'; + src: url('../font/OpenSans-Regular-webfont.eot'); + src: url('../font/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), url('../font/OpenSans-Regular-webfont.woff') format('woff'), url('../font/OpenSans-Regular-webfont.ttf') format('truetype'), url('../font/OpenSans-Regular-webfont.svg#open_sansregular') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'open_sansbold'; + src: url('../font/OpenSans-Bold-webfont.eot'); + src: url('../font/OpenSans-Bold-webfont.eot?#iefix') format('embedded-opentype'), url('../font/OpenSans-Bold-webfont.woff') format('woff'), url('../font/OpenSans-Bold-webfont.ttf') format('truetype'), url('../font/OpenSans-Bold-webfont.svg#open_sansbold') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'open_sanslight'; + src: url('../font/OpenSans-Light-webfont.eot'); + src: url('../font/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'), url('../font/OpenSans-Light-webfont.woff') format('woff'), url('../font/OpenSans-Light-webfont.ttf') format('truetype'), url('../font/OpenSans-Light-webfont.svg#open_sanslight') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'open_sansextrabold'; + src: url('../font/OpenSans-ExtraBold-webfont.eot'); + src: url('../font/OpenSans-ExtraBold-webfont.eot?#iefix') format('embedded-opentype'), url('../font/OpenSans-ExtraBold-webfont.woff') format('woff'), url('../font/OpenSans-ExtraBold-webfont.ttf') format('truetype'), url('../font/OpenSans-ExtraBold-webfont.svg#open_sansextrabold') format('svg'); + font-weight: normal; + font-style: normal; +} +/* +****************** +subnav +****************** +*/ +.subnav a { + color: #666; +} +.subnav .active a { + color: #27a2db; +} +/* +****************** +Dev subnav +****************** +*/ +.banner .dev_nav { + background: #f4f6f7; + padding: 5px; + border-top: 1px solid #346aa9; + border-bottom: 1px solid #cccccc; +} +.banner .dev_nav li { + display: inline; + padding: 5px 5px 5px 15px; +} +.banner .dev_nav li.dropdown { + display: inline; + padding: 5px 5px 5px 15px; +} +.banner .dev_nav li.dropdown:hover { + padding: 15px 5px 17px 15px; + background: #ffffff; +} +.banner .dev_nav li.dropdown a { + padding: 15px 5px; +} +.banner .dev_nav ul { + margin: 10px 0px; + padding-left: 15px; +} +.banner .dev_nav .dropdown-menu { + background: #ffffff; +} +.banner .dev_nav .dropdown-menu > li > a { + padding: 5px; +} +@media (max-width: 767px) { + #menu-dev-menu { + display: none; + } + .dev_nav { + padding: 0 !important; + border-bottom: none !important; + } +} +/* +****************** +Style subnav +****************** +*/ +.style_nav { + background: #f4f6f7; + padding: 5px; + border-top: 1px solid #346aa9; + border-bottom: 1px solid #cccccc; +} +.style_nav li { + display: inline; + margin-right: 15px; + padding: 5px 5px 5px 0; +} +.style_nav ul { + margin: 10px 0px; + padding-left: 0; +} +/* +****************** +Company subnav +****************** +*/ +.company_nav { + background: #f4f6f7; + padding: 5px; + border-top: 1px solid #346aa9; + border-bottom: 1px solid #cccccc; +} +.company_nav li { + display: inline; + margin-right: 15px; + padding: 5px 5px 5px 0; +} +.company_nav ul { + margin: 10px 0px; + padding-left: 0; +} +/* +****************** +News subnav +****************** +*/ +.news_nav { + background: #f4f6f7; + padding: 5px; + border-top: 1px solid #346aa9; + border-bottom: 1px solid #cccccc; +} +.news_nav li { + display: inline; + margin-right: 15px; + padding: 5px 5px 5px 0; +} +.news_nav ul { + margin: 10px 0px; + padding-left: 0; +} +/* +****************** +Blog subnav +****************** +*/ +.blog_nav { + background: #434c55; +} +.blog_nav .menu-insights { + text-transform: uppercase; + font-size: 21px; + font-family: 'open_sansbold', sans-serif; + letter-spacing: .04em; +} +.blog_nav .menu-insights a { + color: transparent !important; + background: url('/wp-content/themes/ripple-beta/assets/img/insights_logo.png') no-repeat top center; + background-size: contain; + background-position-y: 5px; +} +.blog_nav .active a { + color: #E9F1F5; +} +.blog_nav a { + color: #31caff; +} +.blog_nav a:hover { + color: #ffffff; +} +.blog_nav li { + display: inline; + margin-right: 15px; + padding: 5px 5px 5px 0; +} +.blog_nav ul { + margin: 10px 0 10px -15px; + padding-left: 15px !important; +} +.blog_nav li.menu-views, +.blog_nav li.menu-news, +.blog_nav li.menu-features { + position: relative; + top: -1px; +} +/* +****************** +hero image and CTA +****************** +*/ +.call_to_action { + font-family: 'open_sanslight', sans-serif; + z-index: 9999; + margin-top: 30px; + padding: 12px 24px; + background-color: #27a2db; + border-radius: 3px; + border: none; + outline: 0; + color: #ffffff; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: 5s; + -webkit-transition: .5s; + transition: .5s; +} +.call_to_action:hover, +.call_to_action:focus { + background-color: #43bded; + o-transition: .5s; + ms-transition: .5s; + moz-transition: .5s; + -webkit-transition: .5s; + transition: .5s; + outline: 0; +} +.call_to_action a { + color: #ffffff; +} +.call_to_action a:hover, +.call_to_action a:focus { + text-decoration: none; +} +.hero_home { + height: 100%; +} +.hero { + height: 375px; + line-height: 0; + background-size: cover; +} +.hero-container { + background: #4e4e50; + margin-top: 60px; +} +.page-fx-market-making .header_text_wrapper, +.page-cross-currency-settlement .header_text_wrapper, +.page-originators .header_text_wrapper, +.page-financial-institutions .header_text_wrapper, +.page-market-makers .header_text_wrapper, +.page-system-integrators .header_text_wrapper, +.page-contact .header_text_wrapper { + margin-top: 30px; +} +.page-fx-market-making .hero-container, +.page-cross-currency-settlement .hero-container, +.page-originators .hero-container, +.page-financial-institutions .hero-container, +.page-market-makers .hero-container, +.page-system-integrators .hero-container, +.page-contact .hero-container { + background: #217a9b; + background: -moz-linear-gradient(-45deg, #217a9b 0%, #215a79 100%); + background: -webkit-gradient(left top, right bottom, color-stop(0%, #217a9b), color-stop(100%, #215a79)); + background: -webkit-linear-gradient(-45deg, #217a9b 0%, #215a79 100%); + background: -o-linear-gradient(-45deg, #217a9b 0%, #215a79 100%); + background: -ms-linear-gradient(-45deg, #217a9b 0%, #215a79 100%); + background: linear-gradient(135deg, #217a9b 0%, #215a79 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#217a9b', endColorstr='#215a79', GradientType=1); +} +@media (max-width: 480px) { + .page-fx-market-making .hero-container .hero, + .page-cross-currency-settlement .hero-container .hero, + .page-originators .hero-container .hero, + .page-financial-institutions .hero-container .hero, + .page-market-makers .hero-container .hero, + .page-system-integrators .hero-container .hero, + .page-contact .hero-container .hero { + background-image: none !important; + } +} +.header_text_wrapper { + margin-top: 80px; +} +.header_text { + position: relative; + color: #ffffff; + text-align: left; + width: 100%; + font-size: 64px; + z-index: 9999; + font-family: 'Hind', sans-serif; + padding-bottom: 15px; +} +.header_text hr { + border-top: 1px solid #ffffff; + width: 200px; + margin-top: 35px; +} +.leading_header_text { + color: #ffffff; + font-family: 'open_sanslight', sans-serif; + position: relative; + font-size: 36px; +} +.teaser_text { + position: relative; + color: #ffffff; + text-align: left; + width: 100%; + z-index: 9999; + font-size: 21px; + max-width: 700px; + font-family: 'open_sanslight', sans-serif; + line-height: 28px; + text-shadow: 0px 0px 30px rgba(0, 0, 0, 0.5); +} +.cta_text h1, +.cta_text h3 { + margin: 0; + height: auto; +} +.cta_text { + width: 100%; + position: absolute; +} +.cta { + text-align: center; +} +.cta_empty_holder { + height: 60px; +} +.blue_heading { + color: #066b98; +} +.header_title hr { + border-top: 1px solid #cccccc; + margin: 20px auto; + max-width: 100px; +} +/* +****************** +Sidebar +****************** +*/ +.sidebar h4 { + font-family: 'open_sansbold', sans-serif; + text-transform: uppercase; + font-size: 17px; + color: #344e5a; + clear: both; + margin: 30px 0 20px; + letter-spacing: .04em; +} +/* +****************** +Other shit +****************** +*/ +i.fa.fa-share { + font-size: 11px; +} +.sidebar .knowledge_blurb { + display: none; +} +.scrolled .nav_x { + color: #346aa9; +} +.white_x { + display: none; +} +.nav_x { + margin-top: -4px; + display: none; + color: #346aa9; + width: 20px; +} +.page-header { + display: none; +} +.page-header h1 { + font-size: 64px; + color: #344e5a; + font-family: 'Hind', sans-serif; +} +.jumbotron { + padding: 0; + margin-bottom: 0; + font-family: 'open_sanslight', sans-serif; + background: #ffffff; +} +.jumbotron .col-md-6 p, +.jumbotron .col-md-4 p, +.jumbotron .col-md-3 p { + font-size: 14px; + padding: 15px 0; +} +.jumbotron h1 { + text-align: center; +} +.textaligncenter { + text-align: center; +} +img.ripple_stack { + width: 100%; + padding: 40px; +} +.right_arrow { + float: right; + padding: 20px; +} +.lower_title, +.ripple_page_heading h3 { + font-family: 'open_sanslight', sans-serif; + margin-top: 30px; + font-size: 21px; +} +.title_border hr { + border-bottom: 1px solid #346aa9; + width: 100px; +} +.top_border_section { + border-top: 1px solid #cccccc; +} +.ripple_page_heading h3 hr { + border-top: 1px solid #346aa9; + width: 200px; + margin-top: 30px; +} +.throbber { + -webkit-animation: spin 1s linear infinite; + -moz-animation: spin 1s linear infinite; + animation: spin 1s linear infinite; +} +@-moz-keyframes spin { + 100% { + -moz-transform: rotate(360deg); + } +} +@-webkit-keyframes spin { + 100% { + -webkit-transform: rotate(360deg); + } +} +@keyframes spin { + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +.readmore { + text-align: center; + max-width: 200px; + padding: 10px; + margin: 25px 0; + background-color: rgba(255, 255, 255, 0.2); + border: 1px solid #ffffff; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + color: #ffffff; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: 5s; + -webkit-transition: .5s; + transition: .5s; +} +.readmore a { + color: #ffffff; +} +.readmore a:hover { + text-decoration: none; +} +.readmore:hover, +.readmore:focus { + background: #ffffff; + background-color: rgba(255, 255, 255, 0.4); + border: 1px solid #ffffff; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: 5s; + -webkit-transition: .5s; + transition: .5s; +} +a.cta_link:hover { + text-decoration: none; +} +.cta_readmore { + font-family: 'open_sansregular', sans-serif; + font-size: 14px; + text-align: center; + max-width: 450px; + padding: 10px 25px; + margin: 25px 0; + background-color: rgba(204, 204, 204, 0.1); + border: 1px solid #cccccc; + border-radius: 2px; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + color: #000000; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: 5s; + -webkit-transition: .5s; + transition: .5s; +} +.cta_readmore a { + color: #000000; +} +.cta_readmore:hover, +.cta_readmore:focus { + text-decoration: none; + background: #ffffff; + background-color: rgba(204, 204, 204, 0.3); + border: 1px solid #cccccc; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: 5s; + -webkit-transition: .5s; + transition: .5s; +} +.cta_readmore .center_btn { + margin: 25px auto; +} +.cta_readmore.center_btn { + margin: 25px auto; +} +.ripple_page_heading { + padding-top: 15px; +} +.fi_logo { + padding-bottom: 20px; +} +.last_section { + padding: 40px 0; +} +code { + border: none; +} +time.published, +.author { + font-family: 'open_sansregular', sans-serif; + font-size: 14px; + color: #999999; +} +.widget { + padding-bottom: 30px; +} +.content code { + color: #111; +} +#mc_embed_signup form { + padding: 0 !important; +} +#mc_embed_signup input { + margin: auto; + padding: 10px 20px; +} +/* +********************** +Google Forms +********************** +*/ +label.gform-error, +label.wpgform-error { + float: right; + color: red; + font-weight: bold; +} +div.gform-captcha, +div.wpgform-captcha { + margin: 5px 0px 10px; + display: none; +} +div.gform-browser-warning, +div.gform-browser-error, +div.wpgform-browser-warning, +div.wpgform-browser-error { + -webkit-border-radius: 3px; + border-radius: 3px; + border-width: 1px; + border-style: solid; + padding: 0 .6em; + margin: 5px 0 15px; +} +div.gform-browser-warning, +div.wpgform-browser-warning { + background-color: #ffffe0; + border-color: #e6db55; +} +div.gform-google-error, +div.gform-browser-error, +div.wpgform-google-error, +div.wpgform-browser-error { + background-color: #ffebe8; + border-color: #cc0000; +} +div.ss-footer-txt, +div.ss-logo { + display: none; +} +div.ss-no-ignore-whitespace { + white-space: pre-wrap; +} +div.ss-required-asterisk { + color: red; + font-weight: bold; +} +input.ss-q-short:text { + width: 300px; +} +label.ss-q-help { + display: block; +} +label.ss-q-title { + font-weight: bold; +} +div.ss-form-container div.disclaimer { + display: none; +} +td.ss-form-entry > div.ss-secondary-text { + display: none; +} +div.password-warning { + display: none; +} +div.ss-form-container li { + list-style-type: none; +} +a.ss-edit-link { + display: none; +} +div.aria-only-help { + display: none; +} +div.error-message { + display: none; +} +input.ss-q-short, +textarea.ss-q-long { + width: auto; +} +td.hd, +td.headerEnd, +tr.rShim, +td.sortBar { + display: none; + width: 0px !important; + padding: 0px !important; +} +div div span.powered, +div.listview { + display: none; +} +div.ss-form-container div.required-message { + display: none; +} +.ss-form-container { + font-family: 'open_sansregular', sans-serif !important; +} +.ss-form-container .ss-form-entry > input { + background: #fff !important; + width: 350px; + height: 42px; + margin: 5px 0; +} +.ss-form-container .ss-form-heading { + display: none; +} +.ss-form-container ol { + padding: 0; +} +.ss-form-container label { + font-weight: normal; +} +.ss-form-container textarea.ss-q-long { + width: 100%; +} +.ss-form-container input#ss-submit { + border: none; + background: #3372ad !important; + color: #ffffff; + margin-top: 15px; +} +.page-vm-downloads .ss-form-container input#ss-submit { + margin: 15px 0 0 50px; +} +.page-ripple-deep-dive .ss-form-container .ss-form-entry > input { + background: #fff !important; + width: 350px; + height: 42px; + padding-left: 10px; +} +.page-ripple-deep-dive .ss-form-container .ss-form-question { + width: 100px; + margin-bottom: 10px; +} +/* +********************** +Ripple logo font icon +********************** +*/ +/* +****************** +Contact form adjust +****************** +*/ +.wpcf7 input, +.wpcf7 select { + height: 42px; + padding-left: 10px; + width: 100%; + margin-top: 10px; +} +.wpcf7 .wpcf7-response-output { + border: none !important; +} +.wpcf7 .wpcf7-textarea { + height: 75px; +} +.wpcf7 img.wpcf7-form-control.wpcf7-captchac { + margin: auto; +} +.wpcf7 textarea.wpcf7-form-control.wpcf7-textarea { + width: 100% !important; + margin-top: 10px; +} +/* +****************** +Thank You page +****************** +*/ +.page-thank-you .page-header { + display: none !important; +} +.page-thank-you main.main { + text-align: center; +} +.page-thank-you ul { + list-style-type: none; +} +/* +****************** +404 page +****************** +*/ +.error404 main.main { + text-align: center; +} +.error404 .four-o-four { + padding: 80px 0; +} +.error404 h1 { + font-size: 48px; + color: #346aa9; +} +.error404 ul { + list-style-type: none; +} +.error404 .schwartz { + margin: auto; + padding: 10px 0; +} +/* +****************** +Social icons +****************** +*/ +.social_icons span { + padding-right: 10px; +} +.fb-like.fb_iframe_widget { + vertical-align: super; + float: left; +} +.twitter-share-button { + margin-left: 10px; + width: 70px !important; +} +/* +****************** +Hero animations +****************** +*/ +.animated { + -webkit-animation-duration: 1s; + animation-duration: 1s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} +.animated2 { + -webkit-animation-duration: 1.5s; + animation-duration: 1.5s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} +.animated3 { + -webkit-animation-duration: 2s; + animation-duration: 2s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} +.animated4 { + -webkit-animation-duration: 0.5s; + animation-duration: 0.5s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} +@-webkit-keyframes fadeInUp { + 0% { + opacity: 0; + -webkit-transform: translateY(20px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@keyframes fadeInUp { + 0% { + opacity: 0; + transform: translateY(20px); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +.fadeInUp { + -webkit-animation-name: fadeInUp; + animation-name: fadeInUp; +} +@-webkit-keyframes fadeInUp2 { + 0% { + opacity: 0.5; + -webkit-transform: translateY(200px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@keyframes fadeInUp2 { + 0% { + opacity: 0.5; + transform: translateY(200px); + } + 100% { + opacity: 1; + transform: translateY(0); + } +} +.fadeInUp2 { + -webkit-animation-name: fadeInUp2; + animation-name: fadeInUp2; +} +@-webkit-keyframes fadeDown { + 0% { + opacity: 1; + -webkit-transform: translateY(0); + } + 100% { + opacity: 0.5; + -webkit-transform: translateY(200px); + } +} +@keyframes fadeDown { + 0% { + opacity: 1; + transform: translateY(0); + } + 100% { + opacity: 0.5; + transform: translateY(200px); + } +} +.fadeDown { + -webkit-animation-name: fadeDown; + animation-name: fadeDown; +} +/* +****************** +Media Queries +****************** +*/ +@media (max-width: 992px) { + .container { + width: 100%; + } + .hero { + height: 400px; + } + .home img.biz_logo { + display: block; + margin: auto; + } + .home .col-md-6 { + text-align: center; + } + .home .cta_readmore { + margin: 10px auto; + } +} +@media (max-width: 991px) { + .container-adjust.container { + width: 100%; + } + .initial_logo, + .logo_scrolled, + .logo { + margin-left: 15px; + } + .navbar-default .navbar-nav > .active > a, + .navbar-default .navbar-nav > .active > a:hover, + .navbar-default .navbar-nav > .active > a:focus { + background-color: transparent !important; + } + ul#menu-primary-navigation { + float: left; + } + ul#menu-primary-navigation li > a { + padding-top: 5px; + padding-bottom: 5px; + } + ul#menu-primary-navigation li:hover { + background: transparent !important; + } + ul#menu-primary-navigation ul.dropdown-menu { + display: block !important; + background-color: transparent; + position: inherit; + width: 100%; + margin-left: 25px !important; + padding-bottom: 5px; + } + ul#menu-primary-navigation ul.dropdown-menu li { + padding: 0; + } + ul#menu-primary-navigation .caret { + display: none; + } + .navbar-brand { + padding: 15px 0px; + } + .teaser_text_wrapper.container, + .header_text_wrapper.container { + padding: 0; + } +} +@media (max-width: 480px) { + .header_text { + font-size: 48px; + } + .leading_header_text { + font-size: 21px; + } + input, + textarea, + select { + max-width: 250px; + } + .dev_nav { + background: #f4f6f7; + padding: 5px; + border-top: 1px solid #346aa9; + border-bottom: 1px solid #cccccc; + } + .dev_nav li { + display: inline; + margin-right: 5px; + padding: 5px; + } + .dev_nav ul { + margin: 10px 0 10px -15px; + padding-left: 0; + font-size: 12px; + } + .divider { + display: none; + } +} +@media (min-width: 480px) { + .dev_nav .container { + padding-left: 0; + } +} +@media (min-width: 992px) { + .content { + min-height: 900px; + } +} +@media (max-width: 600px) { + .hidden-mobile { + display: none !important; + } +} +@media (min-width: 768px) { + .sidebar { + padding-top: 75px; + padding-left: 30px !important; + } +} +@media (max-width: 1024px) { + .hidden-ipad { + display: none !important; + } +} +@media (max-width: 1024px) and (orientation: landscape) { + .hidden-tablet { + display: none !important; + } + .visible-tablet { + display: block !important; + } +} +/* +****************** +Transifex +****************** +*/ +#translation { + display: inline-block; +} +#tx-live-lang-toggle { + display: none; +} +.txlive-langselector-list { + position: absolute; + margin: 50px 0 0 0 !important; + padding: 0 !important; + display: inline-block !important; + background-color: transparent !important; + box-shadow: none !important; + color: #999999 !important; + width: auto !important; + top: 0 !important; + left: 0; +} +.txlive-langselector-list > li { + padding: 0 16px; + display: inline-block !important; + width: auto !important; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: 5s; + -webkit-transition: .5s; + transition: .5s; +} +.txlive-langselector-list > li:hover { + background-color: transparent !important; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: 5s; + -webkit-transition: .5s; + transition: .5s; +} +@media (max-width: 480px) { + .txlive-langselector-list { + position: relative !important; + } + .txlive-langselector-list > li { + padding: 0 5px 0 !important; + } +} +.aligncenter { + display: block; + margin: 10px auto; +} +.alignleft, +.alignright { + margin-bottom: 10px; +} +figure.alignnone { + margin-left: 0; + margin-right: 0; + max-width: 100%; +} +@media (min-width: 768px) { + .alignleft { + float: left; + margin-right: 10px; + } + .alignright { + float: right; + margin-left: 10px; + } +} +.main { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} +@media (min-width: 768px) { + .main { + float: left; + width: 100%; + } +} +.sidebar-primary .main { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} +@media (min-width: 768px) { + .sidebar-primary .main { + float: left; + width: 66.66666667%; + } +} +.banner .main_nav_wrapper { + border-bottom: 1px solid #346aa9; + height: 60px; +} +.banner ul#menu-primary-navigation li:hover { + background: rgba(255, 255, 255, 0.9); +} +.banner ul#menu-primary-navigation li:hover a { + color: #676767; +} +.banner .dropdown-menu { + background: rgba(255, 255, 255, 0.9); + margin: 0 !important; + border: none; + padding: 0; +} +@media (max-width: 992px) { + .banner .container { + width: 100%; + } +} +@media (min-width: 992px) { + .banner li.menu-contact { + border: none; + background: #27a2db; + margin-top: 10px; + margin-left: 15px; + border-radius: 3px; + } + .banner li.menu-contact:hover, + .banner li.menu-contact:active, + .banner li.menu-contact:focus { + background-color: #43bded !important; + } + .banner li.menu-contact a { + color: #ffffff; + padding: 5px 20px; + } + .banner li.menu-contact a:hover, + .banner li.menu-contact a:active, + .banner li.menu-contact a:focus { + color: #ffffff !important; + } + .banner li.menu-contact.active { + background-color: #27a2db !important; + } + .banner li.menu-contact.active:hover, + .banner li.menu-contact.active:active, + .banner li.menu-contact.active:focus { + background-color: #43bded !important; + } + .banner li.menu-contact.active a { + color: #ffffff; + background-color: transparent; + } + .banner li.menu-contact.active a:hover, + .banner li.menu-contact.active a:active, + .banner li.menu-contact.active a:focus { + background-color: transparent; + } +} +.sidebar { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} +@media (min-width: 768px) { + .sidebar { + float: left; + width: 33.33333333%; + } +} +.sidebar h5 { + font-family: 'open_sansbold', sans-serif; + text-transform: uppercase; + font-size: 17px; + color: #344e5a; + letter-spacing: .04em; + margin-bottom: 20px; +} +.sidebar ul.curated { + color: #808080; + list-style-type: none; + padding: 0; + font-size: 17px; +} +.sidebar ul.curated a { + color: #27a2db; +} +.sidebar ul.curated li:last-child { + margin-bottom: 35px; +} +.blog .sidebar, +.insights .sidebar, +.category .sidebar, +.single .sidebar { + font-size: 17px; + color: #808080; + line-height: 1.53em; +} +.blog .sidebar h5:nth-of-type(2), +.insights .sidebar h5:nth-of-type(2), +.category .sidebar h5:nth-of-type(2), +.single .sidebar h5:nth-of-type(2) { + margin-top: 35px; +} +.content-info { + z-index: 2; + color: #999999; + padding: 50px 0; + font-size: 14px; + background: #4e4e50 url(../img/ripple_footer_v2.jpg) repeat-x center center; + background-position-y: -60px; +} +.content-info .readmore { + position: absolute; + width: 100%; + top: 220px; +} +.content-info .clamped { + overflow: hidden; + position: relative; + max-height: 5.8em; + /*display ellipsis after 4 lines*/ +} +.content-info section { + margin-bottom: 70px; +} +.content-info section a { + color: #999999; + transition: .5s; +} +.content-info section a:hover { + color: #ffffff; + transition: .5s; +} +.content-info h3, +.content-info h4 { + color: #ffffff; +} +.content-info h3 { + font-family: 'open_sanslight', sans-serif; +} +.content-info hr { + border-top: 1px solid #999999; +} +.content-info h5 { + color: #ffffff; + font-size: 14px; + line-height: 1.4em; + letter-spacing: 0.03em; +} +.content-info h5 a { + color: #ffffff; + font-size: 12px; + font-family: 'open_sansbold', sans-serif; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: .5s; + -webkit-transition: .5s; + transition: .5s; + letter-spacing: .04em; +} +.content-info h5 a:hover, +.content-info h5 a:focus { + color: #999999; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: .5s; + -webkit-transition: .5s; + transition: .5s; + text-decoration: none; +} +.content-info ul.recent_posts_with_excerpts { + padding: 0; +} +.content-info ul.recent_posts_with_excerpts li { + list-style-type: none; +} +.content-info .pull_right { + float: right; +} +.content-info .pull_right li { + display: inline-block; + vertical-align: middle; +} +.content-info .absolute_bottom_footer { + padding: 0; +} +.content-info .absolute_bottom_footer a { + color: #999999; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: .5s; + -webkit-transition: .5s; + transition: .5s; +} +.content-info .absolute_bottom_footer a:hover, +.content-info .absolute_bottom_footer a:focus { + color: #ffffff; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: .5s; + -webkit-transition: .5s; + transition: .5s; + text-decoration: none; +} +.content-info .absolute_bottom_footer .col-sm-8 span { + margin-right: 25px; +} +.content-info .absolute_bottom_footer .social-iconer a { + color: #ffffff; + o-transition: .5s; + -ms-transition: .5s; + -moz-transition: .5s; + -webkit-transition: .5s; + transition: .5s; +} +.content-info .absolute_bottom_footer .social-iconer a:hover, +.content-info .absolute_bottom_footer .social-iconer a:focus { + color: #346aa9; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: .5s; + -webkit-transition: .5s; + transition: .5s; + text-decoration: none; +} +.content-info ul.menu { + list-style-type: none; + padding: 0; +} +.content-info ul.menu a { + color: #999999; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: .5s; + -webkit-transition: .5s; + transition: .5s; + text-decoration: none; +} +.content-info ul.menu a:hover, +.content-info ul.menu a:focus { + color: #ffffff; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: .5s; + -webkit-transition: .5s; + transition: .5s; + text-decoration: none; +} +.content-info #breaker { + margin: 90px 0; +} +.content-info h3 a, +.content-info h4 a { + color: #ffffff; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: .5s; + -webkit-transition: .5s; + transition: .5s; +} +.content-info h3 a:hover, +.content-info h4 a:hover { + color: #cccccc; + text-decoration: none; + -o-transition: .5s; + -ms-transition: .5s; + -moz-transition: .5s; + -webkit-transition: .5s; + transition: .5s; +} +@media (max-width: 767px) { + .content-info .col-sm-3 { + margin-bottom: 20px; + } + .content-info .col-sm-4 .readmore { + top: initial !important; + } + .content-info .pull_right { + position: absolute; + bottom: -5px; + } +} +@media (max-width: 768px) { + .content-info { + background: #262627; + background: -moz-linear-gradient(270deg, #262627 0%, #525254 100%); + background: -webkit-linear-gradient(270deg, #262627 0%, #525254 100%); + background: -o-linear-gradient(270deg, #262627 0%, #525254 100%); + background: -ms-linear-gradient(270deg, #262627 0%, #525254 100%); + background: linear-gradient(0deg, #262627 0%, #525254 100%); + } +} +@media (min-width: 1200px) { + .content-info .readmore { + max-width: 305px; + } + .content-info section { + padding: 0 70px 0 15px !important; + } +} +@media (max-width: 1199px) { + .content-info .readmore { + top: 250px !important; + } +} +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.2.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.fa-lg { + font-size: 1.33333333em; + line-height: .75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: .14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid .08em #eee; + border-radius: 0.1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: 0.3em; +} +.fa.pull-right { + margin-left: 0.3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} diff --git a/data-api-v2-tool.html b/data-api-v2-tool.html index da0ea39889..7051f00536 100644 --- a/data-api-v2-tool.html +++ b/data-api-v2-tool.html @@ -13,194 +13,185 @@ + + + + - - + - - - - - - - - - - + - - + diff --git a/data_api_v2.html b/data_api_v2.html index 43594f5d5f..cf5001ad9d 100644 --- a/data_api_v2.html +++ b/data_api_v2.html @@ -13,23 +13,21 @@ + + + + - - + - - - - - - - - - - - - - - - - - - - -
-
- -
+ +
+ +
+ diff --git a/fee-voting.html b/fee-voting.html index 30860d5db7..b64b058ebe 100644 --- a/fee-voting.html +++ b/fee-voting.html @@ -13,23 +13,21 @@ + + + + - - + - - - - - - - - - - - - - - - - - - - -
-
- -
+ +
+ +
+ diff --git a/reliable_tx.html b/reliable_tx.html index 7589fa8ccc..45aab56b79 100644 --- a/reliable_tx.html +++ b/reliable_tx.html @@ -13,23 +13,21 @@ + + + + - - + - - - - - - - - - - - - - - - - - - - -
-
- -
+ +
+ +
+ diff --git a/reserves.html b/reserves.html index d2c37b36bb..19c6c4eb15 100644 --- a/reserves.html +++ b/reserves.html @@ -13,23 +13,21 @@ + + + + - - + - - - - - - - - - - - - - - - - - - - -
-
- -
+ +
+ +
+ diff --git a/ripple-api-tool.html b/ripple-api-tool.html index c3571ce93b..849a30510b 100644 --- a/ripple-api-tool.html +++ b/ripple-api-tool.html @@ -13,130 +13,127 @@ + + + + - - + - - - - - - - - - - + - - + + + +
+ +
+
+ + diff --git a/ripple-ledger.html b/ripple-ledger.html index 9f046d3a49..950a7ef98b 100644 --- a/ripple-ledger.html +++ b/ripple-ledger.html @@ -13,23 +13,21 @@ + + + + - - + - - - - - - - - - - - - - - - - - - - -
-
- -
+ +
+ +
+ diff --git a/rippleapi.html b/rippleapi.html index fbce896618..b3d63a8857 100644 --- a/rippleapi.html +++ b/rippleapi.html @@ -13,23 +13,21 @@ + + + + - - + - - - - - - - - - - - - - - - - - - - -
-
- -
+ +
+ +
+ diff --git a/rippleapi_quickstart.html b/rippleapi_quickstart.html index 3119d00179..566a1b79e7 100644 --- a/rippleapi_quickstart.html +++ b/rippleapi_quickstart.html @@ -13,23 +13,21 @@ + + + + - - + - - - - - - - - - - - - - - - - - - - -
-
- -
+ +
+ +
+ diff --git a/rippled-apis.html b/rippled-apis.html index f7f37e6891..38c23f883a 100644 --- a/rippled-apis.html +++ b/rippled-apis.html @@ -13,23 +13,21 @@ + + + + - - + - - - - - - - - - - - - - - - - - - - -
-
- -
+ +
+ +
+ diff --git a/rippled-setup.html b/rippled-setup.html index 9c9322c7ae..d2ab9d1990 100644 --- a/rippled-setup.html +++ b/rippled-setup.html @@ -13,23 +13,21 @@ + + + + - - + - - - - - - - - - - - - - - - - - - - -
-
- -
+ +
+ +
+ diff --git a/tool/pages.json b/tool/pages.json index 50373e7b4d..3bc4e48627 100644 --- a/tool/pages.json +++ b/tool/pages.json @@ -3,7 +3,8 @@ "name": "Overview", "template":"template-index.html", "html": "index.html", - "targets": ["local", "ripple.com"] + "targets": ["local", "ripple.com"], + "sidebar": false }, { "name": "Ripple Developer Resources", @@ -16,111 +17,127 @@ "md":"paths.md", "html":"paths.html", "ripple.com": "https://ripple.com/build/paths/", - "category": "Concepts" + "category": "Concepts", + "sidebar": "category-toc" }, { "name": "Fees (Disambiguation)", "md": "fees.md", "html": "fees.html", "ripple.com": "https://ripple.com/knowledge_center/fees-disambiguation/", - "category": "Concepts" + "category": "Concepts", + "sidebar": "category-toc" }, { "name": "Transfer Fees", "md":"transferrate.md", "html":"transfer_fees.html", "ripple.com": "https://ripple.com/knowledge_center/transfer-fees/", - "category": "Concepts" + "category": "Concepts", + "sidebar": "category-toc" }, { "name": "Transaction Cost", "md": "tx-cost.md", "html": "tx-cost.html", "ripple.com": "https://ripple.com/build/transaction-cost/", - "category": "Concepts" + "category": "Concepts", + "sidebar": "category-toc" }, { "name": "Fee Voting", "md": "fee-voting.md", "html": "fee-voting.html", "ripple.com": "https://ripple.com/build/fee-voting/", - "category": "Concepts" + "category": "Concepts", + "sidebar": "category-toc" }, { "name": "Reserves", "md": "reserves.md", "html": "reserves.html", "ripple.com": "https://ripple.com/build/reserves/", - "category": "Concepts" + "category": "Concepts", + "sidebar": "category-toc" }, { "name": "Freeze", "md": "freeze.md", "html": "freeze.html", "ripple.com": "https://ripple.com/build/freeze/", - "category": "Concepts" + "category": "Concepts", + "sidebar": "category-toc" }, { "name": "RippleAPI Quick Start Guide", "md": "rippleapi_quickstart.md", "html": "rippleapi_quickstart.html", - "category": "Tutorials" + "category": "Tutorials", + "sidebar": "page-toc" }, { "name": "rippled", "md":"rippled.md", "html":"rippled-apis.html", "ripple.com": "https://ripple.com/build/rippled-apis/", - "category": "References" + "category": "References", + "sidebar": "page-toc" }, { "name": "rippled Setup", "md":"rippled-setup.md", "html":"rippled-setup.html", "ripple.com": "https://ripple.com/build/rippled-setup/", - "category": "Tutorials" + "category": "Tutorials", + "sidebar": "page-toc" }, { "name": "Transactions", "md":"tx_format.md", "html":"transactions.html", "ripple.com": "https://ripple.com/build/transactions/", - "category": "References" + "category": "References", + "sidebar": "page-toc" }, { "name": "Ledger Format", "md":"ledger_format.md", "html":"ripple-ledger.html", "ripple.com": "https://ripple.com/build/ledger-format/", - "category": "References" + "category": "References", + "sidebar": "page-toc" }, { "name": "Reliable Transaction Submission", "md":"reliable_tx.md", "html":"reliable_tx.html", "ripple.com": "https://ripple.com/build/reliable-transaction-submission/", - "category": "Tutorials" + "category": "Tutorials", + "sidebar": "page-toc" }, { "name": "Gateway Guide", "md":"gateway_guide.md", "html":"gateway_guide.html", "ripple.com": "https://ripple.com/build/gateway-guide/", - "category": "Tutorials" + "category": "Tutorials", + "sidebar": "page-toc" }, { "name": "Ripple Data API v2", "md": "data_v2.md", "html": "data_api_v2.html", "ripple.com": "https://ripple.com/build/data-api-v2/", - "category": "References" + "category": "References", + "sidebar": "page-toc" }, { "name": "RippleAPI", "md": "https://raw.githubusercontent.com/ripple/ripple-lib/0.16.7/docs/index.md", "html": "rippleapi.html", "ripple.com": "https://ripple.com/build/rippleapi/", - "category": "References" + "category": "References", + "sidebar": "page-toc" }, { "name": "WebSocket API Tool", @@ -128,7 +145,8 @@ "category": "API Tools", "ripple.com": "https://ripple.com/build/websocket-tool/", "html": "ripple-api-tool.html", - "targets": ["local","ripple.com"] + "targets": ["local","ripple.com"], + "sidebar": "custom" }, { "name": "Data API v2 Tool", @@ -137,7 +155,8 @@ "category": "API Tools", "rest_host": "https://data.ripple.com", "html": "data-api-v2-tool.html", - "targets": ["local","ripple.com"] + "targets": ["local","ripple.com"], + "sidebar": "custom" } ] diff --git a/tool/template-base.html b/tool/template-base.html index 038a7611f5..4aeee7ef55 100644 --- a/tool/template-base.html +++ b/tool/template-base.html @@ -13,121 +13,78 @@ + + + + - - + {% block head %} {% endblock %} - - - - - - - - - - + - - - -
- {% block contentroot %}{% endblock %} -
- + + + + + + + + + +
+ {% if currentpage.sidebar %} + + {% endif %} +
+ {% block main %}{% endblock %} +
+
+ +{% include 'template-footer.html' %} + {% block endbody %}{% endblock %} diff --git a/tool/template-doc.html b/tool/template-doc.html index 91462b6681..8011db8ede 100644 --- a/tool/template-doc.html +++ b/tool/template-doc.html @@ -1,18 +1,12 @@ {% extends "template-base.html" %} {% block head %} - - - - - {% if precompiled %} - - {% else %} - - - - - {% endif %} {% endblock %} -{% block bodyattrs %}{% if not precompiled %} role='flatdoc'{% endif %} class='no-literate'{% endblock %} - -{% block contentroot %} -
- -
- {% if precompiled %} - {{ content }} - {% endif %} -
+{% block main %} +
+ {{ content }}
{% endblock %} diff --git a/tool/template-footer.html b/tool/template-footer.html new file mode 100644 index 0000000000..5dda50d128 --- /dev/null +++ b/tool/template-footer.html @@ -0,0 +1,52 @@ + diff --git a/tool/template-index.html b/tool/template-index.html index 3b2621db61..197a46103a 100644 --- a/tool/template-index.html +++ b/tool/template-index.html @@ -16,7 +16,7 @@ {% endblock %} -{% block contentroot %} +{% block main %} diff --git a/tool/template-rest-api-tool.html b/tool/template-rest-api-tool.html index c32fde19cf..831475e02c 100644 --- a/tool/template-rest-api-tool.html +++ b/tool/template-rest-api-tool.html @@ -1,40 +1,38 @@ {% extends "template-base.html" %} -{% block contentroot %} -
-
-
-
-
    -
-
-
-
-

REST Request

- -
-

-

-
Invalid JSON
-
-

{{ currentpage.rest_host }}

-
-
-
-
Send request
-
+{% block main %} +
+
+
+
    +
+
+
+
+

REST Request

+ -
-

Response

-
- - -
-
-
+
+

+

+
Invalid JSON
+
+

{{ currentpage.rest_host }}

+
+
+
Send request
+
+
+
+

Response

+
+ + +
+
+
diff --git a/tool/template-ripple-api-tool.html b/tool/template-ripple-api-tool.html index f99bd8c51f..b5bb7c7577 100644 --- a/tool/template-ripple-api-tool.html +++ b/tool/template-ripple-api-tool.html @@ -1,39 +1,43 @@ {% extends "template-base.html" %} -{% block contentroot %} + +{% block sidebar %} + +{% endblock %} + +{% block main %}
Offline
-
@@ -55,7 +59,7 @@

Response

- +

diff --git a/transactions.html b/transactions.html index d392534edd..4ae1ca97b7 100644 --- a/transactions.html +++ b/transactions.html @@ -13,23 +13,21 @@ + + + + - - + - - - - - - - - - - - - - - - - - - - -
-
- -
+ +
+ +
+
diff --git a/transfer_fees.html b/transfer_fees.html index 63423557d2..cfb0406eb0 100644 --- a/transfer_fees.html +++ b/transfer_fees.html @@ -13,23 +13,21 @@ + + + + - - + - - - - - - - - - - - - - - - - - - - -
-
- -
+ +
+ +
+
diff --git a/tx-cost.html b/tx-cost.html index 50feffcfc5..2a1e77c083 100644 --- a/tx-cost.html +++ b/tx-cost.html @@ -13,23 +13,21 @@ + + + + - - + - - - - - - - - - - - - - - - - - - - -
-
- -
+ +
+ +
+
diff --git a/vendor/flatdoc/v/0.8.0/flatdoc.js b/vendor/flatdoc/v/0.8.0/flatdoc.js deleted file mode 100644 index 278d62e462..0000000000 --- a/vendor/flatdoc/v/0.8.0/flatdoc.js +++ /dev/null @@ -1,25 +0,0 @@ -/*! -Flatdoc (http://ricostacruz.com/flatdoc) -(c) 2013 Rico Sta. Cruz. MIT licensed. - -Also includes: - - marked - a markdown parser - (c) 2011-2013, Christopher Jeffrey. (MIT Licensed) - https://github.com/chjj/marked - - base64.js - http://github.com/dankogai/js-base64 - -*/ -!function($){var exports=this;var marked;var Flatdoc=exports.Flatdoc={};Flatdoc.run=function(options){$(function(){new Flatdoc.runner(options).run()})};Flatdoc.file=function(url){return function(callback){$.get(url).fail(function(e){callback(e,null)}).done(function(data){callback(null,data)})}};Flatdoc.github=function(repo,filepath){var url;if(filepath){url="https://api.github.com/repos/"+repo+"/contents/"+filepath}else{url="https://api.github.com/repos/"+repo+"/readme"}return function(callback){$.get(url).fail(function(e){callback(e,null)}).done(function(data){var markdown=exports.Base64.decode(data.content);callback(null,markdown)})}};var Parser=Flatdoc.parser={};Parser.parse=function(source){marked=exports.marked;Parser.setMarkedOptions();var html=$("
"+marked(source));var h1=html.find("h1").eq(0);var title=h1.text();Transformer.mangle(html);var menu=Transformer.getMenu(html);return{title:title,content:html,menu:menu}};Parser.setMarkedOptions=function(){marked.setOptions({highlight:function(code,lang){if(lang){var fn=Flatdoc.highlighters[lang]||Flatdoc.highlighters.generic;return fn(code)}return code}})};var Transformer=Flatdoc.transformer={};Transformer.mangle=function($content){this.addIDs($content);this.buttonize($content);this.smartquotes($content)};Transformer.addIDs=function($content){$content.find("h1, h2, h3").each(function(){var $el=$(this);var text=$el.text();var id=slugify(text);$el.attr("id",id)})};Transformer.getMenu=function($content){var root={items:[],id:"",level:0};var cache=[root];function mkdir_p(level){var parent=level>1?mkdir_p(level-1):root;if(!cache[level]){var obj={items:[],level:level};cache[level]=obj;parent.items.push(obj);return obj}return cache[level]}$content.find("h1, h2, h3").each(function(){var $el=$(this);var level=+this.nodeName.substr(1);parent=mkdir_p(level-1);var obj={section:$el.text(),items:[],level:level,id:$el.attr("id")};parent.items.push(obj);cache[level]=obj});return root};Transformer.buttonize=function($content){$content.find("a").each(function(){var $a=$(this);var m=$a.text().match(/^(.*) >$/);if(m)$a.text(m[1]).addClass("button")})};Transformer.smartquotes=function($content){var nodes=getTextNodesIn($content),len=nodes.length;for(var i=0;i/g,">").replace(/("[^\"]*?")/g,'$1').replace(/('[^\']*?')/g,'$1').replace(/\/\/(.*)/gm,'//$1').replace(/\/\*(.*)\*\//gm,'/*$1*/').replace(/(\d+\.\d+)/gm,'$1').replace(/(\d+)/gm,'$1').replace(/\bnew *(\w+)/gm,'new $1').replace(/\b(function|new|throw|return|var|if|else)\b/gm,'$1')};Highlighters.html=function(code){return code.replace(//g,">").replace(/("[^\"]*?")/g,'$1').replace(/('[^\']*?')/g,'$1').replace(/<!--(.*)-->/g,'<!--$1-->').replace(/<([^!][^ ]*)/g,'<$1')};Highlighters.generic=function(code){return code.replace(//g,">").replace(/("[^\"]*?")/g,'$1').replace(/('[^\']*?')/g,'$1').replace(/(\/\/|#)(.*)/gm,'$1$2').replace(/(\d+\.\d+)/gm,'$1').replace(/(\d+)/gm,'$1')};var MenuView=Flatdoc.menuView=function(menu){var $el=$("
    ");function process(node,$parent){var id=node.id||"root";var $li=$("
  • ").attr("id",id+"-item").addClass("level-"+node.level).appendTo($parent);if(node.section){var $a=$("").html(node.section).attr("id",id+"-link").attr("href","#"+node.id).addClass("level-"+node.level).appendTo($li)}if(node.items.length>0){var $ul=$("
      ").addClass("level-"+(node.level+1)).attr("id",id+"-list").appendTo($li);node.items.forEach(function(item){process(item,$ul)})}}process(menu,$el);return $el};var Runner=Flatdoc.runner=function(options){this.initialize(options)};Runner.prototype.root='[role~="flatdoc"]';Runner.prototype.menu='[role~="flatdoc-menu"]';Runner.prototype.title='[role~="flatdoc-title"]';Runner.prototype.content='[role~="flatdoc-content"]';Runner.prototype.initialize=function(options){$.extend(this,options)};Runner.prototype.run=function(){var doc=this;$(doc.root).trigger("flatdoc:loading");doc.fetcher(function(err,markdown){if(err){console.error("[Flatdoc] fetching Markdown data failed.",err);return}var data=Flatdoc.parser.parse(markdown);doc.applyData(data,doc);$(doc.root).trigger("flatdoc:ready")})};Runner.prototype.applyData=function(data){var elements=this;elements.el("title").html(data.title);elements.el("content").html(data.content.find(">*"));elements.el("menu").html(MenuView(data.menu))};Runner.prototype.el=function(aspect){return $(this[aspect],this.root)};function getTextNodesIn(el){var exclude="iframe,pre,code";return $(el).find(":not("+exclude+")").andSelf().contents().filter(function(){return this.nodeType==3&&$(this).closest(exclude).length===0})}function quotify(a){a=a.replace(/(^|[\-\u2014\s(\["])'/g,"$1‘");a=a.replace(/'/g,"’");a=a.replace(/(^|[\-\u2014\/\[(\u2018\s])"/g,"$1“");a=a.replace(/"/g,"”");a=a.replace(/\.\.\./g,"…");a=a.replace(/--/g,"—");return a}function slugify(text){return text.toLowerCase().match(/[a-z0-9]+/g).join("-")}}(jQuery);!function(){var block={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){3,} *\n*/,blockquote:/^( *>[^\n]+(\n[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,def:/^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,"gm")(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)("hr",/\n+(?=(?: *[-*_]){3,} *(?:\n+|$))/)();block._tag="(?!(?:"+"a|em|strong|small|s|cite|q|dfn|abbr|data|time|code"+"|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo"+"|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|@)\\b";block.html=replace(block.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,block._tag)();block.paragraph=replace(block.paragraph)("hr",block.hr)("heading",block.heading)("lheading",block.lheading)("blockquote",block.blockquote)("tag","<"+block._tag)("def",block.def)();block.normal=merge({},block);block.gfm=merge({},block.normal,{fences:/^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/,paragraph:/^/});block.gfm.paragraph=replace(block.paragraph)("(?!","(?!"+block.gfm.fences.source.replace("\\1","\\2")+"|")();block.tables=merge({},block.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/});function Lexer(options){this.tokens=[];this.tokens.links={};this.options=options||marked.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables}else{this.rules=block.gfm}}}Lexer.rules=block;Lexer.lex=function(src,options){var lexer=new Lexer(options);return lexer.lex(src)};Lexer.prototype.lex=function(src){src=src.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n");return this.token(src,true)};Lexer.prototype.token=function(src,top){var src=src.replace(/^ +$/gm,""),next,loose,cap,bull,b,item,space,i,l;while(src){if(cap=this.rules.newline.exec(src)){src=src.substring(cap[0].length);if(cap[0].length>1){this.tokens.push({type:"space"})}}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);cap=cap[0].replace(/^ {4}/gm,"");this.tokens.push({type:"code",text:!this.options.pedantic?cap.replace(/\n+$/,""):cap});continue}if(cap=this.rules.fences.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"code",lang:cap[2],text:cap[3]});continue}if(cap=this.rules.heading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[1].length,text:cap[2]});continue}if(top&&(cap=this.rules.nptable.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/\n$/,"").split("\n")};for(i=0;i ?/gm,"");this.token(cap,top);this.tokens.push({type:"blockquote_end"});continue}if(cap=this.rules.list.exec(src)){src=src.substring(cap[0].length);bull=cap[2];this.tokens.push({type:"list_start",ordered:bull.length>1});cap=cap[0].match(this.rules.item);next=false;l=cap.length;i=0;for(;i1&&b.length>1)){src=cap.slice(i+1).join("\n")+src;i=l-1}}loose=next||/\n\n(?!\s*$)/.test(item);if(i!==l-1){next=item[item.length-1]==="\n";if(!loose)loose=next}this.tokens.push({type:loose?"loose_item_start":"list_item_start"});this.token(item,false);this.tokens.push({type:"list_item_end"})}this.tokens.push({type:"list_end"});continue}if(cap=this.rules.html.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:cap[1]==="pre"||cap[1]==="script",text:cap[0]});continue}if(top&&(cap=this.rules.def.exec(src))){src=src.substring(cap[0].length);this.tokens.links[cap[1].toLowerCase()]={href:cap[2],title:cap[3]};continue}if(top&&(cap=this.rules.table.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/(?: *\| *)?\n$/,"").split("\n")};for(i=0;i])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/;inline.link=replace(inline.link)("inside",inline._inside)("href",inline._href)();inline.reflink=replace(inline.reflink)("inside",inline._inside)();inline.normal=merge({},inline);inline.pedantic=merge({},inline.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});inline.gfm=merge({},inline.normal,{escape:replace(inline.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(inline.text)("]|","~]|")("|","|https?://|")()});inline.breaks=merge({},inline.gfm,{br:replace(inline.br)("{2,}","*")(),text:replace(inline.gfm.text)("{2,}","*")()});function InlineLexer(links,options){this.options=options||marked.defaults;this.links=links;this.rules=inline.normal;if(!this.links){throw new Error("Tokens array requires a `links` property.")}if(this.options.gfm){if(this.options.breaks){this.rules=inline.breaks}else{this.rules=inline.gfm}}else if(this.options.pedantic){this.rules=inline.pedantic}}InlineLexer.rules=inline;InlineLexer.output=function(src,links,options){var inline=new InlineLexer(links,options);return inline.output(src)};InlineLexer.prototype.output=function(src){var out="",link,text,href,cap;while(src){if(cap=this.rules.escape.exec(src)){src=src.substring(cap[0].length);out+=cap[1];continue}if(cap=this.rules.autolink.exec(src)){src=src.substring(cap[0].length);if(cap[2]==="@"){text=cap[1][6]===":"?this.mangle(cap[1].substring(7)):this.mangle(cap[1]);href=this.mangle("mailto:")+text}else{text=escape(cap[1]);href=text}out+=''+text+"";continue}if(cap=this.rules.url.exec(src)){src=src.substring(cap[0].length);text=escape(cap[1]);href=text;out+=''+text+"";continue}if(cap=this.rules.tag.exec(src)){src=src.substring(cap[0].length);out+=this.options.sanitize?escape(cap[0]):cap[0];continue}if(cap=this.rules.link.exec(src)){src=src.substring(cap[0].length);out+=this.outputLink(cap,{href:cap[2],title:cap[3]});continue}if((cap=this.rules.reflink.exec(src))||(cap=this.rules.nolink.exec(src))){src=src.substring(cap[0].length);link=(cap[2]||cap[1]).replace(/\s+/g," ");link=this.links[link.toLowerCase()];if(!link||!link.href){out+=cap[0][0];src=cap[0].substring(1)+src;continue}out+=this.outputLink(cap,link);continue}if(cap=this.rules.strong.exec(src)){src=src.substring(cap[0].length);out+=""+this.output(cap[2]||cap[1])+"";continue}if(cap=this.rules.em.exec(src)){src=src.substring(cap[0].length);out+=""+this.output(cap[2]||cap[1])+"";continue}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);out+=""+escape(cap[2],true)+"";continue}if(cap=this.rules.br.exec(src)){src=src.substring(cap[0].length);out+="
      ";continue}if(cap=this.rules.del.exec(src)){src=src.substring(cap[0].length);out+=""+this.output(cap[1])+"";continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);out+=escape(cap[0]);continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return out};InlineLexer.prototype.outputLink=function(cap,link){if(cap[0][0]!=="!"){return'"+this.output(cap[1])+""}else{return''+escape(cap[1])+'"}};InlineLexer.prototype.smartypants=function(text){if(!this.options.smartypants)return text;return text.replace(/--/g,"—").replace(/'([^']*)'/g,"‘$1’").replace(/"([^"]*)"/g,"“$1”").replace(/\.{3}/g,"…")};InlineLexer.prototype.mangle=function(text){var out="",l=text.length,i=0,ch;for(;i.5){ch="x"+ch.toString(16)}out+="&#"+ch+";"}return out};function Parser(options){this.tokens=[];this.token=null;this.options=options||marked.defaults}Parser.parse=function(src,options){var parser=new Parser(options);return parser.parse(src)};Parser.prototype.parse=function(src){this.inline=new InlineLexer(src.links,this.options);this.tokens=src.reverse();var out="";while(this.next()){out+=this.tok()}return out};Parser.prototype.next=function(){return this.token=this.tokens.pop()};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};Parser.prototype.parseText=function(){var body=this.token.text;while(this.peek().type==="text"){body+="\n"+this.next().text}return this.inline.output(body)};Parser.prototype.tok=function(){switch(this.token.type){case"space":{return""}case"hr":{return"
      \n"}case"heading":{return""+this.inline.output(this.token.text)+"\n"}case"code":{if(this.options.highlight){var code=this.options.highlight(this.token.text,this.token.lang);if(code!=null&&code!==this.token.text){this.token.escaped=true;this.token.text=code}}if(!this.token.escaped){this.token.text=escape(this.token.text,true)}return"
      "+this.token.text+"
      \n"}case"table":{var body="",heading,i,row,cell,j;body+="\n\n";for(i=0;i'+heading+"\n":""+heading+"\n"}body+="\n\n";body+="\n";for(i=0;i\n";for(j=0;j'+cell+"\n":""+cell+"\n"}body+="\n"}body+="\n";return"\n"+body+"
      \n"}case"blockquote_start":{var body="";while(this.next().type!=="blockquote_end"){body+=this.tok()}return"
      \n"+body+"
      \n"}case"list_start":{var type=this.token.ordered?"ol":"ul",body="";while(this.next().type!=="list_end"){body+=this.tok()}return"<"+type+">\n"+body+"\n"}case"list_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.token.type==="text"?this.parseText():this.tok()}return"
    • "+body+"
    • \n"}case"loose_item_start":{var body="";while(this.next().type!=="list_item_end"){body+=this.tok()}return"
    • "+body+"
    • \n"}case"html":{return!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text}case"paragraph":{return"

      "+this.inline.output(this.token.text)+"

      \n"}case"text":{return"

      "+this.parseText()+"

      \n"}}};function escape(html,encode){return html.replace(!encode?/&(?!#?\w+;)/g:/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function replace(regex,opt){regex=regex.source;opt=opt||"";return function self(name,val){if(!name)return new RegExp(regex,opt);val=val.source||val;val=val.replace(/(^|[^\[])\^/g,"$1");regex=regex.replace(name,val);return self}}function noop(){}noop.exec=noop;function merge(obj){var i=1,target,key;for(;iAn error occured:

      "+escape(e.message+"",true)+"
      "}throw e}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,smartLists:false,silent:false,highlight:null,langPrefix:"lang-"};marked.Parser=Parser;marked.parser=Parser.parse;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;if(typeof exports==="object"){module.exports=marked}else if(typeof define==="function"&&define.amd){define(function(){return marked})}else{this.marked=marked}}.call(function(){return this||(typeof window!=="undefined"?window:global)}());/*! - * $Id: base64.js,v 2.12 2013/05/06 07:54:20 dankogai Exp dankogai $ - * - * Licensed under the MIT license. - * http://opensource.org/licenses/mit-license - * - * References: - * http://en.wikipedia.org/wiki/Base64 - */ -!function(global){"use strict";if(global.Base64)return;var version="2.1.2";var buffer;if(typeof module!=="undefined"&&module.exports){buffer=require("buffer").Buffer}var b64chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var b64tab=function(bin){var t={};for(var i=0,l=bin.length;i>>6)+fromCharCode(128|cc&63):fromCharCode(224|cc>>>12&15)+fromCharCode(128|cc>>>6&63)+fromCharCode(128|cc&63)}else{var cc=65536+(c.charCodeAt(0)-55296)*1024+(c.charCodeAt(1)-56320);return fromCharCode(240|cc>>>18&7)+fromCharCode(128|cc>>>12&63)+fromCharCode(128|cc>>>6&63)+fromCharCode(128|cc&63)}};var re_utob=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;var utob=function(u){return u.replace(re_utob,cb_utob)};var cb_encode=function(ccc){var padlen=[0,2,1][ccc.length%3],ord=ccc.charCodeAt(0)<<16|(ccc.length>1?ccc.charCodeAt(1):0)<<8|(ccc.length>2?ccc.charCodeAt(2):0),chars=[b64chars.charAt(ord>>>18),b64chars.charAt(ord>>>12&63),padlen>=2?"=":b64chars.charAt(ord>>>6&63),padlen>=1?"=":b64chars.charAt(ord&63)];return chars.join("")};var btoa=global.btoa||function(b){return b.replace(/[\s\S]{1,3}/g,cb_encode)};var _encode=buffer?function(u){return new buffer(u).toString("base64")}:function(u){return btoa(utob(u))};var encode=function(u,urisafe){return!urisafe?_encode(u):_encode(u).replace(/[+\/]/g,function(m0){return m0=="+"?"-":"_"}).replace(/=/g,"")};var encodeURI=function(u){return encode(u,true)};var re_btou=new RegExp(["[À-ß][€-¿]","[à-ï][€-¿]{2}","[ð-÷][€-¿]{3}"].join("|"),"g");var cb_btou=function(cccc){switch(cccc.length){case 4:var cp=(7&cccc.charCodeAt(0))<<18|(63&cccc.charCodeAt(1))<<12|(63&cccc.charCodeAt(2))<<6|63&cccc.charCodeAt(3),offset=cp-65536;return fromCharCode((offset>>>10)+55296)+fromCharCode((offset&1023)+56320);case 3:return fromCharCode((15&cccc.charCodeAt(0))<<12|(63&cccc.charCodeAt(1))<<6|63&cccc.charCodeAt(2));default:return fromCharCode((31&cccc.charCodeAt(0))<<6|63&cccc.charCodeAt(1))}};var btou=function(b){return b.replace(re_btou,cb_btou)};var cb_decode=function(cccc){var len=cccc.length,padlen=len%4,n=(len>0?b64tab[cccc.charAt(0)]<<18:0)|(len>1?b64tab[cccc.charAt(1)]<<12:0)|(len>2?b64tab[cccc.charAt(2)]<<6:0)|(len>3?b64tab[cccc.charAt(3)]:0),chars=[fromCharCode(n>>>16),fromCharCode(n>>>8&255),fromCharCode(n&255)];chars.length-=[0,0,2,1][padlen];return chars.join("")};var atob=global.atob||function(a){return a.replace(/[\s\S]{1,4}/g,cb_decode)};var _decode=buffer?function(a){return new buffer(a,"base64").toString()}:function(a){return btou(atob(a))};var decode=function(a){return _decode(a.replace(/[-_]/g,function(m0){return m0=="-"?"+":"/"}).replace(/[^A-Za-z0-9\+\/]/g,""))};global.Base64={VERSION:version,atob:atob,btoa:btoa,fromBase64:decode,toBase64:encode,utob:utob,encode:encode,encodeURI:encodeURI,btou:btou,decode:decode};if(typeof Object.defineProperty==="function"){var noEnum=function(v){return{value:v,enumerable:false,writable:true,configurable:true}};global.Base64.extendString=function(){Object.defineProperty(String.prototype,"fromBase64",noEnum(function(){return decode(this)}));Object.defineProperty(String.prototype,"toBase64",noEnum(function(urisafe){return encode(this,urisafe)}));Object.defineProperty(String.prototype,"toBase64URI",noEnum(function(){return encode(this,true)}))}}}(this); \ No newline at end of file diff --git a/vendor/flatdoc/v/0.8.0/legacy.js b/vendor/flatdoc/v/0.8.0/legacy.js deleted file mode 100644 index 998b0adeb4..0000000000 --- a/vendor/flatdoc/v/0.8.0/legacy.js +++ /dev/null @@ -1,23 +0,0 @@ -/*! - -Support JS for legacy browsers. -Includes: - - HTML5 Shiv - @afarkas @jdalton @jon_neal @rem - MIT/GPL2 Licensed - https://github.com/aFarkas/html5shiv - - matchMedia() polyfill - (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license - - Respond.js - min/max-width media query polyfill - (c) Scott Jehl. MIT/GPLv2 Lic. - http://j.mp/respondjs - -*/ -!function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x";c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;!function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}}();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d #mq-test-1 { width: 42px; }';docElem.insertBefore(fakeBody,refNode);bool=div.offsetWidth===42;docElem.removeChild(fakeBody);return{matches:bool,media:q}}}(document);/*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ -!function(win){"use strict";var respond={};win.respond=respond;respond.update=function(){};respond.mediaQueriesSupported=win.matchMedia&&win.matchMedia("only all").matches;if(respond.mediaQueriesSupported){return}var doc=win.document,docElem=doc.documentElement,mediastyles=[],rules=[],appendedEls=[],parsedSheets={},resizeThrottle=30,head=doc.getElementsByTagName("head")[0]||docElem,base=doc.getElementsByTagName("base")[0],links=head.getElementsByTagName("link"),requestQueue=[],ripCSS=function(){for(var i=0;i-1,minw:thisq.match(/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:thisq.match(/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}}applyMedia()},lastCall,resizeDefer,getEmValue=function(){var ret,div=doc.createElement("div"),body=doc.body,fakeUsed=false;div.style.cssText="position:absolute;font-size:1em;width:1em";if(!body){body=fakeUsed=doc.createElement("body");body.style.background="none"}body.appendChild(div);docElem.insertBefore(body,docElem.firstChild);ret=div.offsetWidth;if(fakeUsed){docElem.removeChild(body)}else{body.removeChild(div)}ret=eminpx=parseFloat(ret);return ret},eminpx,applyMedia=function(fromResize){var name="clientWidth",docElemProp=docElem[name],currWidth=doc.compatMode==="CSS1Compat"&&docElemProp||doc.body[name]||docElemProp,styleBlocks={},lastLink=links[links.length-1],now=(new Date).getTime();if(fromResize&&lastCall&&now-lastCall-1?eminpx||getEmValue():1)}if(!!max){max=parseFloat(max)*(max.indexOf(em)>-1?eminpx||getEmValue():1)}if(!thisstyle.hasquery||(!minnull||!maxnull)&&(minnull||currWidth>=min)&&(maxnull||currWidth<=max)){if(!styleBlocks[thisstyle.media]){styleBlocks[thisstyle.media]=[]}styleBlocks[thisstyle.media].push(rules[thisstyle.rules])}}}for(var j in appendedEls){if(appendedEls.hasOwnProperty(j)){if(appendedEls[j]&&appendedEls[j].parentNode===head){head.removeChild(appendedEls[j])}}}for(var k in styleBlocks){if(styleBlocks.hasOwnProperty(k)){var ss=doc.createElement("style"),css=styleBlocks[k].join("\n");ss.type="text/css";ss.media=k;head.insertBefore(ss,lastLink.nextSibling);if(ss.styleSheet){ss.styleSheet.cssText=css}else{ss.appendChild(doc.createTextNode(css))}appendedEls.push(ss)}}},ajax=function(url,callback){var req=xmlHttp();if(!req){return}req.open("GET",url,true);req.onreadystatechange=function(){if(req.readyState!==4||req.status!==200&&req.status!==304){return}callback(req.responseText)};if(req.readyState===4){return}req.send(null)},xmlHttp=function(){var xmlhttpmethod=false;try{xmlhttpmethod=new win.XMLHttpRequest}catch(e){xmlhttpmethod=new win.ActiveXObject("Microsoft.XMLHTTP")}return function(){return xmlhttpmethod}}();ripCSS();respond.update=ripCSS;function callMedia(){applyMedia(true)}if(win.addEventListener){win.addEventListener("resize",callMedia,false)}else if(win.attachEvent){win.attachEvent("onresize",callMedia)}}(this); \ No newline at end of file diff --git a/vendor/flatdoc/v/0.8.0/theme-white/script.js b/vendor/flatdoc/v/0.8.0/theme-white/script.js deleted file mode 100644 index 5d0c1be1bc..0000000000 --- a/vendor/flatdoc/v/0.8.0/theme-white/script.js +++ /dev/null @@ -1,318 +0,0 @@ -(function($) { - var $window = $(window); - var $document = $(document); - - /* - * Scrollspy. - */ - - $document.on('flatdoc:ready', function() { - $("h2, h3").scrollagent(function(cid, pid, currentElement, previousElement) { - if (pid) { - $("[href='#"+pid+"']").removeClass('active'); - } - if (cid) { - $("[href='#"+cid+"']").addClass('active'); - } - }); - }); - - /* - * Anchor jump links. - */ - - $document.on('flatdoc:ready', function() { - $('.menu a').anchorjump(); - }); - - /* - * Title card. - */ - - $(function() { - var $card = $('.title-card'); - if (!$card.length) return; - - var $header = $('.header'); - var headerHeight = $header.length ? $header.outerHeight() : 0; - - $window - .on('resize.title-card', function() { - var windowWidth = $window.width(); - - if (windowWidth < 480) { - $card.css('height', ''); - } else { - var height = $window.height(); - $card.css('height', height - headerHeight); - } - }) - .trigger('resize.title-card'); - - $card.fillsize('> img.bg'); - }); - - /* - * Sidebar stick. - */ - - $(function() { - var $sidebar = $('.menubar'); - var elTop; - - $window - .on('resize.sidestick', function() { - elTop = $sidebar.offset().top; - $window.trigger('scroll.sidestick'); - }) - .on('scroll.sidestick', function() { - var scrollY = $window.scrollTop(); - $sidebar.toggleClass('fixed', (scrollY >= elTop)); - }) - .trigger('resize.sidestick'); - }); - -})(jQuery); -/*! jQuery.scrollagent (c) 2012, Rico Sta. Cruz. MIT License. - * https://github.com/rstacruz/jquery-stuff/tree/master/scrollagent */ - -// Call $(...).scrollagent() with a callback function. -// -// The callback will be called everytime the focus changes. -// -// Example: -// -// $("h2").scrollagent(function(cid, pid, currentElement, previousElement) { -// if (pid) { -// $("[href='#"+pid+"']").removeClass('active'); -// } -// if (cid) { -// $("[href='#"+cid+"']").addClass('active'); -// } -// }); - -(function($) { - - $.fn.scrollagent = function(options, callback) { - // Account for $.scrollspy(function) - if (typeof callback === 'undefined') { - callback = options; - options = {}; - } - - var $sections = $(this); - var $parent = options.parent || $(window); - - // Find the top offsets of each section - var offsets = []; - $sections.each(function(i) { - var offset = $(this).attr('data-anchor-offset') ? - parseInt($(this).attr('data-anchor-offset'), 10) : - (options.offset || 0); - - offsets.push({ - top: $(this).offset().top + offset, - id: $(this).attr('id'), - index: i, - el: this - }); - }); - - // State - var current = null; - var height = null; - var range = null; - - // Save the height. Do this only whenever the window is resized so we don't - // recalculate often. - $(window).on('resize', function() { - height = $parent.height(); - range = $(document).height(); - }); - - // Find the current active section every scroll tick. - $parent.on('scroll', function() { - var y = $parent.scrollTop(); - y += height * (0.3 + 0.7 * Math.pow(y/range, 2)); - - var latest = null; - - for (var i in offsets) { - if (offsets.hasOwnProperty(i)) { - var offset = offsets[i]; - if (offset.top < y) latest = offset; - } - } - - if (latest && (!current || (latest.index !== current.index))) { - callback.call($sections, - latest ? latest.id : null, - current ? current.id : null, - latest ? latest.el : null, - current ? current.el : null); - current = latest; - } - }); - - $(window).trigger('resize'); - $parent.trigger('scroll'); - - return this; - }; - -})(jQuery); -/*! Anchorjump (c) 2012, Rico Sta. Cruz. MIT License. - * http://github.com/rstacruz/jquery-stuff/tree/master/anchorjump */ - -// Makes anchor jumps happen with smooth scrolling. -// -// $("#menu a").anchorjump(); -// $("#menu a").anchorjump({ offset: -30 }); -// -// // Via delegate: -// $("#menu").anchorjump({ for: 'a', offset: -30 }); -// -// You may specify a parent. This makes it scroll down to the parent. -// Great for tabbed views. -// -// $('#menu a').anchorjump({ parent: '.anchor' }); -// -// You can jump to a given area. -// -// $.anchorjump('#bank-deposit', options); - -(function($) { - var defaults = { - 'speed': 500, - 'offset': 0, - 'for': null, - 'parent': null - }; - - $.fn.anchorjump = function(options) { - options = $.extend({}, defaults, options); - - if (options['for']) { - this.on('click', options['for'], onClick); - } else { - this.on('click', onClick); - } - - function onClick(e) { - var $a = $(e.target).closest('a'); - if (e.ctrlKey || e.metaKey || e.altKey || $a.attr('target')) return; - - e.preventDefault(); - var href = $a.attr('href'); - - $.anchorjump(href, options); - } - }; - - // Jump to a given area. - $.anchorjump = function(href, options) { - options = $.extend({}, defaults, options); - - var top = 0; - - if (href != '#') { - var $area = $(href); - // Find the parent - if (options.parent) { - var $parent = $area.closest(options.parent); - if ($parent.length) { $area = $parent; } - } - if (!$area.length) { return; } - - // Determine the pixel offset; use the default if not available - var offset = - $area.attr('data-anchor-offset') ? - parseInt($area.attr('data-anchor-offset'), 10) : - options.offset; - - top = Math.max(0, $area.offset().top + offset); - } - - $('html, body').animate({ scrollTop: top }, options.speed); - $('body').trigger('anchor', href); - - // Add the location hash via pushState. - if (window.history.pushState) { - window.history.pushState({ href: href }, "", href); - } - }; -})(jQuery); -/*! fillsize (c) 2012, Rico Sta. Cruz. MIT License. - * http://github.com/rstacruz/jquery-stuff/tree/master/fillsize */ - -// Makes an element fill up its container. -// -// $(".container").fillsize("> img"); -// -// This binds a listener on window resizing to automatically scale down the -// child (`> img` in this example) just so that enough of it will be visible in -// the viewport of the container. -// -// This assumes that the container has `position: relative` (or any 'position', -// really), and `overflow: hidden`. - -(function($) { - $.fn.fillsize = function(selector) { - var $parent = this; - var $img; - - function resize() { - if (!$img) $img = $parent.find(selector); - - $img.each(function() { - if (!this.complete) return; - var $img = $(this); - - var parent = { height: $parent.innerHeight(), width: $parent.innerWidth() }; - var imageRatio = $img.width() / $img.height(); - var containerRatio = parent.width / parent.height; - - var css = { - position: 'absolute', - left: 0, top: 0, right: 'auto', bottom: 'auto' - }; - - // If image is wider than the container - if (imageRatio > containerRatio) { - css.left = Math.round((parent.width - imageRatio * parent.height) / 2) + 'px'; - css.width = 'auto'; - css.height = '100%'; - } - - // If the container is wider than the image - else { - css.top = Math.round((parent.height - (parent.width / $img.width() * $img.height())) / 2) + 'px'; - css.height = 'auto'; - css.width = '100%'; - } - - $img.css(css); - }); - } - - // Make it happen on window resize. - $(window).resize(resize); - - // Allow manual invocation by doing `.trigger('fillsize')` on the container. - $(document).on('fillsize', $parent.selector, resize); - - // Resize on first load (or immediately if called after). - $(function() { - // If the child is an image, fill it up when image's real dimensions are - // first determined. Needs to be .bind() because the load event will - // bubble up. - $(selector, $parent).bind('load', function() { - setTimeout(resize, 25); - }); - - resize(); - }); - - return this; - }; -})(jQuery); diff --git a/vendor/flatdoc/v/0.8.0/theme-white/style.css b/vendor/flatdoc/v/0.8.0/theme-white/style.css deleted file mode 100644 index c3fa03fe01..0000000000 --- a/vendor/flatdoc/v/0.8.0/theme-white/style.css +++ /dev/null @@ -1,834 +0,0 @@ -/* ---------------------------------------------------------------------------- - * Fonts - */ - -/* ---------------------------------------------------------------------------- - * Base - */ -html, -body, -div, -span, -applet, -object, -iframe, -h1, -h2, -h3, -h4, -h5, -h6, -p, -blockquote, -pre, -a, -abbr, -acronym, -address, -big, -cite, -code, -del, -dfn, -em, -img, -ins, -kbd, -q, -s, -samp, -small, -strike, -strong, -sub, -sup, -tt, -var, -dl, -dt, -dd, -ol, -ul, -li, -fieldset, -form, -label, -legend, -table, -caption, -tbody, -tfoot, -thead, -tr, -th, -td { - margin: 0; - padding: 0; - border: 0; - outline: 0; - font-weight: inherit; - font-style: inherit; - font-family: inherit; - font-size: 100%; - vertical-align: baseline; -} -body { - line-height: 1; - color: #000; - background: #fff; -} -ol, -ul { - list-style: none; -} -table { - border-collapse: separate; - border-spacing: 0; - vertical-align: middle; -} -caption, -th, -td { - text-align: left; - font-weight: normal; - vertical-align: middle; -} -a img { - border: none; -} -html, -body { - height: 100%; -} -html { - overflow-x: hidden; -} -body, -td, -textarea, -input { - font-family: Helvetica Neue, Open Sans, sans-serif; - line-height: 1.6; - font-size: 13px; - color: #505050; -} -@media (max-width: 480px) /* Mobile */ { - body, - td, - textarea, - input { - font-size: 12px; - } -} -a { - color: #3a87ad; - text-decoration: underline; -} -a:hover { - color: #228a8a; -} -/* ---------------------------------------------------------------------------- - * Content styling - */ -.content p, -.content ul, -.content ol, -.content h1, -.content h2, -.content h3, -.content h4, -.content h5, -.content h6, -.content pre, -.content blockquote { - padding: 10px 0; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.content h1, -.content h2, -.content h3, -.content h4, -.content h5, -.content h6 { - font-weight: bold; - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; -} -.content pre { - font-family: Menlo, monospace; -} -.content ul > li { - list-style-type: disc; -} -.content ol > li { - list-style-type: decimal; -} -.content ul, -.content ol { - margin-left: 20px; -} -.content ul > li { - list-style-type: none; - position: relative; -} -.content ul > li:before { - content: ''; - display: block; - position: absolute; - left: -17px; - top: 7px; - width: 5px; - height: 5px; - -webkit-border-radius: 4px; - border-radius: 4px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - background: #fff; - border: solid 1px #9090aa; -} -.content li > :first-child { - padding-top: 0; -} -.content strong, -.content b { - font-weight: bold; -} -.content i, -.content em { - font-style: italic; - color: #9090aa; -} -.content code { - font-family: Menlo, monospace; - background: #F1F1F1; - padding: 1px 3px; -/* font-size: 0.95em;*/ -} -.content pre > code { - display: block; - background: transparent; -/* font-size: 0.85em; - letter-spacing: -1px;*/ -} -.content blockquote :first-child { - padding-top: 0; -} -.content blockquote :last-child { - padding-bottom: 0; -} -/* ---------------------------------------------------------------------------- - * Content - */ -.content-root { - min-height: 90%; - position: relative; -} -.content { - padding-top: 30px; - padding-bottom: 40px; - padding-left: 40px; - padding-right: 40px; - zoom: 1; - max-width: 700px; -} -.content:before, -.content:after { - content: ""; - display: table; -} -.content:after { - clear: both; -} -.content blockquote { - color: #9090aa; - text-shadow: 0 1px 0 rgba(255,255,255,0.5); -} -.content h1, -.content h2, -.content h3 { - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; - font-family: montserrat; - padding-bottom: 0; -} -.content h1 + p, -.content h2 + p, -.content h3 + p, -.content h1 ul, -.content h2 ul, -.content h3 ul, -.content h1 ol, -.content h2 ol, -.content h3 ol { - padding-top: 10px; -} -.content h1, -.content h2 { - text-transform: uppercase; - letter-spacing: 1px; - font-size: 1.5em; -} -.content h3 { - font-size: 1.2em; -} -.content h1, -.content h2, -.content .big-heading, -body.big-h3 .content h3 { - padding-top: 80px; -} -.content h1:before, -.content h2:before, -.content .big-heading:before, -body.big-h3 .content h3:before { - display: block; - content: ''; - background: -webkit-gradient(linear, left top, right top, color-stop(0.8, #dfe2e7), color-stop(1, rgba(223,226,231,0))); - background: -webkit-linear-gradient(left, #dfe2e7 80%, rgba(223,226,231,0) 100%); - background: -moz-linear-gradient(left, #dfe2e7 80%, rgba(223,226,231,0) 100%); - background: -o-linear-gradient(left, #dfe2e7 80%, rgba(223,226,231,0) 100%); - background: -ms-linear-gradient(left, #dfe2e7 80%, rgba(223,226,231,0) 100%); - background: linear-gradient(left, #dfe2e7 80%, rgba(223,226,231,0) 100%); - -webkit-box-shadow: 0 1px 0 rgba(255,255,255,0.4); - box-shadow: 0 1px 0 rgba(255,255,255,0.4); - height: 1px; - position: relative; - top: -40px; - left: -40px; - width: 100%; -} -@media (max-width: 768px) /* Mobile and tablet */ { - .content h1, - .content h2, - .content .big-heading, -body.big-h3 .content h3 { - padding-top: 40px; - } - .content h1:before, - .content h2:before, - .content .big-heading:before, -body.big-h3 .content h3:before { - background: #dfe2e7; - left: -40px; - top: -20px; - width: 120%; - } -} -.content h4, -.content h5, -.content .small-heading, -body:not(.big-h3) .content h3 { - border-bottom: solid 1px rgba(0,0,0,0.07); - color: #9090aa; - padding-top: 30px; - padding-bottom: 10px; -} -body:not(.big-h3) .content h3 { - font-size: 0.9em; -} -.content h1:first-child { - padding-top: 0; -} -.content h1:first-child, -.content h1:first-child a, -.content h1:first-child a:visited { - color: #505050; -} -.content h1:first-child:before { - display: none; -} -@media (max-width: 768px) /* Tablet */ { - .content h4, - .content h5, - .content .small-heading, - body:not(.big-h3) .content h3 { - padding-top: 20px; - } -} -@media (max-width: 480px) /* Mobile */ { - .content { - padding: 20px; - padding-top: 40px; - } - .content h4, - .content h5, - .content .small-heading, - body:not(.big-h3) .content h3 { - padding-top: 10px; - } -} -body.no-literate .content pre > code { - background: #f3f6fb; - border: solid 1px #e7eaee; - border-top: solid 1px #dbdde2; - border-left: solid 1px #e2e5e9; - display: block; - padding: 10px; - -webkit-border-radius: 2px; - border-radius: 2px; - overflow: auto; - padding-left: 10px; -} -body.no-literate .content pre > code { - -webkit-overflow-scrolling: touch; -} -body.no-literate .content pre > code::-webkit-scrollbar { - width: 15px; - height: 15px; -} -body.no-literate .content pre > code::-webkit-scrollbar-thumb { - background: #ddd; - -webkit-border-radius: 8px; - border-radius: 8px; - border: solid 4px #f3f6fb; -} -body.no-literate .content pre > code:hover::-webkit-scrollbar-thumb { - background: #999; - -webkit-box-shadow: inset 2px 2px 3px rgba(0,0,0,0.2); - box-shadow: inset 2px 2px 3px rgba(0,0,0,0.2); -} -@media (max-width: 1180px) /* Small desktop */ { - .content pre > code { - background: #f3f6fb; - border: solid 1px #e7eaee; - border-top: solid 1px #dbdde2; - border-left: solid 1px #e2e5e9; - display: block; - padding: 10px; - -webkit-border-radius: 2px; - border-radius: 2px; - overflow: auto; - } - .content pre > code { - -webkit-overflow-scrolling: touch; - } - .content pre > code::-webkit-scrollbar { - width: 15px; - height: 15px; - } - .content pre > code::-webkit-scrollbar-thumb { - background: #ddd; - -webkit-border-radius: 8px; - border-radius: 8px; - border: solid 4px #f3f6fb; - } - .content pre > code:hover::-webkit-scrollbar-thumb { - background: #999; - -webkit-box-shadow: inset 2px 2px 3px rgba(0,0,0,0.2); - box-shadow: inset 2px 2px 3px rgba(0,0,0,0.2); - } -} -.button { - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; - font-family: montserrat, sans-serif; - display: inline-block; - padding: 3px 25px; - -webkit-border-radius: 4px; - border-radius: 4px; - margin-right: 15px; - background: #428bca; -} -.button, -.button:visited { - color: #fff; - text-shadow: none; -} -.button:hover { - text-decoration:none; - background: #3071a9; -} -/* -.button:hover { - border-color: #111; - background: #111; - color: #fff; -} -.button.light, -.button.light:visited { - background: transparent; - text-shadow: none; -} -.button.light:hover { - border-color: #9090aa; - background: #9090aa; - color: #fff; -}*/ -.content .button + em { - color: #9090aa; -} -@media (min-width: 1180px) /* Big desktop */ { - body:not(.no-literate) .content-root { - background-color: #f3f6fb; - -webkit-box-shadow: inset 780px 0 #fff, inset 781px 0 #dfe2e7, inset 790px 0 5px -10px rgba(0,0,0,0.1); -/* box-shadow: inset 780px 0 #fff, inset 781px 0 #dfe2e7, inset 790px 0 5px -10px rgba(0,0,0,0.1);*/ - box-shadow: inset 780px 0 #fff, inset 781px 0 #dfe2e7, inset 790px 0 5px -10px rgba(0,0,0,0.1); - } -} -@media (min-width: 1180px) /* Big desktop */ { - body:not(.no-literate) .content { - padding-left: 0; - padding-right: 0; - width: 930px; - max-width: none; - } - body:not(.no-literate) .content > p, - body:not(.no-literate) .content > ul, - body:not(.no-literate) .content > ol, - body:not(.no-literate) .content > h1, - body:not(.no-literate) .content > h2, - body:not(.no-literate) .content > h3, - body:not(.no-literate) .content > h4, - body:not(.no-literate) .content > h5, - body:not(.no-literate) .content > h6, - body:not(.no-literate) .content > pre, - body:not(.no-literate) .content > blockquote { - width: 550px; - word-wrap: break-word; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - padding-right: 40px; - padding-left: 40px; - } - body:not(.no-literate) .content > h1, - body:not(.no-literate) .content > h2, - body:not(.no-literate) .content > h3 { - clear: both; - width: 100%; - } - body:not(.no-literate) .content > pre, - body:not(.no-literate) .content > blockquote { - width: 380px; - padding-left: 20px; - padding-right: 20px; - float: right; - clear: right; - } - body:not(.no-literate) .content > pre + p, - body:not(.no-literate) .content > blockquote + p, - body:not(.no-literate) .content > pre + ul, - body:not(.no-literate) .content > blockquote + ul, - body:not(.no-literate) .content > pre + ol, - body:not(.no-literate) .content > blockquote + ol, - body:not(.no-literate) .content > pre + h4, - body:not(.no-literate) .content > blockquote + h4, - body:not(.no-literate) .content > pre + h5, - body:not(.no-literate) .content > blockquote + h5, - body:not(.no-literate) .content > pre + h6, - body:not(.no-literate) .content > blockquote + h6 { - clear: both; - } - body:not(.no-literate) .content > p, - body:not(.no-literate) .content > ul, - body:not(.no-literate) .content > ol, - body:not(.no-literate) .content > h4, - body:not(.no-literate) .content > h5, - body:not(.no-literate) .content > h6 { - float: left; - clear: left; - } - body:not(.no-literate) .content > h4, - body:not(.no-literate) .content > h5, - body:not(.no-literate) .content > .small-heading, - body:not(.big-h3) body:not(.no-literate) .content > h3 { - margin-left: 40px; - width: 470px; - margin-bottom: 3px; - padding-left: 0; - padding-right: 0; - } - body:not(.no-literate):not(.big-h3) .content > h3 { - margin-left: 40px; - width: 470px; - margin-bottom: 3px; - padding-left: 0; - padding-right: 0; - } -} -/*.header { - background: #f3f6fb; - text-shadow: 0 1px 0 rgba(255,255,255,0.5); - border-bottom: solid 1px #dfe2e7; - padding: 15px 15px 15px 30px; - zoom: 1; - line-height: 20px; - position: relative; -} -.header:before, -.header:after { - content: ""; - display: table; -} -.header:after { - clear: both; -} -.header .left { - float: left; -} -.header .right { - text-align: right; - position: absolute; - right: 15px; - top: 15px; -} -.header .right iframe { - display: inline-block; - vertical-align: middle; -} -.header h1 { - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; - font-weight: bold; - font-family: montserrat, sans-serif; - font-size: 13px; -} -.header h1, -.header h1 a, -.header h1 a:visited { - color: #9090aa; -} -.header h1 a:hover { - color: #505050; -} -.header li a { - font-size: 0.88em; - color: #9090aa; - display: block; -} -.header li a:hover { - color: #3a3a44; -}*/ -@media (min-width: 480px) /* Tablet & Desktop */ { - .header h1 { - float: left; - } - .header ul, - .header li { - display: block; - float: left; - } - .header ul { - margin-left: -15px; - } - .header h1 + ul { - border-left: solid 1px #dfe2e7; - margin-left: 15px; - } - .header li { - border-left: solid 1px rgba(255,255,255,0.5); - border-right: solid 1px #dfe2e7; - } - .header li:last-child { - border-right: 0; - } - .header li a { - padding: 0 15px; - } -} -@media (max-width: 480px) /* Mobile */ { - .right { - display: none; - } -} -.menubar { - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; -} -.menubar .section { - padding: 30px 30px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} -.menubar .section + .section { - border-top: solid 1px #dfe2e7; -} -.menubar .section.no-line { - border-top: 0; - padding-top: 0; -} -a.big.button { - display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - padding: 10px 20px; - text-align: center; - font-weight: bold; - font-size: 1.1em; - background: transparent; - border: solid 3px #3a87ad; - -webkit-border-radius: 30px; - border-radius: 30px; - font-family: montserrat, sans-serif; -} -a.big.button, -a.big.button:visited { - color: #3a87ad; - text-decoration: none; -} -a.big.button:hover { - background: #3a87ad; -} -a.big.button:hover, -a.big.button:hover:visited { - color: #fff; -} -@media (max-width: 480px) /* Mobile */ { - .menubar { - padding: 20px; - border-bottom: solid 1px #dfe2e7; - } -} -@media (max-width: 990px) /* Mobile and tablet */ { - .menubar { - display: none; - } -} -@media (min-width: 990px) /* Desktop */ { - .content-root { - padding-left: 230px; - } - .menubar { - position: absolute; - left: 0; - top: 0; - bottom: 0; - width: 230px; - border-right: solid 1px #dfe2e7; - } - .menubar.fixed { - position: fixed; - overflow-y: auto; - } - .menubar.fixed { - -webkit-overflow-scrolling: touch; - } - .menubar.fixed::-webkit-scrollbar { - width: 15px; - height: 15px; - } - .menubar.fixed::-webkit-scrollbar-thumb { - background: #ddd; - -webkit-border-radius: 8px; - border-radius: 8px; - border: solid 4px #fff; - } - .menubar.fixed:hover::-webkit-scrollbar-thumb { - background: #999; - -webkit-box-shadow: inset 2px 2px 3px rgba(0,0,0,0.2); - box-shadow: inset 2px 2px 3px rgba(0,0,0,0.2); - } -} -.menubar { - font-size: 0.9em; -} -.menu ul.level-1 > li + li { - margin-top: 20px; -} -.menu a { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - position: relative; - display: block; - padding-top: 1px; - padding-bottom: 1px; - margin-right: -30px; -} -.menu a, -.menu a:visited { - color: #3a87ad; -} -.menu a:hover { - color: #228a8a; -} -.menu a.level-1 { - font-family: montserrat, sans-serif; - text-transform: uppercase; - font-size: 0.9em; - font-weight: bold; -} -.menu a.level-1, -.menu a.level-1:visited { - /*color: #9090aa;*/ -} -.menu a.level-1:hover { - color: #565666; -} -.menu a.level-2 { - font-weight: normal; -} -.menu a.level-3 { - font-weight: normal; - font-size: 0.9em; - padding-left: 10px; -} -.menu a.active { - font-weight: bold !important; -} -.menu a.active, -.menu a.active:visited, -.menu a.active:hover { - color: #505050 !important; -} -.menu a.active:after { - content: ''; - display: block; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - position: absolute; - top: 10px; - right: 30px; - width: 9px; - height: 3px; - -webkit-border-radius: 2px; - border-radius: 2px; - background: #3a87ad; -} -code .string, -code .number { - color: #3ac; -} -code .init { - color: #383; -} -code .keyword { - font-weight: bold; -} -code .comment { - color: #3ac; -} -.large-brief .content > h1:first-child + p, -.content > p.brief { - font-size: 1.3em; - font-family: Open Sans, sans-serif; - font-weight: 300; -} -.title-area { - min-height: 100px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; - text-align: center; - border-bottom: solid 1px #dfe2e7; - overflow: hidden; -} -.title-area > img.bg { - z-index: 0; - position: absolute; - left: -9999px; -} -.title-area > div { - position: relative; - z-index: 1; -} -