XML 18 R37.htm IDEA: XBRL DOCUMENT v2.4.1.9
Segment Data - Summary of Sales and Segment Operating Income (Loss) by Reportable Operating Segment (Detail) (USD $)
In Thousands, unless otherwise specified
3 Months Ended 6 Months Ended
May 03, 2015
May 04, 2014
May 03, 2015
May 04, 2014
Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]        
Staffing services revenue $ 362,277visi_StaffingServicesRevenueNet $ 406,733visi_StaffingServicesRevenueNet $ 723,098visi_StaffingServicesRevenueNet $ 799,002visi_StaffingServicesRevenueNet
Other revenue 22,912us-gaap_OtherSalesRevenueNet 29,347us-gaap_OtherSalesRevenueNet 45,157us-gaap_OtherSalesRevenueNet 58,706us-gaap_OtherSalesRevenueNet
NET REVENUE 385,189us-gaap_SalesRevenueServicesNet 436,080us-gaap_SalesRevenueServicesNet 768,255us-gaap_SalesRevenueServicesNet 857,708us-gaap_SalesRevenueServicesNet
Expenses        
Direct cost of staffing services revenue 305,116us-gaap_DirectOperatingCosts 344,922us-gaap_DirectOperatingCosts 615,935us-gaap_DirectOperatingCosts 684,718us-gaap_DirectOperatingCosts
Cost of other revenue 19,909us-gaap_OtherCostOfOperatingRevenue 24,066us-gaap_OtherCostOfOperatingRevenue 39,514us-gaap_OtherCostOfOperatingRevenue 48,199us-gaap_OtherCostOfOperatingRevenue
Selling, administrative and other operating costs 58,633us-gaap_SellingGeneralAndAdministrativeExpense 60,626us-gaap_SellingGeneralAndAdministrativeExpense 118,597us-gaap_SellingGeneralAndAdministrativeExpense 126,225us-gaap_SellingGeneralAndAdministrativeExpense
Restructuring costs 251us-gaap_RestructuringCosts 999us-gaap_RestructuringCosts 251us-gaap_RestructuringCosts 1,656us-gaap_RestructuringCosts
Impairment charges 5,374us-gaap_GoodwillImpairmentLoss 0us-gaap_GoodwillImpairmentLoss 5,374us-gaap_GoodwillImpairmentLoss 0us-gaap_GoodwillImpairmentLoss
Restatement, investigations and remediation 0us-gaap_ProfessionalFees 593us-gaap_ProfessionalFees 0us-gaap_ProfessionalFees 3,261us-gaap_ProfessionalFees
OPERATING INCOME (LOSS) (4,094)us-gaap_OperatingIncomeLoss 4,874us-gaap_OperatingIncomeLoss (11,416)us-gaap_OperatingIncomeLoss (6,351)us-gaap_OperatingIncomeLoss
Operating Segments        
Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]        
Staffing services revenue 362,277visi_StaffingServicesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
406,733visi_StaffingServicesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
723,098visi_StaffingServicesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
799,002visi_StaffingServicesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
Other revenue 22,912us-gaap_OtherSalesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
29,347us-gaap_OtherSalesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
45,157us-gaap_OtherSalesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
58,706us-gaap_OtherSalesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
NET REVENUE 385,189us-gaap_SalesRevenueServicesNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
436,080us-gaap_SalesRevenueServicesNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
768,255us-gaap_SalesRevenueServicesNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
857,708us-gaap_SalesRevenueServicesNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
Expenses        
Direct cost of staffing services revenue 305,116us-gaap_DirectOperatingCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
344,922us-gaap_DirectOperatingCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
615,935us-gaap_DirectOperatingCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
684,718us-gaap_DirectOperatingCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
Cost of other revenue 19,909us-gaap_OtherCostOfOperatingRevenue
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
24,066us-gaap_OtherCostOfOperatingRevenue
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
39,514us-gaap_OtherCostOfOperatingRevenue
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
48,199us-gaap_OtherCostOfOperatingRevenue
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
Selling, administrative and other operating costs 54,325us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
58,238us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
108,266us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
118,605us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
Restructuring costs 251us-gaap_RestructuringCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
679us-gaap_RestructuringCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
251us-gaap_RestructuringCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
1,336us-gaap_RestructuringCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
Impairment charges 5,374us-gaap_GoodwillImpairmentLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
  5,374us-gaap_GoodwillImpairmentLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
 
