| Standard label: | Contract with Customer, Liability | 
| Name: | us-gaap:ContractWithCustomerLiability | 
| Documentation: | Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable. | 
| Object type: | cm:Concept | 
| Data type: | Monetary (xbrli:monetaryItemType) | 
| Period type: | As Of (instant) | 
| Balance type: | Credit | 
| Abstract: | false | 
| Workiva Wdesk Taxonomy Analyzer: | us-gaap:ContractWithCustomerLiability | 
| Label | Role | Language | 
| Contract with Customer, Liability | http://www.xbrl.org/2003/role/label | en-US | 
| Contract with Customer, Liability, Total | http://www.xbrl.org/2003/role/totalLabel | en-US | 
| Reference | Role | Topic | 
| FASB Accounting Standards Codification 606 10 45 1 | http://www.xbrl.org/2003/role/disclosureRef | 606 | 
| FASB Accounting Standards Codification 606 10 45 2 | http://www.xbrl.org/2003/role/disclosureRef | 606 | 
| FASB Accounting Standards Codification 606 10 50 8 (a) | http://www.xbrl.org/2003/role/disclosureRef | 606 |