XML 50 R102.htm IDEA: XBRL DOCUMENT
v3.20.1

Retirement benefits (Details) - USD ($) | 12 Months Ended
--- | ---
Dec. 31, 2019 | Dec. 31, 2018
Defined Benefit Plan Disclosure [Line Items] |  |
Pension Expense | $ 450,732 | $ 408,128
Cayman Island [Member] |  |
Defined Benefit Plan Disclosure [Line Items] |  |
Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent | 5.00% |
Maximum annual contribution amount | $ 104,400 |
FLORIDA |  |
Defined Benefit Plan Disclosure [Line Items] |  |
Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent | 6.00% |
California [Member] |  |
Defined Benefit Plan Disclosure [Line Items] |  |
Employer Matching Contribution, Percent of Employees' Gross Pay | 2.00% |
California [Member] | Defined Contribution Plan, Employer Matching Contribution, 25 Percent of Match [Member] |  |
Defined Benefit Plan Disclosure [Line Items] |  |
Employer Matching Contribution, Percent of Match | 25.00% |
California [Member] | Defined Contribution Plan, Employer Matching Contribution, 25 Percent of Match [Member] | Maximum [Member] |  |
Defined Benefit Plan Disclosure [Line Items] |  |
Employer Matching Contribution, Percent of Match | 10.00% |

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_DefinedBenefitPlanDisclosureLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage of employees' gross pay for which the employer contributes a matching contribution to a defined contribution plan. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Percentage employer matches of the employee's percentage contribution matched. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Maximum amount the employee may contribute to a defined contribution plan. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan. + References No definition available. + Details
Name: | us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
Namespace Prefix: | us-gaap_
Data Type: | num:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of cost (reversal of cost) for pension benefits. Excludes other postretirement benefits. + References No definition available. + Details
Name: | us-gaap_PensionExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | cwco_RetirementPlanAxis=country_KY
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | cwco_RetirementPlanAxis=stpr_FL
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | cwco_RetirementPlanAxis=stpr_CA
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | cwco_DefinedContributionPlanEmployerMatchingContributionPercentOfMatchAxis=cwco_DefinedContributionPlanEmployerMatchingContribution25PercentOfMatchMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |