Consolidated Statements of Shareholders' Equity - USD ($)
shares in Thousands, $ in Thousands
Total
Common Stock Issued
Additional Paid-in Capital
Retained Earnings
Accumulated Other Comprehensive Loss
Balance (in shares) at Dec. 31, 2016   10,895      
Balance at Dec. 31, 2016 $ 117,401 $ 109 $ 63,910 $ 57,959 $ (4,577)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income 59,497     59,497  
Foreign currency translation adjustments 3,052       3,052
Unrealized gain (loss) on cash flow hedge (155)       (155)
Employee stock awards and stock options (in shares)   226      
Employee stock awards and stock options 714 $ 2 712    
Stock-based compensation 2,863   2,863    
Balance (in shares) at Dec. 31, 2017   11,121      
Balance at Dec. 31, 2017 183,372 $ 111 67,526 117,415 (1,680)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income 35,296     35,296  
Foreign currency translation adjustments (1,426)       (1,426)
Unrealized gain (loss) on cash flow hedge (52)       (52)
Employee stock awards and stock options (in shares)   146      
Employee stock awards and stock options 715 $ 2 713    
Stock-based compensation 3,490   3,490    
Balance (in shares) at Dec. 31, 2018   11,267      
Balance at Dec. 31, 2018 221,300 $ 113 71,729 152,616 (3,158)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net income 34,716     34,716  
Foreign currency translation adjustments (834)       (834)
Unrealized gain (loss) on cash flow hedge (831)       (831)
Employee stock awards and stock options (in shares)   257      
Employee stock awards and stock options 2,604 $ 2 2,602    
Stock-based compensation 4,426   4,426    
Balance (in shares) at Dec. 31, 2019   11,524      
Balance at Dec. 31, 2019 $ 261,381 $ 115 $ 78,757 $ 187,591 $ (5,082)