 | us-gaap:ContractWithCustomerAssetGross | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-RealEstateOperations |
 | us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-RealEstateOperations |
 | us-gaap:ContractWithCustomerAssetNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-RealEstateOperations |
 | us-gaap:ContractWithCustomerAssetGross | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-RealEstateOperationsStatementTable |
 | us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-RealEstateOperationsStatementTable |
 | us-gaap:ContractWithCustomerAssetNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-RealEstateOperationsStatementTable |
 | us-gaap:ContractWithCustomerAssetGross | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-DepositBasedOperations |
 | us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-DepositBasedOperations |
 | us-gaap:ContractWithCustomerAssetNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-DepositBasedOperations |
 | us-gaap:ContractWithCustomerAssetGross | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-DepositBasedOperationsStatementTable |
 | us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-DepositBasedOperationsStatementTable |
 | us-gaap:ContractWithCustomerAssetNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-DepositBasedOperationsStatementTable |
 | us-gaap:ContractWithCustomerAssetGross | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-SecuritiesBasedOperations |
 | us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-SecuritiesBasedOperations |
 | us-gaap:ContractWithCustomerAssetNet | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-SecuritiesBasedOperations |
 | us-gaap:ContractWithCustomerAssetGross | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-SecuritiesBasedOperationsStatementTable |
 | us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-SecuritiesBasedOperationsStatementTable |
 | us-gaap:ContractWithCustomerAssetNet | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionUnclassified-SecuritiesBasedOperationsStatementTable |
 | us-gaap:ContractWithCustomerAssetGross | parent-child | http://fasb.org/us-gaap/role/disclosure/RevenuefromContractswithCustomers |
 | us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss | parent-child | http://fasb.org/us-gaap/role/disclosure/RevenuefromContractswithCustomers |
 | us-gaap:ContractWithCustomerAssetNet | parent-child | http://fasb.org/us-gaap/role/disclosure/RevenuefromContractswithCustomers |