XML 40 R29.htm IDEA: XBRL DOCUMENT v3.24.1.1.u2
Accounting policies - Revenue recognized and billed on services (Details) - USD ($)
3 Months Ended 12 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Accounting policies    
Revenue recognized to date on contracts in progress $ 122,712,011 $ 108,952,682
Amounts billed to date on contracts in progress (113,622,422) (101,724,459)
Retainage 8,791,564 8,087,823
Net contract asset 17,881,153 15,316,046
Contract assets 23,340,495 21,553,057
Contract liabilities (5,459,342) (6,237,011)
Net contract liability $ 17,881,153 $ 15,316,046