| Standard label: | Research and Development Arrangement, Contract to Perform for Others, Type [Axis] |
| Name: | us-gaap:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis |
| Documentation: | Information by form of arrangement related to research and development. |
| 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:ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis |
| Label | Role | Language |
| Research and Development Arrangement, Contract to Perform for Others, Type [Axis] | http://www.xbrl.org/2003/role/label | en-US |
| Reference | Role | Topic |
| FASB Accounting Standards Codification 730 20 50 1 | http://fasb.org/us-gaap/role/ref/legacyRef | 730 |
| FASB Accounting Standards Codification 730 20 50 3 | http://fasb.org/us-gaap/role/ref/legacyRef | 730 |