cm:Concept: us-gaap:RevenuePracticalExpedientIncrementalCostOfObtainingContract
| Revenue, Practical Expedient, Incremental Cost of Obtaining Contract [true false] |
| us-gaap:RevenuePracticalExpedientIncrementalCostOfObtainingContract |
| Indicates (true false) whether practical expedient was elected to recognize incremental cost of obtaining contract as expense when incurred if amortization period would have been one year or less. |
| cm:Concept |
| Yes/No (xbrli:booleanItemType) |
| For Period (duration) |
| (no balance type) |
| false |
| us-gaap:RevenuePracticalExpedientIncrementalCostOfObtainingContract |