XML 76 R58.htm IDEA: XBRL DOCUMENT v3.26.1
Contracts in progress (Details) - USD ($)
12 Months Ended
Dec. 31, 2025
Dec. 31, 2024
Contracts in progress    
Revenues recognized to date on contracts in process $ 127,237,229 $ 114,590,991
Amounts billed to date on contracts in process (138,121,977) (121,833,354)
Retainage 2,646,929 2,585,952
Net contract asset (liability) (8,237,819) (4,656,411)
Balance Sheet location    
Contract assets 3,290,815 4,470,243
Contract liabilities (11,528,634) $ (9,126,654)
Revenue remaining performance obligation expected timing of satisfaction    
Revenue remaining performance obligation, amount 148,800,000  
Amount recognized revenue included in the contract liability balance 5,500,000  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01    
Revenue remaining performance obligation expected timing of satisfaction    
Revenue remaining performance obligation, amount $ 56,700,000  
Revenue remaining performance obligation, expected timing of satisfaction, period 1 year  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01    
Revenue remaining performance obligation expected timing of satisfaction    
Revenue remaining performance obligation, amount $ 92,100,000  
Revenue remaining performance obligation, expected timing of satisfaction, period 1 year