XML 30 R47.htm IDEA: XBRL DOCUMENT v2.4.1.9
Pension and Other Postretirement Benefits (Details) (USD $)
In Thousands, unless otherwise specified
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Defined Benefit Plan, Weighted Average Assumptions Used in Calculating Net Periodic Benefit Cost [Abstract]      
Health care cost trend rate assumed for next fiscal year 7.50%us-gaap_DefinedBenefitPlanHealthCareCostTrendRateAssumedForNextFiscalYear    
Ultimate health care cost trend rate 5.00%us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate    
Estimated nonqualified benefits in next fiscal year $ 1,573graybar_DefinedBenefitPlansEstimatedNonqualifiedBenefitsinNextFiscalYear    
Estimated future employer contributions in next fiscal year 40,000us-gaap_DefinedBenefitPlansEstimatedFutureEmployerContributionsInNextFiscalYear    
Defined Benefit Plan, Assets, Target Allocations [Abstract]      
Actual Allocation 100.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations 100.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations  
Target allocation range, maximum 100.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum 100.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum  
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, beginning of year 423,167us-gaap_DefinedBenefitPlanFairValueOfPlanAssets    
Balance, end of year 470,165us-gaap_DefinedBenefitPlanFairValueOfPlanAssets 423,167us-gaap_DefinedBenefitPlanFairValueOfPlanAssets  
Equity Securities US      
Defined Benefit Plan, Assets, Target Allocations [Abstract]      
Actual Allocation 9.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesDomesticMember
10.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesDomesticMember
 
Target allocation range, minimum 3.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesDomesticMember
3.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesDomesticMember
 
Target allocation range, maximum 15.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesDomesticMember
15.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesDomesticMember
 
Corporate stocks      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 17,092us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksDomesticMember
20,176us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksDomesticMember
 
Mutual funds      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 26,739us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsDomesticMember
22,923us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsDomesticMember
 
Equity Securities International      
Defined Benefit Plan, Assets, Target Allocations [Abstract]      
Actual Allocation 9.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesForeignMember
9.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesForeignMember
 
Target allocation range, minimum 3.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesForeignMember
3.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesForeignMember
 
Target allocation range, maximum 15.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesForeignMember
15.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesForeignMember
 
Corporate stocks      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 946us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksInternationalMember
1,101us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksInternationalMember
 
Mutual funds      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 43,710us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsForeignMember
38,246us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsForeignMember
 
Fixed Income Investments US      
Defined Benefit Plan, Assets, Target Allocations [Abstract]      
Actual Allocation 61.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeInvestmentsDomesticMember
56.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeInvestmentsDomesticMember
 
Target allocation range, minimum 35.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeInvestmentsDomesticMember
35.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeInvestmentsDomesticMember
 
Target allocation range, maximum 75.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeInvestmentsDomesticMember
75.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeInvestmentsDomesticMember
 
Corporate debt      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 128,033us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
108,844us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
 
US government debt      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 52,674us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
38,870us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
 
Mutual funds      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 104,324us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeFundsMember
86,672us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeFundsMember
 
Fixed Income Investments, Foreign [Member]      
Defined Benefit Plan, Assets, Target Allocations [Abstract]      
Actual Allocation 6.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeInvestmentsForeignMember
6.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeInvestmentsForeignMember
 
Target allocation range, minimum 3.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeInvestmentsForeignMember
3.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeInvestmentsForeignMember
 
Target allocation range, maximum 10.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeInvestmentsForeignMember
10.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeInvestmentsForeignMember
 
Foreign Corporate Debt Securities      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 27,784us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
23,920us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
 
Absolute Return      
Defined Benefit Plan, Assets, Target Allocations [Abstract]      
Actual Allocation 7.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
9.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
 
Target allocation range, minimum 5.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
5.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
 
Target allocation range, maximum 15.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
15.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
 
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, beginning of year 39,448us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
   
Balance, end of year 33,021us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
39,448us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
 
Real assets      
Defined Benefit Plan, Assets, Target Allocations [Abstract]      
Actual Allocation 5.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
5.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
 
Target allocation range, minimum 3.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
3.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
 
