XML 83 R103.htm IDEA: XBRL DOCUMENT v2.4.1.9
Note 22 - Segmented Information (Details) - Operating Segments (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Segment Reporting Information [Line Items]      
Revenues $ 2,714,273us-gaap_Revenues $ 2,344,625us-gaap_Revenues $ 2,098,987us-gaap_Revenues
Depreciation and amortization 62,516us-gaap_DepreciationDepletionAndAmortization 75,352us-gaap_DepreciationDepletionAndAmortization 53,502us-gaap_DepreciationDepletionAndAmortization
Operating earnings (loss) 134,427us-gaap_OperatingIncomeLoss 88,780us-gaap_OperatingIncomeLoss 79,248us-gaap_OperatingIncomeLoss
Other income/expense, net 1,008us-gaap_OtherNonoperatingIncomeExpense 1,524us-gaap_OtherNonoperatingIncomeExpense 2,441us-gaap_OtherNonoperatingIncomeExpense
Income taxes (31,799)us-gaap_IncomeTaxExpenseBenefit (22,204)us-gaap_IncomeTaxExpenseBenefit (20,733)us-gaap_IncomeTaxExpenseBenefit
Net earnings 43,316us-gaap_NetIncomeLoss (18,039)us-gaap_NetIncomeLoss 5,850us-gaap_NetIncomeLoss
Total assets 1,639,427us-gaap_Assets 1,443,511us-gaap_Assets  
Commercial Real Estate Segment [Member] | Continuing Operations [Member]      
Segment Reporting Information [Line Items]      
Net earnings 0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
Commercial Real Estate Segment [Member]      
Segment Reporting Information [Line Items]      
Revenues 1,582,039us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
1,306,334us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
1,158,948us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
Depreciation and amortization 35,753us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
32,426us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
23,990us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
Operating earnings (loss) 97,180us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
59,209us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
32,696us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
Other income/expense, net 0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
Interest expense, net 0us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
0us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
0us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
Income taxes 0us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
0us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
0us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
Net earnings 0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
Total assets 985,533us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
797,520us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
633,439us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
Total additions to long lived assets 133,296us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
129,904us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
35,031us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
Net earnings/loss from discontinued operations 0us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
0us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
0us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_CommercialRealEstateSegmentMember
Residential Property Management [Member] | Continuing Operations [Member]      
Segment Reporting Information [Line Items]      
Net earnings 0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
Residential Property Management [Member]      
Segment Reporting Information [Line Items]      
Revenues 919,545us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
844,952us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
768,994us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
Depreciation and amortization 19,693us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
30,655us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
18,530us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
Operating earnings (loss) 31,379us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
27,613us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
39,767us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
Other income/expense, net 0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
Interest expense, net 0us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
0us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
0us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
Income taxes 0us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
0us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
0us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
Net earnings 0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
Total assets 405,150us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
444,275us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
421,269us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
Total additions to long lived assets 23,208us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
22,386us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
18,165us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
Net earnings/loss from discontinued operations 0us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
0us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
0us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ResidentialPropertyManagementMember
Property Services [Member] | Continuing Operations [Member]      
Segment Reporting Information [Line Items]      
Net earnings 0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
Property Services [Member]      
Segment Reporting Information [Line Items]      
Revenues 212,457us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
193,135us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
170,827us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
Depreciation and amortization 6,734us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
8,557us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
5,155us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
Operating earnings (loss) 30,559us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
23,201us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
21,798us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
Other income/expense, net 0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
Interest expense, net 0us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
0us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
0us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
Income taxes 0us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
0us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
0us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
Net earnings 0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
Total assets 237,140us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
194,233us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
255,525us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
Total additions to long lived assets 16,423us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
291us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
9,291us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
Net earnings/loss from discontinued operations 0us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
0us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
0us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_PropertyServicesMember
Corporate Segment [Member] | Continuing Operations [Member]      
Segment Reporting Information [Line Items]      
Net earnings 0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
Corporate Segment [Member]      
Segment Reporting Information [Line Items]      
Revenues 232us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
204us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
218us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
Depreciation and amortization 230us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
244us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
364us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
Operating earnings (loss) (24,691)us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
(21,243)us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
(15,013)us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
Other income/expense, net 0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
0us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
Interest expense, net 0us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
0us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
0us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
Income taxes 0us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
0us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
0us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
Net earnings 0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
0us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
Total assets 11,604us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
7,483us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
7,677us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
Total additions to long lived assets (72)us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
(76)us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
73us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
Net earnings/loss from discontinued operations 0us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
0us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
0us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= us-gaap_CorporateMember
Consolidated [Member] | Continuing Operations [Member]      
Segment Reporting Information [Line Items]      
Net earnings 89,399us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
46,601us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
41,393us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
/ us-gaap_StatementOperatingActivitiesSegmentAxis
= us-gaap_SegmentContinuingOperationsMember
Consolidated [Member]      
Segment Reporting Information [Line Items]      
Revenues 2,714,273us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
2,344,625us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
2,098,987us-gaap_Revenues
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
Depreciation and amortization 62,410us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
71,882us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
48,039us-gaap_DepreciationDepletionAndAmortization
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
Operating earnings (loss) 134,427us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
88,780us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
79,248us-gaap_OperatingIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
Other income/expense, net 1,008us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
1,524us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
2,441us-gaap_OtherNonoperatingIncomeExpense
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
Interest expense, net (14,237)us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
(21,499)us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
(19,563)us-gaap_InterestIncomeExpenseNet
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
Income taxes (31,799)us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
(22,204)us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
(20,733)us-gaap_IncomeTaxExpenseBenefit
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
Net earnings 90,936us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
41,418us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
40,722us-gaap_NetIncomeLoss
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
Total assets 1,639,427us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
1,443,511us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
1,317,910us-gaap_Assets
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
Total additions to long lived assets 172,855us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
152,505us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
62,560us-gaap_PropertyPlantAndEquipmentAdditions
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
Net earnings/loss from discontinued operations $ 1,537us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
$ (5,183)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember
$ (671)us-gaap_IncomeLossFromDiscontinuedOperationsNetOfTax
/ us-gaap_StatementBusinessSegmentsAxis
= fsrv_ConsolidatedMember