| 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 |