v3.22.2.2
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
shares in Thousands, $ in Thousands
Common Stock
Retained Earnings
Accumulated Other Comprehensive Income (Loss)
Total
Beginning balance at Dec. 31, 2020 $ 606,224 $ 357,803 $ (5,452) $ 958,575
Beginning balance (in shares) at Dec. 31, 2020 55,623      
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Net income   10,958   10,958
Other comprehensive income (loss)     (1,730) (1,730)
Stock-based compensation expense $ 3,310     3,310
Options exercised $ 5,897     5,897
Options exercised (in shares) 291      
Issuance of common stock under Employee Stock Purchase Plan $ 263     263
Issuance of common stock under Employee Stock Purchase Plans (in shares) 5      
Shares issued from time-vested restricted stock units (in shares) 25      
Shares surrendered in exchange for payment of payroll tax liabilities $ (488)     (488)
Shares surrendered in exchange for payment of payroll tax liabilities (in shares) (9)      
Shares surrendered in exchange for exercise of stock options $ (93)     (93)
Shares surrendered in exchange for exercise of stock options (in shares) (2)      
Ending balance at Mar. 31, 2021 $ 615,113 368,761 (7,182) 976,692
Ending balance (in shares) at Mar. 31, 2021 55,933      
Beginning balance at Dec. 31, 2020 $ 606,224 357,803 (5,452) 958,575
Beginning balance (in shares) at Dec. 31, 2020 55,623      
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Net income       27,841
Other comprehensive income (loss)       (764)
Shares surrendered in exchange for exercise of stock options       (179)
Ending balance at Sep. 30, 2021 $ 633,948 385,644 (6,216) 1,013,376
Ending balance (in shares) at Sep. 30, 2021 56,452      
Beginning balance at Mar. 31, 2021 $ 615,113 368,761 (7,182) 976,692
Beginning balance (in shares) at Mar. 31, 2021 55,933      
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Net income   4,916   4,916
Other comprehensive income (loss)     2,348 2,348
Stock-based compensation expense $ 2,765     2,765
Options exercised $ 5,455     5,455
Options exercised (in shares) 253      
Issuance of common stock under Employee Stock Purchase Plan $ 258     258
Issuance of common stock under Employee Stock Purchase Plans (in shares) 4      
Shares issued from time-vested restricted stock units (in shares) 34      
Ending balance at Jun. 30, 2021 $ 623,591 373,677 (4,834) 992,434
Ending balance (in shares) at Jun. 30, 2021 56,224      
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Net income   11,967   11,967
Other comprehensive income (loss)     (1,382) (1,382)
Stock-based compensation expense $ 4,411     4,411
Options exercised $ 5,806     5,806
Options exercised (in shares) 225      
Issuance of common stock under Employee Stock Purchase Plan $ 314     314
Issuance of common stock under Employee Stock Purchase Plans (in shares) 5      
Shares surrendered in exchange for payment of payroll tax liabilities $ (88)     (88)
Shares surrendered in exchange for payment of payroll tax liabilities (in shares) (1)      
Shares surrendered in exchange for exercise of stock options $ (86)     (86)
Shares surrendered in exchange for exercise of stock options (in shares) (1)      
Ending balance at Sep. 30, 2021 $ 633,948 385,644 (6,216) 1,013,376
Ending balance (in shares) at Sep. 30, 2021 56,452      
Beginning balance at Dec. 31, 2021 $ 641,533 406,257 (7,991) $ 1,039,799
Beginning balance (in shares) at Dec. 31, 2021 56,570     56,570
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Net income   10,545   $ 10,545
Other comprehensive income (loss)     1,338 1,338
Stock-based compensation expense $ 4,212     4,212
Options exercised $ 1,320     1,320
Options exercised (in shares) 52      
Issuance of common stock under Employee Stock Purchase Plan $ 320     320
Issuance of common stock under Employee Stock Purchase Plans (in shares) 5      
Shares issued from time-vested restricted stock units (in shares) 44      
Shares surrendered in exchange for payment of payroll tax liabilities $ (1,015)     (1,015)
Shares surrendered in exchange for payment of payroll tax liabilities (in shares) (16)      
Ending balance at Mar. 31, 2022 $ 646,370 416,802 (6,653) 1,056,519
Ending balance (in shares) at Mar. 31, 2022 56,655      
Beginning balance at Dec. 31, 2021 $ 641,533 406,257 (7,991) $ 1,039,799
Beginning balance (in shares) at Dec. 31, 2021 56,570     56,570
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Net income       $ 41,115
Other comprehensive income (loss)       (8,738)
Shares surrendered in exchange for exercise of stock options       (898)
Ending balance at Sep. 30, 2022 $ 658,198 447,372 (16,729) $ 1,088,841
Ending balance (in shares) at Sep. 30, 2022 56,918     56,918
Beginning balance at Mar. 31, 2022 $ 646,370 416,802 (6,653) $ 1,056,519
Beginning balance (in shares) at Mar. 31, 2022 56,655      
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Net income   15,298   15,298
Other comprehensive income (loss)     (4,066) (4,066)
Stock-based compensation expense $ 3,952     3,952
Options exercised $ 1,303     1,303
Options exercised (in shares) 58      
Issuance of common stock under Employee Stock Purchase Plan $ 301     301
Issuance of common stock under Employee Stock Purchase Plans (in shares) 6      
Shares issued from time-vested restricted stock units (in shares) 26      
Ending balance at Jun. 30, 2022 $ 651,926 432,100 (10,719) 1,073,307
Ending balance (in shares) at Jun. 30, 2022 56,745      
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Net income   15,272   15,272
Other comprehensive income (loss)     (6,010) (6,010)
Stock-based compensation expense $ 3,893     3,893
Options exercised $ 4,141     4,141
Options exercised (in shares) 201      
Issuance of common stock under Employee Stock Purchase Plan $ 246     246
Issuance of common stock under Employee Stock Purchase Plans (in shares) 5      
Shares surrendered in exchange for payment of payroll tax liabilities $ (1,110)     (1,110)
Shares surrendered in exchange for payment of payroll tax liabilities (in shares) (18)      
Shares surrendered in exchange for exercise of stock options $ (898)     (898)
Shares surrendered in exchange for exercise of stock options (in shares) (15)      
Ending balance at Sep. 30, 2022 $ 658,198 $ 447,372 $ (16,729) $ 1,088,841
Ending balance (in shares) at Sep. 30, 2022 56,918     56,918