 | srt:GuarantorSubsidiariesMember | parent-child | http://fasb.org/srt/role/statement/CommonDomainMembers |
 | srt:NonGuarantorSubsidiariesMember | parent-child | http://fasb.org/srt/role/statement/CommonDomainMembers |
 | srt:SubsidiaryIssuerMember | parent-child | http://fasb.org/srt/role/statement/CommonDomainMembers |
 | srt:GuarantorSubsidiariesMember | domain-member | http://fasb.org/srt/role/statement/CommonDomainMembersCommonTable |
 | srt:NonGuarantorSubsidiariesMember | domain-member | http://fasb.org/srt/role/statement/CommonDomainMembersCommonTable |
 | srt:SubsidiaryIssuerMember | domain-member | http://fasb.org/srt/role/statement/CommonDomainMembersCommonTable |
 | srt:GuarantorSubsidiariesMember | parent-child | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformation |
 | srt:NonGuarantorSubsidiariesMember | parent-child | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformation |
 | srt:SubsidiaryIssuerMember | parent-child | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformation |
 | srt:GuarantorSubsidiariesMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationCondensedBalanceSheetStatementTable |
 | srt:NonGuarantorSubsidiariesMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationCondensedBalanceSheetStatementTable |
 | srt:SubsidiaryIssuerMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationCondensedBalanceSheetStatementTable |
 | srt:GuarantorSubsidiariesMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationCondensedCashFlowStatementTable |
 | srt:NonGuarantorSubsidiariesMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationCondensedCashFlowStatementTable |
 | srt:SubsidiaryIssuerMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationCondensedCashFlowStatementTable |
 | srt:GuarantorSubsidiariesMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationCondensedIncomeStatementTable |
 | srt:NonGuarantorSubsidiariesMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationCondensedIncomeStatementTable |
 | srt:SubsidiaryIssuerMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationCondensedIncomeStatementTable |
 | srt:GuarantorSubsidiariesMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationCondensedStatementOfComprehensiveIncomeTable |
 | srt:NonGuarantorSubsidiariesMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationCondensedStatementOfComprehensiveIncomeTable |
 | srt:SubsidiaryIssuerMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationCondensedStatementOfComprehensiveIncomeTable |
 | srt:GuarantorSubsidiariesMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationScheduleOfCondensedFinancialStatementsTable |
 | srt:NonGuarantorSubsidiariesMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationScheduleOfCondensedFinancialStatementsTable |
 | srt:SubsidiaryIssuerMember | domain-member | http://fasb.org/srt/role/disclosure/SECScheduleArticle12-04CondensedFinancialInformationScheduleOfCondensedFinancialStatementsTable |