v3.26.1
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
$ in Thousands
Total
Common Stock
Treasury Stock
Additional Paid-in Capital
Retained Earnings
Accumulated Other Comprehensive Earnings (Loss)
Beginning Balance (in shares) at Dec. 31, 2024   12,457,658        
Beginning Balance at Dec. 31, 2024 $ 99,790 $ 124 $ (942) $ 57,658 $ 45,087 $ (2,137)
Treasury Stock, Beginning Balance (in shares) at Dec. 31, 2024     79,382      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Comprehensive earnings (loss) (867)       (2,329) 1,462
Amortization of stock-based deferred compensation 423     423    
Issuance of unvested shares of restricted stock (in shares)   134,196        
Issuance of unvested shares of restricted stock 0 $ 1   (1)    
Forfeiture of unvested shares of restricted stock (in shares)   (27,365)        
Stock options exercised (in shares)   4,925        
Stock options exercised 18     18    
Shares issued under Employee Stock Purchase Plan (in shares)   5,374        
Shares issued under Employee Stock Purchase Plan 36     36    
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (in shares)     646      
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (5)   $ (5)      
Shares withheld to satisfy tax liability at vesting of restricted stock units (in shares)     (646)      
Ending Balance (in shares) at Mar. 31, 2025   12,574,788        
Ending Balance at Mar. 31, 2025 99,395 $ 125 $ (947) 58,134 42,758 (675)
Treasury Stock, Ending Balance (in shares) at Mar. 31, 2025     80,028      
Beginning Balance (in shares) at Dec. 31, 2024   12,457,658        
Beginning Balance at Dec. 31, 2024 99,790 $ 124 $ (942) 57,658 45,087 (2,137)
Treasury Stock, Beginning Balance (in shares) at Dec. 31, 2024     79,382      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Comprehensive earnings (loss) 1,872          
Amortization of stock-based deferred compensation 858          
Ending Balance (in shares) at Jun. 30, 2025   12,559,753        
Ending Balance at Jun. 30, 2025 102,592 $ 125 $ (959) 58,604 42,255 2,567
Treasury Stock, Ending Balance (in shares) at Jun. 30, 2025     82,077      
Beginning Balance (in shares) at Mar. 31, 2025   12,574,788        
Beginning Balance at Mar. 31, 2025 99,395 $ 125 $ (947) 58,134 42,758 (675)
Treasury Stock, Beginning Balance (in shares) at Mar. 31, 2025     80,028      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Comprehensive earnings (loss) 2,739       (503) 3,242
Amortization of stock-based deferred compensation 435     435    
Forfeiture of unvested shares of restricted stock (in shares)   (19,627)        
Stock options exercised (in shares)   4,592        
Stock options exercised       35    
Shares issued under Employee Stock Purchase Plan (in shares)   4,592        
Shares issued under Employee Stock Purchase Plan 35     35    
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (in shares)     2,049      
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (12)   $ (12)      
Shares withheld to satisfy tax liability at vesting of restricted stock units (in shares)     (2,049)      
Ending Balance (in shares) at Jun. 30, 2025   12,559,753        
Ending Balance at Jun. 30, 2025 $ 102,592 $ 125 $ (959) 58,604 42,255 2,567
Treasury Stock, Ending Balance (in shares) at Jun. 30, 2025     82,077      
Beginning Balance (in shares) at Dec. 31, 2025 12,570,865 12,570,865        
Beginning Balance at Dec. 31, 2025 $ 103,623 $ 125 $ (959) 59,436 42,560 2,461
Treasury Stock, Beginning Balance (in shares) at Dec. 31, 2025 82,077   82,077      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Comprehensive earnings (loss) $ (556)       183 (739)
Amortization of stock-based deferred compensation 291     291    
Issuance of unvested shares of restricted stock (in shares)   100,528        
Issuance of unvested shares of restricted stock 0 $ 1   (1)    
Forfeiture of unvested shares of restricted stock (in shares)   (120,913)        
Forfeiture of unvested shares of restricted stock 0 $ (1)   1    
Stock options exercised (in shares)   65,393        
Stock options exercised 534 $ 1   533    
Shares issued under Employee Stock Purchase Plan (in shares)   2,675        
Shares issued under Employee Stock Purchase Plan 36     36    
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (in shares)   1,803 2,682      
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (37)   $ (37)      
Shares issued upon vesting of restricted stock units (in shares)   16,306        
Shares withheld to satisfy tax liability at vesting of restricted stock units (in shares)   (1,803) (2,682)      
Shares withheld to satisfy tax liability at vesting of restricted stock units (28)     (28)    
Ending Balance (in shares) at Mar. 31, 2026   12,633,051        
Ending Balance at Mar. 31, 2026 $ 103,863 $ 126 $ (996) 60,268 42,743 1,722
Treasury Stock, Ending Balance (in shares) at Mar. 31, 2026     84,759      
Beginning Balance (in shares) at Dec. 31, 2025 12,570,865 12,570,865        
Beginning Balance at Dec. 31, 2025 $ 103,623 $ 125 $ (959) 59,436 42,560 2,461
Treasury Stock, Beginning Balance (in shares) at Dec. 31, 2025 82,077   82,077      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Comprehensive earnings (loss) $ (459)          
Amortization of stock-based deferred compensation $ 1,134          
Stock options exercised (in shares) 330,149          
Ending Balance (in shares) at Jun. 30, 2026 12,912,071 12,912,071        
Ending Balance at Jun. 30, 2026 $ 107,697 $ 129 $ (1,022) 64,028 43,217 1,345
Treasury Stock, Ending Balance (in shares) at Jun. 30, 2026 86,285   86,285      
Beginning Balance (in shares) at Mar. 31, 2026   12,633,051        
Beginning Balance at Mar. 31, 2026 $ 103,863 $ 126 $ (996) 60,268 42,743 1,722
Treasury Stock, Beginning Balance (in shares) at Mar. 31, 2026     84,759      
Increase (Decrease) in Stockholders' Equity [Roll Forward]            
Comprehensive earnings (loss) 97       474 (377)
Amortization of stock-based deferred compensation 843     843    
Issuance of unvested shares of restricted stock (in shares)   18,000        
Forfeiture of unvested shares of restricted stock (in shares)   (6,000)        
Stock options exercised (in shares)   264,756        
Stock options exercised 2,879 $ 3   2,876    
Shares issued under Employee Stock Purchase Plan (in shares)   2,264        
Shares issued under Employee Stock Purchase Plan 41     41    
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards (in shares)     1,526      
Shares surrendered by employees to satisfy tax liability at vesting of stock-based awards $ (26)   $ (26)      
Shares withheld to satisfy tax liability at vesting of restricted stock units (in shares)     (1,526)      
Ending Balance (in shares) at Jun. 30, 2026 12,912,071 12,912,071        
Ending Balance at Jun. 30, 2026 $ 107,697 $ 129 $ (1,022) $ 64,028 $ 43,217 $ 1,345
Treasury Stock, Ending Balance (in shares) at Jun. 30, 2026 86,285   86,285