| Name | DefinedBenefitPlanBenefitObligation |
|---|---|
| Namespace | http://fasb.org/us-gaap/2020-01-31 |
| Prefix | us-gaap |
| Data type | xbrli:monetaryItemType |
| Period type | instant |
| Substitution Group | xbrli:item |
| Balance | credit |
| Nillable | True |
| Abstract | False |
| Text | Lang | Role | Container role |
|---|---|---|---|
| Defined Benefit Plan, Benefit Obligation | en-US | http://www.xbrl.org/2003/role/label | http://www.xbrl.org/2003/role/link |
| Defined Benefit Plan, Benefit Obligation, Beginning Balance | en-US | http://www.xbrl.org/2003/role/periodStartLabel | http://www.xbrl.org/2003/role/link |
| Defined Benefit Plan, Benefit Obligation, Ending Balance | en-US | http://www.xbrl.org/2003/role/periodEndLabel | http://www.xbrl.org/2003/role/link |
| Amount of actuarial present value of benefits attributed to service rendered by employee for defined benefit plan. | en-US | http://www.xbrl.org/2003/role/documentation | http://www.xbrl.org/2003/role/link |
| Name | Value | Role |
|---|---|---|
| PublishDate | 2017-01 | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| Source | Taxonomy Implementation Guide | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| SourceName | Retirement Benefits-Phase 1 | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| pdfURI | https://www.fasb.org/retirementbenefitsphase1_2017 | http://fasb.org/us-gaap/role/tin/taxonomyImplementationNote |
| Publisher | FASB | http://www.xbrl.org/2003/role/disclosureRef |
| Name | Accounting Standards Codification | http://www.xbrl.org/2003/role/disclosureRef |
| Topic | 715 | http://www.xbrl.org/2003/role/disclosureRef |
| SubTopic | 20 | http://www.xbrl.org/2003/role/disclosureRef |
| Section | 50 | http://www.xbrl.org/2003/role/disclosureRef |
| Paragraph | 1 | http://www.xbrl.org/2003/role/disclosureRef |
| Subparagraph | (a) | http://www.xbrl.org/2003/role/disclosureRef |
| URI | http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920 | http://www.xbrl.org/2003/role/disclosureRef |