 | us-gaap:OtherSignificantNoncashTransactionDescription | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfCashFlowsSupplementalDisclosures |
 | us-gaap:OtherSignificantNoncashTransactionConsiderationReceived | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfCashFlowsSupplementalDisclosures |
 | us-gaap:OtherSignificantNoncashTransactionValueOfConsiderationReceived1 | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfCashFlowsSupplementalDisclosures |
 | us-gaap:OtherSignificantNoncashTransactionConsiderationGiven | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfCashFlowsSupplementalDisclosures |
 | us-gaap:OtherSignificantNoncashTransactionValueOfConsiderationGiven1 | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfCashFlowsSupplementalDisclosures |
 | us-gaap:OtherSignificantNoncashTransactionsTable | all | http://fasb.org/us-gaap/role/statement/StatementOfCashFlowsSupplementalDisclosuresOtherSignificantNoncashTransactionsTable |
 | us-gaap:OtherSignificantNoncashTransactionDescription | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfCashFlowsSupplementalDisclosuresOtherSignificantNoncashTransactionsTable |
 | us-gaap:OtherSignificantNoncashTransactionConsiderationReceived | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfCashFlowsSupplementalDisclosuresOtherSignificantNoncashTransactionsTable |
 | us-gaap:OtherSignificantNoncashTransactionValueOfConsiderationReceived1 | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfCashFlowsSupplementalDisclosuresOtherSignificantNoncashTransactionsTable |
 | us-gaap:OtherSignificantNoncashTransactionConsiderationGiven | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfCashFlowsSupplementalDisclosuresOtherSignificantNoncashTransactionsTable |
 | us-gaap:OtherSignificantNoncashTransactionValueOfConsiderationGiven1 | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfCashFlowsSupplementalDisclosuresOtherSignificantNoncashTransactionsTable |