2025 Q1 Form 10-K Financial Statement

#000155837025003137 Filed on March 17, 2025

View on sec.gov

Income Statement

Concept 2025 Q1 2024 Q4 2024
Revenue $134.0M
YoY Change -25.66%
Cost Of Revenue $88.34M
YoY Change -25.31%
Gross Profit $45.62M
YoY Change -26.33%
Gross Profit Margin 34.06%
Selling, General & Admin
YoY Change
% of Gross Profit
Research & Development
YoY Change
% of Gross Profit
Depreciation & Amortization $6.692M
YoY Change 1.75%
% of Gross Profit 14.67%
Operating Expenses
YoY Change
Operating Profit $18.28M
YoY Change -50.81%
Interest Expense
YoY Change
% of Operating Profit
Other Income/Expense, Net $2.394M
YoY Change 10407.8%
Pretax Income $20.68M
YoY Change -45.58%
Income Tax $2.219M
% Of Pretax Income 10.73%
Net Earnings $28.24M
YoY Change -4.51%
Net Earnings / Revenue 21.08%
Basic Earnings Per Share $1.78
Diluted Earnings Per Share $1.77
COMMON SHARES
Basic Shares Outstanding 15.87M 15.83M 15.83M
Diluted Shares Outstanding 15.94M

Balance Sheet

Concept 2025 Q1 2024 Q4 2024
SHORT-TERM ASSETS
Cash & Short-Term Investments
YoY Change
Cash & Equivalents $99.35M
Short-Term Investments
Other Short-Term Assets
YoY Change
Inventory $8.960M
Prepaid Expenses
Receivables $39.58M
Other Receivables $42.52K
Total Short-Term Assets $157.8M
YoY Change 39.99%
LONG-TERM ASSETS
Property, Plant & Equipment $52.43M
YoY Change -10.39%
Goodwill $12.86M
YoY Change 0.0%
Intangibles $2.697M
YoY Change -19.57%
Long-Term Investments $1.504M
YoY Change 6.53%
Other Assets $2.356M
YoY Change -92.03%
Total Long-Term Assets $85.53M
YoY Change -19.1%
TOTAL ASSETS
Total Short-Term Assets $157.8M
Total Long-Term Assets $85.53M
Total Assets $243.3M
YoY Change 11.39%
SHORT-TERM LIABILITIES
YoY Change
Accounts Payable
YoY Change
Accrued Expenses
YoY Change
Deferred Revenue $9.127M
YoY Change 46.33%
Short-Term Debt
YoY Change
Long-Term Debt Due $126.3K
YoY Change -34.22%
Total Short-Term Liabilities $24.94M
YoY Change 4.32%
LONG-TERM LIABILITIES
Long-Term Debt $70.32K
YoY Change -63.22%
Other Long-Term Liabilities $153.0K
YoY Change -92.27%
Total Long-Term Liabilities $223.3K
YoY Change -89.72%
TOTAL LIABILITIES
Total Short-Term Liabilities $24.94M
Total Long-Term Liabilities $223.3K
Total Liabilities $28.00M
YoY Change -11.41%
SHAREHOLDERS EQUITY
Retained Earnings $106.9M
YoY Change 25.52%
Common Stock
YoY Change
Preferred Stock
YoY Change
Treasury Stock (at cost)
YoY Change
Treasury Stock Shares
Shareholders Equity $210.0M
YoY Change
Total Liabilities & Shareholders Equity $243.3M
YoY Change 11.39%

Cashflow Statement

Concept 2025 Q1 2024 Q4 2024
OPERATING ACTIVITIES
Net Income $28.24M
YoY Change -4.51%
Depreciation, Depletion And Amortization $6.692M
YoY Change 1.75%
Cash From Operating Activities $36.52M
YoY Change 358.12%
INVESTING ACTIVITIES
Capital Expenditures $6.697M
YoY Change 32.66%
Acquisitions
YoY Change
Other Investing Activities
YoY Change
Cash From Investing Activities $26.96M
YoY Change -347.65%
FINANCING ACTIVITIES
Cash Dividend Paid
YoY Change
Common Stock Issuance & Retirement, Net
YoY Change
Debt Paid & Issued, Net $186.6K
YoY Change 37.72%
Cash From Financing Activities -6.712M
YoY Change 21.5%
NET CHANGE
Cash From Operating Activities 36.52M
Cash From Investing Activities 26.96M
Cash From Financing Activities -6.712M
Net Change In Cash 56.76M
YoY Change -772.5%
FREE CASH FLOW
Cash From Operating Activities $36.52M
Capital Expenditures $6.697M
Free Cash Flow $29.82M
YoY Change 920.19%

Facts In Submission

