XML 94 R81.htm IDEA: XBRL DOCUMENT
v3.25.0.1

Intangible Assets - Schedule of Gross Amount and Accumulated Amortization of Intangible Assets (Details) - USD ($) $ in Thousands | 12 Months Ended |
--- | --- | ---
Dec. 31, 2024 | Dec. 31, 2023
Acquired Finite Lived Intangible Assets [Line Items] |  |
Gross Carrying Amount | $ 549,855 | $ 463,515
Accumulated Amortization | (199,918) | (187,949)
Net Carrying Amount | 349,937 | 275,566
Backlog |  |
Acquired Finite Lived Intangible Assets [Line Items] |  |
Gross Carrying Amount | 142,100 | 130,000
Accumulated Amortization | (51,322) | (45,964)
Net Carrying Amount | $ 90,778 | 84,036
Weighted Average Amortization Period (in years) | 4 years 6 months |
Customer Relationships |  |
Acquired Finite Lived Intangible Assets [Line Items] |  |
Gross Carrying Amount | $ 372,930 | 297,120
Accumulated Amortization | (139,568) | (124,194)
Net Carrying Amount | $ 233,362 | 172,926
Weighted Average Amortization Period (in years) | 11 years 7 months 6 days |
Leases |  |
Acquired Finite Lived Intangible Assets [Line Items] |  |
Gross Carrying Amount | $ 0 | 120
Accumulated Amortization | 0 | (106)
Net Carrying Amount | $ 0 | 14
Weighted Average Amortization Period (in years) | 0 years |
Developed technology |  |
Acquired Finite Lived Intangible Assets [Line Items] |  |
Gross Carrying Amount | $ 23,200 | 31,600
Accumulated Amortization | (7,458) | (15,823)
Net Carrying Amount | $ 15,742 | 15,777
Weighted Average Amortization Period (in years) | 4 years 7 months 6 days |
Trade name |  |
Acquired Finite Lived Intangible Assets [Line Items] |  |
Gross Carrying Amount | $ 1,500 | 1,000
Accumulated Amortization | (367) | (417)
Net Carrying Amount | $ 1,133 | 583
Weighted Average Amortization Period (in years) | 1 year |
Noncompete Agreements |  |
Acquired Finite Lived Intangible Assets [Line Items] |  |
Gross Carrying Amount | $ 8,300 | 1,500
Accumulated Amortization | (1,203) | (1,097)
Net Carrying Amount | $ 7,097 | 403
Weighted Average Amortization Period (in years) | 3 years |
In Process Research and Development |  |
Acquired Finite Lived Intangible Assets [Line Items] |  |
Gross Carrying Amount | $ 1,800 | 1,800
Accumulated Amortization | 0 | 0
Net Carrying Amount | 1,800 | 1,800
Other Intangibles |  |
Acquired Finite Lived Intangible Assets [Line Items] |  |
Gross Carrying Amount | 25 | 375
Accumulated Amortization | 0 | (348)
Net Carrying Amount | $ 25 | $ 27

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 350 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 985 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2 + Details
Name: | us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 985 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2 + Details
Name: | us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 350 -SubTopic 30 -Name Accounting Standards Codification -Section 55 -Paragraph 40 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 10 -Name Accounting Standards Codification -Section S45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 210 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(16)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1 + Details
Name: | us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 350 -SubTopic 30 -Name Accounting Standards Codification -Section 55 -Paragraph 40 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 10 -Name Accounting Standards Codification -Section S45 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 350 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 928 -SubTopic 340 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478859/928-340-50-1 + Details
Name: | us-gaap_FiniteLivedIntangibleAssetsGross
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 350 -SubTopic 30 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Subparagraph (a)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 926 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5 + Details
Name: | us-gaap_FiniteLivedIntangibleAssetsNet
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OrderOrProductionBacklogMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_LeaseAgreementsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TradeNamesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_NoncompeteAgreementsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_InProcessResearchAndDevelopmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_OtherIntangibleAssetsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |