| Standard label: | Costs in Excess of Billings | 
| Name: | us-gaap:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms | 
| Documentation: | Amount of receivable reflecting the cost incurred on uncompleted contracts in excess of related billings. | 
| 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:CostsInExcessOfBillingsOnUncompletedContractsOrPrograms | 
| Label | Role | Language | 
| Costs in Excess of Billings | http://www.xbrl.org/2003/role/label | en-US | 
| Reference | Role | Topic | 
| FASB Accounting Standards Codification 210 10 S99 1 (SX 210.5-02(3)(c)(2)) | http://fasb.org/us-gaap/role/ref/otherTransitionRef | 210 | 
| FASB Accounting Standards Codification 210 10 S99 1 (SX 210.5-02(3)(c)(3)) | http://fasb.org/us-gaap/role/ref/otherTransitionRef | 210 | 
| FASB Accounting Standards Codification 210 10 S99 1 (SX 210.5-02(3)(c)(4)) | http://fasb.org/us-gaap/role/ref/otherTransitionRef | 210 | 
| FASB Accounting Standards Codification 912 310 45 2 | http://fasb.org/us-gaap/role/ref/otherTransitionRef | 912 |