 | us-gaap:NotesReceivableGross | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:FinancingReceivableRecordedInvestmentNonaccrualStatus | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:FinancingReceivablePercentPastDue1 | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:FinancingReceivableNonaccrualPercentPastDue1 | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:ScheduleOfFinancingReceivablesPastDueTable | all | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:NotesReceivableGross | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivableRecordedInvestmentNonaccrualStatus | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivablePercentPastDue1 | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivableNonaccrualPercentPastDue1 | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:NotesReceivableGross | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivableExcludingAccruedInterestBeforeAllowanceForCreditLoss | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivableAccruedInterestBeforeAllowanceForCreditLoss | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivablePracticalExpedientAccruedInterestExclusion | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivablePercentPastDue1 | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivableNonaccrualPercentPastDue1 | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivableThresholdPeriodPastDueWriteoff | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:FinancingReceivableThresholdPeriodPastDue | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:ScheduleOfFinancingReceivablesPastDueTable | all | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:NotesReceivableGross | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivableExcludingAccruedInterestBeforeAllowanceForCreditLoss | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivableAccruedInterestBeforeAllowanceForCreditLoss | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivablePracticalExpedientAccruedInterestExclusion | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivablePercentPastDue1 | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivableNonaccrualPercentPastDue1 | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivableThresholdPeriodPastDueWriteoff | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |
 | us-gaap:FinancingReceivableThresholdPeriodPastDue | domain-member | http://fasb.org/us-gaap/role/disclosure/CreditLossesScheduleOfFinancingReceivablesPastDueTable |