Quarterly report [Sections 13 or 15(d)]

Capital Transactions - Narrative (Details)

v3.25.2
Capital Transactions - Narrative (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2025
Mar. 31, 2025
Jun. 30, 2024
Mar. 31, 2024
Jun. 30, 2025
Jun. 30, 2024
May 06, 2025
Dec. 31, 2024
Mar. 08, 2022
Mar. 10, 2021
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Stock repurchase program, authorized amount                   $ 15,000,000
Share repurchase program, additional amount authorized             $ 25,000,000   $ 30,000,000  
Repurchase of common stock (in shares)         1,011,000 453,000        
Repurchase of common stock $ 11,878,000 $ 476,000 $ 5,876,000 $ 1,848,000 $ 12,400,000 $ 7,700,000        
Stock repurchase program, remaining authorized repurchase amount $ 21,400,000       $ 21,400,000          
2012 Stock Incentive Plan                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Shares of common stock reserved for issuance (in shares) 5,000,000       5,000,000          
Stock options                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Share-based compensation expense $ 0   0   $ 0 $ 0        
Unrecognized share-based compensation expense $ 0       $ 0     $ 0    
Options outstanding (in shares) 25,000       25,000     75,000    
Aggregate intrinsic value, outstanding $ 29,000       $ 29,000     $ 300,000    
Exercised (in shares)         25,000 0        
Exercised (in dollars per share)         $ 9.05          
Intrinsic value         $ 100,000          
Tax benefit         $ 100,000          
Granted (in dollars per share)         $ 0          
Weighted-average grant date fair value (in dollars per share)         $ 0          
Time-based stock options | Maximum                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Vesting period         48 months          
Performance based stock options operating income margins                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Operating income margin, one (percentage)         6.00%          
Operating income margin, two (percentage)         8.00%          
Operating income margin, three (percentage)         10.00%          
Unvested stock options outstanding (in shares) 0       0     0    
Performance based stock options operating income margins | Minimum                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Vesting period         1 year          
Performance based stock options operating income margins | Maximum                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Vesting period         1 year 3 months          
RSUs                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Share-based compensation expense $ 1,100,000   900,000   $ 2,000,000.0 $ 1,900,000        
Unrecognized share-based compensation expense $ 4,600,000       $ 4,600,000     $ 2,400,000    
Weighted-average period over which the remaining compensation cost is expected to be recognized         9 months 18 days          
Minimum withholding requirements (in shares)         46,000 38,000        
RSUs | 2012 Stock Incentive Plan                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Granted (in shares)         572,000          
RSUs | Minimum | 2012 Stock Incentive Plan                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Vesting period         12 months          
RSUs | Maximum | 2012 Stock Incentive Plan                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Vesting period         36 months          
RSUs | Director | 2012 Stock Incentive Plan                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Restriction period for issuance of shares         2 years          
Nonvested subject to restriction period (in shares) 78,000       78,000     110,000    
Time-Based Restricted Stock Units (RSUs), 1-year Vesting | 2012 Stock Incentive Plan                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Vesting period         1 year          
Weighted-average grant date fair value (in dollars per share)         $ 13.96          
Time-Based Restricted Stock Units (RSUs), 3-year Vesting | 2012 Stock Incentive Plan                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Vesting period         3 years          
Adjusted EBITDA Performance-Based Restricted Stock Units | 2012 Stock Incentive Plan                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Vesting period         1 year          
Weighted-average grant date fair value (in dollars per share)         $ 14.74          
Total Shareholder Return, Performance Based Restricted Stock Units | 2012 Stock Incentive Plan                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Weighted-average grant date fair value (in dollars per share)         $ 17.44          
Total Shareholder Return, Performance Based Restricted Stock Units | Minimum | 2012 Stock Incentive Plan                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Vesting period         2 years          
Total Shareholder Return, Performance Based Restricted Stock Units | Maximum | 2012 Stock Incentive Plan                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Vesting period         3 years          
Performance-Based Restricted Stock Units (RSUs)                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Share-based compensation expense $ 600,000   $ 300,000   $ 900,000 $ 700,000        
Share based compensation potential compensation expense to be recognized 4,200,000       4,200,000          
Performance-Based Restricted Stock Units (RSUs) | Maximum                    
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]                    
Share based compensation potential compensation expense to be recognized $ 7,600,000       $ 7,600,000