v3.26.1
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY (Unaudited) - USD ($)
shares in Thousands, $ in Thousands
Total
Common Stock
Additional Paid-In Capital
Accumulated Other Comprehensive Loss
Retained Earnings
Beginning Balance (in shares) at Dec. 31, 2024   56,837      
Beginning balance at Dec. 31, 2024 $ 749,772 $ 22 $ 18,734 $ (3,023) $ 734,039
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Repurchase of common stock (in shares)   (1,109)      
Repurchase of common stock (55,658) $ (1) (40,281)   (15,376)
Issuance of common stock under employee stock purchase plan (in shares)   430      
Issuance of common stock under employee stock purchase plan 2,787   2,787    
Stock-based compensation expense related to employee stock awards 17,952   17,952    
Stock-based compensation expense related to employee stock purchases 808   808    
Payment of dividends to stockholders (23,768)       (23,768)
Unrealized (loss) gain on investments 689     689  
Foreign currency translation adjustment 1,047     1,047  
Net income 10,159       10,159
Ending Balance (in shares) at Jun. 30, 2025   56,158      
Ending balance at Jun. 30, 2025 703,788 $ 21 0 (1,287) 705,054
Beginning Balance (in shares) at Mar. 31, 2025   56,692      
Beginning balance at Mar. 31, 2025 735,815 $ 22 7,106 (2,183) 730,870
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock under employee stock option and stock award plans (in shares)   171      
Repurchase of common stock (in shares)   (705)      
Repurchase of common stock (32,560) $ (1) (17,183)   (15,376)
Stock-based compensation expense related to employee stock awards 9,623   9,623    
Stock-based compensation expense related to employee stock purchases 454   454    
Payment of dividends to stockholders (11,809)       (11,809)
Unrealized actuarial gain on pension benefits 1     1  
Unrealized (loss) gain on investments 238     238  
Foreign currency translation adjustment 657     657  
Net income 1,369       1,369
Ending Balance (in shares) at Jun. 30, 2025   56,158      
Ending balance at Jun. 30, 2025 $ 703,788 $ 21 0 (1,287) 705,054
Beginning Balance (in shares) at Dec. 31, 2025 55,339 55,339      
Beginning balance at Dec. 31, 2025 $ 672,845 $ 20 0 (1,105) 673,930
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock under employee stock option and stock award plans (in shares)   375      
Issuance of common stock under employee stock option and stock award plans 0        
Issuance of common stock under employee stock purchase plan (in shares)   69      
Issuance of common stock under employee stock purchase plan 2,690   2,690    
Stock-based compensation expense related to employee stock awards 16,680   16,680    
Stock-based compensation expense related to employee stock purchases 860   860    
Payment of dividends to stockholders (23,837)       (23,837)
Unrealized actuarial gain on pension benefits 3     3  
Unrealized (loss) gain on investments (1,526)     (1,526)  
Foreign currency translation adjustment (320)     (320)  
Net income $ 13,133       13,133
Ending Balance (in shares) at Jun. 30, 2026 55,783 55,783      
Ending balance at Jun. 30, 2026 $ 680,528 $ 20 20,230 (2,948) 663,226
Beginning Balance (in shares) at Mar. 31, 2026   55,600      
Beginning balance at Mar. 31, 2026 671,806 $ 20 8,997 (2,491) 665,280
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Issuance of common stock under employee stock option and stock award plans (in shares)   183      
Issuance of common stock under employee stock option and stock award plans 0        
Stock-based compensation expense related to employee stock awards 10,763   10,763    
Stock-based compensation expense related to employee stock purchases 470   470    
Payment of dividends to stockholders (11,887)       (11,887)
Unrealized actuarial gain on pension benefits 1     1  
Unrealized (loss) gain on investments (527)     (527)  
Foreign currency translation adjustment 69     69  
Net income $ 9,833       9,833
Ending Balance (in shares) at Jun. 30, 2026 55,783 55,783      
Ending balance at Jun. 30, 2026 $ 680,528 $ 20 $ 20,230 $ (2,948) $ 663,226