| | | | | | | | | | | | | | | | | | | | | |
<?xml version="1.0" encoding="windows-1252"?> |
<FilingSummary xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
| <Version> 2.4.1.9 </Version> |
| <ProcessingTime/> |
| <ReportFormat> Html </ReportFormat> |
| <ContextCount> 99 </ContextCount> |
| <ElementCount> 186 </ElementCount> |
| <EntityCount> 1 </EntityCount> |
| <FootnotesReported> false </FootnotesReported> |
| <SegmentCount> 37 </SegmentCount> |
| <ScenarioCount> 0 </ScenarioCount> |
| <TuplesReported> false </TuplesReported> |
| <UnitCount> 8 </UnitCount> |
| <MyReports> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R1.htm </HtmlFileName> |
| | | <LongName> 000100 - Document - Document and Entity Information </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/DocumentAndEntityInformation </Role> |
| | | <ShortName> Document and Entity Information </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> true </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R2.htm </HtmlFileName> |
| | | <LongName> 010000 - Statement - Unaudited Consolidated Balance Sheets </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/UnauditedConsolidatedBalanceSheets </Role> |
| | | <ShortName> Unaudited Consolidated Balance Sheets </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R3.htm </HtmlFileName> |
| | | <LongName> 010100 - Statement - Unaudited Consolidated Balance Sheets (Parenthetical) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/UnauditedConsolidatedBalanceSheetsParenthetical </Role> |
| | | <ShortName> Unaudited Consolidated Balance Sheets (Parenthetical) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R4.htm </HtmlFileName> |
| | | <LongName> 020000 - Statement - Unaudited Consolidated Statements of Income </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/UnauditedConsolidatedStatementsOfIncome </Role> |
| | | <ShortName> Unaudited Consolidated Statements of Income </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R5.htm </HtmlFileName> |
| | | <LongName> 030000 - Statement - Unaudited Consolidated Statements of Comprehensive Income </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/UnauditedConsolidatedStatementsOfComprehensiveIncome </Role> |
| | | <ShortName> Unaudited Consolidated Statements of Comprehensive Income </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R6.htm </HtmlFileName> |
| | | <LongName> 040000 - Statement - Unaudited Consolidated Statements of Cash Flows </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/UnauditedConsolidatedStatementsOfCashFlows </Role> |
| | | <ShortName> Unaudited Consolidated Statements of Cash Flows </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R7.htm </HtmlFileName> |
| | | <LongName> 060100 - Disclosure - Basis of Presentation </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/BasisOfPresentation </Role> |
| | | <ShortName> Basis of Presentation </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R8.htm </HtmlFileName> |
| | | <LongName> 060200 - Disclosure - Acquisition </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/Acquisition </Role> |
| | | <ShortName> Acquisition </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R9.htm </HtmlFileName> |
| | | <LongName> 060300 - Disclosure - Debt </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/Debt </Role> |
| | | <ShortName> Debt </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R10.htm </HtmlFileName> |
| | | <LongName> 060400 - Disclosure - Earnings Per Share </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/EarningsPerShare </Role> |
| | | <ShortName> Earnings Per Share </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R11.htm </HtmlFileName> |
| | | <LongName> 060500 - Disclosure - Commitments and Contingencies </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/CommitmentsAndContingencies </Role> |
| | | <ShortName> Commitments and Contingencies </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R12.htm </HtmlFileName> |
| | | <LongName> 060600 - Disclosure - Business Segments and Customer Information </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/BusinessSegmentsAndCustomerInformation </Role> |
| | | <ShortName> Business Segments and Customer Information </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R13.htm </HtmlFileName> |
| | | <LongName> 060700 - Disclosure - Goodwill and Intangible Assets </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/GoodwillAndIntangibleAssets </Role> |
| | | <ShortName> Goodwill and Intangible Assets </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R14.htm </HtmlFileName> |
| | | <LongName> 060800 - Disclosure - Fair Value Measurements </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/FairValueMeasurements </Role> |
| | | <ShortName> Fair Value Measurements </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R15.htm </HtmlFileName> |
| | | <LongName> 060900 - Disclosure - Recently Issued Accounting Pronouncements </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/RecentlyIssuedAccountingPronouncements </Role> |
| | | <ShortName> Recently Issued Accounting Pronouncements </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R16.htm </HtmlFileName> |
| | | <LongName> 080200 - Disclosure - Acquisition (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/AcquisitionTables </Role> |
| | | <ShortName> Acquisition (Tables) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R17.htm </HtmlFileName> |
| | | <LongName> 080400 - Disclosure - Earnings Per Share (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/EarningsPerShareTables </Role> |
| | | <ShortName> Earnings Per Share (Tables) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R18.htm </HtmlFileName> |
| | | <LongName> 080600 - Disclosure - Business Segments and Customer Information (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/BusinessSegmentsAndCustomerInformationTables </Role> |
| | | <ShortName> Business Segments and Customer Information (Tables) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R19.htm </HtmlFileName> |
| | | <LongName> 080700 - Disclosure - Goodwill and Intangible Assets (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/GoodwillAndIntangibleAssetsTables </Role> |
| | | <ShortName> Goodwill and Intangible Assets (Tables) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R20.htm </HtmlFileName> |
| | | <LongName> 080800 - Disclosure - Fair Value Measurements (Tables) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/FairValueMeasurementsTables </Role> |
| | | <ShortName> Fair Value Measurements (Tables) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R21.htm </HtmlFileName> |
| | | <LongName> 090200 - Disclosure - Acquisition (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/AcquisitionDetails </Role> |
| | | <ShortName> Acquisition (Details) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R22.htm </HtmlFileName> |
| | | <LongName> 090300 - Disclosure - Debt (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/DebtDetails </Role> |
| | | <ShortName> Debt (Details) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R23.htm </HtmlFileName> |
| | | <LongName> 090400 - Disclosure - Earnings Per Share (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/EarningsPerShareDetails </Role> |
| | | <ShortName> Earnings Per Share (Details) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R24.htm </HtmlFileName> |
| | | <LongName> 090500 - Disclosure - Commitments and Contingencies - (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/CommitmentsAndContingenciesDetails </Role> |
| | | <ShortName> Commitments and Contingencies - (Details) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R25.htm </HtmlFileName> |
| | | <LongName> 090600 - Disclosure - Business Segments and Customer Information (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/BusinessSegmentsAndCustomerInformationDetails </Role> |
| | | <ShortName> Business Segments and Customer Information (Details) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R26.htm </HtmlFileName> |
| | | <LongName> 090602 - Disclosure - Business Segments and Customer Information, Major Customers (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/BusinessSegmentsAndCustomerInformationMajorCustomersDetails </Role> |
| | | <ShortName> Business Segments and Customer Information, Major Customers (Details) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R27.htm </HtmlFileName> |
| | | <LongName> 090700 - Disclosure - Goodwill and Intangible Assets (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/GoodwillAndIntangibleAssetsDetails </Role> |
| | | <ShortName> Goodwill and Intangible Assets (Details) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R28.htm </HtmlFileName> |
| | | <LongName> 090800 - Disclosure - Fair Value Measurements (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/FairValueMeasurementsDetails </Role> |
| | | <ShortName> Fair Value Measurements (Details) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <HtmlFileName> R29.htm </HtmlFileName> |
| | | <LongName> 090802 - Disclosure - Fair Value Measurements, Unobservable Input Reconciliation (Details) </LongName> |
| | | <ReportType> Sheet </ReportType> |
| | | <Role> http://vsecorp.com/role/FairValueMeasurementsUnobservableInputReconciliationDetails </Role> |
| | | <ShortName> Fair Value Measurements, Unobservable Input Reconciliation (Details) </ShortName> |
| | | </Report> |
| | <Report> |
| | | <IsDefault> false </IsDefault> |
| | | <HasEmbeddedReports> false </HasEmbeddedReports> |
| | | <LongName> All Reports </LongName> |
| | | <ReportType> Book </ReportType> |
| | | <ShortName> All Reports </ShortName> |
| | | </Report> |
| | </MyReports> |
| <Logs> |
| | <Log type="Info"> Element us-gaap_ConcentrationRiskPercentage1 had a mix of decimals attribute values: 0 2 3. </Log> |
| | <Log type="Info"> Element us-gaap_DebtInstrumentBasisSpreadOnVariableRate1 had a mix of decimals attribute values: 2 4. </Log> |
| | <Log type="Info"> Element vsec_PaymentOfEarnOutObligation had a mix of decimals attribute values: -5 -3. </Log> |
| | <Log type="Info"> 'Monetary' elements on report '090200 - Disclosure - Acquisition (Details)' had a mix of different decimal attribute values. </Log> |
| | <Log type="Info"> 'Monetary' elements on report '090300 - Disclosure - Debt (Details)' had a mix of different decimal attribute values. </Log> |
| | <Log type="Info"> 'Monetary' elements on report '090500 - Disclosure - Commitments and Contingencies - (Details)' had a mix of different decimal attribute values. </Log> |
| | <Log type="Info"> 'Monetary' elements on report '090700 - Disclosure - Goodwill and Intangible Assets (Details)' had a mix of different decimal attribute values. </Log> |
| | <Log type="Info"> 'Monetary' elements on report '090800 - Disclosure - Fair Value Measurements (Details)' had a mix of different decimal attribute values. </Log> |
| | <Log type="Info"> Process Flow-Through: 010000 - Statement - Unaudited Consolidated Balance Sheets </Log> |
| | <Log type="Info"> Process Flow-Through: Removing column 'Mar. 31, 2014' </Log> |
| | <Log type="Info"> Process Flow-Through: Removing column 'Dec. 31, 2013' </Log> |
| | <Log type="Info"> Process Flow-Through: 010100 - Statement - Unaudited Consolidated Balance Sheets (Parenthetical) </Log> |
| | <Log type="Info"> Process Flow-Through: 020000 - Statement - Unaudited Consolidated Statements of Income </Log> |
| | <Log type="Info"> Process Flow-Through: 030000 - Statement - Unaudited Consolidated Statements of Comprehensive Income </Log> |
| | <Log type="Info"> Process Flow-Through: 040000 - Statement - Unaudited Consolidated Statements of Cash Flows </Log> |
| | </Logs> |
| <InputFiles> |
| | <File> vsec-20150331.xml </File> |
| | <File> vsec-20150331.xsd </File> |
| | <File> vsec-20150331_cal.xml </File> |
| | <File> vsec-20150331_def.xml </File> |
| | <File> vsec-20150331_lab.xml </File> |
| | <File> vsec-20150331_pre.xml </File> |
| | </InputFiles> |
| <SupplementalFiles/> |
| <BaseTaxonomies/> |
| <HasPresentationLinkbase> true </HasPresentationLinkbase> |
| <HasCalculationLinkbase> true </HasCalculationLinkbase> |
| </FilingSummary> |