Statements of Income - USD ($) shares in Thousands, $ in Thousands |
3 Months Ended |
6 Months Ended |
Jun. 30, 2020 |
Jun. 30, 2019 |
Jun. 30, 2020 |
Jun. 30, 2019 |
| Income Statement [Abstract] |
|
|
|
|
| Net sales |
$ 253,631
|
$ 336,866
|
$ 556,425
|
$ 651,573
|
| Cost of goods sold |
217,132
|
290,956
|
474,153
|
564,337
|
| Gross profit |
36,499
|
45,910
|
82,272
|
87,236
|
| Selling, general, and administrative expenses |
20,755
|
23,846
|
43,044
|
48,844
|
| Operating income |
15,744
|
22,064
|
39,228
|
38,392
|
| Net interest and other income |
267
|
1,082
|
1,151
|
2,160
|
| Income before income taxes |
16,011
|
23,146
|
40,379
|
40,552
|
| Provision for income taxes |
3,664
|
5,364
|
9,424
|
9,359
|
| Net income |
$ 12,347
|
$ 17,782
|
$ 30,955
|
$ 31,193
|
| Earnings per common and common equivalent share - basic (in usd per share) |
$ 0.60
|
$ 0.85
|
$ 1.50
|
$ 1.49
|
| Earnings per common and common equivalent share - diluted (in usd per share) |
$ 0.60
|
$ 0.85
|
$ 1.50
|
$ 1.49
|
| Weighted average common and common equivalent shares outstanding - basic (in shares) |
20,496
|
20,898
|
20,646
|
20,891
|
| Weighted average common and common equivalent shares outstanding - diluted (in shares) |
20,537
|
20,988
|
20,696
|
20,985
|
| Cash dividends declared per share (in usd per share) |
$ 0.02
|
$ 0.02
|
$ 0.04
|
$ 0.04
|