Condensed Consolidated Statements of Shareholders' Equity (Unaudited) - USD ($) $ in Thousands |
Interest Rate Swap [Member]
Common Stock [Member]
|
Interest Rate Swap [Member]
Additional Paid-in Capital [Member]
|
Interest Rate Swap [Member]
Retained Earnings [Member]
|
Interest Rate Swap [Member]
AOCI Attributable to Parent [Member]
|
Interest Rate Swap [Member] |
Steel Hedging Instrument [Member]
Common Stock [Member]
|
Steel Hedging Instrument [Member]
Additional Paid-in Capital [Member]
|
Steel Hedging Instrument [Member]
Retained Earnings [Member]
|
Steel Hedging Instrument [Member]
AOCI Attributable to Parent [Member]
|
Steel Hedging Instrument [Member] |
Common Stock [Member] |
Additional Paid-in Capital [Member] |
Retained Earnings [Member] |
AOCI Attributable to Parent [Member] |
Total |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Balance (in shares) at Dec. 31, 2024 | 23,094,047 | ||||||||||||||
| Balance at Dec. 31, 2024 | $ 231 | $ 170,092 | $ 88,420 | $ 5,472 | $ 264,215 | ||||||||||
| Net income | 0 | 0 | 26,102 | 0 | 26,102 | ||||||||||
| Dividends paid | 0 | 0 | (13,926) | 0 | (13,926) | ||||||||||
| Adjustment for postretirement benefit liability | 0 | 0 | 0 | (24) | (24) | ||||||||||
| Adjustment for hedged derivative, net of tax | $ 0 | $ 0 | $ 0 | $ (742) | $ (742) | ||||||||||
| Adjustment for hedged derivative, net of tax | $ 0 | $ 0 | $ 0 | $ 96 | $ 96 | ||||||||||
| Shares withheld on restricted stock vesting | $ 0 | (161) | 0 | 0 | (161) | ||||||||||
| Repurchase of common stock (in shares) | (210,059) | ||||||||||||||
| Repurchase of common stock | $ (2) | (5,998) | 0 | 0 | (6,000) | ||||||||||
| Stock based compensation (in shares) | 156,890 | ||||||||||||||
| Stock based compensation | $ 1 | 3,703 | 0 | 0 | 3,704 | ||||||||||
| Balance (in shares) at Jun. 30, 2025 | 23,040,878 | ||||||||||||||
| Balance at Jun. 30, 2025 | $ 230 | 167,636 | 100,596 | 4,802 | 273,264 | ||||||||||
| Balance (in shares) at Mar. 31, 2025 | 23,209,426 | ||||||||||||||
| Balance at Mar. 31, 2025 | $ 232 | 172,080 | 81,552 | 5,021 | 258,885 | ||||||||||
| Net income | 0 | 0 | 25,954 | 0 | 25,954 | ||||||||||
| Dividends paid | 0 | 0 | (6,910) | 0 | (6,910) | ||||||||||
| Adjustment for postretirement benefit liability | $ 0 | 0 | 0 | (12) | (12) | ||||||||||
| Adjustment for hedged derivative, net of tax | 0 | 0 | 0 | (242) | (242) | ||||||||||
| Adjustment for hedged derivative, net of tax | 0 | 0 | 0 | 35 | 35 | ||||||||||
| Repurchase of common stock (in shares) | (210,059) | ||||||||||||||
| Repurchase of common stock | $ (2) | (5,998) | 0 | 0 | (6,000) | ||||||||||
| Stock based compensation (in shares) | 41,511 | ||||||||||||||
| Stock based compensation | $ 0 | 1,554 | 0 | 0 | 1,554 | ||||||||||
| Balance (in shares) at Jun. 30, 2025 | 23,040,878 | ||||||||||||||
| Balance at Jun. 30, 2025 | $ 230 | 167,636 | 100,596 | 4,802 | 273,264 | ||||||||||
| Balance (in shares) at Dec. 31, 2025 | 23,069,841 | ||||||||||||||
| Balance at Dec. 31, 2025 | $ 231 | 170,653 | 107,381 | 3,181 | 281,446 | ||||||||||
| Balance (in shares) at Mar. 31, 2026 | 23,125,192 | ||||||||||||||
| Balance at Mar. 31, 2026 | $ 231 | 169,291 | 106,627 | 3,285 | 279,434 | ||||||||||
| Balance (in shares) at Dec. 31, 2025 | 23,069,841 | ||||||||||||||
| Balance at Dec. 31, 2025 | $ 231 | 170,653 | 107,381 | 3,181 | 281,446 | ||||||||||
| Net income | 0 | 0 | 31,755 | 0 | 31,755 | ||||||||||
| Dividends paid | 0 | 0 | (14,228) | 0 | (14,228) | ||||||||||
| Adjustment for postretirement benefit liability | 0 | 0 | 0 | (60) | (60) | ||||||||||
| Adjustment for hedged derivative, net of tax | 0 | 0 | 0 | 695 | 695 | ||||||||||
| Adjustment for hedged derivative, net of tax | 0 | 0 | 0 | (37) | (37) | ||||||||||
| Shares withheld on restricted stock vesting | $ 0 | (899) | 0 | 0 | (899) | ||||||||||
| Repurchase of common stock (in shares) | (137,908) | ||||||||||||||
| Repurchase of common stock | $ (1) | (5,999) | 0 | 0 | (6,000) | ||||||||||
| Stock based compensation (in shares) | 137,448 | ||||||||||||||
| Stock based compensation | $ 1 | 6,986 | 0 | 0 | 6,987 | ||||||||||
| Balance (in shares) at Jun. 30, 2026 | 23,069,381 | ||||||||||||||
| Balance at Jun. 30, 2026 | $ 231 | 170,741 | 124,908 | 3,779 | 299,659 | ||||||||||
| Balance (in shares) at Mar. 31, 2026 | 23,125,192 | ||||||||||||||
| Balance at Mar. 31, 2026 | $ 231 | 169,291 | 106,627 | 3,285 | 279,434 | ||||||||||
| Net income | 0 | 0 | 25,379 | 0 | 25,379 | ||||||||||
| Dividends paid | 0 | 0 | (7,098) | 0 | (7,098) | ||||||||||
| Adjustment for postretirement benefit liability | 0 | 0 | 0 | (30) | (30) | ||||||||||
| Adjustment for hedged derivative, net of tax | $ 0 | $ 0 | $ 0 | $ 524 | $ 524 | ||||||||||
| Adjustment for hedged derivative, net of tax | $ 0 | $ 0 | $ 0 | $ 0 | $ 0 | ||||||||||
| Shares withheld on restricted stock vesting | $ 0 | 0 | 0 | 0 | 0 | ||||||||||
| Repurchase of common stock (in shares) | (67,532) | ||||||||||||||
| Repurchase of common stock | $ 0 | (3,000) | 0 | 0 | (3,000) | ||||||||||
| Stock based compensation (in shares) | 11,721 | ||||||||||||||
| Stock based compensation | $ 0 | 4,450 | 0 | 0 | 4,450 | ||||||||||
| Balance (in shares) at Jun. 30, 2026 | 23,069,381 | ||||||||||||||
| Balance at Jun. 30, 2026 | $ 231 | $ 170,741 | $ 124,908 | $ 3,779 | $ 299,659 |