Target allocation range, maximum 10.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
10.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
 
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, beginning of year 23,192us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
   
Balance, end of year 24,116us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
23,192us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
 
Private equity      
Defined Benefit Plan, Assets, Target Allocations [Abstract]      
Actual Allocation 1.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
1.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
 
Target allocation range, minimum 0.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
0.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
 
Target allocation range, maximum 3.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
3.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
 
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, beginning of year 3,793us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
   
Balance, end of year 3,682us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
3,793us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
 
Short-term Investments      
Defined Benefit Plan, Assets, Target Allocations [Abstract]      
Actual Allocation 2.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
4.00%us-gaap_DefinedBenefitPlanWeightedAverageAssetAllocations
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
 
Target allocation range, minimum 0.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
0.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMinimum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
 
Target allocation range, maximum 3.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
3.00%us-gaap_DefinedBenefitPlanTargetPlanAssetAllocationsRangeMaximum
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
 
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, beginning of year 15,982us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
   
Balance, end of year 8,044us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
15,982us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
 
Quoted Prices in Active Markets for Identical Inputs (Level 1)      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 318,044us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
265,082us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Quoted Prices in Active Markets for Identical Inputs (Level 1) | Corporate stocks      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 17,092us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksDomesticMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
20,176us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksDomesticMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Quoted Prices in Active Markets for Identical Inputs (Level 1) | Mutual funds      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 18,006us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsDomesticMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
11,169us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsDomesticMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Quoted Prices in Active Markets for Identical Inputs (Level 1) | Corporate stocks      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 946us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksInternationalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
1,101us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksInternationalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Quoted Prices in Active Markets for Identical Inputs (Level 1) | Mutual funds      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 43,710us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsForeignMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
38,246us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsForeignMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Quoted Prices in Active Markets for Identical Inputs (Level 1) | Corporate debt      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 128,033us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
108,844us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Quoted Prices in Active Markets for Identical Inputs (Level 1) | US government debt      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 52,674us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
38,870us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Quoted Prices in Active Markets for Identical Inputs (Level 1) | Mutual funds      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 29,799us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
22,756us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Quoted Prices in Active Markets for Identical Inputs (Level 1) | Foreign Corporate Debt Securities      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 27,784us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
23,920us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Quoted Prices in Active Markets for Identical Inputs (Level 1) | Absolute Return      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Quoted Prices in Active Markets for Identical Inputs (Level 1) | Real assets      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Quoted Prices in Active Markets for Identical Inputs (Level 1) | Private equity      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Quoted Prices in Active Markets for Identical Inputs (Level 1) | Short-term Investments      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Significant Other Observable Inputs (Level 2)      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 98,900us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
100,107us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Significant Other Observable Inputs (Level 2) | Corporate stocks      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksDomesticMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksDomesticMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Significant Other Observable Inputs (Level 2) | Mutual funds      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 8,733us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsDomesticMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
11,754us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsDomesticMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Significant Other Observable Inputs (Level 2) | Corporate stocks      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksInternationalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksInternationalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Significant Other Observable Inputs (Level 2) | Mutual funds      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsForeignMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsForeignMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Significant Other Observable Inputs (Level 2) | Corporate debt      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Significant Other Observable Inputs (Level 2) | US government debt      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Significant Other Observable Inputs (Level 2) | Mutual funds      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 74,525us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
63,916us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Significant Other Observable Inputs (Level 2) | Foreign Corporate Debt Securities      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Significant Other Observable Inputs (Level 2) | Absolute Return      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Significant Other Observable Inputs (Level 2) | Real assets      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 7,598us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
8,455us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Significant Other Observable Inputs (Level 2) | Private equity      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Significant Other Observable Inputs (Level 2) | Short-term Investments      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 8,044us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
15,982us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Significant Unobservable Inputs (Level 3)      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 53,221us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
57,978us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Significant Unobservable Inputs (Level 3) | Corporate stocks      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksDomesticMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksDomesticMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Significant Unobservable Inputs (Level 3) | Mutual funds      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsDomesticMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsDomesticMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Significant Unobservable Inputs (Level 3) | Corporate stocks      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksInternationalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesCorporateStocksInternationalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Significant Unobservable Inputs (Level 3) | Mutual funds      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsForeignMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_EquitySecuritiesMutualFundsForeignMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Significant Unobservable Inputs (Level 3) | Corporate debt      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_DomesticCorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Significant Unobservable Inputs (Level 3) | US government debt      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_USGovernmentDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Significant Unobservable Inputs (Level 3) | Mutual funds      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_FixedIncomeFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Significant Unobservable Inputs (Level 3) | Foreign Corporate Debt Securities      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ForeignCorporateDebtSecuritiesMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Significant Unobservable Inputs (Level 3) | Absolute Return      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 33,021us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
39,448us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Significant Unobservable Inputs (Level 3) | Real assets      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 16,518us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
14,737us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Significant Unobservable Inputs (Level 3) | Private equity      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 3,682us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3,793us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Significant Unobservable Inputs (Level 3) | Short-term Investments      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, end of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Pension Benefits      
Defined Benefit Plan, Net Periodic Benefit Cost [Abstract]      
Service cost 22,205us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
24,119us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
22,215us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Interest cost 26,817us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
23,914us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
24,896us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Expected return on plan assets (26,624)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(23,909)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(23,670)us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Net actuarial loss 17,639us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
26,371us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
21,116us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Prior service cost (gain) 952us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
1,375us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
1,380us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Settlement loss 789us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Net periodic benefit cost 41,778us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
51,870us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
45,937us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Defined Benefit Plan, Weighted Average Assumptions Used in Calculating Net Periodic Benefit Cost [Abstract]      
Discount rate 4.87%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
3.95%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
4.75%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Expected return on plan assets 6.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
6.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
6.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Rate of compensation increase 4.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
4.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
4.50%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Defined Benefit Plan, Expected Future Benefit Payments, Fiscal Year Maturity [Abstract]      
2015 41,454us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
   
