| Standard label: | Contract Receivable |
| Name: | us-gaap:AccountsReceivableBilledForLongTermContractsOrPrograms |
| Documentation: | Amount billed to customers under long-term contracts or programs but not paid. Excludes amounts due that have been withheld because of retainage provisions in a contract. |
| Object type: | cm:Concept |
| Data type: | Monetary (xbrli:monetaryItemType) |
| Period type: | As Of (instant) |
| Balance type: | Debit |
| Abstract: | false |
| Workiva Wdesk Taxonomy Analyzer: | us-gaap:AccountsReceivableBilledForLongTermContractsOrPrograms |
| Label | Role | Language |
| Contract Receivable | http://www.xbrl.org/2003/role/label | en-US |
| Contract Receivable, Total | http://www.xbrl.org/2003/role/totalLabel | en-US |
| Reference | Role | Topic |
| FASB Accounting Standards Codification 210 10 S99 1 (SX 210.5-02.3(c)) | http://fasb.org/us-gaap/role/ref/legacyRef | 210 |
| FASB Accounting Standards Codification 910 310 50 3 | http://fasb.org/us-gaap/role/ref/legacyRef | 910 |