Stock Compensation - Schedule of Valuation Assumptions Used for Value of Stock Compensation Granted (Details) - $ / shares |
3 Months Ended | 9 Months Ended | ||
|---|---|---|---|---|
Sep. 30, 2024 |
Sep. 30, 2023 |
Sep. 30, 2024 |
Sep. 30, 2023 |
|
| Employee Stock Purchase Plan | ||||
| Weighted-average fair value assumptions | ||||
| Average risk-free interest rates | 4.38% | 5.03% | 4.96% | 4.50% |
| Average expected life (in years) | 6 months | 6 months | 6 months | 6 months |
| Volatility | 28.00% | 24.00% | 24.00% | 22.00% |
| Weighted-average fair value (in dollars per share) | $ 12.11 | $ 15.36 | $ 11.27 | $ 14.72 |
| Employee Stock Options | ||||
| Weighted-average fair value assumptions | ||||
| Average risk-free interest rates | 4.18% | 4.17% | 4.15% | 3.95% |
| Average expected life (in years) | 5 years 2 months 1 day | 5 years 1 month 28 days | 5 years 7 days | 5 years 18 days |
| Volatility | 29.00% | 32.00% | 30.00% | 32.00% |
| Weighted-average fair value (in dollars per share) | $ 21.54 | $ 22.32 | $ 21.02 | $ 24.68 |