XML 23 R5.htm IDEA: XBRL DOCUMENT v3.19.3.a.u2
Consolidated Statements of Shareholders' Equity - USD ($)
$ in Thousands
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Total
Balance (in shares) at Dec. 31, 2016 26,504,868        
Balance at Dec. 31, 2016 $ 26 $ 213,857 $ 176,703 $ (10,753) $ 379,833
Common shares issued on exercise of options and other (in shares) 283,449        
Common shares issued on exercise of options and other $ 1 8,603 0 0 8,604
Common shares issued for RAPID acquisition (in shares) 118,140        
Common shares issued for RAPID acquisition $ 1 11,335 0 0 11,336
Stock-based compensation expense $ 0 8,558 0 0 8,558
Repurchases of Common Stock (in shares) (77,806)        
Repurchases of Common Stock $ (1) (628) (3,784) 0 (4,413)
Net income 0 0 51,778 0 51,778
Other Comprehensive (Loss) Income, net of tax          
Foreign currency translation adjustments $ 0 0 0 5,519 5,519
Comprehensive income         57,297
Common shares issued on exercise of options and other (in shares) 283,449        
Common shares issued on exercise of options and other $ 1 8,603 0 0 8,604
Stock-based compensation expense $ 0 8,558 0 0 8,558
Repurchases of Common Stock (in shares) (77,806)        
Repurchases of Common Stock $ (1) (628) (3,784) 0 (4,413)
Net income $ 0 0 51,778 0 51,778
Balance (in shares) at Dec. 31, 2017 26,828,651        
Balance at Dec. 31, 2017 $ 27 241,725 224,697 (5,234) 461,215
Common shares issued on exercise of options and other (in shares) 260,694        
Common shares issued on exercise of options and other $ 0 6,791 0 0 6,791
Stock-based compensation expense $ 0 10,928 0 0 10,928
Repurchases of Common Stock (in shares) (104,598)        
Repurchases of Common Stock $ 0 (942) (11,287) 0 (12,229)
Net income 0 0 76,588 0 76,588
Other Comprehensive (Loss) Income, net of tax          
Foreign currency translation adjustments $ 0 0 0 (3,258) (3,258)
Comprehensive income         73,330
Common shares issued on exercise of options and other (in shares) 260,694        
Common shares issued on exercise of options and other $ 0 6,791 0 0 6,791
Stock-based compensation expense $ 0 10,928 0 0 10,928
Repurchases of Common Stock (in shares) (104,598)        
Repurchases of Common Stock $ 0 (942) (11,287) 0 (12,229)
Net income $ 0 0 76,588 0 $ 76,588
Balance (in shares) at Dec. 31, 2018 26,984,747       26,984,747
Balance at Dec. 31, 2018 $ 27 258,502 291,460 (8,492) $ 541,497
Other Comprehensive (Loss) Income, net of tax          
Revenue recognition transition adjustment $ 0 0 1,462 0 1,462
Common shares issued on exercise of options and other (in shares) 128,174        
Common shares issued on exercise of options and other $ 0 1,904 0 0 1,904
Stock-based compensation expense $ 0 10,781 0 0 10,781
Repurchases of Common Stock (in shares) (326,462)        
Repurchases of Common Stock $ 0 (3,128) (30,393) 0 (33,521)
Net income 0 0 63,655 0 63,655
Foreign currency translation adjustments $ 0 0 0 1,474 1,474
Comprehensive income         65,129
Common shares issued on exercise of options and other (in shares) 128,174        
Common shares issued on exercise of options and other $ 0 1,904 0 0 1,904
Stock-based compensation expense $ 0 10,781 0 0 10,781
Repurchases of Common Stock (in shares) (326,462)        
Repurchases of Common Stock $ 0 (3,128) (30,393) 0 (33,521)
Net income $ 0 0 63,655 0 $ 63,655
Balance (in shares) at Dec. 31, 2019 26,786,459       26,786,459
Balance at Dec. 31, 2019 $ 27 $ 268,059 $ 324,722 $ (7,018) $ 585,790