Frame Concept Type Concept / XBRL Key Value Unit
CY2024Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
CY2023Q4 us-gaap Commitments And Contingencies
CommitmentsAndContingencies
CY2024 dei Entity Central Index Key
EntityCentralIndexKey
0000928340
CY2024 dei Current Fiscal Year End Date
CurrentFiscalYearEndDate
--12-31
CY2024 dei Document Fiscal Year Focus
DocumentFiscalYearFocus
2024
CY2024 dei Document Fiscal Period Focus
DocumentFiscalPeriodFocus
FY
CY2024 dei Amendment Flag
AmendmentFlag
false
CY2024 dei Entity Incorporation State Country Code
EntityIncorporationStateCountryCode
KY
CY2023Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
44297
CY2024Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
44004
CY2024Q4 us-gaap Property Plant And Equipment Useful Life Description Of Term Extensible Enumeration
PropertyPlantAndEquipmentUsefulLifeDescriptionOfTermExtensibleEnumeration
http://fasb.org/us-gaap/2024#UsefulLifeShorterOfTermOfLeaseOrAssetUtilityMember
CY2024 cwco Operating Loss Carryforwards Maximum Carryfoward Term
OperatingLossCarryforwardsMaximumCarryfowardTerm
P20Y
CY2024 cwco Number Of Days Employee Option To Purchase Preferred Stock Must Be Exercised
NumberOfDaysEmployeeOptionToPurchasePreferredStockMustBeExercised
P30D
CY2024 cwco Share Based Compensation Arrangement By Share Based Payment Award Options Non Vested Outstanding Weighted Average Remaining Contractual Term
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonVestedOutstandingWeightedAverageRemainingContractualTerm
P1Y6M4D
CY2024 us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized Period For Recognition1
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
P1Y6M4D
CY2024 cwco Number Of Days After Consumption Billings Are Considered Past Due
NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue
P45D
CY2024 dei Document Type
DocumentType
10-K
CY2024 dei Document Annual Report
DocumentAnnualReport
true
CY2024 dei Document Period End Date
DocumentPeriodEndDate
2024-12-31
CY2024 dei Document Transition Report
DocumentTransitionReport
false
CY2024 dei Entity File Number
EntityFileNumber
0-25248
CY2024 dei Entity Registrant Name
EntityRegistrantName
CONSOLIDATED WATER CO. LTD.
CY2024 dei Entity Tax Identification Number
EntityTaxIdentificationNumber
98-0619652
CY2024 dei Entity Address Address Line1
EntityAddressAddressLine1
Regatta Office Park
CY2024 dei Entity Address Address Line2
EntityAddressAddressLine2
Windward Three, 4th Floor, West Bay Road
CY2024 dei Entity Address Address Line3
EntityAddressAddressLine3
P.O. Box 1114
CY2024 dei Entity Address City Or Town
EntityAddressCityOrTown
Grand Cayman
CY2024 dei Entity Address Postal Zip Code
EntityAddressPostalZipCode
KY1-1102
CY2024 dei Entity Address Country
EntityAddressCountry
KY
CY2024 dei City Area Code
CityAreaCode
345
CY2024 dei Local Phone Number
LocalPhoneNumber
945-4277
CY2024 dei Security12b Title
Security12bTitle
Common Stock
CY2024 dei Trading Symbol
TradingSymbol
CWCO
CY2024 dei Security Exchange Name
SecurityExchangeName
NASDAQ
CY2024 dei Entity Well Known Seasoned Issuer
EntityWellKnownSeasonedIssuer
No
CY2024 dei Entity Voluntary Filers
EntityVoluntaryFilers
No
CY2024 dei Entity Current Reporting Status
EntityCurrentReportingStatus
Yes
CY2024 dei Entity Interactive Data Current
EntityInteractiveDataCurrent
Yes
CY2024 dei Entity Filer Category
EntityFilerCategory
Accelerated Filer
CY2024 dei Entity Small Business
EntitySmallBusiness
false
CY2024 dei Entity Emerging Growth Company
EntityEmergingGrowthCompany
false
CY2024 dei Icfr Auditor Attestation Flag
IcfrAuditorAttestationFlag
true
CY2024 dei Document Fin Stmt Error Correction Flag
DocumentFinStmtErrorCorrectionFlag
false
CY2024 dei Entity Shell Company
EntityShellCompany
false
CY2024Q2 dei Entity Public Float
EntityPublicFloat
395630506
CY2025Q1 dei Entity Common Stock Shares Outstanding
EntityCommonStockSharesOutstanding
15874796
CY2024 cyd Cybersecurity Risk Management Positions Or Committees Responsible Flag
CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag
true
CY2024 cyd Cybersecurity Risk Management Processes Integrated Flag
CybersecurityRiskManagementProcessesIntegratedFlag
true
CY2024 cyd Cybersecurity Risk Third Party Oversight And Identification Processes Flag
CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag
true
CY2024 cyd Cybersecurity Risk Management Third Party Engaged Flag
CybersecurityRiskManagementThirdPartyEngagedFlag
true
CY2024 cyd Cybersecurity Risk Management Positions Or Committees Responsible Report To Board Flag
CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag
true
CY2024 cyd Cybersecurity Risk Materially Affected Or Reasonably Likely To Materially Affect Registrant Flag
CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag
false
CY2024 dei Auditor Firm
AuditorFirmId
688
CY2024 dei Auditor Name
AuditorName
Marcum LLP
CY2024 dei Auditor Location
AuditorLocation
West Palm Beach, Florida
CY2024Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
99350121
CY2023Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
42621898
CY2024Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
39580982
CY2023Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
38226891
CY2024Q4 us-gaap Inventory Net
InventoryNet
8960350
CY2023Q4 us-gaap Inventory Net
InventoryNet
6044642
CY2024Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
5153984
CY2023Q4 us-gaap Prepaid Expense And Other Assets Current
PrepaidExpenseAndOtherAssetsCurrent
4056370
CY2024Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
4470243
CY2023Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
21553057
CY2024Q4 us-gaap Assets Of Disposal Group Including Discontinued Operation Current
AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent
272485
CY2023Q4 us-gaap Assets Of Disposal Group Including Discontinued Operation Current
AssetsOfDisposalGroupIncludingDiscontinuedOperationCurrent
211517
CY2024Q4 us-gaap Assets Current
AssetsCurrent
157788165
CY2023Q4 us-gaap Assets Current
AssetsCurrent
112714375
CY2024Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
52432282
CY2023Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
55882521
CY2024Q4 cwco Construction In Progress
ConstructionInProgress
5143717
CY2023Q4 cwco Construction In Progress
ConstructionInProgress
495471
CY2024Q4 us-gaap Inventory Noncurrent
InventoryNoncurrent
5338961
CY2023Q4 us-gaap Inventory Noncurrent
InventoryNoncurrent
5045771
CY2024Q4 us-gaap Equity Method Investments
EquityMethodInvestments
1504363
CY2023Q4 us-gaap Equity Method Investments
EquityMethodInvestments
1412158
CY2024Q4 us-gaap Goodwill
Goodwill
12861404
CY2023Q4 us-gaap Goodwill
Goodwill
12861404
CY2024Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
2696815
CY2023Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
3353185
CY2024Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
3190985
CY2023Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
2135446
CY2024Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
2356489
CY2023Q4 us-gaap Other Assets Noncurrent
OtherAssetsNoncurrent
3407973
CY2024Q4 us-gaap Disposal Group Including Discontinued Operation Assets Noncurrent
DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent
0
CY2023Q4 us-gaap Disposal Group Including Discontinued Operation Assets Noncurrent
DisposalGroupIncludingDiscontinuedOperationAssetsNoncurrent
21129288
CY2024Q4 us-gaap Assets
Assets
243313181
CY2023Q4 us-gaap Assets
Assets
218437592
CY2024Q4 cwco Accounts Payable Accrued Expenses And Other Current Liabilities Current
AccountsPayableAccruedExpensesAndOtherCurrentLiabilitiesCurrent
9057179
CY2023Q4 cwco Accounts Payable Accrued Expenses And Other Current Liabilities Current
AccountsPayableAccruedExpensesAndOtherCurrentLiabilitiesCurrent
11604369
CY2024Q4 us-gaap Accrued Employee Benefits Current
AccruedEmployeeBenefitsCurrent
3336946
CY2023Q4 us-gaap Accrued Employee Benefits Current
AccruedEmployeeBenefitsCurrent
3160030
CY2024Q4 us-gaap Dividends Payable Current
DividendsPayableCurrent
1780841
CY2023Q4 us-gaap Dividends Payable Current
DividendsPayableCurrent
1572655
CY2024Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
634947
CY2023Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
456865
CY2024Q4 us-gaap Long Term Debt Current
LongTermDebtCurrent
126318
CY2023Q4 us-gaap Long Term Debt Current
LongTermDebtCurrent
192034
CY2024Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
9126654
CY2023Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
6237011
CY2024Q4 us-gaap Deferred Income Current
DeferredIncomeCurrent
365879
CY2023Q4 us-gaap Deferred Income Current
DeferredIncomeCurrent
317017
CY2024Q4 us-gaap Liabilities Of Disposal Group Including Discontinued Operation Current
LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent
509745
CY2023Q4 us-gaap Liabilities Of Disposal Group Including Discontinued Operation Current
LiabilitiesOfDisposalGroupIncludingDiscontinuedOperationCurrent
364665
CY2024Q4 us-gaap Liabilities Current
LiabilitiesCurrent
24938509
CY2023Q4 us-gaap Liabilities Current
LiabilitiesCurrent
23904646
CY2024Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
70320
CY2023Q4 us-gaap Long Term Debt Noncurrent
LongTermDebtNoncurrent
191190
CY2024Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
210893
CY2023Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
530780
CY2024Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
2630812
CY2023Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
1827302
CY2024Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
153000
CY2023Q4 us-gaap Other Liabilities Noncurrent
OtherLiabilitiesNoncurrent
153000
CY2024Q4 us-gaap Liabilities
Liabilities
28003534
CY2023Q4 us-gaap Liabilities
Liabilities
26606918
CY2023Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.6
CY2024Q4 us-gaap Preferred Stock Par Or Stated Value Per Share
PreferredStockParOrStatedValuePerShare
0.6
CY2023Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
200000
CY2024Q4 us-gaap Preferred Stock Shares Authorized
PreferredStockSharesAuthorized
200000
CY2024Q4 us-gaap Preferred Stock Shares Issued
PreferredStockSharesIssued
44004
CY2023Q4 us-gaap Preferred Stock Shares Outstanding
PreferredStockSharesOutstanding
44297
CY2024Q4 us-gaap Preferred Stock Value
PreferredStockValue
26402
CY2023Q4 us-gaap Preferred Stock Value
PreferredStockValue
26578
CY2024Q4 us-gaap Additional Paid In Capital
AdditionalPaidInCapital
93550905
CY2023Q4 us-gaap Additional Paid In Capital
AdditionalPaidInCapital
92188887
CY2024Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
106875581
CY2023Q4 us-gaap Retained Earnings Accumulated Deficit
RetainedEarningsAccumulatedDeficit
85148820
CY2024Q4 us-gaap Stockholders Equity
StockholdersEquity
209960695
CY2023Q4 us-gaap Stockholders Equity
StockholdersEquity
186827212
CY2024Q4 us-gaap Minority Interest
MinorityInterest
5348952
CY2023Q4 us-gaap Minority Interest
MinorityInterest
5003462
CY2024Q4 us-gaap Stockholders Equity Including Portion Attributable To Noncontrolling Interest
StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
215309647
CY2023Q4 us-gaap Stockholders Equity Including Portion Attributable To Noncontrolling Interest
StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
191830674
CY2024Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
243313181
CY2023Q4 us-gaap Liabilities And Stockholders Equity
LiabilitiesAndStockholdersEquity
218437592
CY2024 us-gaap Revenues
Revenues
133966633
CY2023 us-gaap Revenues
Revenues
180211233
CY2022 us-gaap Revenues
Revenues
94104972
CY2024 us-gaap Cost Of Revenue
CostOfRevenue
88342185
CY2023 us-gaap Cost Of Revenue
CostOfRevenue
118284128
CY2022 us-gaap Cost Of Revenue
CostOfRevenue
63749849
CY2024 us-gaap Gross Profit
GrossProfit
45624448
CY2023 us-gaap Gross Profit
GrossProfit
61927105
CY2022 us-gaap Gross Profit
GrossProfit
30355123
CY2024 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
27537436
CY2023 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
24752366
CY2022 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
21070234
CY2024 us-gaap Gain Loss On Sales Of Assets And Asset Impairment Charges
GainLossOnSalesOfAssetsAndAssetImpairmentCharges
197786
CY2023 us-gaap Gain Loss On Sales Of Assets And Asset Impairment Charges
GainLossOnSalesOfAssetsAndAssetImpairmentCharges
-7112
CY2022 us-gaap Gain Loss On Sales Of Assets And Asset Impairment Charges
GainLossOnSalesOfAssetsAndAssetImpairmentCharges
-12704
CY2024 us-gaap Operating Income Loss
OperatingIncomeLoss
18284798
CY2023 us-gaap Operating Income Loss
OperatingIncomeLoss
37167627
CY2022 us-gaap Operating Income Loss
OperatingIncomeLoss
9272185
CY2024 us-gaap Interest Income Other
InterestIncomeOther
2094190
CY2023 us-gaap Interest Income Other
InterestIncomeOther
696408
CY2022 us-gaap Interest Income Other
InterestIncomeOther
447186
CY2024 us-gaap Interest Expense Nonoperating
InterestExpenseNonoperating
101847
CY2023 us-gaap Interest Expense Nonoperating
InterestExpenseNonoperating
145284
CY2022 us-gaap Interest Expense Nonoperating
InterestExpenseNonoperating
46545
CY2024 us-gaap Income Loss From Equity Method Investments
IncomeLossFromEquityMethodInvestments
269455
CY2023 us-gaap Income Loss From Equity Method Investments
IncomeLossFromEquityMethodInvestments
169728
CY2022 us-gaap Income Loss From Equity Method Investments
IncomeLossFromEquityMethodInvestments
102225
CY2022 us-gaap Gain Loss On Sale Of Derivatives
GainLossOnSaleOfDerivatives
-128000
CY2024 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
131878
CY2023 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
107461
CY2022 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
89944
CY2024 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
2393676
CY2023 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
828313
CY2022 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
464810
CY2024 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
20678474
CY2023 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
37995940
CY2022 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
9736995
CY2024 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
2218514
CY2023 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
6750014
CY2022 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
396739
CY2024 us-gaap Income Loss From Continuing Operations Including Portion Attributable To Noncontrolling Interest
IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
18459960
CY2023 us-gaap Income Loss From Continuing Operations Including Portion Attributable To Noncontrolling Interest
IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
31245926
CY2022 us-gaap Income Loss From Continuing Operations Including Portion Attributable To Noncontrolling Interest
IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
9340256
CY2024 us-gaap Income Loss From Continuing Operations Attributable To Noncontrolling Entity
IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
577590
CY2023 us-gaap Income Loss From Continuing Operations Attributable To Noncontrolling Entity
IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
573791
CY2022 us-gaap Income Loss From Continuing Operations Attributable To Noncontrolling Entity
IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
1112913
CY2024 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
17882370
CY2023 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
30672135
CY2022 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
8227343
CY2024 us-gaap Income Loss From Discontinued Operations Net Of Tax
IncomeLossFromDiscontinuedOperationsNetOfTax
10355184
CY2023 us-gaap Income Loss From Discontinued Operations Net Of Tax
IncomeLossFromDiscontinuedOperationsNetOfTax
-1086744
CY2022 us-gaap Income Loss From Discontinued Operations Net Of Tax
IncomeLossFromDiscontinuedOperationsNetOfTax
-2371049
CY2024 us-gaap Net Income Loss
NetIncomeLoss
28237554
CY2023 us-gaap Net Income Loss
NetIncomeLoss
29585391
CY2022 us-gaap Net Income Loss
NetIncomeLoss
5856294
CY2024 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
1.13
CY2023 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
1.95
CY2022 us-gaap Income Loss From Continuing Operations Per Basic Share
IncomeLossFromContinuingOperationsPerBasicShare
0.54
CY2024 us-gaap Discontinued Operation Income Loss From Discontinued Operation Net Of Tax Per Basic Share
DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare
0.65
CY2023 us-gaap Discontinued Operation Income Loss From Discontinued Operation Net Of Tax Per Basic Share
DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare
-0.07
CY2022 us-gaap Discontinued Operation Income Loss From Discontinued Operation Net Of Tax Per Basic Share
DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerBasicShare
-0.16
CY2024 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.78
CY2023 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
1.88
CY2022 us-gaap Earnings Per Share Basic
EarningsPerShareBasic
0.38
CY2024 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
1.12
CY2023 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
1.93
CY2022 us-gaap Income Loss From Continuing Operations Per Diluted Share
IncomeLossFromContinuingOperationsPerDilutedShare
0.54
CY2024 us-gaap Discontinued Operation Income Loss From Discontinued Operation Net Of Tax Per Diluted Share
DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare
0.65
CY2023 us-gaap Discontinued Operation Income Loss From Discontinued Operation Net Of Tax Per Diluted Share
DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare
-0.07
CY2022 us-gaap Discontinued Operation Income Loss From Discontinued Operation Net Of Tax Per Diluted Share
DiscontinuedOperationIncomeLossFromDiscontinuedOperationNetOfTaxPerDilutedShare
-0.16
CY2024 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.77
CY2023 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
1.86
CY2022 us-gaap Earnings Per Share Diluted
EarningsPerShareDiluted
0.38
CY2024 us-gaap Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
0.41
CY2023 us-gaap Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
0.36
CY2022 us-gaap Common Stock Dividends Per Share Declared
CommonStockDividendsPerShareDeclared
0.34
CY2024 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
15832328
CY2023 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
15739056
CY2022 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
15290509
CY2024 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
15935962
CY2023 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
15865897
CY2022 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
15401653
CY2021Q4 us-gaap Stockholders Equity Including Portion Attributable To Noncontrolling Interest
StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
165665423
CY2022 us-gaap Stock Issued During Period Value New Issues
StockIssuedDuringPeriodValueNewIssues
0
CY2022 us-gaap Stock Issued During Period Value Conversion Of Convertible Securities
StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
0
CY2022 us-gaap Stock Redeemed Or Called During Period Value
StockRedeemedOrCalledDuringPeriodValue
226
CY2022 us-gaap Profit Loss
ProfitLoss
6969207
CY2022 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
26739
CY2022 us-gaap Dividends Cash
DividendsCash
6314126
CY2022 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
1417172
CY2022Q4 us-gaap Stockholders Equity Including Portion Attributable To Noncontrolling Interest
StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
167764189
CY2023 us-gaap Stock Issued During Period Value New Issues
StockIssuedDuringPeriodValueNewIssues
0
CY2023 us-gaap Stock Issued During Period Value Conversion Of Convertible Securities
StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
0
CY2023 us-gaap Stock Redeemed Or Called During Period Value
StockRedeemedOrCalledDuringPeriodValue
1830
CY2023 us-gaap Profit Loss
ProfitLoss
30159182
CY2023 cwco Purchase Of Remaining Non Controlling Interests In Perc
PurchaseOfRemainingNonControllingInterestsInPerc
-2440027
CY2023 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
99764
CY2023 us-gaap Dividends Cash
DividendsCash
5684270
CY2023 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
1933666
CY2023Q4 us-gaap Stockholders Equity Including Portion Attributable To Noncontrolling Interest
StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
191830674
CY2024 us-gaap Stock Issued During Period Value New Issues
StockIssuedDuringPeriodValueNewIssues
0
CY2024 us-gaap Stock Issued During Period Value Conversion Of Convertible Securities
StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
0
CY2024 us-gaap Stock Redeemed Or Called During Period Value
StockRedeemedOrCalledDuringPeriodValue
14614
CY2024 us-gaap Profit Loss
ProfitLoss
28815144
CY2024 us-gaap Stock Issued During Period Value Stock Options Exercised
StockIssuedDuringPeriodValueStockOptionsExercised
23753
CY2024 us-gaap Dividends Cash
DividendsCash
6742893
CY2024 us-gaap Adjustments To Additional Paid In Capital Sharebased Compensation Requisite Service Period Recognition Value
AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
1397583
CY2024Q4 us-gaap Stockholders Equity Including Portion Attributable To Noncontrolling Interest
StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
215309647
CY2024 us-gaap Net Income Loss
NetIncomeLoss
28237554
CY2023 us-gaap Net Income Loss
NetIncomeLoss
29585391
CY2022 us-gaap Net Income Loss
NetIncomeLoss
5856294
CY2024 cwco Income From Continuing Operations Attributable To Non Controlling Interests
IncomeFromContinuingOperationsAttributableToNonControllingInterests
577590
CY2023 cwco Income From Continuing Operations Attributable To Non Controlling Interests
IncomeFromContinuingOperationsAttributableToNonControllingInterests
573791
CY2022 cwco Income From Continuing Operations Attributable To Non Controlling Interests
IncomeFromContinuingOperationsAttributableToNonControllingInterests
1112913
CY2024 us-gaap Profit Loss
ProfitLoss
28815144
CY2023 us-gaap Profit Loss
ProfitLoss
30159182
CY2022 us-gaap Profit Loss
ProfitLoss
6969207
CY2024 us-gaap Gain Loss On Disposition Of Assets1
GainLossOnDispositionOfAssets1
12134766
CY2022 cwco Disposal Group Including Discontinued Operation Other Expense Impairment
DisposalGroupIncludingDiscontinuedOperationOtherExpenseImpairment
377326
CY2024 us-gaap Disposal Group Including Discontinued Operation Foreign Currency Translation Gains Losses
DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses
-64960
CY2023 us-gaap Disposal Group Including Discontinued Operation Foreign Currency Translation Gains Losses
DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses
2003
CY2022 us-gaap Disposal Group Including Discontinued Operation Foreign Currency Translation Gains Losses
DisposalGroupIncludingDiscontinuedOperationForeignCurrencyTranslationGainsLosses
102507
CY2024 us-gaap Disposal Group Not Discontinued Operation Gain Loss On Disposal
DisposalGroupNotDiscontinuedOperationGainLossOnDisposal
-1714622
CY2023 us-gaap Disposal Group Not Discontinued Operation Gain Loss On Disposal
DisposalGroupNotDiscontinuedOperationGainLossOnDisposal
-1088747
CY2022 us-gaap Disposal Group Not Discontinued Operation Gain Loss On Disposal
DisposalGroupNotDiscontinuedOperationGainLossOnDisposal
-2096230
CY2024 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
6691658
CY2023 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
6576454
CY2022 us-gaap Depreciation Depletion And Amortization
DepreciationDepletionAndAmortization
6187308
CY2024 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-319887
CY2023 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-524999
CY2022 us-gaap Deferred Income Tax Expense Benefit
DeferredIncomeTaxExpenseBenefit
-4220
CY2024 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
442828
CY2023 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
408489
CY2022 us-gaap Gain Loss On Sale Of Derivatives
GainLossOnSaleOfDerivatives
-128000
CY2024 us-gaap Share Based Compensation
ShareBasedCompensation
1397583
CY2023 us-gaap Share Based Compensation
ShareBasedCompensation
1933666
CY2022 us-gaap Share Based Compensation
ShareBasedCompensation
1417172
CY2024 cwco Gain On Asset Dispositions And Impairments Net
GainOnAssetDispositionsAndImpairmentsNet
-197786
CY2023 cwco Gain On Asset Dispositions And Impairments Net
GainOnAssetDispositionsAndImpairmentsNet
7112
CY2022 cwco Gain On Asset Dispositions And Impairments Net
GainOnAssetDispositionsAndImpairmentsNet
12704
CY2024 cwco Income Loss From Equity Method Investments And Subsidiaries
IncomeLossFromEquityMethodInvestmentsAndSubsidiaries
269455
CY2023 cwco Income Loss From Equity Method Investments And Subsidiaries
IncomeLossFromEquityMethodInvestmentsAndSubsidiaries
169728
CY2022 cwco Income Loss From Equity Method Investments And Subsidiaries
IncomeLossFromEquityMethodInvestmentsAndSubsidiaries
102225
CY2024 us-gaap Equity Method Investment Dividends Or Distributions
EquityMethodInvestmentDividendsOrDistributions
227250
CY2023 us-gaap Equity Method Investment Dividends Or Distributions
EquityMethodInvestmentDividendsOrDistributions
303000
CY2022 us-gaap Equity Method Investment Dividends Or Distributions
EquityMethodInvestmentDividendsOrDistributions
272700
CY2024 us-gaap Increase Decrease In Accounts Receivable And Other Operating Assets
IncreaseDecreaseInAccountsReceivableAndOtherOperatingAssets
1796919
CY2023 us-gaap Increase Decrease In Accounts Receivable And Other Operating Assets
IncreaseDecreaseInAccountsReceivableAndOtherOperatingAssets
10970521
CY2022 us-gaap Increase Decrease In Accounts Receivable And Other Operating Assets
IncreaseDecreaseInAccountsReceivableAndOtherOperatingAssets
-303125
CY2024 cwco Increase Decrease In Contract Assets
IncreaseDecreaseInContractAssets
-17082814
CY2023 cwco Increase Decrease In Contract Assets
IncreaseDecreaseInContractAssets
18639335
CY2022 cwco Increase Decrease In Contract Assets
IncreaseDecreaseInContractAssets
2423761
CY2024 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
3747675
CY2023 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
891405
CY2022 us-gaap Increase Decrease In Inventories
IncreaseDecreaseInInventories
3387011
CY2024 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
361359
CY2023 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
755391
CY2022 us-gaap Increase Decrease In Prepaid Deferred Expense And Other Assets
IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
3365747
CY2024 cwco Increase Decrease In Accounts Payable And Accrued Expenses And Other Current Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities
-2370274
CY2023 cwco Increase Decrease In Accounts Payable And Accrued Expenses And Other Current Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities
3161386
CY2022 cwco Increase Decrease In Accounts Payable And Accrued Expenses And Other Current Liabilities
IncreaseDecreaseInAccountsPayableAndAccruedExpensesAndOtherCurrentLiabilities
6756433
CY2024 cwco Increase Decrease In Contract Liability
IncreaseDecreaseInContractLiability
-2889643
CY2023 cwco Increase Decrease In Contract Liability
IncreaseDecreaseInContractLiability
2566910
CY2022 cwco Increase Decrease In Contract Liability
IncreaseDecreaseInContractLiability
-8290043
CY2024 us-gaap Increase Decrease In Operating Liabilities
IncreaseDecreaseInOperatingLiabilities
-5207
CY2023 us-gaap Increase Decrease In Operating Liabilities
IncreaseDecreaseInOperatingLiabilities
-5205
CY2022 us-gaap Increase Decrease In Operating Liabilities
IncreaseDecreaseInOperatingLiabilities
-5208
CY2024 us-gaap Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
48862
CY2023 us-gaap Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
1192
CY2022 us-gaap Increase Decrease In Deferred Revenue
IncreaseDecreaseInDeferredRevenue
-267821
CY2024 us-gaap Net Cash Provided By Used In Operating Activities Continuing Operations
NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
38172036
CY2023 us-gaap Net Cash Provided By Used In Operating Activities Continuing Operations
NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
9113731
CY2022 us-gaap Net Cash Provided By Used In Operating Activities Continuing Operations
NetCashProvidedByUsedInOperatingActivitiesContinuingOperations
23151748
CY2024 us-gaap Cash Provided By Used In Operating Activities Discontinued Operations
CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations
-1656504
CY2023 us-gaap Cash Provided By Used In Operating Activities Discontinued Operations
CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations
-1142969
CY2022 us-gaap Cash Provided By Used In Operating Activities Discontinued Operations
CashProvidedByUsedInOperatingActivitiesDiscontinuedOperations
-1819943
CY2024 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
36515532
CY2023 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
7970762
CY2022 us-gaap Net Cash Provided By Used In Operating Activities
NetCashProvidedByUsedInOperatingActivities
21331805
CY2022 cwco Payments To Acquire Certificates Of Deposit
PaymentsToAcquireCertificatesOfDeposit
2518493
CY2022 us-gaap Proceeds From Sale And Maturity Of Held To Maturity Securities
ProceedsFromSaleAndMaturityOfHeldToMaturitySecurities
5018493
CY2024 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
6696580
CY2023 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
5047884
CY2022 us-gaap Payments To Acquire Property Plant And Equipment
PaymentsToAcquirePropertyPlantAndEquipment
7542761
CY2024 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
446337
CY2023 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
20808
CY2022 us-gaap Proceeds From Sale Of Property Plant And Equipment
ProceedsFromSaleOfPropertyPlantAndEquipment
61725
CY2024 us-gaap Payments To Acquire Interest In Subsidiaries And Affiliates
PaymentsToAcquireInterestInSubsidiariesAndAffiliates
50000
CY2024 cwco Proceeds From Settlement Agreement Investing Activities
ProceedsFromSettlementAgreementInvestingActivities
33261664
CY2023 us-gaap Payments To Acquire Businesses Net Of Cash Acquired
PaymentsToAcquireBusinessesNetOfCashAcquired
3419916
CY2023 us-gaap Payments To Acquire Additional Interest In Subsidiaries
PaymentsToAcquireAdditionalInterestInSubsidiaries
2440027
CY2024 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
26961421
CY2023 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-10887019
CY2022 us-gaap Net Cash Provided By Used In Investing Activities
NetCashProvidedByUsedInInvestingActivities
-4981036
CY2024 us-gaap Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
6284645
CY2023 us-gaap Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
5472790
CY2022 us-gaap Payments Of Dividends Common Stock
PaymentsOfDividendsCommonStock
5145742
CY2024 us-gaap Payments Of Dividends Preferred Stock And Preference Stock
PaymentsOfDividendsPreferredStockAndPreferenceStock
17962
CY2023 us-gaap Payments Of Dividends Preferred Stock And Preference Stock
PaymentsOfDividendsPreferredStockAndPreferenceStock
14228
CY2022 us-gaap Payments Of Dividends Preferred Stock And Preference Stock
PaymentsOfDividendsPreferredStockAndPreferenceStock
11078
CY2024 us-gaap Payments To Minority Shareholders
PaymentsToMinorityShareholders
232100
CY2022 us-gaap Payments To Minority Shareholders
PaymentsToMinorityShareholders
1102475
CY2024 us-gaap Proceeds From Repurchase Of Redeemable Preferred Stock
ProceedsFromRepurchaseOfRedeemablePreferredStock
-14614
CY2023 us-gaap Proceeds From Repurchase Of Redeemable Preferred Stock
ProceedsFromRepurchaseOfRedeemablePreferredStock
-1830
CY2022 us-gaap Proceeds From Repurchase Of Redeemable Preferred Stock
ProceedsFromRepurchaseOfRedeemablePreferredStock
-226
CY2024 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
23753
CY2023 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
99764
CY2022 us-gaap Proceeds From Stock Options Exercised
ProceedsFromStockOptionsExercised
26739
CY2024 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
186586
CY2023 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
135481
CY2022 us-gaap Repayments Of Long Term Debt
RepaymentsOfLongTermDebt
72091
CY2024 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-6712154
CY2023 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-5524565
CY2022 us-gaap Net Cash Provided By Used In Financing Activities
NetCashProvidedByUsedInFinancingActivities
-6304873
CY2024 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Excluding Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
56764799
CY2023 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Excluding Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
-8440822
CY2022 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Period Increase Decrease Excluding Exchange Rate Effect
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
10045896
CY2023Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
42621898
CY2022Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
50711751
CY2021Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
40358059
CY2023Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
91283
CY2022Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
442252
CY2021Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
750048
CY2024Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
127859
CY2023Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
91283
CY2022Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents Including Disposal Group And Discontinued Operations
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
442252
CY2024Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
99350121
CY2023Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
42621898
CY2022Q4 us-gaap Cash Cash Equivalents Restricted Cash And Restricted Cash Equivalents
CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
50711751
CY2024 us-gaap Nature Of Operations
NatureOfOperations
<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">1. Principal activity</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Consolidated Water Co. Ltd. and its subsidiaries (collectively, the “Company”) supply potable water, treat wastewater and water for reuse, and provide water-related products and services to customers in the Cayman Islands, The Bahamas, the United States and the British Virgin Islands. The Company produces potable water from seawater using reverse osmosis technology and sells this water to a variety of customers, including public utilities, commercial and tourist properties, residential properties and government facilities. The Company designs, constructs and sells water production and water treatment infrastructure and manages water infrastructure for commercial and governmental customers. The Company also manufactures a wide range of specialized and custom water industry related products and provides design, engineering, operating and other services applicable to commercial, municipal and industrial water production, supply and treatment.</p>
CY2024 us-gaap Use Of Estimates
UseOfEstimates
<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Use of estimates:</b> The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenue and expenses during the reporting period. Significant items subject to estimates and assumptions include the carrying value of property, plant and equipment, intangible assets, goodwill and revenue recognition on construction and manufacturing contracts. Actual results could differ significantly from such estimates.</p>
CY2024 us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
74993
CY2023 us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
84678
CY2022 us-gaap Foreign Currency Transaction Gain Loss Before Tax
ForeignCurrencyTransactionGainLossBeforeTax
41750
CY2024Q4 us-gaap Cash Uninsured Amount
CashUninsuredAmount
54700000
CY2024Q4 cwco Cash And Restricted Cash Equivalents Held In Foreign Bank
CashAndRestrictedCashEquivalentsHeldInForeignBank
34100000
CY2024Q4 cwco Deposits Held In Foreign Bank
DepositsHeldInForeignBank
7700000
CY2023Q4 cwco Deposits Held In Foreign Bank
DepositsHeldInForeignBank
3000000
CY2023 us-gaap Interest Costs Capitalized
InterestCostsCapitalized
0
us-gaap Interest Costs Capitalized
InterestCostsCapitalized
0
CY2024 cwco Criteria For Recognizing Investment At Cost
CriteriaForRecognizingInvestmentAtCost
Investments where the Company does not exercise significant influence over the operating and financial policies of the investee and holds less than 20% of the voting stock are recorded at cost.
CY2024 us-gaap Equity Method Investment Additional Information
EquityMethodInvestmentAdditionalInformation
The Company uses the equity method of accounting for investments in common stock where the Company holds 20% to 50% of the voting stock of the investee and has significant influence over its operating and financial policies but does not meet the criteria for consolidation.
CY2024 us-gaap Revenues
Revenues
133966633
CY2023 us-gaap Revenues
Revenues
180211233
CY2022 us-gaap Revenues
Revenues
94104972
CY2024 cwco Number Of Days After Consumption Billings Are Considered Past Due
NumberOfDaysAfterConsumptionBillingsAreConsideredPastDue
P45D
CY2024 us-gaap Prior Period Reclassification Adjustment Description
PriorPeriodReclassificationAdjustmentDescription
<b style="font-weight:bold;">Comparative amounts:</b> Certain amounts presented in the financial statements previously issued for 2023 and 2022 have been reclassified to conform to the current year’s presentation
CY2024Q4 us-gaap Cash
Cash
64311264
CY2023Q4 us-gaap Cash
Cash
30709612
CY2024Q4 us-gaap Cash Equivalents At Carrying Value
CashEquivalentsAtCarryingValue
35038857
CY2023Q4 us-gaap Cash Equivalents At Carrying Value
CashEquivalentsAtCarryingValue
11912286
CY2024Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
99350121
CY2023Q4 us-gaap Cash And Cash Equivalents At Carrying Value
CashAndCashEquivalentsAtCarryingValue
42621898
CY2024Q4 cwco Accounts Receivable Trade Current
AccountsReceivableTradeCurrent
39986234
CY2023Q4 cwco Accounts Receivable Trade Current
AccountsReceivableTradeCurrent
38446554
CY2024Q4 us-gaap Other Receivables Net Current
OtherReceivablesNetCurrent
42515
CY2023Q4 us-gaap Other Receivables Net Current
OtherReceivablesNetCurrent
41129
CY2024Q4 cwco Accounts Receivable Other Current
AccountsReceivableOtherCurrent
373655
CY2023Q4 cwco Accounts Receivable Other Current
AccountsReceivableOtherCurrent
322609
CY2024Q4 us-gaap Accounts Receivable Gross Current
AccountsReceivableGrossCurrent
40402404
CY2023Q4 us-gaap Accounts Receivable Gross Current
AccountsReceivableGrossCurrent
38810292
CY2024Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
821422
CY2023Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
583401
CY2024Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
39580982
CY2023Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
38226891
CY2023Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
583401
CY2021Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
183214
CY2024 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
442828
CY2023 us-gaap Provision For Doubtful Accounts
ProvisionForDoubtfulAccounts
408489
CY2024 us-gaap Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
205467
CY2023 us-gaap Allowance For Doubtful Accounts Receivable Write Offs
AllowanceForDoubtfulAccountsReceivableWriteOffs
9215
CY2024 us-gaap Allowance For Doubtful Accounts Receivable Recoveries
AllowanceForDoubtfulAccountsReceivableRecoveries
660
CY2023 us-gaap Allowance For Doubtful Accounts Receivable Recoveries
AllowanceForDoubtfulAccountsReceivableRecoveries
913
CY2024Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
821422
CY2023Q4 us-gaap Allowance For Doubtful Accounts Receivable Current
AllowanceForDoubtfulAccountsReceivableCurrent
583401
CY2024Q4 us-gaap Inventory Gross
InventoryGross
14299311
CY2023Q4 us-gaap Inventory Gross
InventoryGross
11090413
CY2024Q4 us-gaap Inventory Net
InventoryNet
8960350
CY2023Q4 us-gaap Inventory Net
InventoryNet
6044642
CY2024Q4 us-gaap Inventory Noncurrent
InventoryNoncurrent
5338961
CY2023Q4 us-gaap Inventory Noncurrent
InventoryNoncurrent
5045771
CY2024 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
114590991
CY2023 us-gaap Revenue From Contract With Customer Including Assessed Tax
RevenueFromContractWithCustomerIncludingAssessedTax
108952682
CY2024 cwco Contract With Customer Amount Billed
ContractWithCustomerAmountBilled
121833354
CY2023 cwco Contract With Customer Amount Billed
ContractWithCustomerAmountBilled
101724459
CY2024 cwco Contract With Customer Retainage
ContractWithCustomerRetainage
2585952
CY2023 cwco Contract With Customer Retainage
ContractWithCustomerRetainage
8087823
CY2024 cwco Contract With Customer Net Overbillings
ContractWithCustomerNetOverbillings
-4656411
CY2023 cwco Contract With Customer Net Overbillings
ContractWithCustomerNetOverbillings
15316046
CY2024Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
4470243
CY2023Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
21553057
CY2024Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
9126654
CY2023Q4 us-gaap Contract With Customer Liability Current
ContractWithCustomerLiabilityCurrent
6237011
CY2024 cwco Contract With Customer Net Overbillings
ContractWithCustomerNetOverbillings
-4656411
CY2023 cwco Contract With Customer Net Overbillings
ContractWithCustomerNetOverbillings
15316046
CY2024Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
141260376
CY2023Q4 us-gaap Property Plant And Equipment Gross
PropertyPlantAndEquipmentGross
145171425
CY2024Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
88828094
CY2023Q4 us-gaap Accumulated Depreciation Depletion And Amortization Property Plant And Equipment
AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
89288904
CY2024Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
52432282
CY2023Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
55882521
CY2024Q4 us-gaap Construction In Progress Gross
ConstructionInProgressGross
5143717
CY2023Q4 us-gaap Construction In Progress Gross
ConstructionInProgressGross
495471
CY2024 cwco Construction In Progress Placed In Service
ConstructionInProgressPlacedInService
1395485
CY2023 cwco Construction In Progress Placed In Service
ConstructionInProgressPlacedInService
7093158
CY2024 us-gaap Depreciation
Depreciation
5855935
CY2023 us-gaap Depreciation
Depreciation
5823008
CY2022 us-gaap Depreciation
Depreciation
5425177
CY2020Q3 cwco Discontinued Operations Non Recoverable Expenses
DiscontinuedOperationsNonRecoverableExpenses
51144525
CY2020Q3 cwco Discontinued Operations Non Recoverable Expenses
DiscontinuedOperationsNonRecoverableExpenses
137333114
CY2022Q1 us-gaap Litigation Settlement Loss
LitigationSettlementLoss
137000000
CY2024Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
6008390
CY2023Q4 us-gaap Finite Lived Intangible Assets Gross
FiniteLivedIntangibleAssetsGross
6008390
CY2024Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
3311575
CY2023Q4 us-gaap Finite Lived Intangible Assets Accumulated Amortization
FiniteLivedIntangibleAssetsAccumulatedAmortization
2655205
CY2024Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
2696815
CY2023Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
3353185
CY2024Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Next Twelve Months
FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
595260
CY2024Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Two
FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
289705
CY2024Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Three
FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
289705
CY2024Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Four
FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
276275
CY2024Q4 us-gaap Finite Lived Intangible Assets Amortization Expense Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
235987
CY2024Q4 us-gaap Finite Lived Intangible Assets Amortization Expense After Year Five
FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
1009883
CY2024Q4 us-gaap Finite Lived Intangible Assets Net
FiniteLivedIntangibleAssetsNet
2696815
CY2024 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
656370
CY2023 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
574093
CY2022 us-gaap Amortization Of Intangible Assets
AmortizationOfIntangibleAssets
582778
CY2024Q2 us-gaap Lessee Operating Lease Renewal Term
LesseeOperatingLeaseRenewalTerm
P5Y
CY2024Q2 us-gaap Lessee Operating Lease Renewal Term
LesseeOperatingLeaseRenewalTerm
P5Y
CY2024Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
3190985
CY2023Q4 us-gaap Operating Lease Right Of Use Asset
OperatingLeaseRightOfUseAsset
2135446
CY2024Q4 cwco Operating Lease Right Of Use Asset Net
OperatingLeaseRightOfUseAssetNet
3232786
CY2023Q4 cwco Operating Lease Right Of Use Asset Net
OperatingLeaseRightOfUseAssetNet
2245987
CY2024Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
634947
CY2023Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
456865
CY2024Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
2630812
CY2023Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
1827302
CY2024Q4 cwco Operating Lease Liability Including Discontinued Operations
OperatingLeaseLiabilityIncludingDiscontinuedOperations
3265759
CY2023Q4 cwco Operating Lease Liability Including Discontinued Operations
OperatingLeaseLiabilityIncludingDiscontinuedOperations
2284167
CY2024Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P5Y
CY2023Q4 us-gaap Operating Lease Weighted Average Remaining Lease Term1
OperatingLeaseWeightedAverageRemainingLeaseTerm1
P6Y1M6D
CY2024Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.0656
CY2023Q4 us-gaap Operating Lease Weighted Average Discount Rate Percent
OperatingLeaseWeightedAverageDiscountRatePercent
0.0567
CY2024 us-gaap Operating Lease Cost
OperatingLeaseCost
847540
CY2023 us-gaap Operating Lease Cost
OperatingLeaseCost
751261
CY2022 us-gaap Operating Lease Cost
OperatingLeaseCost
692404
CY2024 us-gaap Short Term Lease Cost
ShortTermLeaseCost
361176
CY2023 us-gaap Short Term Lease Cost
ShortTermLeaseCost
217640
CY2022 us-gaap Short Term Lease Cost
ShortTermLeaseCost
100975
CY2024 cwco Operating Lease Costs Discontinued Operations
OperatingLeaseCostsDiscontinuedOperations
31946
CY2023 cwco Operating Lease Costs Discontinued Operations
OperatingLeaseCostsDiscontinuedOperations
45979
CY2022 cwco Operating Lease Costs Discontinued Operations
OperatingLeaseCostsDiscontinuedOperations
40021
CY2024 us-gaap Lease Cost
LeaseCost
1240662
CY2023 us-gaap Lease Cost
LeaseCost
1014880
CY2022 us-gaap Lease Cost
LeaseCost
833400
CY2024 us-gaap Operating Lease Payments
OperatingLeasePayments
924461
CY2023 us-gaap Operating Lease Payments
OperatingLeasePayments
760847
CY2022 us-gaap Operating Lease Payments
OperatingLeasePayments
742696
CY2023 cwco Operating Lease Discontinued Operations Payments
OperatingLeaseDiscontinuedOperationsPayments
11337
CY2022 cwco Operating Lease Discontinued Operations Payments
OperatingLeaseDiscontinuedOperationsPayments
9590
CY2024Q4 us-gaap Lessee Operating Lease Liability Payments Due Next Twelve Months
LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
836548
CY2024Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Two
LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
763783
CY2024Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Three
LesseeOperatingLeaseLiabilityPaymentsDueYearThree
732904
CY2024Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Four
LesseeOperatingLeaseLiabilityPaymentsDueYearFour
749143
CY2024Q4 us-gaap Lessee Operating Lease Liability Payments Due Year Five
LesseeOperatingLeaseLiabilityPaymentsDueYearFive
455209
CY2024Q4 us-gaap Lessee Operating Lease Liability Payments Due After Year Five
LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
314007
CY2024Q4 us-gaap Lessee Operating Lease Liability Payments Due
LesseeOperatingLeaseLiabilityPaymentsDue
3851594
CY2024Q4 us-gaap Lessee Operating Lease Liability Undiscounted Excess Amount
LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
585835
CY2024Q4 cwco Operating Lease Liabilities Continuing Operations
OperatingLeaseLiabilitiesContinuingOperations
3265759
CY2024Q4 us-gaap Operating Lease Liability Current
OperatingLeaseLiabilityCurrent
634947
CY2024Q4 us-gaap Operating Lease Liability Noncurrent
OperatingLeaseLiabilityNoncurrent
2630812
CY2024 cwco Income Loss From Continuing Operations Before Income Taxes Foreign Not Subject To Income Taxes
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes
10699269
CY2023 cwco Income Loss From Continuing Operations Before Income Taxes Foreign Not Subject To Income Taxes
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes
10002233
CY2022 cwco Income Loss From Continuing Operations Before Income Taxes Foreign Not Subject To Income Taxes
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeignNotSubjectToIncomeTaxes
6958583
CY2024 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
10922374
CY2023 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
-742367
CY2022 us-gaap Income Loss From Continuing Operations Before Income Taxes Foreign
IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
-987279
CY2024 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
9412015
CY2023 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
27649330
CY2022 us-gaap Income Loss From Continuing Operations Before Income Taxes Domestic
IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
1394642
CY2024 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
31033658
CY2023 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
36909196
CY2022 us-gaap Income Loss From Continuing Operations Before Income Taxes Minority Interest And Income Loss From Equity Method Investments
IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments
7365946
CY2024 cwco Income Loss From Discontinued Operations
IncomeLossFromDiscontinuedOperations
-10355184
CY2023 cwco Income Loss From Discontinued Operations
IncomeLossFromDiscontinuedOperations
1086744
CY2022 cwco Income Loss From Discontinued Operations
IncomeLossFromDiscontinuedOperations
2371049
CY2024 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
20678474
CY2023 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
37995940
CY2022 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
9736995
CY2024 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
2282566
CY2023 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
5611360
CY2022 us-gaap Current Federal Tax Expense Benefit
CurrentFederalTaxExpenseBenefit
430116
CY2024 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
255835
CY2023 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
1663653
CY2022 us-gaap Current State And Local Tax Expense Benefit
CurrentStateAndLocalTaxExpenseBenefit
-29157
CY2024 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
2538401
CY2023 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
7275013
CY2022 us-gaap Current Income Tax Expense Benefit
CurrentIncomeTaxExpenseBenefit
400959
CY2024 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-267100
CY2023 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-276070
CY2022 us-gaap Deferred Federal Income Tax Expense Benefit
DeferredFederalIncomeTaxExpenseBenefit
-184469
CY2024 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
-52787
CY2023 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
-248929
CY2022 us-gaap Deferred State And Local Income Tax Expense Benefit
DeferredStateAndLocalIncomeTaxExpenseBenefit
180249
CY2024 us-gaap Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
-319887
CY2023 us-gaap Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
-524999
CY2022 us-gaap Deferred Income Taxes And Tax Credits
DeferredIncomeTaxesAndTaxCredits
-4220
CY2024 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
2218514
CY2023 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
6750014
CY2022 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
396739
CY2024 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21
CY2023 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21
CY2022 us-gaap Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate
EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
0.21
CY2024 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.0072
CY2023 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.0288
CY2022 us-gaap Effective Income Tax Rate Reconciliation State And Local Income Taxes
EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
0.0888
CY2024 us-gaap Effective Income Tax Rate Reconciliation Foreign Income Tax Rate Differential
EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
-0.1145
CY2023 us-gaap Effective Income Tax Rate Reconciliation Foreign Income Tax Rate Differential
EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
-0.0571
CY2022 us-gaap Effective Income Tax Rate Reconciliation Foreign Income Tax Rate Differential
EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
-0.2557
CY2022 us-gaap Effective Income Tax Rate Reconciliation Tax Credits Research
EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
0.0192
CY2024 cwco Effective Income Tax Rate Reconciliation Permanent Items
EffectiveIncomeTaxRateReconciliationPermanentItems
0.0046
CY2023 cwco Effective Income Tax Rate Reconciliation Permanent Items
EffectiveIncomeTaxRateReconciliationPermanentItems
-0.0032
CY2022 cwco Effective Income Tax Rate Reconciliation Permanent Items
EffectiveIncomeTaxRateReconciliationPermanentItems
-0.007
CY2023 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
-0.0008
CY2022 us-gaap Effective Income Tax Rate Reconciliation Change In Deferred Tax Assets Valuation Allowance
EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
0.0238
CY2024 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.1073
CY2023 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.1777
CY2022 us-gaap Effective Income Tax Rate Continuing Operations
EffectiveIncomeTaxRateContinuingOperations
0.0407
CY2024Q4 us-gaap Deferred Tax Assets Capital Loss Carryforwards
DeferredTaxAssetsCapitalLossCarryforwards
80285
CY2023Q4 us-gaap Deferred Tax Assets Capital Loss Carryforwards
DeferredTaxAssetsCapitalLossCarryforwards
130911
CY2024Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
209549
CY2023Q4 us-gaap Deferred Tax Assets Tax Deferred Expense Reserves And Accruals Accrued Liabilities
DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities
146057
CY2024Q4 cwco Deferred Tax Assets Tax Deferred Expense Operating Lease Liabilities
DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities
425797
CY2023Q4 cwco Deferred Tax Assets Tax Deferred Expense Operating Lease Liabilities
DeferredTaxAssetsTaxDeferredExpenseOperatingLeaseLiabilities
501397
CY2024Q4 us-gaap Deferred Tax Assets In Process Research And Development
DeferredTaxAssetsInProcessResearchAndDevelopment
316937
CY2023Q4 us-gaap Deferred Tax Assets In Process Research And Development
DeferredTaxAssetsInProcessResearchAndDevelopment
326178
CY2024Q4 us-gaap Deferred Tax Assets Other
DeferredTaxAssetsOther
88750
CY2023Q4 us-gaap Deferred Tax Assets Other
DeferredTaxAssetsOther
29094
CY2024Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
0
CY2023Q4 us-gaap Deferred Tax Assets Valuation Allowance
DeferredTaxAssetsValuationAllowance
0
CY2024Q4 us-gaap Deferred Tax Assets Net
DeferredTaxAssetsNet
1121318
CY2023Q4 us-gaap Deferred Tax Assets Net
DeferredTaxAssetsNet
1133637
CY2024Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
239830
CY2023Q4 us-gaap Deferred Tax Liabilities Property Plant And Equipment
DeferredTaxLiabilitiesPropertyPlantAndEquipment
325473
CY2024Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
672973
CY2023Q4 us-gaap Deferred Tax Liabilities Goodwill And Intangible Assets Intangible Assets
DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
847450
CY2024Q4 cwco Deferred Tax Liabilities Operating Lease Right Of Use Assets
DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets
419408
CY2023Q4 cwco Deferred Tax Liabilities Operating Lease Right Of Use Assets
DeferredTaxLiabilitiesOperatingLeaseRightOfUseAssets
491494
CY2024Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
1332211
CY2023Q4 us-gaap Deferred Income Tax Liabilities
DeferredIncomeTaxLiabilities
1664417
CY2024Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
210893
CY2023Q4 us-gaap Deferred Income Tax Liabilities Net
DeferredIncomeTaxLiabilitiesNet
530780
CY2024 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
17882370
CY2023 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
30672135
CY2022 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
8227343
CY2024 us-gaap Dividends Preferred Stock
DividendsPreferredStock
18595
CY2023 us-gaap Dividends Preferred Stock
DividendsPreferredStock
15513
CY2022 us-gaap Dividends Preferred Stock
DividendsPreferredStock
11532
CY2024 us-gaap Net Income Loss From Continuing Operations Available To Common Shareholders Basic
NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
17863775
CY2023 us-gaap Net Income Loss From Continuing Operations Available To Common Shareholders Basic
NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
30656622
CY2022 us-gaap Net Income Loss From Continuing Operations Available To Common Shareholders Basic
NetIncomeLossFromContinuingOperationsAvailableToCommonShareholdersBasic
8215811
CY2024 us-gaap Income Loss From Discontinued Operations Net Of Tax
IncomeLossFromDiscontinuedOperationsNetOfTax
10355184
CY2023 us-gaap Income Loss From Discontinued Operations Net Of Tax
IncomeLossFromDiscontinuedOperationsNetOfTax
-1086744
CY2022 us-gaap Income Loss From Discontinued Operations Net Of Tax
IncomeLossFromDiscontinuedOperationsNetOfTax
-2371049
CY2024 us-gaap Net Income Loss Available To Common Stockholders Basic
NetIncomeLossAvailableToCommonStockholdersBasic
28218959
CY2023 us-gaap Net Income Loss Available To Common Stockholders Basic
NetIncomeLossAvailableToCommonStockholdersBasic
29569878
CY2022 us-gaap Net Income Loss Available To Common Stockholders Basic
NetIncomeLossAvailableToCommonStockholdersBasic
5844762
CY2024 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
15832328
CY2023 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
15739056
CY2022 us-gaap Weighted Average Number Of Shares Outstanding Basic
WeightedAverageNumberOfSharesOutstandingBasic
15290509
CY2024 us-gaap Incremental Common Shares Attributable To Conversion Of Preferred Stock
IncrementalCommonSharesAttributableToConversionOfPreferredStock
44257
CY2023 us-gaap Incremental Common Shares Attributable To Conversion Of Preferred Stock
IncrementalCommonSharesAttributableToConversionOfPreferredStock
39885
CY2022 us-gaap Incremental Common Shares Attributable To Conversion Of Preferred Stock
IncrementalCommonSharesAttributableToConversionOfPreferredStock
31885
CY2024 us-gaap Incremental Common Shares Attributable To Call Options And Warrants
IncrementalCommonSharesAttributableToCallOptionsAndWarrants
59377
CY2023 us-gaap Incremental Common Shares Attributable To Call Options And Warrants
IncrementalCommonSharesAttributableToCallOptionsAndWarrants
86956
CY2022 us-gaap Incremental Common Shares Attributable To Call Options And Warrants
IncrementalCommonSharesAttributableToCallOptionsAndWarrants
79259
CY2024 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
15935962
CY2023 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
15865897
CY2022 us-gaap Weighted Average Number Of Diluted Shares Outstanding
WeightedAverageNumberOfDilutedSharesOutstanding
15401653
CY2024Q1 us-gaap Dividends Payable Amount Per Share
DividendsPayableAmountPerShare
0.095
CY2023Q1 us-gaap Dividends Payable Amount Per Share
DividendsPayableAmountPerShare
0.085
CY2022Q1 us-gaap Dividends Payable Amount Per Share
DividendsPayableAmountPerShare
0.085
CY2024Q2 us-gaap Dividends Payable Amount Per Share
DividendsPayableAmountPerShare
0.095
CY2023Q2 us-gaap Dividends Payable Amount Per Share
DividendsPayableAmountPerShare
0.085
CY2022Q2 us-gaap Dividends Payable Amount Per Share
DividendsPayableAmountPerShare
0.085
CY2024Q3 us-gaap Dividends Payable Amount Per Share
DividendsPayableAmountPerShare
0.11
CY2023Q3 us-gaap Dividends Payable Amount Per Share
DividendsPayableAmountPerShare
0.095
CY2022Q3 us-gaap Dividends Payable Amount Per Share
DividendsPayableAmountPerShare
0.085
CY2024Q4 us-gaap Dividends Payable Amount Per Share
DividendsPayableAmountPerShare
0.11
CY2023Q4 us-gaap Dividends Payable Amount Per Share
DividendsPayableAmountPerShare
0.095
CY2022Q4 us-gaap Dividends Payable Amount Per Share
DividendsPayableAmountPerShare
0.085
CY2024 cwco Interim Dividends Per Share Declared
InterimDividendsPerShareDeclared
0.41
CY2023 cwco Interim Dividends Per Share Declared
InterimDividendsPerShareDeclared
0.36
CY2022 cwco Interim Dividends Per Share Declared
InterimDividendsPerShareDeclared
0.34
CY2024 us-gaap Number Of Reportable Segments
NumberOfReportableSegments
5
CY2024 us-gaap Revenues
Revenues
133966633
CY2024 us-gaap Cost Of Revenue
CostOfRevenue
88342185
CY2024 us-gaap Gross Profit
GrossProfit
45624448
CY2024 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
27537436
CY2024 us-gaap Gain Loss On Sales Of Assets And Asset Impairment Charges
GainLossOnSalesOfAssetsAndAssetImpairmentCharges
197786
CY2024 us-gaap Operating Income Loss
OperatingIncomeLoss
18284798
CY2024 us-gaap Interest Income Other
InterestIncomeOther
2094190
CY2024 us-gaap Interest Expense Nonoperating
InterestExpenseNonoperating
101847
CY2024 us-gaap Income Loss From Equity Method Investments
IncomeLossFromEquityMethodInvestments
269455
CY2024 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
131878
CY2024 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
2393676
CY2024 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
20678474
CY2024 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
2218514
CY2024 us-gaap Income Loss From Continuing Operations Including Portion Attributable To Noncontrolling Interest
IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
18459960
CY2024 us-gaap Income Loss From Continuing Operations Attributable To Noncontrolling Entity
IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
577590
CY2024 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
17882370
CY2024 us-gaap Income Loss From Discontinued Operations Net Of Tax
IncomeLossFromDiscontinuedOperationsNetOfTax
10355184
CY2024 us-gaap Net Income Loss
NetIncomeLoss
28237554
CY2024 cwco Subcontractor And Other Project Cost
SubcontractorAndOtherProjectCost
29905101
CY2024 us-gaap Cost Direct Labor
CostDirectLabor
24070902
CY2024 us-gaap Cost Of Goods And Services Sold Overhead
CostOfGoodsAndServicesSoldOverhead
8866059
CY2024 us-gaap Fuel Costs
FuelCosts
8330914
CY2024 us-gaap Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
5641370
CY2024 us-gaap Cost Maintenance
CostMaintenance
3800391
CY2024 us-gaap Operating Insurance And Claims Costs Production
OperatingInsuranceAndClaimsCostsProduction
2446327
CY2024 cwco Cost Retail License Royalties
CostRetailLicenseRoyalties
1945470
CY2024 us-gaap Other Cost Of Operating Revenue
OtherCostOfOperatingRevenue
3335651
CY2024 us-gaap Cost Of Revenue
CostOfRevenue
88342185
CY2024 us-gaap Labor And Related Expense
LaborAndRelatedExpense
14692061
CY2024 us-gaap Professional Fees
ProfessionalFees
3396416
CY2024 us-gaap General Insurance Expense
GeneralInsuranceExpense
2067372
CY2024 us-gaap Depreciation And Amortization
DepreciationAndAmortization
870935
CY2024 us-gaap Other General And Administrative Expense
OtherGeneralAndAdministrativeExpense
6510652
CY2024 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
27537436
CY2024Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
39580982
CY2024Q4 cwco Inventory Current And Noncurrent
InventoryCurrentAndNoncurrent
14299311
CY2024Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
4470243
CY2024Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
52432282
CY2024Q4 cwco Construction In Progress
ConstructionInProgress
5143717
CY2024Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
2696815
CY2024Q4 us-gaap Goodwill
Goodwill
12861404
CY2024Q4 cwco Assets Continued Operation
AssetsContinuedOperation
243040696
CY2024Q4 us-gaap Assets Of Disposal Group Including Discontinued Operation
AssetsOfDisposalGroupIncludingDiscontinuedOperation
272485
CY2024Q4 us-gaap Assets
Assets
243313181
CY2023 us-gaap Revenues
Revenues
180211233
CY2023 us-gaap Cost Of Revenue
CostOfRevenue
118284128
CY2023 us-gaap Gross Profit
GrossProfit
61927105
CY2023 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
24752366
CY2023 us-gaap Gain Loss On Sales Of Assets And Asset Impairment Charges
GainLossOnSalesOfAssetsAndAssetImpairmentCharges
-7112
CY2023 us-gaap Operating Income Loss
OperatingIncomeLoss
37167627
CY2023 us-gaap Interest Income Other
InterestIncomeOther
696408
CY2023 us-gaap Interest Expense Nonoperating
InterestExpenseNonoperating
145284
CY2023 us-gaap Income Loss From Equity Method Investments
IncomeLossFromEquityMethodInvestments
169728
CY2023 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
107461
CY2023 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
828313
CY2023 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
37995940
CY2023 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
6750014
CY2023 us-gaap Income Loss From Continuing Operations Including Portion Attributable To Noncontrolling Interest
IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
31245926
CY2023 us-gaap Income Loss From Continuing Operations Attributable To Noncontrolling Entity
IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
573791
CY2023 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
30672135
CY2023 us-gaap Income Loss From Discontinued Operations Net Of Tax
IncomeLossFromDiscontinuedOperationsNetOfTax
-1086744
CY2023 us-gaap Net Income Loss
NetIncomeLoss
29585391
CY2023 cwco Subcontractor And Other Project Cost
SubcontractorAndOtherProjectCost
64700505
CY2023 us-gaap Cost Direct Labor
CostDirectLabor
18935013
CY2023 us-gaap Cost Of Goods And Services Sold Overhead
CostOfGoodsAndServicesSoldOverhead
9502666
CY2023 us-gaap Fuel Costs
FuelCosts
9024836
CY2023 us-gaap Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
5632999
CY2023 us-gaap Cost Maintenance
CostMaintenance
2992872
CY2023 us-gaap Operating Insurance And Claims Costs Production
OperatingInsuranceAndClaimsCostsProduction
2061497
CY2023 cwco Cost Retail License Royalties
CostRetailLicenseRoyalties
1842924
CY2023 us-gaap Other Cost Of Operating Revenue
OtherCostOfOperatingRevenue
3590816
CY2023 us-gaap Cost Of Revenue
CostOfRevenue
118284128
CY2023 us-gaap Labor And Related Expense
LaborAndRelatedExpense
13690153
CY2023 us-gaap Professional Fees
ProfessionalFees
2012092
CY2023 us-gaap General Insurance Expense
GeneralInsuranceExpense
1903856
CY2023 us-gaap Depreciation And Amortization
DepreciationAndAmortization
764102
CY2023 us-gaap Other General And Administrative Expense
OtherGeneralAndAdministrativeExpense
6382163
CY2023 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
24752366
CY2023Q4 us-gaap Accounts Receivable Net Current
AccountsReceivableNetCurrent
38226891
CY2023Q4 cwco Inventory Current And Noncurrent
InventoryCurrentAndNoncurrent
11090413
CY2023Q4 us-gaap Contract With Customer Asset Net Current
ContractWithCustomerAssetNetCurrent
21553057
CY2023Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
55882521
CY2023Q4 cwco Construction In Progress
ConstructionInProgress
495471
CY2023Q4 us-gaap Intangible Assets Net Excluding Goodwill
IntangibleAssetsNetExcludingGoodwill
3353185
CY2023Q4 us-gaap Goodwill
Goodwill
12861404
CY2023Q4 cwco Assets Continued Operation
AssetsContinuedOperation
197096787
CY2023Q4 us-gaap Assets Of Disposal Group Including Discontinued Operation
AssetsOfDisposalGroupIncludingDiscontinuedOperation
21340805
CY2023Q4 us-gaap Assets
Assets
218437592
CY2022 us-gaap Revenues
Revenues
94104972
CY2022 us-gaap Cost Of Revenue
CostOfRevenue
63749849
CY2022 us-gaap Gross Profit
GrossProfit
30355123
CY2022 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
21070234
CY2022 us-gaap Gain Loss On Sales Of Assets And Asset Impairment Charges
GainLossOnSalesOfAssetsAndAssetImpairmentCharges
-12704
CY2022 us-gaap Operating Income Loss
OperatingIncomeLoss
9272185
CY2022 us-gaap Interest Income Other
InterestIncomeOther
447186
CY2022 us-gaap Interest Expense Nonoperating
InterestExpenseNonoperating
46545
CY2022 us-gaap Income Loss From Equity Method Investments
IncomeLossFromEquityMethodInvestments
102225
CY2022 us-gaap Gain Loss On Sale Of Derivatives
GainLossOnSaleOfDerivatives
-128000
CY2022 us-gaap Other Nonoperating Income Expense
OtherNonoperatingIncomeExpense
89944
CY2022 us-gaap Nonoperating Income Expense
NonoperatingIncomeExpense
464810
CY2022 us-gaap Income Loss From Continuing Operations Before Income Taxes Extraordinary Items Noncontrolling Interest
IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
9736995
CY2022 us-gaap Income Tax Expense Benefit
IncomeTaxExpenseBenefit
396739
CY2022 us-gaap Income Loss From Continuing Operations Including Portion Attributable To Noncontrolling Interest
IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest
9340256
CY2022 us-gaap Income Loss From Continuing Operations Attributable To Noncontrolling Entity
IncomeLossFromContinuingOperationsAttributableToNoncontrollingEntity
1112913
CY2022 us-gaap Income Loss From Continuing Operations
IncomeLossFromContinuingOperations
8227343
CY2022 us-gaap Income Loss From Discontinued Operations Net Of Tax
IncomeLossFromDiscontinuedOperationsNetOfTax
-2371049
CY2022 us-gaap Net Income Loss
NetIncomeLoss
5856294
CY2022 cwco Subcontractor And Other Project Cost
SubcontractorAndOtherProjectCost
17817283
CY2022 us-gaap Cost Direct Labor
CostDirectLabor
14036117
CY2022 us-gaap Cost Of Goods And Services Sold Overhead
CostOfGoodsAndServicesSoldOverhead
6975129
CY2022 us-gaap Fuel Costs
FuelCosts
10203690
CY2022 us-gaap Cost Of Goods And Services Sold Depreciation
CostOfGoodsAndServicesSoldDepreciation
5261463
CY2022 us-gaap Cost Maintenance
CostMaintenance
2786258
CY2022 us-gaap Operating Insurance And Claims Costs Production
OperatingInsuranceAndClaimsCostsProduction
1782333
CY2022 cwco Cost Retail License Royalties
CostRetailLicenseRoyalties
1590250
CY2022 us-gaap Other Cost Of Operating Revenue
OtherCostOfOperatingRevenue
3297326
CY2022 us-gaap Cost Of Revenue
CostOfRevenue
63749849
CY2022 us-gaap Labor And Related Expense
LaborAndRelatedExpense
11209636
CY2022 us-gaap Professional Fees
ProfessionalFees
1760279
CY2022 us-gaap General Insurance Expense
GeneralInsuranceExpense
2067625
CY2022 us-gaap Depreciation And Amortization
DepreciationAndAmortization
746492
CY2022 us-gaap Other General And Administrative Expense
OtherGeneralAndAdministrativeExpense
5286202
CY2022 us-gaap General And Administrative Expense
GeneralAndAdministrativeExpense
21070234
CY2024 us-gaap Revenues
Revenues
133966633
CY2023 us-gaap Revenues
Revenues
180211233
CY2022 us-gaap Revenues
Revenues
94104972
CY2024Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
52432282
CY2023Q4 us-gaap Property Plant And Equipment Net
PropertyPlantAndEquipmentNet
55882521
CY2024 us-gaap Allocated Share Based Compensation Expense Net Of Tax
AllocatedShareBasedCompensationExpenseNetOfTax
142566
CY2023 us-gaap Allocated Share Based Compensation Expense Net Of Tax
AllocatedShareBasedCompensationExpenseNetOfTax
703289
CY2022 us-gaap Allocated Share Based Compensation Expense Net Of Tax
AllocatedShareBasedCompensationExpenseNetOfTax
386260
CY2024 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
0.0523
CY2023 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
0.0506
CY2022 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Risk Free Interest Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
0.0164
CY2024 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P0Y9M18D
CY2023 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P1Y
CY2022 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Fair Value Assumptions Expected Term1
SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
P1Y2M12D
CY2024 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
0.3293
CY2023 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
0.4242
CY2022 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Volatility Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
0.4715
CY2024 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
0.0148
CY2023 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
0.016
CY2022 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Expected Dividend Rate
ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
0.0235
CY2023Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
12175
CY2023Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
16.08
CY2024 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Grants In Period Gross
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
7204
CY2024 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Grants In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
23.24
CY2024 us-gaap Stock Issued During Period Shares Stock Options Exercised
StockIssuedDuringPeriodSharesStockOptionsExercised
1043
CY2024 us-gaap Share Based Compensation Arrangements By Share Based Payment Award Options Exercises In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
22.77
CY2024 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
4861
CY2024 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Forfeitures And Expirations In Period Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
22.77
CY2024Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Number
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
13475
CY2024Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Weighted Average Exercise Price
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
16.97
CY2024 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Outstanding Weighted Average Remaining Contractual Term2
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
P1Y6M3D
CY2024Q4 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Outstanding Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
120136
CY2024 cwco Closing Price Of Common Shares
ClosingPriceOfCommonShares
25.89
CY2024Q4 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Number Of Shares
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares
13475
CY2024Q4 us-gaap Sharebased Compensation Arrangement By Sharebased Payment Award Options Nonvested Weighted Average Grant Date Fair Value
SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue
16.97
CY2024Q4 us-gaap Employee Service Share Based Compensation Nonvested Awards Total Compensation Cost Not Yet Recognized
EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
32423
CY2024 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
2482
CY2023 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
104559
CY2022 us-gaap Share Based Compensation Arrangement By Share Based Payment Award Options Exercises In Period Total Intrinsic Value
ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
17158
CY2023 cwco Share Based Compensation Arrangement By Share Based Payment Award Measurement Period
ShareBasedCompensationArrangementByShareBasedPaymentAwardMeasurementPeriod
P3Y
CY2024 us-gaap Long Term Purchase Commitment Amount
LongTermPurchaseCommitmentAmount
15600000
CY2024 cwco Cayman Water Retail Operations Percentage Of Revenue
CaymanWaterRetailOperationsPercentageOfRevenue
0.24
CY2023 cwco Cayman Water Retail Operations Percentage Of Revenue
CaymanWaterRetailOperationsPercentageOfRevenue
0.17
CY2022 cwco Cayman Water Retail Operations Percentage Of Revenue
CaymanWaterRetailOperationsPercentageOfRevenue
0.27
CY2024 cwco Cayman Water Retail Operations Percentage Of Gross Profit
CaymanWaterRetailOperationsPercentageOfGrossProfit
0.38
CY2023 cwco Cayman Water Retail Operations Percentage Of Gross Profit
CaymanWaterRetailOperationsPercentageOfGrossProfit
0.26
CY2022 cwco Cayman Water Retail Operations Percentage Of Gross Profit
CaymanWaterRetailOperationsPercentageOfGrossProfit
0.44
CY2024Q4 us-gaap Revenue Remaining Performance Obligation Percentage
RevenueRemainingPerformanceObligationPercentage
0.075
CY2024 cwco Schedule Of Supplemental Disclosure Of Cash Flow Information
ScheduleOfSupplementalDisclosureOfCashFlowInformation
<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:65.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:65.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:33.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:top;width:65.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest paid in cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,479</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,417</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,797</p></td></tr><tr><td style="vertical-align:top;width:65.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income taxes paid in cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,147,300</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,920,912</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 211,000</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:7pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:7pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:top;width:65.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Issuance of 5,904, 13,309 and 9,295, respectively, shares of redeemable preferred stock for services rendered</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:7pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 148,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 323,275</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 133,197</p></td></tr><tr><td style="vertical-align:top;width:65.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Issuance of 68,832, 68,864 and 72,597, respectively, shares of common stock for services rendered</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:7pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,064,119</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,015,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 877,298</p></td></tr><tr><td style="vertical-align:top;width:65.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Conversion (on a one-to-one basis) of 5,968, 8,848 and 6,585, respectively, shares of redeemable preferred stock to common stock</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:7pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,581</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,309</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,951</p></td></tr><tr><td style="vertical-align:top;width:65.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dividends declared but not paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:7pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,747,938</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,502,506</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,305,367</p></td></tr><tr><td style="vertical-align:top;width:65.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Issuance of 0, 368,383 and 0, respectively, shares of common stock for the purchase of non-controlling interest in PERC</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:7pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,359,973</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:top;width:65.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Transfers from inventory to property, plant and equipment and construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:7pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 538,777</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 317,853</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 346,024</p></td></tr><tr><td style="vertical-align:top;width:65.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Transfers from construction in progress to property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:7pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,395,485</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,093,158</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 297,723</p></td></tr><tr><td style="vertical-align:top;width:65.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Right-of-use assets obtained in exchange for new operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:7pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,604,702</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 745,078</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:top;width:65.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Purchase of equipment through issuance of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:7pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 188,645</p></td></tr><tr><td style="vertical-align:top;width:65.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Transfers from prepaid expenses to property, plant and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:7pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 67,136</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 271,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:top;width:65.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Transfers from prepaid expenses to inventory</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:7pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 238,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><span style="color:#00b050;font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p>
CY2024 us-gaap Interest Paid Net
InterestPaidNet
8479
CY2023 us-gaap Interest Paid Net
InterestPaidNet
21417
CY2022 us-gaap Interest Paid Net
InterestPaidNet
14797
CY2024 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
3147300
CY2023 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
4920912
CY2022 us-gaap Income Taxes Paid Net
IncomeTaxesPaidNet
211000
CY2024 us-gaap Stock Issued During Period Shares Acquisitions
StockIssuedDuringPeriodSharesAcquisitions
0
CY2023 us-gaap Stock Issued During Period Shares Acquisitions
StockIssuedDuringPeriodSharesAcquisitions
368383
CY2022 us-gaap Stock Issued During Period Shares Acquisitions
StockIssuedDuringPeriodSharesAcquisitions
0
CY2024 us-gaap Stock Issued During Period Value Purchase Of Assets
StockIssuedDuringPeriodValuePurchaseOfAssets
0
CY2023 us-gaap Stock Issued During Period Value Purchase Of Assets
StockIssuedDuringPeriodValuePurchaseOfAssets
5359973
CY2024 cwco Transfers Between Inventory And Property Plant And Equipment
TransfersBetweenInventoryAndPropertyPlantAndEquipment
538777
CY2023 cwco Transfers Between Inventory And Property Plant And Equipment
TransfersBetweenInventoryAndPropertyPlantAndEquipment
317853
CY2022 cwco Transfers Between Inventory And Property Plant And Equipment
TransfersBetweenInventoryAndPropertyPlantAndEquipment
346024
CY2024 cwco Non Cash Transactions Transfers From Construction In Progress To Property Plant And Equipment Net
NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet
1395485
CY2023 cwco Non Cash Transactions Transfers From Construction In Progress To Property Plant And Equipment Net
NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet
7093158
CY2022 cwco Non Cash Transactions Transfers From Construction In Progress To Property Plant And Equipment Net
NonCashTransactionsTransfersFromConstructionInProgressToPropertyPlantAndEquipmentNet
297723
CY2024 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
1604702
CY2023 us-gaap Right Of Use Asset Obtained In Exchange For Operating Lease Liability
RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
745078
CY2024 us-gaap Debt Issuance Costs Incurred During Noncash Or Partial Noncash Transaction
DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction
0
CY2023 us-gaap Debt Issuance Costs Incurred During Noncash Or Partial Noncash Transaction
DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction
0
CY2022 us-gaap Debt Issuance Costs Incurred During Noncash Or Partial Noncash Transaction
DebtIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction
188645
CY2024 cwco Transfers From Prepaid Expenses To Property Plant And Equipment
TransfersFromPrepaidExpensesToPropertyPlantAndEquipment
67136
CY2023 cwco Transfers From Prepaid Expenses To Property Plant And Equipment
TransfersFromPrepaidExpensesToPropertyPlantAndEquipment
271922
CY2024Q4 ecd Rule10b51 Arr Adopted Flag
Rule10b51ArrAdoptedFlag
false
CY2024Q4 ecd Non Rule10b51 Arr Adopted Flag
NonRule10b51ArrAdoptedFlag
false
CY2024Q4 ecd Rule10b51 Arr Trmntd Flag
Rule10b51ArrTrmntdFlag
false
CY2024Q4 ecd Non Rule10b51 Arr Trmntd Flag
NonRule10b51ArrTrmntdFlag
false
CY2024 ecd Insider Trd Policies Proc Adopted Flag
InsiderTrdPoliciesProcAdoptedFlag
true

