XML 73 R59.htm IDEA: XBRL DOCUMENT v3.23.1
Contracts in progress (Details) - USD ($)
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [Line Items]    
Revenues recognized to date on contracts in process $ 25,469,014 $ 6,109,396
Amounts billed to date on contracts in process (33,407,182) (6,370,855)
Retainage 2,047,969 237,542
Net contract asset (liability) (5,890,199) (23,917)
Amount recognized revenue included in the contract liability balance 468,000  
Balance Sheet location    
Contract assets 2,913,722 489,961
Contract liabilities (8,803,921) $ (513,878)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-12-31    
Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [Line Items]    
Revenue remaining performance obligation, Amount $ 97,900,000  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 1 year  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-12-31    
Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [Line Items]    
Revenue remaining performance obligation, Amount $ 75,300,000  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 2 years  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-12-31    
Contract With Customer, In Progress, Revenue Recognized And Amounts Billed, Disclosure [Line Items]    
Revenue remaining performance obligation, Amount $ 22,600,000  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 3 years