 | us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfShareholdersEquityAndOtherComprehensiveIncome |
 | us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfShareholdersEquityAndOtherComprehensiveIncome |
 | us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebtSubsequentAdjustments | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfShareholdersEquityAndOtherComprehensiveIncome |
 | us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecuritiesNetOfAdjustments | parent-child | http://fasb.org/us-gaap/role/statement/StatementOfShareholdersEquityAndOtherComprehensiveIncome |
 | us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfShareholdersEquityAndOtherComprehensiveIncomeStatementTable |
 | us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfShareholdersEquityAndOtherComprehensiveIncomeStatementTable |
 | us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebtSubsequentAdjustments | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfShareholdersEquityAndOtherComprehensiveIncomeStatementTable |
 | us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecuritiesNetOfAdjustments | domain-member | http://fasb.org/us-gaap/role/statement/StatementOfShareholdersEquityAndOtherComprehensiveIncomeStatementTable |