| Standard label: | Schedule of Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Table Text Block] | 
| Name: | us-gaap:ScheduleOfEarningsPerShareDilutedByCommonClassTextBlock | 
| Documentation: | Tabular disclosure of the effect of income (loss) on an entity's diluted earnings per share. | 
| Object type: | cm:Level3TextBlock | 
| Data type: | Text Block (HTML) (nonnum:textBlockItemType) | 
| Period type: | For Period (duration) | 
| Balance type: | (no balance type) | 
| Abstract: | false | 
| Workiva Wdesk Taxonomy Analyzer: | us-gaap:ScheduleOfEarningsPerShareDilutedByCommonClassTextBlock | 
| Examples of this text block disclosure: | EarningsPerShareDilutedByCommonClassIncludingTwoClassMethod | 
| Label | Role | Language | 
| Schedule of Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Table Text Block] | http://www.xbrl.org/2003/role/label | en-US | 
| Reference | Role | Topic | 
| FASB Accounting Standards Codification 220 10 S99 2 (SX 210.5-03.21) | http://fasb.org/us-gaap/role/ref/legacyRef | 220 | 
| FASB Accounting Standards Codification 260 10 50 1 (a) | http://fasb.org/us-gaap/role/ref/legacyRef | 260 | 
| FASB Accounting Standards Codification 260 10 45 2 | http://fasb.org/us-gaap/role/ref/legacyRef | 260 | 
| FASB Accounting Standards Codification 260 10 45 3 | http://fasb.org/us-gaap/role/ref/legacyRef | 260 | 
| FASB Accounting Standards Codification 260 10 45 5 | http://fasb.org/us-gaap/role/ref/legacyRef | 260 | 
| FASB Accounting Standards Codification 260 10 55 52 | http://fasb.org/us-gaap/role/ref/legacyRef | 260 |