{"id":2610,"date":"2026-01-20T12:25:20","date_gmt":"2026-01-20T11:25:20","guid":{"rendered":"https:\/\/wertxpertise.de\/?page_id=2610"},"modified":"2026-01-20T12:25:34","modified_gmt":"2026-01-20T11:25:34","slug":"rechner","status":"publish","type":"page","link":"https:\/\/wertxpertise.de\/index.php\/rechner\/","title":{"rendered":"Rechner"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1216.8px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n\n<style>\n  #immo-calc-wrapper {\n    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n    background: #ffffff;\n    border: 1px solid #e0e0e0;\n    border-radius: 12px;\n    padding: 30px;\n    max-width: 1000px; \n    margin: 20px auto;\n    box-shadow: 0 10px 30px rgba(0,0,0,0.06);\n    color: #333;\n    box-sizing: border-box;\n    position: relative;\n  }\n  #immo-calc-wrapper *, #immo-calc-wrapper *::before, #immo-calc-wrapper *::after {\n    box-sizing: border-box;\n  }\n  \n  \/* Browser-Pfeile ausblenden *\/\n  #immo-calc-wrapper input[type=number]::-webkit-inner-spin-button, \n  #immo-calc-wrapper input[type=number]::-webkit-outer-spin-button { \n    -webkit-appearance: none; margin: 0; \n  }\n  #immo-calc-wrapper input[type=number] { -moz-appearance: textfield; }\n\n  \/* Header *\/\n  .calc-header { text-align: center; margin-bottom: 35px; }\n  .calc-header h3 { color: #2c3e50; margin: 0 0 5px 0; font-weight: 700; font-size: 24px; }\n  .calc-disclaimer { font-size: 11px; color: #999; font-style: italic; margin: 0; }\n\n  \/* Layout *\/\n  .immo-flex-container {\n    display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; margin-bottom: 40px;\n  }\n  .immo-col { flex: 1; min-width: 320px; }\n\n  \/* Inputs *\/\n  .calc-section-title {\n    font-size: 13px; text-transform: uppercase; color: #888; letter-spacing: 1.2px;\n    margin: 0 0 15px 0; border-bottom: 1px solid #eee; padding-bottom: 8px;\n    margin-top: 30px; font-weight: 600; cursor: pointer; user-select: none;\n  }\n  .calc-section-title:first-of-type { margin-top: 0; }\n\n  .calc-row {\n    display: flex; justify-content: space-between; align-items: center;\n    margin-bottom: 12px; flex-wrap: wrap; gap: 8px;\n  }\n  .calc-row label { flex: 1; min-width: 130px; font-weight: 500; color: #444; font-size: 14px; }\n  .calc-input-group { display: flex; align-items: center; flex: 1.5; min-width: 140px; position: relative; }\n  \n  .calc-input-group input, .calc-input-group select {\n    width: 100%; padding: 10px 8px; border: 1px solid #d1d9e6; border-radius: 6px;\n    text-align: right; font-size: 14px; background: #fff; color: #2c3e50;\n    transition: border-color 0.2s; height: 40px; \n  }\n  .calc-input-group input:focus, .calc-input-group select:focus { border-color: #27ae60; outline: none; }\n  \n  .fake-input-display {\n    width: 100%; padding: 10px 8px; border: 1px solid #d1d9e6; border-radius: 6px;\n    text-align: right; font-size: 14px; background: #f0f0f0; color: #777;\n    height: 40px; line-height: 18px; cursor: default; overflow: hidden; white-space: nowrap;\n  }\n  .calc-input-group select { text-align: left; }\n  .calc-suffix { margin-left: 8px; color: #95a5a6; width: 15px; font-size: 13px; flex-shrink: 0; }\n\n  \/* EK Unit Switcher *\/\n  .ek-unit-select {\n    width: 60px !important; margin-left: 5px; background-color: #f1f2f6 !important;\n    border: 1px solid #d1d9e6 !important; color: #555 !important;\n    text-align: center !important; text-align-last: center !important; padding: 0 !important;\n    cursor: pointer; font-weight: bold;\n  }\n  .ek-unit-select:hover { background-color: #e2e6ea !important; }\n\n  \/* Info Text unter Inputs *\/\n  .input-hint {\n    font-size: 11px; color: #999; margin-top: 4px; text-align: right; width: 100%;\n    position: absolute; top: 40px; right: 0;\n  }\n  .calc-row.has-hint { margin-bottom: 24px; }\n\n  \/* Mod Liste *\/\n  .mod-list-container {\n    margin-bottom: 15px; background: #fdfdfd; border: 1px dashed #d1d9e6;\n    border-radius: 6px; padding: 10px;\n  }\n  .mod-row { display: flex; gap: 8px; margin-bottom: 8px; align-items: center; }\n  .mod-row input[type=\"text\"].mod-name { text-align: left; flex: 2; }\n  .mod-row input[type=\"text\"].mod-amount { flex: 1; text-align: right; }\n  .mod-btn-add {\n    background: none; border: 1px solid #27ae60; color: #27ae60;\n    padding: 5px 10px; border-radius: 4px; cursor: pointer;\n    font-size: 13px; width: 100%; transition: all 0.2s;\n  }\n  .mod-btn-add:hover { background: #27ae60; color: #fff; }\n  .mod-btn-remove {\n    background: #e74c3c; color: white; border: none; border-radius: 4px;\n    width: 24px; height: 40px; cursor: pointer; font-weight: bold;\n    display: flex; align-items: center; justify-content: center;\n  }\n  \n  \/* Ergebnisse Box *\/\n  .calc-result-box {\n    background: #f8f9fa; border-radius: 8px; padding: 20px;\n    margin-top: 30px; border: 1px solid #edf2f7;\n  }\n  .calc-result-row {\n    display: flex; justify-content: space-between; margin-bottom: 8px;\n    font-size: 14px; color: #555;\n  }\n  .calc-result-row.total {\n    font-weight: 700; color: #2c3e50; font-size: 16px;\n    margin-top: 15px; padding-top: 15px; border-top: 2px solid #e2e8f0;\n  }\n  .calc-highlight { color: #27ae60; font-weight: bold; }\n  .calc-debt { color: #34495e; font-weight: bold; }\n\n  \/* Rechte Spalte *\/\n  .hidden-section { display: none; animation: fadeIn 0.5s; }\n  @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }\n\n  .income-check-box {\n    background: #eafaf1; border: 1px solid #d5f5e3; padding: 20px;\n    border-radius: 8px; font-size: 14px; color: #2c3e50;\n    line-height: 1.6; margin-bottom: 25px;\n  }\n  .income-check-title {\n    font-weight: 700; color: #196f3d; display: block;\n    margin-bottom: 12px; border-bottom: 1px dashed #a9dfbf; padding-bottom: 5px;\n  }\n  .income-net-row { margin-bottom: 12px; }\n  .income-value { font-size: 17px; font-weight: 700; color: #2c3e50; }\n  .income-gross-box {\n    background: #d4efdf; border-radius: 6px; padding: 10px; margin-top: 5px; color: #145a32;\n  }\n  .income-gross-monthly { font-weight: bold; font-size: 15px; }\n  .income-gross-yearly { display: block; font-size: 13px; margin-top: 4px; font-style: italic; opacity: 0.9; }\n  .income-explanation {\n    font-size: 12px; color: #555; margin-top: 12px; border-top: 1px solid #d5f5e3; padding-top: 8px;\n  }\n  \n  .population-bar-wrapper {\n    margin-top: 15px; background: #dcdde1; height: 8px; border-radius: 4px; overflow: hidden;\n  }\n  .population-bar-fill {\n    height: 100%; background: linear-gradient(90deg, #27ae60, #f1c40f);\n    width: 0%; transition: width 1s ease-in-out;\n  }\n  .population-text { font-size: 12px; color: #555; margin-top: 5px; font-style: italic; }\n\n  \/* MIET CHECK BOX UPDATE *\/\n  .rent-comparison {\n    background: #e8f6f3; border: 1px solid #d4efdf; padding: 20px;\n    border-radius: 8px; font-size: 14px; color: #1e8449;\n    line-height: 1.6; margin-bottom: 25px;\n  }\n  .rent-row {\n    display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px;\n  }\n  .rent-row span:first-child { flex: 1; padding-right: 10px; }\n  \n  .rent-row.highlight {\n    font-weight: 700; font-size: 15px; color: #145a32;\n    border-top: 1px dashed #a9dfbf; padding-top: 8px; margin-top: 8px;\n    align-items: center;\n  }\n  .rent-trend-hint {\n    font-size: 12px; color: #555; background: rgba(255,255,255,0.6); \n    padding: 8px; border-radius: 4px; margin-top: 12px; font-style: italic;\n  }\n\n  .schedule-container {\n    border: 1px solid #eee; border-radius: 8px; overflow: hidden; margin-bottom: 20px;\n  }\n  .schedule-table { width: 100%; border-collapse: collapse; font-size: 13px; }\n  .schedule-table th {\n    background: #34495e; color: #fff; padding: 12px; text-align: right; font-weight: 500;\n  }\n  .schedule-table th:first-child { text-align: left; }\n  .schedule-table td {\n    padding: 10px 12px; border-bottom: 1px solid #f1f1f1; text-align: right; color: #555;\n  }\n  .schedule-table td:first-child { text-align: left; font-weight: 600; color: #2c3e50; }\n  .schedule-table tr:nth-child(even) { background: #fdfdfd; }\n  \n  .schedule-summary-box {\n    background: #f4f6f7; border: 1px solid #e0e6ed; padding: 15px;\n    border-radius: 8px; font-size: 14px; color: #2c3e50; line-height: 1.6;\n  }\n  .roi-highlight { display: block; margin-top: 12px; padding-top: 12px; border-top: 1px dashed #ccc; color: #1e8449; }\n\n  .chart-section { border-top: 2px solid #f0f0f0; padding-top: 40px; margin-top: 20px; }\n  .chart-container { position: relative; height: 400px; width: 100%; }\n\n  .calc-print-row { text-align: right; margin-top: 20px; }\n  .btn-print {\n    background: #34495e; color: #fff; border: none; padding: 10px 20px;\n    border-radius: 6px; cursor: pointer; font-size: 14px;\n    display: inline-flex; align-items: center; gap: 8px; transition: background 0.2s;\n  }\n  .btn-print:hover { background: #2c3e50; }\n\n  #admin-modal {\n    display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%;\n    background: rgba(0,0,0,0.5); z-index: 9999;\n    align-items: center; justify-content: center;\n  }\n  .admin-modal-content {\n    background: #fff; padding: 25px; border-radius: 12px; width: 90%; max-width: 400px;\n    box-shadow: 0 10px 25px rgba(0,0,0,0.2);\n  }\n  .admin-modal-header { font-weight: bold; font-size: 18px; margin-bottom: 15px; color: #2c3e50; }\n  .admin-input-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }\n  .admin-input-row label { font-size: 14px; }\n  .admin-input-row input { width: 80px; padding: 5px; text-align: right; border: 1px solid #ccc; border-radius: 4px; }\n  .admin-actions { text-align: right; margin-top: 20px; }\n  .btn-save { background: #27ae60; color: white; border: none; padding: 8px 15px; border-radius: 4px; cursor: pointer; }\n  .btn-close { background: #95a5a6; color: white; border: none; padding: 8px 15px; border-radius: 4px; cursor: pointer; margin-right: 10px; }\n  .admin-info { font-size: 12px; color: #666; margin-top: 15px; background: #f9f9f9; padding: 8px; border-radius: 4px; }\n\n  @media print {\n    body * { visibility: hidden; }\n    #immo-calc-wrapper, #immo-calc-wrapper * { visibility: visible; }\n    #immo-calc-wrapper {\n      position: absolute; left: 0; top: 0; width: 100%; margin: 0; padding: 0; box-shadow: none; border: none;\n    }\n    .mod-btn-add, .mod-btn-remove, .btn-print, #easter-egg-trigger { display: none !important; }\n    .calc-section-title { cursor: default; color: #333; }\n    .immo-flex-container { gap: 20px; margin-bottom: 20px; }\n    .chart-container { height: 350px; }\n    #admin-modal { display: none !important; }\n  }\n  @media (max-width: 768px) {\n    .immo-flex-container { flex-direction: column; gap: 30px; }\n    .immo-col { width: 100%; }\n    .chart-container { height: 300px; }\n  }\n<\/style>\n\n<div id=\"immo-calc-wrapper\">\n  \n  <div class=\"calc-header\">\n    <h3>WertXpertise Kalkulator<\/h3>\n    <p class=\"calc-disclaimer\">Hinweis: Entwurfsphase (Beta). Alle Angaben ohne Gew\u00e4hr. Keine Haftung f\u00fcr Vollst\u00e4ndigkeit oder Richtigkeit.<\/p>\n  <\/div>\n\n  <div class=\"immo-flex-container\">\n    <div class=\"immo-col immo-col-left\">\n      <div class=\"calc-section-title\" id=\"easter-egg-trigger\" title=\"Mehrfach klicken f\u00fcr Details\">Objektdaten<\/div>\n      \n      <div class=\"calc-row\">\n        <label for=\"flaeche\">Wohnfl\u00e4che<\/label>\n        <div class=\"calc-input-group\">\n          <input type=\"number\" id=\"flaeche\" value=\"120\" step=\"1\">\n          <span class=\"calc-suffix\">m\u00b2<\/span>\n        <\/div>\n      <\/div>\n      <div class=\"calc-row\">\n        <label for=\"kaufpreis\">Kaufpreis Immobilie<\/label>\n        <div class=\"calc-input-group\">\n          <input type=\"text\" inputmode=\"numeric\" id=\"kaufpreis\" value=\"450.000\" class=\"formatted-input\">\n          <span class=\"calc-suffix\">\u20ac<\/span>\n        <\/div>\n      <\/div>\n      <div class=\"calc-row\">\n        <label for=\"qmpreis\">Preis pro m\u00b2 (Kauf)<\/label>\n        <div class=\"calc-input-group\">\n          <input type=\"text\" inputmode=\"numeric\" id=\"qmpreis\" value=\"3.750\" class=\"formatted-input\">\n          <span class=\"calc-suffix\">\u20ac<\/span>\n        <\/div>\n      <\/div>\n      <div class=\"calc-row\">\n        <label for=\"wertsteigerung\">Wertentwicklung (p.a.)<\/label>\n        <div class=\"calc-input-group\">\n          <input type=\"number\" id=\"wertsteigerung\" value=\"2.0\" step=\"0.5\">\n          <span class=\"calc-suffix\">%<\/span>\n        <\/div>\n      <\/div>\n\n      <div style=\"margin-top: 20px; margin-bottom: 5px; font-weight: 500; color:#444; font-size:15px;\">Modernisierung \/ Renovierung<\/div>\n      <div class=\"mod-list-container\" id=\"mod-container\"><\/div>\n      <button type=\"button\" class=\"mod-btn-add\" id=\"add-mod-btn\">+ Ma\u00dfnahme hinzuf\u00fcgen<\/button>\n\n      <div class=\"calc-section-title\">Nebenkosten (auf Kaufpreis)<\/div>\n      <div class=\"calc-row\">\n        <label for=\"bundesland\">Bundesland<\/label>\n        <div class=\"calc-input-group\">\n          <select id=\"bundesland\">\n            <option value=\"3.5\">Bayern (3.5%)<\/option>\n            <option value=\"5.0\">Baden-W\u00fcrttemberg (5.0%)<\/option>\n            <option value=\"6.0\">Berlin (6.0%)<\/option>\n            <option value=\"6.5\">Brandenburg (6.5%)<\/option>\n            <option value=\"5.0\">Bremen (5.0%)<\/option>\n            <option value=\"5.5\">Hamburg (5.5%)<\/option>\n            <option value=\"6.0\">Hessen (6.0%)<\/option>\n            <option value=\"6.0\">Mecklenburg-Vorpommern (6.0%)<\/option>\n            <option value=\"5.0\">Niedersachsen (5.0%)<\/option>\n            <option value=\"6.5\">Nordrhein-Westfalen (6.5%)<\/option>\n            <option value=\"5.0\">Rheinland-Pfalz (5.0%)<\/option>\n            <option value=\"6.5\">Saarland (6.5%)<\/option>\n            <option value=\"5.5\">Sachsen (5.5%)<\/option>\n            <option value=\"5.0\">Sachsen-Anhalt (5.0%)<\/option>\n            <option value=\"6.5\" selected>Schleswig-Holstein (6.5%)<\/option>\n            <option value=\"5.0\">Th\u00fcringen (5.0%)<\/option>\n          <\/select>\n        <\/div>\n      <\/div>\n      <div class=\"calc-row\">\n        <label for=\"grunderwerb\">Grunderwerbsteuer<\/label>\n        <div class=\"calc-input-group\">\n          <div id=\"grunderwerb\" class=\"fake-input-display\">6,5<\/div>\n          <span class=\"calc-suffix\">%<\/span>\n        <\/div>\n      <\/div>\n      <div class=\"calc-row\">\n        <label for=\"notar\">Notar & Grundbuch<\/label>\n        <div class=\"calc-input-group\">\n          <input type=\"number\" id=\"notar\" value=\"2.0\" step=\"0.1\">\n          <span class=\"calc-suffix\">%<\/span>\n        <\/div>\n      <\/div>\n      <div class=\"calc-row\">\n        <label for=\"makler\">Maklerprovision<\/label>\n        <div class=\"calc-input-group\">\n          <input type=\"number\" id=\"makler\" value=\"0.00\" step=\"0.01\">\n          <span class=\"calc-suffix\">%<\/span>\n        <\/div>\n      <\/div>\n\n      <div class=\"calc-section-title\" id=\"admin-trigger\" title=\"Klicken f\u00fcr Zins-Einstellungen\">Finanzierung<\/div>\n      \n      <div class=\"calc-row\">\n        <label for=\"eigenkapital\">Eigenkapital<\/label>\n        <div class=\"calc-input-group\">\n          <input type=\"text\" inputmode=\"decimal\" id=\"eigenkapital\" value=\"60.000\" class=\"formatted-input\">\n          <select id=\"ek-unit\" class=\"ek-unit-select\">\n            <option value=\"eur\">\u20ac<\/option>\n            <option value=\"percent\">%<\/option>\n          <\/select>\n        <\/div>\n      <\/div>\n\n      <div class=\"calc-row\">\n        <label for=\"zinsbinding\">Zinsbindung<\/label>\n        <div class=\"calc-input-group\">\n          <select id=\"zinsbindung\">\n            <option value=\"5\">5 Jahre<\/option>\n            <option value=\"10\" selected>10 Jahre<\/option>\n            <option value=\"15\">15 Jahre<\/option>\n            <option value=\"20\">20 Jahre<\/option>\n            <option value=\"25\">25 Jahre<\/option>\n            <option value=\"30\">30 Jahre<\/option>\n          <\/select>\n        <\/div>\n      <\/div>\n\n      <div class=\"calc-row has-hint\">\n        <label for=\"zins\">Sollzins (p.a.)<\/label>\n        <div class=\"calc-input-group\">\n          <input type=\"number\" id=\"zins\" value=\"3.5\" step=\"0.01\">\n          <span class=\"calc-suffix\">%<\/span>\n          <div class=\"input-hint\" id=\"zins-hint\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"calc-row\">\n        <label for=\"tilgung\">Tilgung (anf\u00e4ngl.)<\/label>\n        <div class=\"calc-input-group\">\n          <input type=\"number\" id=\"tilgung\" value=\"2.0\" step=\"0.1\">\n          <span class=\"calc-suffix\">%<\/span>\n        <\/div>\n      <\/div>\n\n      <div class=\"calc-result-box\">\n        <div class=\"calc-result-row\">\n          <span>Kaufpreis:<\/span><span id=\"res-kaufpreis\">0 \u20ac<\/span>\n        <\/div>\n        <div class=\"calc-result-row\">\n          <span>+ Modernisierung:<\/span><span id=\"res-modernisierung\">0 \u20ac<\/span>\n        <\/div>\n        <div class=\"calc-result-row\">\n          <span>+ Kaufnebenkosten:<\/span><span id=\"res-nebenkosten\">0 \u20ac<\/span>\n        <\/div>\n        <div class=\"calc-result-row\" style=\"font-weight:bold;\">\n          <span>= Gesamtkosten:<\/span><span id=\"res-gesamt\">0 \u20ac<\/span>\n        <\/div>\n        <div class=\"calc-result-row\">\n          <span>- Eigenkapital:<\/span><span id=\"res-ek\">0 \u20ac<\/span>\n        <\/div>\n        <div class=\"calc-result-row\" style=\"margin-bottom: 10px;\">\n          <span>= Finanzierungsbedarf:<\/span><span id=\"res-fk\" class=\"calc-debt\">0 \u20ac<\/span>\n        <\/div>\n        <div class=\"calc-result-row total\">\n          <span>Monatliche Rate:<\/span><span id=\"res-rate\" class=\"calc-highlight\">0,00 \u20ac<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"immo-col immo-col-right\">\n      <div id=\"target-group-analysis\" class=\"hidden-section\">\n        <div class=\"income-check-box\">\n          <span class=\"income-check-title\">\ud83d\udca1 Zielgruppen-Analyse (Sales)<\/span>\n          <div style=\"margin-bottom:10px;\">Gesunde Finanzierung (Bank-Logik):<\/div>\n          <div class=\"income-net-row\">\n            Empfohlenes Haushalt-Netto:<br><span class=\"income-value\" id=\"val-req-net\">0 \u20ac<\/span>\n          <\/div>\n          <div class=\"income-gross-box\">\n            \ud83d\udc49 <span class=\"income-gross-monthly\" id=\"val-req-gross\">0 \u20ac<\/span> Brutto \/ Monat\n            <span class=\"income-gross-yearly\">(ca. <span id=\"val-req-yearly\">0 \u20ac<\/span> Jahresbrutto)<\/span>\n          <\/div>\n          <div class=\"population-bar-wrapper\">\n            <div class=\"population-bar-fill\" id=\"pop-bar\"><\/div>\n          <\/div>\n          <div class=\"population-text\" id=\"pop-text\"><\/div>\n          <div class=\"income-explanation\" id=\"income-explanation\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"rent-comparison\">\n        \ud83d\udca1 <strong>Miet-Vorteils-Check:<\/strong><br>\n        \n        <div style=\"margin-top:12px;\">\n          <div class=\"rent-row\">\n            <span>Anfangszins (Monat 1):<\/span>\n            <strong id=\"val-interest-eur\">0 \u20ac<\/strong>\n          <\/div>\n\n          <div class=\"rent-row\">\n            <span style=\"font-size:13px; color:#555;\">Zins\/m\u00b2 (vergleichbar mit Nettokaltmiete):<\/span>\n            <strong id=\"val-rent-start-sqm\">0,00 \u20ac\/m\u00b2<\/strong>\n          <\/div>\n\n          <div class=\"rent-row highlight\">\n            <span>\u00d8 \u00fcber Zinsbindung:<\/span>\n            <span id=\"val-interest-avg-sqm\">0,00 \u20ac\/m\u00b2<\/span>\n          <\/div>\n        <\/div>\n        \n        <div class=\"rent-trend-hint\">\n          \ud83d\udcc9 W\u00e4hrend Ihr Zinsanteil durch die Tilgung jeden Monat sinkt, steigt eine normale Miete meist durch die Inflation.\n        <\/div>\n      <\/div>\n\n      <div class=\"calc-section-title\" style=\"margin-top:0;\">Tilgungsplan<\/div>\n      <div class=\"schedule-container\">\n        <table class=\"schedule-table\">\n          <thead>\n            <tr><th>Jahr<\/th><th>Zins<\/th><th>Tilgung<\/th><th>Restschuld<\/th><\/tr>\n          <\/thead>\n          <tbody id=\"schedule-body\"><\/tbody>\n        <\/table>\n      <\/div>\n      <div class=\"schedule-summary-box\" id=\"schedule-summary-text\"><\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"chart-section\">\n    <div class=\"calc-section-title\" style=\"text-align:center; border:none;\">Verm\u00f6gensentwicklung (30 Jahre)<\/div>\n    <div class=\"chart-container\"><canvas id=\"equityChart\"><\/canvas><\/div>\n  <\/div>\n\n  <div class=\"calc-print-row\">\n    <button id=\"print-btn\" class=\"btn-print\">\ud83d\udda8\ufe0f Als PDF speichern \/ Drucken<\/button>\n  <\/div>\n<\/div>\n\n<div id=\"admin-modal\">\n  <div class=\"admin-modal-content\">\n    <div class=\"admin-modal-header\">\u2699\ufe0f Zinsen Konfigurieren<\/div>\n    <div id=\"admin-inputs\"><\/div>\n    <div class=\"admin-info\">\n      Diese Werte werden <strong>nur in diesem Browser<\/strong> gespeichert.\n    <\/div>\n    <div class=\"admin-actions\">\n      <button class=\"btn-close\" id=\"btn-admin-close\">Abbrechen<\/button>\n      <button class=\"btn-save\" id=\"btn-admin-save\">Speichern<\/button>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n  (function() {\n    const DEFAULT_RATES = { 5: 3.40, 10: 3.50, 15: 3.75, 20: 3.90, 25: 4.00, 30: 4.10 };\n    const ZINS_DATUM_HINWEIS = \"Markt 01\/26\";\n    let currentRates = { ...DEFAULT_RATES };\n    const storedRates = localStorage.getItem('immo_rates_config');\n    if(storedRates) { try { currentRates = JSON.parse(storedRates); } catch(e) {} }\n\n    \/\/ Admin\n    let adminClickCount = 0;\n    const adminTrigger = document.getElementById('admin-trigger');\n    const adminModal = document.getElementById('admin-modal');\n    const adminInputsDiv = document.getElementById('admin-inputs');\n    const btnAdminSave = document.getElementById('btn-admin-save');\n    const btnAdminClose = document.getElementById('btn-admin-close');\n\n    adminTrigger.addEventListener('click', function() {\n      adminClickCount++; adminTrigger.style.color = '#27ae60';\n      setTimeout(() => adminTrigger.style.color = '#888', 200);\n      if(adminClickCount >= 5) { openAdminModal(); adminClickCount = 0; }\n    });\n\n    function openAdminModal() {\n      adminInputsDiv.innerHTML = '';\n      Object.keys(currentRates).forEach(year => {\n        const div = document.createElement('div');\n        div.className = 'admin-input-row';\n        div.innerHTML = `<label>${year} Jahre:<\/label> <input type=\"number\" step=\"0.01\" id=\"rate-${year}\" value=\"${currentRates[year]}\"> %`;\n        adminInputsDiv.appendChild(div);\n      });\n      adminModal.style.display = 'flex';\n    }\n    btnAdminClose.addEventListener('click', () => { adminModal.style.display = 'none'; });\n    btnAdminSave.addEventListener('click', () => {\n      const newRates = {};\n      Object.keys(currentRates).forEach(year => {\n        const val = parseFloat(document.getElementById(`rate-${year}`).value);\n        if(!isNaN(val)) newRates[year] = val; else newRates[year] = currentRates[year];\n      });\n      currentRates = newRates;\n      localStorage.setItem('immo_rates_config', JSON.stringify(currentRates));\n      updateZinsFromBindung(); calculateImmo();\n      adminModal.style.display = 'none';\n      alert(\"Zinsen gespeichert!\");\n    });\n\n    \/\/ Easter Egg\n    let clickCount = 0;\n    const triggerTitle = document.getElementById('easter-egg-trigger');\n    const hiddenSection = document.getElementById('target-group-analysis');\n    triggerTitle.addEventListener('click', function() {\n      clickCount++; triggerTitle.style.color = '#27ae60';\n      setTimeout(() => triggerTitle.style.color = '#888', 200);\n      if (clickCount >= 5) {\n        hiddenSection.style.display = (hiddenSection.style.display === 'block') ? 'none' : 'block';\n        triggerTitle.style.cursor = 'default'; triggerTitle.title = \"\"; clickCount = 0; \n      }\n    });\n\n    document.getElementById('print-btn').addEventListener('click', function() { window.print(); });\n\n    const elKaufpreis = document.getElementById('kaufpreis');\n    const elQmPreis = document.getElementById('qmpreis');\n    const elFlaeche = document.getElementById('flaeche');\n    const elEigenkapital = document.getElementById('eigenkapital');\n    const elEkUnit = document.getElementById('ek-unit');\n    const elBundesland = document.getElementById('bundesland');\n    const elGrunderwerb = document.getElementById('grunderwerb'); \n    const elZinsbindung = document.getElementById('zinsbindung');\n    const elZins = document.getElementById('zins');\n    const elZinsHint = document.getElementById('zins-hint');\n    const modContainer = document.getElementById('mod-container');\n    const addModBtn = document.getElementById('add-mod-btn');\n    const elExplanation = document.getElementById('income-explanation');\n    \n    let equityChart = null;\n\n    function getRawValue(el) { return parseFloat(el.value.replace(\/\\.\/g, '').replace(',', '.')) || 0; }\n    function setFormattedValue(el, val) { el.value = new Intl.NumberFormat('de-DE').format(val); }\n    function formatMoney(amount) { return new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR', minimumFractionDigits: 0, maximumFractionDigits: 0 }).format(amount); }\n    function formatMoneyPrecise(amount) { return new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(amount); }\n\n    function attachFormatListener(input) {\n      input.addEventListener('blur', function() {\n        let raw = getRawValue(this); setFormattedValue(this, raw); calculateImmo(); \n      });\n      input.addEventListener('focus', function() {\n        let raw = getRawValue(this); this.value = (raw === 0) ? '' : raw.toString();\n      });\n      input.addEventListener('keydown', function(e) { if(e.key === 'Enter') this.blur(); });\n    }\n\n    function createModRow(nameVal = '', amountVal = '') {\n      const row = document.createElement('div'); row.className = 'mod-row';\n      const inputName = document.createElement('input'); inputName.type = 'text'; inputName.className = 'mod-name'; inputName.placeholder = 'Ma\u00dfnahme'; inputName.value = nameVal;\n      const inputAmount = document.createElement('input'); inputAmount.type = 'text'; inputAmount.inputMode = 'numeric'; inputAmount.className = 'mod-amount formatted-input'; inputAmount.placeholder = '0 \u20ac'; inputAmount.value = amountVal || '0';\n      const btnRemove = document.createElement('button'); btnRemove.type = 'button'; btnRemove.className = 'mod-btn-remove'; btnRemove.innerHTML = '\u00d7'; btnRemove.tabIndex = -1; \n      btnRemove.onclick = function() { row.remove(); calculateImmo(); };\n      row.appendChild(inputName); row.appendChild(inputAmount); row.appendChild(btnRemove);\n      modContainer.appendChild(row);\n      attachFormatListener(inputAmount); setFormattedValue(inputAmount, getRawValue(inputAmount));\n    }\n\n    addModBtn.addEventListener('click', () => createModRow());\n\n    function updateZinsFromBindung() {\n        const years = parseInt(elZinsbindung.value);\n        if(currentRates[years]) {\n            elZins.value = currentRates[years].toFixed(2);\n            elZinsHint.innerText = `\u00d8 ca. ${currentRates[years].toFixed(2)}% (${ZINS_DATUM_HINWEIS})`;\n            elZins.style.backgroundColor = \"#e8f6f3\"; setTimeout(() => elZins.style.backgroundColor = \"#fff\", 300);\n        }\n    }\n\n    elZinsbindung.addEventListener('change', function() { updateZinsFromBindung(); calculateImmo(); });\n\n    elEkUnit.addEventListener('change', function() {\n      const kp = getRawValue(elKaufpreis);\n      let modCost = 0; document.querySelectorAll('.mod-amount').forEach(inp => { modCost += getRawValue(inp); });\n      const taxText = elGrunderwerb.innerText || \"0\"; const taxRate = parseFloat(taxText.replace(',', '.')) || 0;\n      const notarRate = parseFloat(document.getElementById('notar').value) || 0;\n      const maklerRate = parseFloat(document.getElementById('makler').value) || 0;\n      const nebenkostenBetrag = kp * ((taxRate + notarRate + maklerRate) \/ 100);\n      const gesamtKosten = kp + nebenkostenBetrag + modCost;\n      const currentVal = getRawValue(elEigenkapital);\n      \n      if(elEkUnit.value === 'percent') {\n        if(gesamtKosten > 0) {\n          const percent = (currentVal \/ gesamtKosten) * 100;\n          setFormattedValue(elEigenkapital, percent.toFixed(2).replace('.', ','));\n        } else setFormattedValue(elEigenkapital, 0);\n      } else {\n        const euro = gesamtKosten * (currentVal \/ 100);\n        setFormattedValue(elEigenkapital, euro.toFixed(0));\n      }\n      calculateImmo();\n    });\n\n    elKaufpreis.addEventListener('input', function() {\n      calculateImmo(false); \n      if(document.activeElement !== elQmPreis && document.activeElement !== elKaufpreis) {\n         const kp = getRawValue(elKaufpreis); const fl = parseFloat(elFlaeche.value) || 1;\n         setFormattedValue(elQmPreis, (kp\/fl).toFixed(0));\n      }\n    });\n    elKaufpreis.addEventListener('blur', function() {\n        const kp = getRawValue(elKaufpreis); const fl = parseFloat(elFlaeche.value) || 1;\n        setFormattedValue(elQmPreis, (kp\/fl).toFixed(0)); calculateImmo();\n    });\n    elQmPreis.addEventListener('blur', function() {\n      const qmP = getRawValue(elQmPreis); const fl = parseFloat(elFlaeche.value) || 0;\n      setFormattedValue(elKaufpreis, (qmP * fl).toFixed(0)); calculateImmo();\n    });\n    elFlaeche.addEventListener('input', function() {\n      const kp = getRawValue(elKaufpreis); const fl = parseFloat(elFlaeche.value) || 1;\n      setFormattedValue(elQmPreis, (kp \/ fl).toFixed(0)); calculateImmo();\n    });\n    elEigenkapital.addEventListener('input', () => calculateImmo());\n    elBundesland.addEventListener('change', function() {\n      const val = elBundesland.value.replace('.', ','); elGrunderwerb.innerText = val; calculateImmo();\n    });\n    const otherInputs = document.querySelectorAll('#immo-calc-wrapper input[type=number], #immo-calc-wrapper select');\n    otherInputs.forEach(el => {\n        if(el.id !== 'flaeche' && el.id !== 'ek-unit' && el.id !== 'zinsbindung') el.addEventListener('input', () => calculateImmo());\n    });\n\n    function calculateImmo() {\n      const kp = getRawValue(elKaufpreis);\n      const fl = parseFloat(elFlaeche.value) || 1;\n      let modCost = 0; document.querySelectorAll('.mod-amount').forEach(inp => { modCost += getRawValue(inp); });\n      const taxText = elGrunderwerb.innerText || \"0\"; const taxRate = parseFloat(taxText.replace(',', '.')) || 0;\n      const notarRate = parseFloat(document.getElementById('notar').value) || 0;\n      const maklerRate = parseFloat(document.getElementById('makler').value) || 0;\n      const zins = parseFloat(document.getElementById('zins').value) || 0;\n      const tilgung = parseFloat(document.getElementById('tilgung').value) || 0;\n      const bindung = parseInt(elZinsbindung.value) || 10;\n      const wertsteigerung = parseFloat(document.getElementById('wertsteigerung').value) || 0;\n\n      const nebenkostenBetrag = kp * ((taxRate + notarRate + maklerRate) \/ 100);\n      const gesamtKosten = kp + nebenkostenBetrag + modCost;\n      \n      const ekInput = getRawValue(elEigenkapital);\n      let ek = 0;\n      if(elEkUnit.value === 'percent') ek = gesamtKosten * (ekInput \/ 100); else ek = ekInput;\n      \n      let kredit = gesamtKosten - ek; if (kredit < 0) kredit = 0;\n\n      const annuitaetJahr = kredit * ((zins + tilgung) \/ 100);\n      const monatsRate = annuitaetJahr \/ 12;\n\n      document.getElementById('res-kaufpreis').innerText = formatMoneyPrecise(kp);\n      document.getElementById('res-modernisierung').innerText = formatMoneyPrecise(modCost);\n      document.getElementById('res-nebenkosten').innerText = formatMoneyPrecise(nebenkostenBetrag);\n      document.getElementById('res-gesamt').innerText = formatMoneyPrecise(gesamtKosten);\n      document.getElementById('res-ek').innerText = formatMoneyPrecise(ek);\n      document.getElementById('res-fk').innerText = formatMoneyPrecise(kredit);\n      document.getElementById('res-rate').innerText = formatMoneyPrecise(monatsRate);\n\n      let allowedDTI = 0.35; let dtiText = \"35%\";\n      if (monatsRate > 3000) { allowedDTI = 0.45; dtiText = \"45%\"; } \n      else if (monatsRate > 1500) { allowedDTI = 0.40; dtiText = \"40%\"; }\n\n      const reqNet = monatsRate \/ allowedDTI;\n      const reqGross = reqNet * 1.55;\n      const reqYearly = reqGross * 12;\n      \n      document.getElementById('val-req-net').innerText = formatMoney(reqNet);\n      document.getElementById('val-req-gross').innerText = formatMoney(reqGross);\n      document.getElementById('val-req-yearly').innerText = formatMoney(reqYearly);\n      elExplanation.innerHTML = `Basis: Bei dieser Rate gehen Banken oft von einer Belastbarkeit bis <strong>${dtiText}<\/strong> des Nettos aus.`;\n\n      let popPercent = 0; let popText = \"\";\n      if (reqNet < 2500) { popText = \"Breite Mittelschicht\"; popPercent = 20; } \n      else if (reqNet < 4000) { popText = \"Gute Mittelschicht\"; popPercent = 50; } \n      else if (reqNet < 6000) { popText = \"Gehobenes Einkommen (Top 30%)\"; popPercent = 70; } \n      else if (reqNet < 8000) { popText = \"Top 15% der Haushalte\"; popPercent = 85; } \n      else if (reqNet < 11000) { popText = \"Top 5% (Gutverdiener\/Unternehmer)\"; popPercent = 95; } \n      else { popText = \"Top 1% (Luxussegment)\"; popPercent = 100; }\n      document.getElementById('pop-bar').style.width = popPercent + \"%\";\n      document.getElementById('pop-text').innerText = popText;\n\n      const zinsMonat1 = (kredit * (zins \/ 100)) \/ 12;\n      \n      \/\/ AVG Calculation\n      let totalInterest = 0;\n      let tempDebt = kredit;\n      for(let y=0; y<bindung; y++) {\n        for(let m=0; m<12; m++) {\n           if(tempDebt <= 0) break;\n           const z = (tempDebt * (zins\/100)) \/ 12;\n           const t = monatsRate - z;\n           totalInterest += z; tempDebt -= t;\n        }\n      }\n      const avgInterestMonthly = totalInterest \/ (bindung * 12);\n      const avgRentSqm = fl > 0 ? (avgInterestMonthly \/ fl) : 0;\n      \/\/ Start Value\n      const startRentSqm = fl > 0 ? (zinsMonat1 \/ fl) : 0;\n\n      \/\/ Update both values\n      document.getElementById('val-rent-start-sqm').innerText = startRentSqm.toFixed(2).replace('.', ',') + \" \u20ac\/m\u00b2\";\n      document.getElementById('val-interest-avg-sqm').innerText = avgRentSqm.toFixed(2).replace('.', ',') + \" \u20ac\/m\u00b2\";\n      document.getElementById('val-interest-eur').innerText = formatMoneyPrecise(zinsMonat1); \/\/ Absolut Euro\n\n      const tableBody = document.getElementById('schedule-body');\n      let currentDebt = kredit;\n      let htmlRows = '';\n      \n      for(let y = 1; y <= bindung; y++) {\n        let yearInterest = 0; let yearTilgung = 0;\n        for(let m=0; m<12; m++) {\n          if(currentDebt <= 0) break;\n          const zinsAnteil = (currentDebt * (zins\/100)) \/ 12;\n          const tilgungAnteil = monatsRate - zinsAnteil;\n          yearInterest += zinsAnteil; yearTilgung += tilgungAnteil;\n          currentDebt -= tilgungAnteil;\n        }\n        if(currentDebt < 0) currentDebt = 0;\n        htmlRows += `<tr><td>${y}<\/td><td>${formatMoney(yearInterest)}<\/td><td>${formatMoney(yearTilgung)}<\/td><td>${formatMoney(currentDebt)}<\/td><\/tr>`;\n        if(currentDebt <= 0) break;\n      }\n      tableBody.innerHTML = htmlRows;\n\n      const summaryDiv = document.getElementById('schedule-summary-text');\n      if (kredit <= 0) { summaryDiv.innerHTML = \"Keine Finanzierung n\u00f6tig.\"; } \n      else {\n        const startWertImmo = kp + modCost;\n        const wertNachBindung = startWertImmo * Math.pow(1 + (wertsteigerung \/ 100), bindung);\n        const ekNachBindung = wertNachBindung - currentDebt;\n        let cagr = 0; let totalReturnPercent = 0;\n        if(ek > 0 && ekNachBindung > 0) {\n             const gewinn = ekNachBindung - ek;\n             totalReturnPercent = (gewinn \/ ek) * 100;\n             cagr = (Math.pow(ekNachBindung \/ ek, 1 \/ bindung) - 1) * 100;\n        }\n        summaryDiv.innerHTML = `Stand nach ${bindung} Jahren:<br>Restschuld: <strong>${formatMoney(currentDebt)}<\/strong><br>Immobilienwert (progn.): <strong>${formatMoney(wertNachBindung)}<\/strong><br>Netto-Verm\u00f6gen: <strong>${formatMoney(ekNachBindung)}<\/strong><span class=\"roi-highlight\">\ud83d\udcc8 <strong>Kapital-Entwicklung:<\/strong><br>Aus ${formatMoney(ek)} Startkapital wurden ${formatMoney(ekNachBindung)}.<br>Zuwachs: <strong>${totalReturnPercent.toFixed(1)}%<\/strong> (\u00d8 ${cagr.toFixed(1)}% p.a.).<\/span>`;\n      }\n      updateChart(kp + modCost, kredit, zins, monatsRate, wertsteigerung);\n    }\n\n    function updateChart(startValue, startDebt, zins, rate, increasePercent) {\n      const labels = []; const dataValue = []; const dataDebt = []; const dataEquity = [];\n      const yearsToShow = 30; \n      let currentVal = startValue; let currentD = startDebt;\n\n      for (let y = 0; y <= yearsToShow; y++) {\n        labels.push('J ' + y); dataValue.push(currentVal); dataDebt.push(currentD);\n        let eq = currentVal - currentD; if(eq < 0) eq = 0; dataEquity.push(eq);\n        currentVal = currentVal * (1 + (increasePercent\/100));\n        for(let m=0; m<12; m++){\n            if(currentD > 0) {\n                const z = (currentD * (zins\/100))\/12; const t = rate - z; currentD -= t;\n            }\n        }\n        if(currentD < 0) currentD = 0;\n      }\n\n      if (equityChart) {\n        equityChart.data.labels = labels; equityChart.data.datasets[0].data = dataValue;\n        equityChart.data.datasets[1].data = dataDebt; equityChart.data.datasets[2].data = dataEquity;\n        equityChart.update();\n      } else {\n        const ctx = document.getElementById('equityChart').getContext('2d');\n        const equityLabelPlugin = {\n          id: 'equityLabels',\n          afterDatasetsDraw(chart) {\n            const { ctx } = chart; const metaEquity = chart.getDatasetMeta(2);\n            ctx.save(); ctx.font = 'bold 11px Helvetica, Arial'; ctx.fillStyle = '#27ae60'; \n            ctx.textAlign = 'center'; ctx.textBaseline = 'bottom';\n            chart.data.labels.forEach((label, index) => {\n              if (index % 5 === 0 && index !== 0) { \n                const equity = chart.data.datasets[2].data[index];\n                const x = metaEquity.data[index].x; const y = metaEquity.data[index].y; \n                const text = 'EK: ' + new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR', maximumFractionDigits: 0 }).format(equity);\n                if(index === 30) { ctx.textAlign = 'right'; ctx.fillText(text, x - 5, y - 10); } \n                else { ctx.textAlign = 'center'; ctx.fillText(text, x, y - 10); }\n                ctx.beginPath(); ctx.arc(x, y, 3, 0, 2 * Math.PI); ctx.fill();\n              }\n            });\n            ctx.restore();\n          }\n        };\n\n        equityChart = new Chart(ctx, {\n          type: 'line',\n          data: {\n            labels: labels,\n            datasets: [\n              { label: 'Immobilienwert', data: dataValue, borderColor: '#2980b9', backgroundColor: 'rgba(41, 128, 185, 0.05)', borderWidth: 2, pointRadius: 0, fill: false },\n              { label: 'Restschuld', data: dataDebt, borderColor: '#c0392b', backgroundColor: 'rgba(192, 57, 43, 0.05)', borderWidth: 2, pointRadius: 0, fill: false },\n              { label: 'Netto-Verm\u00f6gen (EK)', data: dataEquity, borderColor: '#27ae60', backgroundColor: 'rgba(39, 174, 96, 0.1)', borderWidth: 2, pointRadius: 0, fill: true }\n            ]\n          },\n          plugins: [equityLabelPlugin],\n          options: {\n            responsive: true, maintainAspectRatio: false,\n            layout: { padding: { top: 20, right: 20 } }, interaction: { mode: 'index', intersect: false },\n            plugins: {\n              tooltip: { callbacks: { label: function(context) { return context.dataset.label + ': ' + new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR', maximumFractionDigits:0 }).format(context.raw); } } },\n              legend: { position: 'top' }\n            },\n            scales: {\n              y: { beginAtZero: true, ticks: { callback: function(value) { return (value\/1000) + 'k'; } } },\n              x: { grid: { display: false } }\n            }\n          }\n        });\n      }\n    }\n\n    function initCalc() {\n      document.querySelectorAll('.formatted-input').forEach(input => {\n        let raw = getRawValue(input); setFormattedValue(input, raw);\n      });\n      const val = elBundesland.value.replace('.', ',');\n      elGrunderwerb.innerText = val;\n      createModRow('Renovierung', '30000'); \n      updateZinsFromBindung(); \/\/ Load rates\n      calculateImmo();\n    }\n\n    initCalc(); \n  })();\n<\/script><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"class_list":["post-2610","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/wertxpertise.de\/index.php\/wp-json\/wp\/v2\/pages\/2610","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wertxpertise.de\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wertxpertise.de\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wertxpertise.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wertxpertise.de\/index.php\/wp-json\/wp\/v2\/comments?post=2610"}],"version-history":[{"count":30,"href":"https:\/\/wertxpertise.de\/index.php\/wp-json\/wp\/v2\/pages\/2610\/revisions"}],"predecessor-version":[{"id":2641,"href":"https:\/\/wertxpertise.de\/index.php\/wp-json\/wp\/v2\/pages\/2610\/revisions\/2641"}],"wp:attachment":[{"href":"https:\/\/wertxpertise.de\/index.php\/wp-json\/wp\/v2\/media?parent=2610"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}