2016 42,052us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
   
2017 39,730us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
   
2018 40,525us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
   
2019 43,292us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
   
After 2019 231,790us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
   
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, beginning of year 423,167us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
430,894us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Realized gains/(losses) 55,450us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
(250)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
 
Balance, end of year 470,165us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
423,167us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
430,894us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
Pension Benefits | Significant Unobservable Inputs (Level 3)      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, beginning of year 57,978us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
82,555us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Realized gains/(losses) 510us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
6,568us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Unrealized gains/(losses) 4,334us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(2,172)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Purchases 407graybar_DefinedBenefitPlanAssetsPurchases
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
30,900graybar_DefinedBenefitPlanAssetsPurchases
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Sales (10,008)us-gaap_DefinedBenefitPlanDivestituresPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(59,873)us-gaap_DefinedBenefitPlanDivestituresPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Balance, end of year 53,221us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
57,978us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Pension Benefits | Significant Unobservable Inputs (Level 3) | Commingled funds      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, beginning of year   22,063us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeCommingledFundsForeignMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Realized gains/(losses)   5,721us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeCommingledFundsForeignMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Unrealized gains/(losses)   (6,629)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeCommingledFundsForeignMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Purchases   0graybar_DefinedBenefitPlanAssetsPurchases
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeCommingledFundsForeignMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Sales   (21,155)us-gaap_DefinedBenefitPlanDivestituresPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeCommingledFundsForeignMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Balance, end of year   0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_FixedIncomeCommingledFundsForeignMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Pension Benefits | Significant Unobservable Inputs (Level 3) | Absolute Return      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, beginning of year 39,448us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
37,289us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Realized gains/(losses) 386us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
831us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Unrealized gains/(losses) 1,837us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
2,344us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Purchases 0graybar_DefinedBenefitPlanAssetsPurchases
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
30,900graybar_DefinedBenefitPlanAssetsPurchases
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Sales (8,650)us-gaap_DefinedBenefitPlanDivestituresPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(31,916)us-gaap_DefinedBenefitPlanDivestituresPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Balance, end of year 33,021us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
39,448us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_InvestmentFundsAbsoluteReturnMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Pension Benefits | Significant Unobservable Inputs (Level 3) | Real assets      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, beginning of year 14,737us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
12,702us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Realized gains/(losses) 48us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
16us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Unrealized gains/(losses) 2,065us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
2,127us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Purchases 48graybar_DefinedBenefitPlanAssetsPurchases
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0graybar_DefinedBenefitPlanAssetsPurchases
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Sales (380)us-gaap_DefinedBenefitPlanDivestituresPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(108)us-gaap_DefinedBenefitPlanDivestituresPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Balance, end of year 16,518us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
14,737us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= graybar_RealAssetsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Pension Benefits | Significant Unobservable Inputs (Level 3) | Private equity      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, beginning of year 3,793us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3,807us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Realized gains/(losses) 76us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Unrealized gains/(losses) 432us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
(14)us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Purchases 359graybar_DefinedBenefitPlanAssetsPurchases
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0graybar_DefinedBenefitPlanAssetsPurchases
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Sales (978)us-gaap_DefinedBenefitPlanDivestituresPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
0us-gaap_DefinedBenefitPlanDivestituresPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Balance, end of year 3,682us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
3,793us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_PrivateEquityFundsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Pension Benefits | Significant Unobservable Inputs (Level 3) | Short-term Investments      
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, beginning of year   6,694us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Realized gains/(losses)   0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Unrealized gains/(losses)   0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssetsStillHeld
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Purchases   0graybar_DefinedBenefitPlanAssetsPurchases
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Sales   (6,694)us-gaap_DefinedBenefitPlanDivestituresPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Balance, end of year   0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlanByPlanAssetCategoriesAxis
= us-gaap_ShortTermInvestmentsMember
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_PensionPlansDefinedBenefitMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Other Postretirement Benefit Plans, Defined Benefit      
Defined Benefit Plan, Net Periodic Benefit Cost [Abstract]      
Service cost 2,454us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
2,644us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
2,336us-gaap_DefinedBenefitPlanServiceCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Interest cost 3,338us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
2,873us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
3,355us-gaap_DefinedBenefitPlanInterestCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Expected return on plan assets 0us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanExpectedReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Net actuarial loss 1,267us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
1,794us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
1,719us-gaap_DefinedBenefitPlanAmortizationOfGainsLosses
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Prior service cost (gain) (2,181)us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
(2,181)us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
(2,181)us-gaap_DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Settlement loss 0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Net periodic benefit cost 4,878us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
5,130us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
5,229us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Defined Benefit Plan, Weighted Average Assumptions Used in Calculating Net Periodic Benefit Cost [Abstract]      
Discount rate 4.34%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
3.51%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
4.25%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostDiscountRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Expected return on plan assets 0.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
0.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
0.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostExpectedLongTermReturnOnAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Rate of compensation increase 0.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
0.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
0.00%us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingNetPeriodicBenefitCostRateOfCompensationIncrease
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
Health care cost trend rate assumed for next fiscal year 7.50%us-gaap_DefinedBenefitPlanHealthCareCostTrendRateAssumedForNextFiscalYear
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
   
Ultimate health care cost trend rate 5.00%us-gaap_DefinedBenefitPlanUltimateHealthCareCostTrendRate
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
   
Year that rate reaches ultimate trend rate 2019    
Defined Benefit Plan, Expected Future Benefit Payments, Fiscal Year Maturity [Abstract]      
2015 7,936us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
   
2016 8,832us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
   
2017 9,772us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
   
2018 10,928us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
   
2019 12,058us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
   
After 2019 81,416us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsFiveFiscalYearsThereafter
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
   
Defined Benefit Plan, Change in Fair Value of Plan Assets [Roll Forward]      
Balance, beginning of year 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Realized gains/(losses) 0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
0us-gaap_DefinedBenefitPlanActualReturnOnPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
 
Balance, end of year $ 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
$ 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember
$ 0us-gaap_DefinedBenefitPlanFairValueOfPlanAssets
/ us-gaap_DefinedBenefitPlansDisclosuresDefinedBenefitPlansAxis
= us-gaap_OtherPostretirementBenefitPlansDefinedBenefitMember