Segment operating income (loss) 214us-gaap_OtherOperatingIncomeExpenseNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
8,175us-gaap_OtherOperatingIncomeExpenseNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
(1,085)us-gaap_OtherOperatingIncomeExpenseNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
4,850us-gaap_OtherOperatingIncomeExpenseNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
Operating Segments | Staffing Services        
Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]        
Staffing services revenue 362,277visi_StaffingServicesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
406,733visi_StaffingServicesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
723,098visi_StaffingServicesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
799,002visi_StaffingServicesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
Other revenue 0us-gaap_OtherSalesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
0us-gaap_OtherSalesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
0us-gaap_OtherSalesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
0us-gaap_OtherSalesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
NET REVENUE 362,277us-gaap_SalesRevenueServicesNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
406,733us-gaap_SalesRevenueServicesNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
723,098us-gaap_SalesRevenueServicesNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
799,002us-gaap_SalesRevenueServicesNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
Expenses        
Direct cost of staffing services revenue 305,116us-gaap_DirectOperatingCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
344,922us-gaap_DirectOperatingCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
615,935us-gaap_DirectOperatingCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
684,718us-gaap_DirectOperatingCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
Cost of other revenue 0us-gaap_OtherCostOfOperatingRevenue
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
0us-gaap_OtherCostOfOperatingRevenue
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
0us-gaap_OtherCostOfOperatingRevenue
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
0us-gaap_OtherCostOfOperatingRevenue
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
Selling, administrative and other operating costs 50,034us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
53,778us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
100,614us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
109,500us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
Restructuring costs 275us-gaap_RestructuringCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
577us-gaap_RestructuringCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
275us-gaap_RestructuringCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
1,234us-gaap_RestructuringCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
Impairment charges 977us-gaap_GoodwillImpairmentLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
  977us-gaap_GoodwillImpairmentLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
 
Segment operating income (loss) 5,875us-gaap_OtherOperatingIncomeExpenseNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
7,456us-gaap_OtherOperatingIncomeExpenseNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
5,297us-gaap_OtherOperatingIncomeExpenseNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
3,550us-gaap_OtherOperatingIncomeExpenseNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= visi_StaffingServicesSegmentMember
Operating Segments | Other        
Segment Reporting, Reconciling Item for Operating Profit (Loss) from Segment to Consolidated [Line Items]        
Staffing services revenue 0visi_StaffingServicesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
0visi_StaffingServicesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
0visi_StaffingServicesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
0visi_StaffingServicesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Other revenue 22,912us-gaap_OtherSalesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
29,347us-gaap_OtherSalesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
45,157us-gaap_OtherSalesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
58,706us-gaap_OtherSalesRevenueNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
NET REVENUE 22,912us-gaap_SalesRevenueServicesNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
29,347us-gaap_SalesRevenueServicesNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
45,157us-gaap_SalesRevenueServicesNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
58,706us-gaap_SalesRevenueServicesNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Expenses        
Direct cost of staffing services revenue 0us-gaap_DirectOperatingCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
0us-gaap_DirectOperatingCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
0us-gaap_DirectOperatingCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
0us-gaap_DirectOperatingCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Cost of other revenue 19,909us-gaap_OtherCostOfOperatingRevenue
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
24,066us-gaap_OtherCostOfOperatingRevenue
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
39,514us-gaap_OtherCostOfOperatingRevenue
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
48,199us-gaap_OtherCostOfOperatingRevenue
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Selling, administrative and other operating costs 4,291us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
4,460us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
7,652us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
9,105us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Restructuring costs (24)us-gaap_RestructuringCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
102us-gaap_RestructuringCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
(24)us-gaap_RestructuringCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
102us-gaap_RestructuringCosts
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Impairment charges 4,397us-gaap_GoodwillImpairmentLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
  4,397us-gaap_GoodwillImpairmentLoss
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
 
Segment operating income (loss) (5,661)us-gaap_OtherOperatingIncomeExpenseNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
719us-gaap_OtherOperatingIncomeExpenseNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
(6,382)us-gaap_OtherOperatingIncomeExpenseNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
1,300us-gaap_OtherOperatingIncomeExpenseNet
/ us-gaap_ConsolidationItemsAxis
= us-gaap_OperatingSegmentsMember
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_AllOtherSegmentsMember
Corporate general and administrative        
Expenses        
Selling, administrative and other operating costs 4,308us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
2,708us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
10,331us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
7,940us-gaap_SellingGeneralAndAdministrativeExpense
/ us-gaap_ConsolidationItemsAxis
= us-gaap_CorporateNonSegmentMember
Restatement, investigations and remediation        
Expenses        
Restatement, investigations and remediation   $ 593us-gaap_ProfessionalFees
/ us-gaap_ConsolidationItemsAxis
= us-gaap_MaterialReconcilingItemsMember
  $ 3,261us-gaap_ProfessionalFees
/ us-gaap_ConsolidationItemsAxis
= us-gaap_MaterialReconcilingItemsMember