 | us-gaap:FinanceLeaseRightOfUseAssetAmortization | parent-child | http://fasb.org/us-gaap/role/disclosure/LeasesTmp01 |
 | us-gaap:FinanceLeaseInterestExpense | parent-child | http://fasb.org/us-gaap/role/disclosure/LeasesTmp01 |
 | us-gaap:OperatingLeaseCost | parent-child | http://fasb.org/us-gaap/role/disclosure/LeasesTmp01 |
 | us-gaap:ShortTermLeaseCost | parent-child | http://fasb.org/us-gaap/role/disclosure/LeasesTmp01 |
 | us-gaap:VariableLeaseCost | parent-child | http://fasb.org/us-gaap/role/disclosure/LeasesTmp01 |
 | us-gaap:SubleaseIncome | parent-child | http://fasb.org/us-gaap/role/disclosure/LeasesTmp01 |
 | us-gaap:LeaseCost | parent-child | http://fasb.org/us-gaap/role/disclosure/LeasesTmp01 |
 | us-gaap:OperatingLeaseCost | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:FinanceLeaseRightOfUseAssetAmortization | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:FinanceLeaseInterestExpense | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:ShortTermLeaseCost | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:VariableLeaseCost | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:SubleaseIncome | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |
 | us-gaap:LeaseCost | parent-child | http://fasb.org/us-gaap/role/disclosure/Leases842 |