Annual report [Section 13 and 15(d), not S-K Item 405]

Stock-Based Compensation (Narrative) (Details)

v3.25.0.1
Stock-Based Compensation (Narrative) (Details) - USD ($)
12 Months Ended
Dec. 31, 2024
Dec. 31, 2023
Dec. 31, 2022
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Shares reserved for future issuance (in shares) 3,000,000    
Number of additional shares authorized (in shares) 1,500,000    
Stock options, granted (in shares) 156,277    
Granted, weighted average exercise price $ 82.55    
Options outstanding, beginning, weighted average remaining contractual life, years 6 years 1 month 28 days    
Stock-based compensation expense $ 25,167,000 $ 23,051,000 $ 21,021,000
Tax benefit for the deduction from share based award transactions $ 3,700,000 3,900,000 3,600,000
2020 Plan [Member]      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Shares available for future grants 2,223,759    
Stock options      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Unrecognized costs related to share based compensation $ 8,900,000    
Weighted average remaining period 1 year 10 months 17 days    
Stock-based compensation expense $ 6,400,000 8,200,000 7,800,000
Intrinsic value of stock options exercised 1,800,000 3,000,000.0 3,400,000
Cash received on exercises of stock options $ 6,100,000 $ 7,400,000 $ 6,600,000
Vesting period 4 years    
Expiration period, years 10 years    
Performance Based Restricted Stock Units      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Unrecognized costs related to share based compensation $ 900,000    
Granted, number of shares (in shares) 30,533    
Estimated average fair value per restricted stock unit granted $ 76.54 $ 84.77 $ 85.64
Weighted average remaining period 1 year 5 months 15 days    
Stock-based compensation expense $ 600,000 $ 500,000 $ 500,000
Nonvested, number (in shares) 51,879 23,374  
Grant date fair value of vested units $ 600,000 $ 300,000  
Performance Based Restricted Stock Units | Minimum      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting period 2 years    
Payout percent 0.00%    
Performance Based Restricted Stock Units | Maximum      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting period 3 years    
Payout percent 200.00%    
Market-Based Restricted Stock Units      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Unrecognized costs related to share based compensation $ 1,500,000    
Granted, number of shares (in shares) 26,613    
Estimated average fair value per restricted stock unit granted $ 89.25 $ 0 $ 0
Weighted average remaining period 2 years    
Stock-based compensation expense $ 600,000 $ 0 $ 0
Nonvested, number (in shares) 26,273 0  
Vesting period 3 years    
Market-Based Restricted Stock Units | Minimum      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Payout percent 0.00%    
Market-Based Restricted Stock Units | Maximum      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Payout percent 200.00%    
Time-Based Restricted Stock Units      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Unrecognized costs related to share based compensation $ 30,500    
Granted, number of shares (in shares) 369,353    
Estimated average fair value per restricted stock unit granted $ 78.26 $ 82.37 $ 85.25
Weighted average remaining period 2 years 5 months 8 days    
Stock-based compensation expense $ 17,200,000 $ 14,300,000 $ 12,700,000
Nonvested, number (in shares) 586,016 455,641  
Vesting period 4 years    
Grant date fair value of vested units $ 14,400,000 $ 13,100,000 $ 12,100,000
Time-Based Restricted Stock Units | Share-Based Payment Arrangement, Nonemployee      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting period 1 year    
Market-Based Long-Term Cash Award      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Unrecognized costs related to share based compensation $ 900,000    
Weighted average remaining period 2 years    
Stock-based compensation expense $ 400,000    
Vesting period 3 years    
Grant date fair value of vested units $ 1,300,000    
Long term cash award granted $ 1,200,000    
Market-Based Long-Term Cash Award | Minimum      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Payout percent 0.00%    
Market-Based Long-Term Cash Award | Maximum      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Payout percent 200.00%