Stock Compensation - Schedule of Valuation Assumptions Used for Value of Stock Compensation Granted (Details) - $ / shares |
3 Months Ended | 6 Months Ended | ||
|---|---|---|---|---|
Jun. 30, 2024 |
Jun. 30, 2023 |
Jun. 30, 2024 |
Jun. 30, 2023 |
|
| Employee Stock Purchase Plan | ||||
| Weighted-average fair value assumptions | ||||
| Average risk-free interest rates (as a percent) | 5.33% | 4.87% | 5.41% | 4.27% |
| Average expected life (in years) | 6 months | 6 months | 6 months | 6 months |
| Volatility (as a percent) | 28.00% | 27.00% | 22.00% | 23.00% |
| Weighted-average fair value (in dollars per share) | $ 10.45 | $ 13.82 | $ 10.54 | $ 14.08 |
| Employee Stock Option | ||||
| Weighted-average fair value assumptions | ||||
| Average risk-free interest rates (as a percent) | 4.36% | 3.88% | 4.13% | 3.76% |
| Average expected life (in years) | 5 years 10 months 2 days | 5 years 6 months 29 days | 4 years 10 months 28 days | 4 years 11 months 12 days |
| Volatility (as a percent) | 25.00% | 29.00% | 30.00% | 32.00% |
| Weighted-average fair value (in dollars per share) | $ 20.18 | $ 22.57 | $ 20.59 | $ 26.78 |