| Quarterly Financial Information [Table Text Block] | 
    
|   | 
  | 
  2023   | 
  | 
 
|   | 
  | 
  First   | 
  | 
  | 
  Second   | 
  | 
  | 
  Third   | 
  | 
  | 
  Fourth   | 
  | 
 
|   | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
|   Net sales   | 
  | 
$ | 
82,545 | 
  | 
  | 
$ | 
207,267 | 
  | 
  | 
$ | 
144,121 | 
  | 
  | 
$ | 
134,245 | 
  | 
 
|   Gross profit   | 
  | 
$ | 
11,275 | 
  | 
  | 
$ | 
61,363 | 
  | 
  | 
$ | 
32,129 | 
  | 
  | 
$ | 
29,503 | 
  | 
 
|   Income (loss) before taxes   | 
  | 
$ | 
(16,626 | 
) | 
  | 
$ | 
30,736 | 
  | 
  | 
$ | 
6,929 | 
  | 
  | 
$ | 
8,195 | 
  | 
 
|   Net income (loss)   | 
  | 
$ | 
(13,110 | 
) | 
  | 
$ | 
23,964 | 
  | 
  | 
$ | 
5,792 | 
  | 
  | 
$ | 
7,077 | 
  | 
 
|   Basic net earnings (loss) per common share attributable to common shareholders   | 
  | 
$ | 
(0.58 | 
) | 
  | 
$ | 
1.02 | 
  | 
  | 
$ | 
0.25 | 
  | 
  | 
$ | 
0.30 | 
  | 
 
|   Earnings (loss) per common share assuming dilution attributable to common shareholders   | 
  | 
$ | 
(0.58 | 
) | 
  | 
$ | 
1.01 | 
  | 
  | 
$ | 
0.24 | 
  | 
  | 
$ | 
0.29 | 
  | 
 
|   Dividends per share   | 
  | 
$ | 
0.30 | 
  | 
  | 
$ | 
0.30 | 
  | 
  | 
$ | 
0.30 | 
  | 
  | 
$ | 
0.30 | 
  | 
 
 
    
|   | 
  | 
  2022   | 
  | 
 
|   | 
  | 
  First   | 
  | 
  | 
  Second   | 
  | 
  | 
  Third   | 
  | 
  | 
  Fourth   | 
  | 
 
|   | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
  | 
 
|   Net sales   | 
  | 
$ | 
102,601 | 
  | 
  | 
$ | 
187,561 | 
  | 
  | 
$ | 
166,100 | 
  | 
  | 
$ | 
159,806 | 
  | 
 
|   Gross profit   | 
  | 
$ | 
21,064 | 
  | 
  | 
$ | 
51,233 | 
  | 
  | 
$ | 
41,269 | 
  | 
  | 
$ | 
37,890 | 
  | 
 
|   Income (loss) before taxes   | 
  | 
$ | 
(4,925 | 
) | 
  | 
$ | 
23,090 | 
  | 
  | 
$ | 
16,175 | 
  | 
  | 
$ | 
13,021 | 
  | 
 
|   Net income (loss)   | 
  | 
$ | 
(3,908 | 
) | 
  | 
$ | 
17,725 | 
  | 
  | 
$ | 
13,280 | 
  | 
  | 
$ | 
11,512 | 
  | 
 
|   Basic net earnings (loss) per common share attributable to common shareholders   | 
  | 
$ | 
(0.18 | 
) | 
  | 
$ | 
0.76 | 
  | 
  | 
$ | 
0.57 | 
  | 
  | 
$ | 
0.49 | 
  | 
 
|   Earnings (loss) per common share assuming dilution attributable to common shareholders   | 
  | 
$ | 
(0.18 | 
) | 
  | 
$ | 
0.75 | 
  | 
  | 
$ | 
0.56 | 
  | 
  | 
$ | 
0.49 | 
  | 
 
|   Dividends per share   | 
  | 
$ | 
0.29 | 
  | 
  | 
$ | 
0.29 | 
  | 
  | 
$ | 
0.29 | 
  | 
  | 
$ | 
0.29 | 
  | 
 
 
   
 |