XML 57 R41.htm IDEA: XBRL DOCUMENT v3.25.2
REVENUE FROM CUSTOMERS - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Dec. 31, 2024
Disaggregation of Revenue [Line Items]          
Contracts receivable unpaid project contract price $ 2,900   $ 2,900   $ 4,000
Increase (decrease) on revenue from performance obligations satisfied in previous period $ 42,011 $ 30,823 $ 72,482 $ 52,351  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-07-01          
Disaggregation of Revenue [Line Items]          
Remaining performance obligation expected to be recognized over next twelve months 78.00%   78.00%    
Remaining performance obligation period 12 months   12 months    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-07-01          
Disaggregation of Revenue [Line Items]          
Remaining performance obligation period