XML 90 R66.htm IDEA: XBRL DOCUMENT v2.4.1.9
Share-Based Compensation Plans - Summary of Information about Stock Options Outstanding (Detail) (USD $)
12 Months Ended
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Dec. 31, 2011
Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]        
Options Outstanding, Number of Options 38,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber 40,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber 47,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber 71,597us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
Options Outstanding, Weighted Average Remaining Contractual Life 3 years 8 months 5 days      
Options Outstanding, Weighted Average Exercise Price Per Share $ 26.05us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice $ 25.44us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice $ 23.19us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice $ 21.26us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
Options Exercisable, Number of Options 38,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber      
Options Exercisable, Weighted Average Exercise Price Per Share $ 26.05us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice      
Range One [Member]        
Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]        
Exercise Price Per Share $ 22.07nwpx_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRange
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeOneMember
     
Options Outstanding, Number of Options 4,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeOneMember
     
Options Outstanding, Weighted Average Remaining Contractual Life 4 months 10 days      
Options Outstanding, Weighted Average Exercise Price Per Share $ 22.07us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeOneMember
     
Options Exercisable, Number of Options 4,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeOneMember
     
Options Exercisable, Weighted Average Exercise Price Per Share $ 22.07us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeOneMember
     
Range Two [Member]        
Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]        
Exercise Price Per Share $ 24.15nwpx_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRange
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeTwoMember
     
Options Outstanding, Number of Options 24,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeTwoMember
     
Options Outstanding, Weighted Average Remaining Contractual Life 5 years 3 months      
Options Outstanding, Weighted Average Exercise Price Per Share $ 24.15us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeTwoMember
     
Options Exercisable, Number of Options 24,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeTwoMember
     
Options Exercisable, Weighted Average Exercise Price Per Share $ 24.15us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeTwoMember
     
Range Three [Member]        
Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]        
Exercise Price Per Share $ 28.31nwpx_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRange
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeThreeMember
     
Options Outstanding, Number of Options 4,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeThreeMember
     
Options Outstanding, Weighted Average Remaining Contractual Life 1 year 1 month 28 days      
Options Outstanding, Weighted Average Exercise Price Per Share $ 28.31us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeThreeMember
     
Options Exercisable, Number of Options 4,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeThreeMember
     
Options Exercisable, Weighted Average Exercise Price Per Share $ 28.31us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeThreeMember
     
Range Four [Member]        
Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]        
Exercise Price Per Share $ 34.77nwpx_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRange
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeFourMember
     
Options Outstanding, Number of Options 6,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeFourMember
     
Options Outstanding, Weighted Average Remaining Contractual Life 1 year 3 months 11 days      
Options Outstanding, Weighted Average Exercise Price Per Share $ 34.77us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeFourMember
     
Options Exercisable, Number of Options 6,000us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeFourMember
     
Options Exercisable, Weighted Average Exercise Price Per Share $ 34.77us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
/ us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis
= nwpx_RangeFourMember