XML 40 R29.htm IDEA: XBRL DOCUMENT
v3.24.2.u1

Accounting policies - Disaggregated revenue (Details) - USD ($) | 3 Months Ended | 6 Months Ended
--- | --- | ---
Jun. 30, 2024 | Jun. 30, 2023 | Jun. 30, 2024 | Jun. 30, 2023
Total Revenue | $ 32,479,158 | $ 44,237,263 | $ 72,168,548 | $ 77,106,253
Contracts in progress. |  |  |  |
Net Income (Loss) | 15,850,257 | 7,323,771 | 22,324,605 | 11,137,397
Income from operations | $ 5,010,790 | $ 9,479,634 | $ 12,324,784 | $ 14,007,970
Increase in basic earnings | $ 0.27 | $ 0.48 | $ 0.71 | $ 0.74
Increase in diluted earnings | $ 0.26 | $ 0.47 | $ 0.70 | $ 0.73
Retail revenue [Member] |  |  |  |
Total Revenue | $ 8,181,884 | $ 7,573,329 | $ 16,806,822 | $ 15,344,424
Bulk revenue [Member] |  |  |  |
Total Revenue | 8,447,958 | 8,482,495 | 16,790,052 | 17,486,868
Services revenue [Member] |  |  |  |
Total Revenue | 11,922,469 | 24,093,963 | 29,340,080 | 36,815,664
Services revenue [Member] | Transferred over Time [Member] |  |  |  |
Total Revenue | 3,988,174 | 19,839,950 | 13,385,268 | 28,428,534
Services revenue [Member] | Transferred at Point in Time [Member] |  |  |  |
Total Revenue | 7,934,295 | 4,254,013 | 15,954,812 | 8,387,130
Manufacturing revenue [Member] |  |  |  |
Total Revenue | 3,926,847 | 4,087,476 | 9,231,594 | 7,459,297
Construction Sevices [Member] |  |  |  |
Total Revenue | 3,324,610 | 19,827,827 | 12,528,274 | 28,521,342
Operations and Maintenance [Member] |  |  |  |
Total Revenue | 7,068,922 | 4,044,015 | 14,168,275 | 7,729,821
Design and Consulting Services [Member] |  |  |  |
Total Revenue | $ 1,528,937 | $ 222,121 | $ 2,643,531 | $ 564,501

X
- Definition The amount of net income (loss) from continuing operations per each share of common stock or unit outstanding during the reporting period. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 805 -SubTopic 60 -Name Accounting Standards Codification -Section 65 -Paragraph 1 -Subparagraph (g) -Publisher FASB -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 323 -Name Accounting Standards Codification -Section 65 -Paragraph 2 -Subparagraph (g)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(13)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 815 -SubTopic 40 -Name Accounting Standards Codification -Section 65 -Paragraph 1 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 60B -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4 Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 944 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-04(23)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(25)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 942 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-04(27)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1 Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7 Reference 17: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 942 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-04(20)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1 + Details
Name: | us-gaap_IncomeLossFromContinuingOperationsPerBasicShare
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition The amount of net income (loss) derived from continuing operations during the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 805 -SubTopic 60 -Name Accounting Standards Codification -Section 65 -Paragraph 1 -Subparagraph (g) -Publisher FASB -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(13)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 815 -SubTopic 40 -Name Accounting Standards Codification -Section 65 -Paragraph 1 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 60B -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4 Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 944 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-04(23)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1 Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(25)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 942 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-04(27)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1 Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7 + Details
Name: | us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:perShareItemType
Balance Type: | na
Period Type: | duration

X
- Definition The portion of profit or loss for the period, net of income taxes, which is attributable to the parent. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 805 -SubTopic 60 -Name Accounting Standards Codification -Section 65 -Paragraph 1 -Subparagraph (g) -Publisher FASB -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 740 -SubTopic 323 -Name Accounting Standards Codification -Section 65 -Paragraph 2 -Subparagraph (g)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2 Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(20)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08(g)(1)(ii)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 323 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 825 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 28 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1 Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 815 -SubTopic 40 -Name Accounting Standards Codification -Section 65 -Paragraph 1 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1 Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 8 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11 Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 11 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11 Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 250 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4 Reference 17: http://www.xbrl.org/2003/role/exampleRef -Topic 946 -SubTopic 830 -Name Accounting Standards Codification -Section 55 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10 Reference 18: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section 45 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7 Reference 19: http://www.xbrl.org/2003/role/disclosureRef -Topic 944 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-04(18)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1 Reference 20: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.6-07(9)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1 Reference 21: http://www.xbrl.org/2003/role/disclosureRef -Topic 946 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.6-09(1)(d)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3 Reference 22: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(i)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(ii)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 24: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(iii)(A)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 25: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(iv)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 26: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(5)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 27: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(i)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 28: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iii)(A)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 29: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iii)(B)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 30: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iv)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 31: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(5)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 32: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 60B -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B Reference 33: http://www.xbrl.org/2003/role/disclosureRef -Topic 205 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7 Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 230 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 28 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28 Reference 35: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 1A -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A Reference 36: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section 45 -Paragraph 1B -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef -Topic 942 -SubTopic 220 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-04(22)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1 + Details
Name: | us-gaap_NetIncomeLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition The net result for the period of deducting operating expenses from operating revenues. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 30 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30 Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 270 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1 Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (ee) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 7: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 31 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31 + Details
Name: | us-gaap_OperatingIncomeLoss
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_RevenueFromContractWithCustomerAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss). + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 48 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 41 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 270 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (ee) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.4-08(g)(1)(ii)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 323 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 825 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 28 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(i)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(ii)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(iii)(A)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(4)(iv)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1A -Subparagraph (SX 210.13-01(a)(5)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(i)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iii)(A)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 17: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iii)(B)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 18: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(4)(iv)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 19: http://www.xbrl.org/2003/role/disclosureRef -Topic 470 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1B -Subparagraph (SX 210.13-02(a)(5)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B Reference 20: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 30 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30 Reference 21: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 42 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42 Reference 22: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22 Reference 23: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 40 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40 Reference 24: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22 Reference 25: http://www.xbrl.org/2003/role/disclosureRef -Topic 942 -SubTopic 235 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-05(b)(2)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1 Reference 26: http://www.xbrl.org/2003/role/disclosureRef -Topic 220 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Subparagraph (SX 210.5-03(1)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2 + Details
Name: | us-gaap_Revenues
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=cwco_RetailRevenuesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=cwco_BulkRevenuesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=cwco_ServicesRevenuesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=cwco_ManufacturingRevenuesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=cwco_ConstructionSevicesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=cwco_OperationsAndMaintenanceMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=cwco_DesignAndConsultingServicesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |