 | us-gaap:FinancingReceivableRecordedInvestmentPastDue | dep-dimensionallyQualifiedConcept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:AccountsReceivableNoncurrentPastDue | dep-dimensionallyQualifiedConcept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:ContractWithCustomerAssetPastDue | dep-dimensionallyQualifiedConcept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:DebtSecuritiesHeldToMaturityPastDue | dep-dimensionallyQualifiedConcept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:NetInvestmentInLeasePastDue | dep-dimensionallyQualifiedConcept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:SalesTypeLeaseNetInvestmentInLeasePastDue | dep-dimensionallyQualifiedConcept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:DirectFinancingLeaseNetInvestmentInLeasePastDue | dep-dimensionallyQualifiedConcept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:ReinsuranceRecoverablePastDue | dep-dimensionallyQualifiedConcept-deprecatedConcept | http://fasb.org/us-gaap/role/deprecated/deprecated |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesAccountsReceivableNoncurrentPastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesAccountsReceivableNoncurrentPastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesAccountsReceivableNoncurrentPastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesAccountsReceivableNoncurrentPastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesContractWithCustomerAssetPastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesContractWithCustomerAssetPastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesContractWithCustomerAssetPastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesContractWithCustomerAssetPastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityPastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityPastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityPastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDebtSecuritiesHeldToMaturityPastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDirectFinancingLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDirectFinancingLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDirectFinancingLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesDirectFinancingLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesReinsuranceRecoverablePastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesReinsuranceRecoverablePastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesReinsuranceRecoverablePastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesReinsuranceRecoverablePastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesSalesTypeLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesSalesTypeLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesSalesTypeLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesSalesTypeLeaseNetInvestmentInLeasePastDueTable |
 | us-gaap:FinancingReceivables1To29DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivables30To59DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivables60To89DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |