 | us-gaap:AssetReportingCurrencyDenominatedValue | parent-child | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslation |
 | us-gaap:LiabilityReportingCurrencyDenominatedValue | parent-child | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslation |
 | us-gaap:RevenuesAndGainsReportingCurrencyDenominatedValue | parent-child | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslation |
 | us-gaap:ExpensesAndLossesReportingCurrencyDenominatedValue | parent-child | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslation |
 | us-gaap:DifferenceBetweenReportedAmountAndReportingCurrencyDenominatedAmountValue | parent-child | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslation |
 | us-gaap:AmountRecognizedInIncomeDueToInflationaryAccounting | parent-child | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslation |
 | us-gaap:ScheduleOfDifferencesBetweenReportedAmountAndReportingCurrencyDenominatedAmountTable | all | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslationScheduleOfDifferencesBetweenReportedAmountAndReportingCurrencyDenominatedAmountTable |
 | us-gaap:AssetReportingCurrencyDenominatedValue | domain-member | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslationScheduleOfDifferencesBetweenReportedAmountAndReportingCurrencyDenominatedAmountTable |
 | us-gaap:LiabilityReportingCurrencyDenominatedValue | domain-member | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslationScheduleOfDifferencesBetweenReportedAmountAndReportingCurrencyDenominatedAmountTable |
 | us-gaap:RevenuesAndGainsReportingCurrencyDenominatedValue | domain-member | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslationScheduleOfDifferencesBetweenReportedAmountAndReportingCurrencyDenominatedAmountTable |
 | us-gaap:ExpensesAndLossesReportingCurrencyDenominatedValue | domain-member | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslationScheduleOfDifferencesBetweenReportedAmountAndReportingCurrencyDenominatedAmountTable |
 | us-gaap:DifferenceBetweenReportedAmountAndReportingCurrencyDenominatedAmountValue | domain-member | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslationScheduleOfDifferencesBetweenReportedAmountAndReportingCurrencyDenominatedAmountTable |
 | us-gaap:AmountRecognizedInIncomeDueToInflationaryAccounting | domain-member | http://fasb.org/us-gaap/role/disclosure/ForeignOperationsAndCurrencyTranslationScheduleOfDifferencesBetweenReportedAmountAndReportingCurrencyDenominatedAmountTable |