 | us-gaap:ForwardContractIndexedToIssuersEquityForwardRate | parent-child | http://fasb.org/us-gaap/role/disclosure/OtherLiabilities |
 | us-gaap:ForwardContractIndexedToIssuersEquityShares | parent-child | http://fasb.org/us-gaap/role/disclosure/OtherLiabilities |
 | us-gaap:ForwardContractIndexedToIssuersEquityIndexedShares | parent-child | http://fasb.org/us-gaap/role/disclosure/OtherLiabilities |
 | us-gaap:ForwardContractIndexedToIssuersEquitySettlementDateOrDates | parent-child | http://fasb.org/us-gaap/role/disclosure/OtherLiabilities |
 | us-gaap:ForwardContractIndexedToIssuersEquityClassification | parent-child | http://fasb.org/us-gaap/role/disclosure/OtherLiabilities |
 | us-gaap:ForwardContractIndexedToIssuersEquitySettlementAlternatives | parent-child | http://fasb.org/us-gaap/role/disclosure/OtherLiabilities |
 | us-gaap:ForwardContractIndexedToIssuersEquitySettlementAlternativesCashAtFairValue | parent-child | http://fasb.org/us-gaap/role/disclosure/OtherLiabilities |
 | us-gaap:ForwardContractIndexedToIssuersEquitySettlementAlternativesSharesAtFairValue | parent-child | http://fasb.org/us-gaap/role/disclosure/OtherLiabilities |
 | us-gaap:ForwardContractIndexedToIssuersEquityContractReclassification | parent-child | http://fasb.org/us-gaap/role/disclosure/OtherLiabilities |
 | us-gaap:ForwardContractIndexedToIssuersEquityTable | all | http://fasb.org/us-gaap/role/disclosure/OtherLiabilitiesForwardContractIndexedToIssuersEquityTable |
 | us-gaap:ForwardContractIndexedToIssuersEquityForwardRate | domain-member | http://fasb.org/us-gaap/role/disclosure/OtherLiabilitiesForwardContractIndexedToIssuersEquityTable |
 | us-gaap:ForwardContractIndexedToIssuersEquityShares | domain-member | http://fasb.org/us-gaap/role/disclosure/OtherLiabilitiesForwardContractIndexedToIssuersEquityTable |
 | us-gaap:ForwardContractIndexedToIssuersEquityIndexedShares | domain-member | http://fasb.org/us-gaap/role/disclosure/OtherLiabilitiesForwardContractIndexedToIssuersEquityTable |
 | us-gaap:ForwardContractIndexedToIssuersEquitySettlementDateOrDates | domain-member | http://fasb.org/us-gaap/role/disclosure/OtherLiabilitiesForwardContractIndexedToIssuersEquityTable |
 | us-gaap:ForwardContractIndexedToIssuersEquityClassification | domain-member | http://fasb.org/us-gaap/role/disclosure/OtherLiabilitiesForwardContractIndexedToIssuersEquityTable |
 | us-gaap:ForwardContractIndexedToIssuersEquitySettlementAlternatives | domain-member | http://fasb.org/us-gaap/role/disclosure/OtherLiabilitiesForwardContractIndexedToIssuersEquityTable |
 | us-gaap:ForwardContractIndexedToIssuersEquitySettlementAlternativesCashAtFairValue | domain-member | http://fasb.org/us-gaap/role/disclosure/OtherLiabilitiesForwardContractIndexedToIssuersEquityTable |
 | us-gaap:ForwardContractIndexedToIssuersEquitySettlementAlternativesSharesAtFairValue | domain-member | http://fasb.org/us-gaap/role/disclosure/OtherLiabilitiesForwardContractIndexedToIssuersEquityTable |
 | us-gaap:ForwardContractIndexedToIssuersEquityContractReclassification | domain-member | http://fasb.org/us-gaap/role/disclosure/OtherLiabilitiesForwardContractIndexedToIssuersEquityTable |