 | us-gaap:ConcentrationRiskByBenchmarkAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/SegmentReporting |
 | us-gaap:ConcentrationRiskByTypeAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/SegmentReporting |
 | srt:ConsolidationItemsAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/SegmentReporting |
 | srt:MajorCustomersAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/SegmentReporting |
 | us-gaap:StatementBusinessSegmentsAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/SegmentReporting |
 | us-gaap:SubsegmentsAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/SegmentReporting |
 | us-gaap:SubsegmentsConsolidationItemsAxis | parent-child | http://fasb.org/us-gaap/role/disclosure/SegmentReporting |
 | us-gaap:EntityWideRevenueMajorCustomerLineItems | parent-child | http://fasb.org/us-gaap/role/disclosure/SegmentReporting |
 | us-gaap:ConcentrationRiskByBenchmarkAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/SegmentReportingScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable |
 | us-gaap:ConcentrationRiskByTypeAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/SegmentReportingScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable |
 | srt:ConsolidationItemsAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/SegmentReportingScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable |
 | srt:MajorCustomersAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/SegmentReportingScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable |
 | us-gaap:StatementBusinessSegmentsAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/SegmentReportingScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable |
 | us-gaap:SubsegmentsAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/SegmentReportingScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable |
 | us-gaap:SubsegmentsConsolidationItemsAxis | hypercube-dimension | http://fasb.org/us-gaap/role/disclosure/SegmentReportingScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable |