XML 113 R97.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Earnings Per Share - Additional Information (Details) - USD ($) | 12 Months Ended |  |
--- | --- | --- | ---
Dec. 31, 2023 | Dec. 31, 2022 | Dec. 31, 2021 | Nov. 01, 2023 | May 09, 2023
Earnings Per Share [Abstract] |  |  |  |  |
Share repurchase program, authorized amount |  |  |  | $ 75,000,000 | $ 75,000,000
Shares repurchased (in shares) | 25,042 |  |  |  |
Weighted average price for stock repurchase (in dollars per share) | $ 114.55 |  |  |  |
Remaining availability under share repurchase program | $ 72,500,000 |  |  |  |
Shares repurchased related to tax withholding for stock-based compensation (in shares) | 76,150 | 68,675 |  |  |
Shares repurchased related to tax withholding for stock-based compensation | $ 7,936,000 | $ 6,791,000 | $ 3,352,000 |  |

X
- Definition Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement. + References No definition available. + Details
Name: | us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_EarningsPerShareAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement. + References No definition available. + Details
Name: | us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of stock repurchase plan authorized. + References No definition available. + Details
Name: | us-gaap_StockRepurchaseProgramAuthorizedAmount1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount remaining of a stock repurchase plan authorized. + References No definition available. + Details
Name: | us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Number of shares that have been repurchased and retired during the period. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 50 -Paragraph 2 -SubTopic 10 -Topic 505 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(28)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 505 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.3-04) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(29)) -Publisher FASB -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_StockRepurchasedAndRetiredDuringPeriodShares
Namespace Prefix: | us-gaap_
Data Type: | xbrli:sharesItemType
Balance Type: | na
Period Type: | duration

X
- Definition Total cost of shares repurchased divided by the total number of shares repurchased. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 505 -SubTopic 30 -Section 45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1 + Details
Name: | us-gaap_TreasuryStockAcquiredAverageCostPerShare
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:perShareItemType
Balance Type: | na
Period Type: | duration