XML 68 R57.htm IDEA: XBRL DOCUMENT
v3.25.1

Revenue - Additional Information (Details) - USD ($) $ in Thousands | 3 Months Ended |
--- | --- | ---
Mar. 31, 2025 | Mar. 31, 2024 | Dec. 31, 2024
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |  |
Revenue recognized | $ 425,300 | $ 346,800 |
Remaining performance obligations | 2,309,000 |  | $ 2,273,100
Accounts charged of accounts receivable deemed uncollectible against the allowance for credit losses | 3,100 | 2,600 |
Unbilled accounts receivable | $ 83,400 |  | 77,000
Deferred contract costs amortization period | 4 years |  |
Deferred contract costs | $ 149,300 |  | $ 142,700
Amortization of deferred contract costs | $ 14,853 | $ 11,844 |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2025-04-01 |  |  |
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] |  |  |
Remaining performance obligations, expected to recognize period | 24 months |  |

X
- Definition Amount of increase (decrease) in allowance for credit loss on accounts receivable. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 326 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13 + Details
Name: | us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 340 -SubTopic 40 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479483/340-40-50-3 + Details
Name: | us-gaap_CapitalizedContractCostAmortization
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amortization period of cost capitalized in obtaining or fulfilling contract with customer, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (b) -SubTopic 40 -Topic 340 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479483/340-40-50-2 + Details
Name: | us-gaap_CapitalizedContractCostAmortizationPeriod
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 8 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8 + Details
Name: | us-gaap_ContractWithCustomerLiabilityRevenueRecognized
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The carrying amount of deferred costs. + References No definition available. + Details
Name: | us-gaap_DeferredCostsCurrentAndNoncurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount of transaction price allocated to performance obligation that has not been recognized as revenue. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (a) -SubTopic 10 -Topic 606 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(1) -SubTopic 10 -Topic 606 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 + Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer. + References No definition available. + Details
Name: | us-gaap_UnbilledReceivablesCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-04-01
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |