XML 47 R34.htm IDEA: XBRL DOCUMENT
v3.25.1

Revenue - Sales Commissions (Narrative) (Details) - USD ($) | 3 Months Ended |
--- | --- | ---
Mar. 31, 2025 | Mar. 31, 2024 | Dec. 31, 2024
Disaggregation of Revenue [Line Items] |  |  |
Capitalized contract cost, amortization period | 3 years |  |
Capitalized contract cost, amortization | $ 1,900,000 | $ 2,400,000 |
Capitalized contract cost, impairment loss | 0 | $ 0 |
Prepaid Expenses and Other Current Assets |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Capitalized contract costs | 6,200,000 |  | $ 6,500,000
Other Assets |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Capitalized contract costs | $ 4,500,000 |  | $ 5,400,000

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 impairment loss 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_CapitalizedContractCostImpairmentLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Amount, after accumulated amortization and accumulated impairment loss, of 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 (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479483/340-40-50-3 + Details
Name: | us-gaap_CapitalizedContractCostNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
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 Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 3: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 4: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 5: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 6: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 7: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 8: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (g) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 + Details
Name: | us-gaap_DisaggregationOfRevenueLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_BalanceSheetLocationAxis=us-gaap_OtherAssetsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |