 | us-gaap:AccountsReceivableGrossCurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:AccountsReceivableNetCurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperations |
 | us-gaap:AccountsReceivableGrossCurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:AccountsReceivableNetCurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified-RealEstateOperationsStatementTable |
 | us-gaap:AccountsReceivableGrossCurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:AccountsReceivableNetCurrent | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassified |
 | us-gaap:AccountsReceivableGrossCurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:AccountsReceivableNetCurrent | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfFinancialPositionClassifiedStatementTable |
 | us-gaap:AccountsReceivableGrossCurrent | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:AccountsReceivableNetCurrent | parent-child | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthers |
 | us-gaap:AccountsReceivableGrossCurrent | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfAccountsNotesLoansAndFinancingReceivableTable |
 | us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfAccountsNotesLoansAndFinancingReceivableTable |
 | us-gaap:AccountsReceivableNetCurrent | domain-member | http://fasb.org/us-gaap/role/disclosure/ReceivablesLoansNotesReceivableAndOthersScheduleOfAccountsNotesLoansAndFinancingReceivableTable |