 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.free | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCases |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.capAdjust | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCases |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.AktG58_2a | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCases |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.finalPrev | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCases |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.changePresentYear | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCases |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.profitPresentYear | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCases |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.netRetainedProfitFormerYear | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCases |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.movements | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCases |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.forPresentYear | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCases |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.ownSharesPlus | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCases |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.free | domain-member | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCasesTableBalanceSheetForProfitOrganisationsAndUtilities |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.capAdjust | domain-member | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCasesTableBalanceSheetForProfitOrganisationsAndUtilities |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.AktG58_2a | domain-member | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCasesTableBalanceSheetForProfitOrganisationsAndUtilities |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.finalPrev | domain-member | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCasesTableBalanceSheetForProfitOrganisationsAndUtilities |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.changePresentYear | domain-member | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCasesTableBalanceSheetForProfitOrganisationsAndUtilities |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.profitPresentYear | domain-member | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCasesTableBalanceSheetForProfitOrganisationsAndUtilities |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.netRetainedProfitFormerYear | domain-member | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCasesTableBalanceSheetForProfitOrganisationsAndUtilities |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.movements | domain-member | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCasesTableBalanceSheetForProfitOrganisationsAndUtilities |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.forPresentYear | domain-member | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCasesTableBalanceSheetForProfitOrganisationsAndUtilities |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.ownSharesPlus | domain-member | http://www.xbrl.de/taxonomies/de-gaap-ci/role/determinationOfTaxableIncomeSpecialCasesTableBalanceSheetForProfitOrganisationsAndUtilities |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.free | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.ownSharesPlus | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.AktG58_2a | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.finalPrev | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.capAdjust | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.movements | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.changePresentYear | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.netRetainedProfitFormerYear | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.profitPresentYear | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.forPresentYear | parent-child | http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.finalPrev | summation-item | http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.capAdjust | summation-item | http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.movements | summation-item | http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet |
 | de-gaap-ci:bs.eqLiab.equity.revenueRes.other.changePresentYear | summation-item | http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet |