 | us-gaap:AccountsReceivableExcludingAccruedInterestBeforeAllowanceForCreditLossNoncurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:AccountsReceivableAllowanceForCreditLossExcludingAccruedInterestNoncurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:AccountsReceivableExcludingAccruedInterestAfterAllowanceForCreditLossNoncurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:AccountsReceivableExcludingAccruedInterestBeforeAllowanceForCreditLossNoncurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:AccountsReceivableAllowanceForCreditLossExcludingAccruedInterestNoncurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:AccountsReceivableExcludingAccruedInterestAfterAllowanceForCreditLossNoncurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:AccountsReceivableExcludingAccruedInterestBeforeAllowanceForCreditLossNoncurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-DepositBasedOperations |
 | us-gaap:AccountsReceivableAllowanceForCreditLossExcludingAccruedInterestNoncurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-DepositBasedOperations |
 | us-gaap:AccountsReceivableExcludingAccruedInterestAfterAllowanceForCreditLossNoncurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-DepositBasedOperations |
 | us-gaap:AccountsReceivableExcludingAccruedInterestBeforeAllowanceForCreditLossNoncurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-DepositBasedOperationsStatementTable |
 | us-gaap:AccountsReceivableAllowanceForCreditLossExcludingAccruedInterestNoncurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-DepositBasedOperationsStatementTable |
 | us-gaap:AccountsReceivableExcludingAccruedInterestAfterAllowanceForCreditLossNoncurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-DepositBasedOperationsStatementTable |
 | us-gaap:AccountsReceivableExcludingAccruedInterestBeforeAllowanceForCreditLossNoncurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-InvestmentBasedOperations |
 | us-gaap:AccountsReceivableAllowanceForCreditLossExcludingAccruedInterestNoncurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-InvestmentBasedOperations |
 | us-gaap:AccountsReceivableExcludingAccruedInterestAfterAllowanceForCreditLossNoncurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-InvestmentBasedOperations |
 | us-gaap:AccountsReceivableExcludingAccruedInterestBeforeAllowanceForCreditLossNoncurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-InvestmentBasedOperationsStatementTable |
 | us-gaap:AccountsReceivableAllowanceForCreditLossExcludingAccruedInterestNoncurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-InvestmentBasedOperationsStatementTable |
 | us-gaap:AccountsReceivableExcludingAccruedInterestAfterAllowanceForCreditLossNoncurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-InvestmentBasedOperationsStatementTable |
 | us-gaap:AccountsReceivableExcludingAccruedInterestBeforeAllowanceForCreditLossNoncurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-SecuritiesBasedOperations |
 | us-gaap:AccountsReceivableAllowanceForCreditLossExcludingAccruedInterestNoncurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-SecuritiesBasedOperations |
 | us-gaap:AccountsReceivableExcludingAccruedInterestAfterAllowanceForCreditLossNoncurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-SecuritiesBasedOperations |
 | us-gaap:AccountsReceivableExcludingAccruedInterestBeforeAllowanceForCreditLossNoncurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-SecuritiesBasedOperationsStatementTable |
 | us-gaap:AccountsReceivableAllowanceForCreditLossExcludingAccruedInterestNoncurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-SecuritiesBasedOperationsStatementTable |
 | us-gaap:AccountsReceivableExcludingAccruedInterestAfterAllowanceForCreditLossNoncurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-SecuritiesBasedOperationsStatementTable |