XML 49 R27.htm IDEA: XBRL DOCUMENT v2.4.1.9
Fair Value Disclosures (Details) (USD $)
3 Months Ended
Mar. 31, 2015
Mar. 31, 2014
Dec. 31, 2014
Dec. 31, 2013
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Restructuring Charges $ 47,000us-gaap_RestructuringCharges $ 370,000us-gaap_RestructuringCharges    
Fair value of assets 8,577,000us-gaap_AssetsFairValueDisclosure [1]   8,786,000us-gaap_AssetsFairValueDisclosure [2]  
Prepaid Expenses and Other Current Assets [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Deferred compensation plan assets 800,000us-gaap_DeferredCompensationPlanAssets
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember
  700,000us-gaap_DeferredCompensationPlanAssets
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember
 
Other Non-Current Assets [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Deferred compensation plan assets 7,800,000us-gaap_DeferredCompensationPlanAssets
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentAssetsMember
[1]   8,100,000us-gaap_DeferredCompensationPlanAssets
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_OtherNoncurrentAssetsMember
[1]  
Bond Mutual Fund [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 1,710,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BondMutualFundsMember
  1,879,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BondMutualFundsMember
 
Large Cap Mutual Fund [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 2,739,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_LargeCapMutualFundsMember
  2,852,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_LargeCapMutualFundsMember
 
International Mutual Fund [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 1,441,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_InternationalMutualFundsMember
  1,405,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_InternationalMutualFundsMember
 
Mid Cap Mutual Cap [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 604,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_MidCapMutualFundsMember
  606,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_MidCapMutualFundsMember
 
Small Cap Mutual Funds [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 483,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_SmallCapMutualFundsMember
  470,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_SmallCapMutualFundsMember
 
Balanced Mutual Funds [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 353,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BalancedMutualFundsMember
  339,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BalancedMutualFundsMember
 
Money Market Funds [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 1,247,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= us-gaap_MoneyMarketFundsMember
  1,235,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= us-gaap_MoneyMarketFundsMember
 
Level 1 [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 8,577,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[1]   8,786,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
[2]  
Level 1 [Member] | Bond Mutual Fund [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 1,710,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BondMutualFundsMember
  1,879,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BondMutualFundsMember
 
Level 1 [Member] | Large Cap Mutual Fund [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 2,739,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_LargeCapMutualFundsMember
  2,852,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_LargeCapMutualFundsMember
 
Level 1 [Member] | International Mutual Fund [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 1,441,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_InternationalMutualFundsMember
  1,405,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_InternationalMutualFundsMember
 
Level 1 [Member] | Mid Cap Mutual Cap [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 604,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_MidCapMutualFundsMember
  606,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_MidCapMutualFundsMember
 
Level 1 [Member] | Small Cap Mutual Funds [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 483,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_SmallCapMutualFundsMember
  470,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_SmallCapMutualFundsMember
 
Level 1 [Member] | Balanced Mutual Funds [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 353,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BalancedMutualFundsMember
  339,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BalancedMutualFundsMember
 
Level 1 [Member] | Money Market Funds [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 1,247,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= us-gaap_MoneyMarketFundsMember
  1,235,000us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= us-gaap_MoneyMarketFundsMember
 
Level 2 [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[1]   0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
[2]  
Level 2 [Member] | Bond Mutual Fund [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BondMutualFundsMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BondMutualFundsMember
 
Level 2 [Member] | Large Cap Mutual Fund [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_LargeCapMutualFundsMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_LargeCapMutualFundsMember
 
Level 2 [Member] | International Mutual Fund [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_InternationalMutualFundsMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_InternationalMutualFundsMember
 
Level 2 [Member] | Mid Cap Mutual Cap [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_MidCapMutualFundsMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_MidCapMutualFundsMember
 
Level 2 [Member] | Small Cap Mutual Funds [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_SmallCapMutualFundsMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_SmallCapMutualFundsMember
 
Level 2 [Member] | Balanced Mutual Funds [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BalancedMutualFundsMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BalancedMutualFundsMember
 
Level 2 [Member] | Money Market Funds [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= us-gaap_MoneyMarketFundsMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= us-gaap_MoneyMarketFundsMember
 
Level 3 [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
[1]   0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
[2]  
Level 3 [Member] | Bond Mutual Fund [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BondMutualFundsMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BondMutualFundsMember
 
Level 3 [Member] | Large Cap Mutual Fund [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_LargeCapMutualFundsMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_LargeCapMutualFundsMember
 
Level 3 [Member] | International Mutual Fund [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_InternationalMutualFundsMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_InternationalMutualFundsMember
 
Level 3 [Member] | Mid Cap Mutual Cap [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_MidCapMutualFundsMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_MidCapMutualFundsMember
 
Level 3 [Member] | Small Cap Mutual Funds [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_SmallCapMutualFundsMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_SmallCapMutualFundsMember
 
Level 3 [Member] | Balanced Mutual Funds [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BalancedMutualFundsMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= cdi_BalancedMutualFundsMember
 
Level 3 [Member] | Money Market Funds [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Fair value of assets 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= us-gaap_MoneyMarketFundsMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueConcentrationOfRiskDisclosureItemsAxis
= us-gaap_MoneyMarketFundsMember
 
Employee Severance [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Restructuring Reserve     2,031,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
 
Restructuring Charges 0us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
37,000us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
   
Restructuring Reserve, Settled without Cash 0us-gaap_RestructuringReserveSettledWithoutCash1
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
0us-gaap_RestructuringReserveSettledWithoutCash1
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
   
Employee Severance [Member] | Accrued Liabilities [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Restructuring Reserve 1,124,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
3,436,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
  4,568,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
Payments for Restructuring (907,000)us-gaap_PaymentsForRestructuring
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
(1,169,000)us-gaap_PaymentsForRestructuring
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_EmployeeSeveranceMember
   
Real estate exit and related costs        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Restructuring Reserve     2,600,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
 
Restructuring Charges 33,000us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
303,000us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
   
Restructuring Reserve, Settled without Cash 0us-gaap_RestructuringReserveSettledWithoutCash1
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
0us-gaap_RestructuringReserveSettledWithoutCash1
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
   
Real estate exit and related costs | Accrued Liabilities [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Restructuring Reserve 2,340,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
984,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
  769,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
Payments for Restructuring (293,000)us-gaap_PaymentsForRestructuring
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
(88,000)us-gaap_PaymentsForRestructuring
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= us-gaap_FacilityClosingMember
   
Asset Write-offs [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Restructuring Reserve     0us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AssetWriteOffsMember
 
Restructuring Charges 14,000us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AssetWriteOffsMember
30,000us-gaap_RestructuringCharges
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AssetWriteOffsMember
   
Restructuring Reserve, Settled without Cash (14,000)us-gaap_RestructuringReserveSettledWithoutCash1
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AssetWriteOffsMember
(30,000)us-gaap_RestructuringReserveSettledWithoutCash1
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AssetWriteOffsMember
   
Accrued restructuring liability        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Restructuring Reserve     4,631,000us-gaap_RestructuringReserve
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
 
Accrued restructuring liability | Accrued Liabilities [Member]        
Fair Value, Concentration of Risk, Financial Statement Captions [Line Items]        
Restructuring Reserve $ 3,464,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
$ 4,420,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
  $ 5,337,000us-gaap_RestructuringReserve
/ us-gaap_BalanceSheetLocationAxis
= us-gaap_AccruedLiabilitiesMember
/ us-gaap_RestructuringCostAndReserveAxis
= cdi_AccruedRestructuringLiabilityMember
[1] As of March 31, 2015, $0.8 million and $7.8 million are included in “Prepaid expenses and other current assets” (liability offset in “Other accrued expenses and other current liabilities”) and “Other non-current assets” (liability offset in “Deferred compensation”), respectively, in the consolidated balance sheets reflecting the non-qualified Deferred Compensation Plan assets.
[2] (1) As of December 31, 2014, $0.7 million and $8.1 million are included in “Prepaid expenses and other current assets” (liability offset in “Other accrued expenses and other current liabilities”) and “Other non-current assets” (liability offset in “Deferred compensation”), respectively, in the consolidated balance sheets reflecting the non-qualified Deferred Compensation Plan assets.