XML 28 R71.htm IDEA: XBRL DOCUMENT v2.4.1.9
Equity-Based Compensation - Text (Details) (USD $)
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Dec. 31, 2011
Share-based Compensation Details        
Award vesting period 4 years      
Weighted-average fair value on the date of grant of stock options granted $ 5.91us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue $ 5.78us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue $ 5.47us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue  
Restricted Stock - annual vesting percentage 25.00%ctg_ShareBasedCompensationArrangementByShareBasedPaymentAwardAnnualVestingPercentage      
Stock-based compensation expense for non-vested equity-based compensation $ 2,700,000us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized      
End of period, share price $ 9.53us-gaap_SharePrice      
Stock based compensation expense, recognition period 15 months      
Minimum        
Share-based Compensation Details        
Award vesting period 1 year      
2010 Plan [Member]        
Share-based Compensation Details        
Years of annual installments in which stock options become exercisable 4 years      
Number of shares authorized 1,300,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
     
Number of shares available for grant 628,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
     
Options exercised (in shares) (5,000)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
(2,875)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
(20,750)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
 
Intrinsic value of shares exercised 18,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
17,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
55,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
 
Number of options outstanding and exercisable (in shares) 631,846us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
660,471us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
461,346us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
265,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
Aggregate intrinsic value 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
     
Weighted average remaining contractual life 9 years 6 months      
Restricted stock grants (in shares) 11,700us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
     
Restricted stock shares released (weighted-average fair value) 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
     
Restricted stock cancelled or forfeited (weighted-average fair value) 0us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
     
Restricted stock grants (weighted-average fair value) $ 16.93us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_PlanNameAxis
= ctg_Companys2010EquityAwardPlan2010PlanMember
     
2010 Plan [Member] | Minimum        
Share-based Compensation Details        
Award vesting period 1 year      
2010 Plan [Member] | Maximum        
Share-based Compensation Details        
Award vesting period 15 years      
Equity Plan [Member]        
Share-based Compensation Details        
Options exercised (in shares) (601,800)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= ctg_EquityPlanMember
(107,775)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= ctg_EquityPlanMember
(574,353)us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= ctg_EquityPlanMember
 
Intrinsic value of shares exercised 5,800,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_PlanNameAxis
= ctg_EquityPlanMember
1,600,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_PlanNameAxis
= ctg_EquityPlanMember
7,400,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
/ us-gaap_PlanNameAxis
= ctg_EquityPlanMember
 
Number of options outstanding and exercisable (in shares) 1,868,597us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= ctg_EquityPlanMember
2,472,147us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= ctg_EquityPlanMember
2,584,547us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= ctg_EquityPlanMember
3,175,075us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= ctg_EquityPlanMember
Aggregate intrinsic value 8,809,260us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= ctg_EquityPlanMember
     
Weighted average remaining contractual life 3 years 11 months      
Equity Plan [Member] | Minimum        
Share-based Compensation Details        
Years of annual installments in which stock options become exercisable 3 years      
Award vesting period 1 year      
Equity Plan [Member] | Maximum        
Share-based Compensation Details        
Years of annual installments in which stock options become exercisable 4 years      
Award vesting period 15 years      
1991 Plan Options [Member]        
Share-based Compensation Details        
Options exercised (in shares) 0us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= ctg_Companys1991EmployeeStockOptionPlan1991PlanMember
0us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= ctg_Companys1991EmployeeStockOptionPlan1991PlanMember
0us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised
/ us-gaap_PlanNameAxis
= ctg_Companys1991EmployeeStockOptionPlan1991PlanMember
 
Number of options outstanding and exercisable (in shares) 135,060us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= ctg_Companys1991EmployeeStockOptionPlan1991PlanMember
     
Aggregate intrinsic value $ 500,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
/ us-gaap_PlanNameAxis
= ctg_Companys1991EmployeeStockOptionPlan1991PlanMember
     
Weighted average remaining contractual life 0 years 6 months      
1991 Plan Options [Member] | Range of Exercise Prices, $2.88 – $6.00 [Member]        
Share-based Compensation Details        
Number of options outstanding and exercisable (in shares) 127,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= ctg_Companys1991EmployeeStockOptionPlan1991PlanMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ctg_RangeofExercisePrices2.886.00Member
     
Exercise price range, lower limit $ 2.88us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_PlanNameAxis
= ctg_Companys1991EmployeeStockOptionPlan1991PlanMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ctg_RangeofExercisePrices2.886.00Member
     
Exercise price range, upper limit $ 6.00us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_PlanNameAxis
= ctg_Companys1991EmployeeStockOptionPlan1991PlanMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ctg_RangeofExercisePrices2.886.00Member
     
1991 Plan Options [Member] | Exercise Price, $16.19 [Member]        
Share-based Compensation Details        
Number of options outstanding and exercisable (in shares) 8,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_PlanNameAxis
= ctg_Companys1991EmployeeStockOptionPlan1991PlanMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ctg_ExercisePrice16.19Member
     
Exercise price range, lower limit $ 16.19us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
/ us-gaap_PlanNameAxis
= ctg_Companys1991EmployeeStockOptionPlan1991PlanMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ctg_ExercisePrice16.19Member
     
Exercise price range, upper limit $ 16.19us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
/ us-gaap_PlanNameAxis
= ctg_Companys1991EmployeeStockOptionPlan1991PlanMember
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= ctg_ExercisePrice16.19Member
     
1991 Restricted Stock Plan [Member]        
Share-based Compensation Details        
Number of shares authorized 800,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
/ us-gaap_PlanNameAxis
= ctg_A1991RestrictedStockPlanMember
     
Number of shares available for grant 95,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
/ us-gaap_PlanNameAxis
= ctg_A1991RestrictedStockPlanMember
     
Restricted stock grants (in shares) 125,200us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
/ us-gaap_PlanNameAxis
= ctg_A1991RestrictedStockPlanMember
98,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
/ us-gaap_PlanNameAxis
= ctg_A1991RestrictedStockPlanMember
127,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
/ us-gaap_PlanNameAxis
= ctg_A1991RestrictedStockPlanMember
 
Restricted stock shares released (weighted-average fair value) 193,652us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
/ us-gaap_PlanNameAxis
= ctg_A1991RestrictedStockPlanMember
106,626us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
/ us-gaap_PlanNameAxis
= ctg_A1991RestrictedStockPlanMember
90,626us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
/ us-gaap_PlanNameAxis
= ctg_A1991RestrictedStockPlanMember
 
Restricted stock cancelled or forfeited (weighted-average fair value) 39,838us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
/ us-gaap_PlanNameAxis
= ctg_A1991RestrictedStockPlanMember
1,600us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
/ us-gaap_PlanNameAxis
= ctg_A1991RestrictedStockPlanMember
7,500us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
/ us-gaap_PlanNameAxis
= ctg_A1991RestrictedStockPlanMember
 
Restricted stock grants (weighted-average fair value) $ 16.62us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_PlanNameAxis
= ctg_A1991RestrictedStockPlanMember
$ 20.68us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_PlanNameAxis
= ctg_A1991RestrictedStockPlanMember
$ 15.04us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
/ us-gaap_PlanNameAxis
= ctg_A1991RestrictedStockPlanMember