Files In Submission

Name View Source Status
cwco-20241231_cal.xml Edgar Link unprocessable
0001558370-25-003137-index-headers.html Edgar Link pending
0001558370-25-003137-index.html Edgar Link pending
0001558370-25-003137.txt Edgar Link pending
0001558370-25-003137-xbrl.zip Edgar Link pending
cwco-20241231.xsd Edgar Link pending
cwco-20241231x10k.htm Edgar Link pending
cwco-20241231x10k003.jpg Edgar Link pending
cwco-20241231xex10d145.htm Edgar Link pending
cwco-20241231xex10d241.htm Edgar Link pending
cwco-20241231xex10d242.htm Edgar Link pending
cwco-20241231xex10d25.htm Edgar Link pending
cwco-20241231xex21d1.htm Edgar Link pending
cwco-20241231xex23d1.htm Edgar Link pending
cwco-20241231xex31d1.htm Edgar Link pending
cwco-20241231xex31d2.htm Edgar Link pending
cwco-20241231xex32d1.htm Edgar Link pending
cwco-20241231xex32d2.htm Edgar Link pending
cwco-20241231xex4d1.htm Edgar Link pending
Financial_Report.xlsx Edgar Link pending
MetaLinks.json Edgar Link pending
R1.htm Edgar Link pending
R10.htm Edgar Link pending
R11.htm Edgar Link pending
R12.htm Edgar Link pending
R13.htm Edgar Link pending
R14.htm Edgar Link pending
R15.htm Edgar Link pending
R16.htm Edgar Link pending
R17.htm Edgar Link pending
R18.htm Edgar Link pending
R19.htm Edgar Link pending
R2.htm Edgar Link pending
R20.htm Edgar Link pending
R21.htm Edgar Link pending
R22.htm Edgar Link pending
R23.htm Edgar Link pending
R24.htm Edgar Link pending
R25.htm Edgar Link pending
R26.htm Edgar Link pending
R27.htm Edgar Link pending
R28.htm Edgar Link pending
R29.htm Edgar Link pending
R3.htm Edgar Link pending
R30.htm Edgar Link pending
R31.htm Edgar Link pending
R32.htm Edgar Link pending
cwco-20241231_def.xml Edgar Link unprocessable
cwco-20241231_lab.xml Edgar Link unprocessable
cwco-20241231x10k_htm.xml Edgar Link completed
FilingSummary.xml Edgar Link unprocessable
cwco-20241231_pre.xml Edgar Link unprocessable
R33.htm Edgar Link pending
R34.htm Edgar Link pending
R35.htm Edgar Link pending
R36.htm Edgar Link pending
R37.htm Edgar Link pending
R38.htm Edgar Link pending
R39.htm Edgar Link pending
R4.htm Edgar Link pending
R40.htm Edgar Link pending
R41.htm Edgar Link pending
R42.htm Edgar Link pending
R43.htm Edgar Link pending
R44.htm Edgar Link pending
R45.htm Edgar Link pending
R46.htm Edgar Link pending
R47.htm Edgar Link pending
R48.htm Edgar Link pending
R49.htm Edgar Link pending
R5.htm Edgar Link pending
R50.htm Edgar Link pending
R51.htm Edgar Link pending
R52.htm Edgar Link pending
R53.htm Edgar Link pending
R54.htm Edgar Link pending
R55.htm Edgar Link pending
R56.htm Edgar Link pending
R57.htm Edgar Link pending
R58.htm Edgar Link pending
R59.htm Edgar Link pending
R6.htm Edgar Link pending
R60.htm Edgar Link pending
R61.htm Edgar Link pending
R62.htm Edgar Link pending
R63.htm Edgar Link pending
R64.htm Edgar Link pending
R65.htm Edgar Link pending
R66.htm Edgar Link pending
R67.htm Edgar Link pending
R68.htm Edgar Link pending
R69.htm Edgar Link pending
R7.htm Edgar Link pending
R70.htm Edgar Link pending
R71.htm Edgar Link pending
R72.htm Edgar Link pending
R73.htm Edgar Link pending
R74.htm Edgar Link pending
R75.htm Edgar Link pending
R76.htm Edgar Link pending
R77.htm Edgar Link pending
R78.htm Edgar Link pending
R79.htm Edgar Link pending
R8.htm Edgar Link pending
R80.htm Edgar Link pending
R81.htm Edgar Link pending
R82.htm Edgar Link pending
R83.htm Edgar Link pending
R84.htm Edgar Link pending
R85.htm Edgar Link pending
R86.htm Edgar Link pending
R87.htm Edgar Link pending
R88.htm Edgar Link pending
R89.htm Edgar Link pending
R9.htm Edgar Link pending
R90.htm Edgar Link pending
R91.htm Edgar Link pending
report.css Edgar Link pending
Show.js Edgar Link pending