v3.8.0.1

Consolidated Statements of Income - USD ($) shares in Thousands, $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2017 | Dec. 31, 2016 | Dec. 31, 2015
Income Statement [Abstract] |  |  |
Net sales | $ 1,164,248 | $ 940,790 | $ 1,017,622
Cost of goods sold | 1,008,073 | 820,673 | 880,900
Gross profit | 156,175 | 120,117 | 136,722
Selling, general and administrative expenses | 76,726 | 69,351 | 64,493
Operating income | 79,449 | 50,766 | 72,229
Net interest and other income | 427 | 48 | 155
Income before income taxes | 79,876 | 50,814 | 72,384
Provision for income taxes | 12,859 | 16,975 | 24,779
Net income | $ 67,017 | $ 33,839 | $ 47,605
Earnings per common and common equivalent share - basic (in usd per share) | $ 3.23 | $ 1.63 | $ 2.30
Weighted average common and common equivalent shares outstanding – basic | 20,767 | 20,704 | 20,713
Earnings per common and common equivalent share - diluted (in usd per share) | $ 3.21 | $ 1.63 | $ 2.29
Weighted average common and common equivalent shares outstanding – diluted | 20,847 | 20,773 | 20,787
Cash dividends declared per share (in usd per share) | $ 0.08 | $ 0.08 | $ 0.08

X
- Definition Aggregate dividends declared during the period for each share of common stock outstanding. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 505 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.3-04) -URI http://asc.fasb.org/extlink&oid=27012166&loc=d3e187085-122770 + Details
Name: | us-gaap_CommonStockDividendsPerShareDeclared
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Total costs related to goods produced and sold during the reporting period. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 225 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03.2(a)) -URI http://asc.fasb.org/extlink&oid=63488584&loc=d3e20235-122688 + Details
Name: | us-gaap_CostOfGoodsSold
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 55 -Paragraph 52 -URI http://asc.fasb.org/extlink&oid=96948231&loc=d3e4984-109258 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 225 -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-04(19)) -URI http://asc.fasb.org/extlink&oid=6879464&loc=d3e573970-122913 Reference 4: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=96947427&loc=d3e1252-109256 Reference 5: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 225 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(21)) -URI http://asc.fasb.org/extlink&oid=63488584&loc=d3e20235-122688 Reference 6: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 225 -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-04(23)) -URI http://asc.fasb.org/extlink&oid=6879574&loc=d3e536633-122882 + Details
Name: | us-gaap_EarningsPerShareBasic
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 225 -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-04(19)) -URI http://asc.fasb.org/extlink&oid=6879464&loc=d3e573970-122913 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=96947427&loc=d3e1252-109256 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 225 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(21)) -URI http://asc.fasb.org/extlink&oid=63488584&loc=d3e20235-122688 Reference 4: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 225 -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-04(23)) -URI http://asc.fasb.org/extlink&oid=6879574&loc=d3e536633-122882 + Details
Name: | us-gaap_EarningsPerShareDiluted
Namespace Prefix: | us-gaap_
Data Type: | num:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 225 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03.1,2) -URI http://asc.fasb.org/extlink&oid=63488584&loc=d3e20235-122688 + Details
Name: | us-gaap_GrossProfit
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08.(h)(1)(i)) -URI http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690 + Details
Name: | us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_IncomeStatementAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 740 -SubTopic 10 -Section 50 -Paragraph 9 -Subparagraph (a),(b) -URI http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 235 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08.(h)) -URI http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690 + Details
Name: | us-gaap_IncomeTaxExpenseBenefit
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The portion of profit or loss for the period, net of income taxes, which is attributable to the parent. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 230 -SubTopic 10 -Section 45 -Paragraph 28 -URI http://asc.fasb.org/extlink&oid=98514028&loc=d3e3602-108585 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257 Reference 3: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 225 -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-04(22)) -URI http://asc.fasb.org/extlink&oid=6879574&loc=d3e536633-122882 Reference 4: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 225 -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-04(18)) -URI http://asc.fasb.org/extlink&oid=6879464&loc=d3e573970-122913 Reference 5: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 225 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(20)) -URI http://asc.fasb.org/extlink&oid=63488584&loc=d3e20235-122688 + Details
Name: | us-gaap_NetIncomeLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business). + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 225 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03.7) -URI http://asc.fasb.org/extlink&oid=63488584&loc=d3e20235-122688 + Details
Name: | us-gaap_NonoperatingIncomeExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The net result for the period of deducting operating expenses from operating revenues. + References No definition available. + Details
Name: | us-gaap_OperatingIncomeLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Aggregate revenue during the period from the sale of goods in the normal course of business, after deducting returns, allowances and discounts. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 225 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03.1(a)) -URI http://asc.fasb.org/extlink&oid=63488584&loc=d3e20235-122688 + Details
Name: | us-gaap_SalesRevenueGoodsNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 225 -SubTopic 10 -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03.4) -URI http://asc.fasb.org/extlink&oid=63488584&loc=d3e20235-122688 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 330 -SubTopic 10 -Section 30 -Paragraph 8 -URI http://asc.fasb.org/extlink&oid=68048583&loc=d3e3636-108311 + Details
Name: | us-gaap_SellingGeneralAndAdministrativeExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 45 -Paragraph 16 -URI http://asc.fasb.org/extlink&oid=96947427&loc=d3e1505-109256 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257 + Details
Name: | us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 50 -Paragraph 1 -Subparagraph (a) -URI http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257 Reference 2: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 260 -SubTopic 10 -Section 45 -Paragraph 10 -URI http://asc.fasb.org/extlink&oid=96947427&loc=d3e1448-109256 + Details
Name: | us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration