 | dei:EntityListingsTable | all | http://xbrl.sec.gov/dei/role/document/EntityInformationEntityListingsTable |
 | dei:Security12gTitle | domain-member | http://xbrl.sec.gov/dei/role/document/EntityInformationEntityListingsTable |
 | dei:Security12bTitle | domain-member | http://xbrl.sec.gov/dei/role/document/EntityInformationEntityListingsTable |
 | dei:NoTradingSymbolFlag | domain-member | http://xbrl.sec.gov/dei/role/document/EntityInformationEntityListingsTable |
 | dei:SecurityExchangeName | domain-member | http://xbrl.sec.gov/dei/role/document/EntityInformationEntityListingsTable |
 | dei:SecurityReportingObligation | domain-member | http://xbrl.sec.gov/dei/role/document/EntityInformationEntityListingsTable |
 | dei:TradingSymbol | domain-member | http://xbrl.sec.gov/dei/role/document/EntityInformationEntityListingsTable |
 | dei:EntityListingPrimary | domain-member | http://xbrl.sec.gov/dei/role/document/EntityInformationEntityListingsTable |
 | dei:EntityListingForeign | domain-member | http://xbrl.sec.gov/dei/role/document/EntityInformationEntityListingsTable |
 | dei:EntityListingDepositoryReceiptRatio | domain-member | http://xbrl.sec.gov/dei/role/document/EntityInformationEntityListingsTable |
 | dei:EntityListingDescription | domain-member | http://xbrl.sec.gov/dei/role/document/EntityInformationEntityListingsTable |
 | dei:EntityListingSecurityTradingCurrency | domain-member | http://xbrl.sec.gov/dei/role/document/EntityInformationEntityListingsTable |
 | dei:EntityListingParValuePerShare | domain-member | http://xbrl.sec.gov/dei/role/document/EntityInformationEntityListingsTable |
 | dei:EntityCommonStockSharesOutstanding | domain-member | http://xbrl.sec.gov/dei/role/document/EntityInformationEntityListingsTable |
 | dei:TradingSymbol | parent-child | http://xbrl.sec.gov/dei/role/document/Cover |
 | dei:EntityListingPrimary | parent-child | http://xbrl.sec.gov/dei/role/document/Cover |
 | dei:EntityListingForeign | parent-child | http://xbrl.sec.gov/dei/role/document/Cover |
 | dei:EntityListingDepositoryReceiptRatio | parent-child | http://xbrl.sec.gov/dei/role/document/Cover |
 | dei:EntityListingDescription | parent-child | http://xbrl.sec.gov/dei/role/document/Cover |
 | dei:EntityListingSecurityTradingCurrency | parent-child | http://xbrl.sec.gov/dei/role/document/Cover |
 | dei:EntityListingParValuePerShare | parent-child | http://xbrl.sec.gov/dei/role/document/Cover |
 | dei:EntityCommonStockSharesOutstanding | parent-child | http://xbrl.sec.gov/dei/role/document/Cover |
 | dei:Security12bTitle | parent-child | http://xbrl.sec.gov/dei/role/document/Cover |
 | dei:Security12gTitle | parent-child | http://xbrl.sec.gov/dei/role/document/Cover |
 | dei:NoTradingSymbolFlag | parent-child | http://xbrl.sec.gov/dei/role/document/Cover |
 | dei:SecurityExchangeName | parent-child | http://xbrl.sec.gov/dei/role/document/Cover |
 | dei:SecurityReportingObligation | parent-child | http://xbrl.sec.gov/dei/role/document/Cover |