| Standard label: | Segments [Axis] |
| Name: | us-gaap:StatementBusinessSegmentsAxis |
| Documentation: | Information by business segments. |
| Object type: | cm:Axis |
| Data type: | Text/String (xbrli:stringItemType) |
| Period type: | For Period (duration) |
| Balance type: | (no balance type) |
| Abstract: | true |
| Workiva Wdesk Taxonomy Analyzer: | us-gaap:StatementBusinessSegmentsAxis |
| Label | Role | Language |
| Segments [Axis] | http://www.xbrl.org/2003/role/label | en-US |
| Reference | Role | Topic |
| FASB Accounting Standards Codification 205 20 50 1 (d) | http://www.xbrl.org/2003/role/disclosureRef | 205 |
| FASB Accounting Standards Codification 280 10 50 22 | http://www.xbrl.org/2003/role/disclosureRef | 280 |
| FASB Accounting Standards Codification 350 20 50 1 | http://www.xbrl.org/2003/role/disclosureRef | 350 |
| FASB Accounting Standards Codification 360 10 50 3 (f) | http://www.xbrl.org/2003/role/disclosureRef | 360 |
| FASB Accounting Standards Codification 420 10 50 1 (d) | http://www.xbrl.org/2003/role/disclosureRef | 420 |
| FASB Accounting Standards Codification 420 10 S99 2 (SAB Topic 5.P.4(d)) | http://www.xbrl.org/2003/role/disclosureRef | 420 |
| FASB Accounting Standards Codification 944 40 50 4H | http://www.xbrl.org/2009/role/commonPracticeRef | 944 |