 | us-gaap:DerivativeLiabilityFairValueNetAbstract | parent-child | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsetting |
 | us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset | parent-child | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsetting |
 | us-gaap:DerivativeLiabilityNotSubjectToMasterNettingArrangement | parent-child | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsetting |
 | us-gaap:DerivativeLiabilities | parent-child | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsetting |
 | us-gaap:DerivativeLiabilityFairValueNetAbstract | domain-member | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsettingOffsettingLiabilitiesTable |
 | us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset | domain-member | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsettingOffsettingLiabilitiesTable |
 | us-gaap:DerivativeLiabilityNotSubjectToMasterNettingArrangement | domain-member | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsettingOffsettingLiabilitiesTable |
 | us-gaap:DerivativeLiabilities | domain-member | http://fasb.org/us-gaap/role/disclosure/BalanceSheetOffsettingOffsettingLiabilitiesTable |
 | us-gaap:DerivativeLiabilitiesCurrent | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:DerivativeLiabilitiesNoncurrent | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |
 | us-gaap:DerivativeLiabilities | parent-child | http://fasb.org/us-gaap/role/disclosure/DerivativeInstrumentsAndHedgingActivities |