v3.25.2
Equity Incentive Plans - Additional Information (Details) - USD ($)
6 Months Ended
Jun. 30, 2025
Apr. 24, 2025
Dec. 31, 2024
Jun. 30, 2024
Dec. 31, 2023
Apr. 30, 2019
Apr. 13, 2019
Jun. 30, 2016
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of option outstanding 185,928              
Options outstanding, weighted average exercise price $ 58.58              
Stock Appreciation Rights (SARs)                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of option outstanding 138,627   142,785 151,502 157,020      
Options outstanding, weighted average exercise price $ 56.49   $ 55.03 $ 54.9 $ 54.88      
Employee Stock Option                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of option outstanding 185,928   193,395 210,134 214,974      
Options outstanding, weighted average exercise price $ 58.58   $ 57.66 $ 57.3 $ 57.08      
Total unrecognized compensation cost $ 1,011,000              
weighted-average period of recognized 2 years 1 month 13 days              
Cash Settled SARS Activity                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Total unrecognized compensation cost $ 780,000              
weighted-average period of recognized 2 years 2 months 4 days              
Restricted Share Awards                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of non-option outstanding 153   153 301 301      
Non-options outstanding, weighted average exercise price $ 66.7   $ 66.7 $ 66.7 $ 66.7      
Total unrecognized compensation cost $ 5,000              
weighted-average period of recognized 4 months 20 days              
Restricted Share Units                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of non-option outstanding 20,639   24,482 24,857 14,458      
Non-options outstanding, weighted average exercise price $ 70.98   $ 70.44 $ 70.46 $ 69      
Total unrecognized compensation cost $ 1,204,000              
weighted-average period of recognized 3 years 3 months 18 days              
Performance-Based Vesting Restricted Stock Units                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of non-option outstanding 369   738 738 1,107      
Non-options outstanding, weighted average exercise price $ 67.85   $ 67.85 $ 67.85 $ 67.85      
Total unrecognized compensation cost $ 15,000              
weighted-average period of recognized 7 months 2 days              
The 2009 Stock Option Plan [Member]                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of Shares Authorized           100,000    
Number of shares available for grant             0  
Number of option outstanding 300              
Options outstanding, weighted average exercise price $ 37.31              
The 2016 Equity Incentive Plan [Member]                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of Shares Authorized               750,000
Number of shares available for grant   0            
Number of option outstanding 178,962              
Options outstanding, weighted average exercise price $ 57.95              
The 2016 Equity Incentive Plan [Member] | Stock Appreciation Rights (SARs)                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of non-option outstanding 131,627              
Non-options outstanding, weighted average exercise price $ 55.43              
The 2016 Equity Incentive Plan [Member] | Restricted Share Awards                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of non-option outstanding 153              
The 2016 Equity Incentive Plan [Member] | Restricted Share Units                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of non-option outstanding 19,181              
The 2016 Equity Incentive Plan [Member] | Performance Share Unit Awards                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of non-option outstanding 369              
The 2025 Equity Incentive Plan [Member]                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of Shares Authorized   675,000            
Shares reserved for issuance   675,000            
Number of shares available for grant 659,501              
Number of option outstanding 6,666              
Options outstanding, weighted average exercise price $ 76.3              
The 2025 Equity Incentive Plan [Member] | Stock Appreciation Rights (SARs)                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of non-option outstanding 7,000              
Non-options outstanding, weighted average exercise price $ 76.3              
The 2025 Equity Incentive Plan [Member] | Restricted Share Units                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of non-option outstanding 1,458              
The 2025 Equity Incentive Plan [Member] | Newly Reserved Shares                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Shares reserved for issuance   508,388            
The 2025 Equity Incentive Plan [Member] | Initially Reserved for Issuance | Common Stock                
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]                
Number of shares available for grant   166,612