 | us-gaap:AllowanceForDoubtfulAccountsReceivable | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:ProvisionForDoubtfulAccounts | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:AllowanceForDoubtfulAccountsReceivable | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfAccountsNotesLoansAndFinancingReceivableTable |
 | us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfAccountsNotesLoansAndFinancingReceivableTable |
 | us-gaap:ProvisionForDoubtfulAccounts | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfAccountsNotesLoansAndFinancingReceivableTable |
 | us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfAccountsNotesLoansAndFinancingReceivableTable |
 | us-gaap:AllowanceForDoubtfulAccountsReceivable | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:ProvisionForDoubtfulAccounts | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |
 | us-gaap:AllowanceForDoubtfulAccountsReceivable | parent-child | http://fasb.org/us-gaap/role/disclosure/CreditLosses |