{"id":11531,"date":"2026-05-18T10:17:38","date_gmt":"2026-05-18T08:17:38","guid":{"rendered":"https:\/\/www.gmz-it.de\/?page_id=11531"},"modified":"2026-05-18T11:02:41","modified_gmt":"2026-05-18T09:02:41","slug":"gmz-cloud-business-apps","status":"publish","type":"page","link":"https:\/\/www.gmz-it.de\/index.php\/gmz-cloud-business-apps\/","title":{"rendered":"GMZ Cloud Business Apps"},"content":{"rendered":"<div data-colibri-id=\"11531-c1\" class=\"style-10971 style-local-11531-c1 position-relative\">\n  <!---->\n  <div data-colibri-component=\"section\" data-colibri-id=\"11531-c6\" id=\"content\" class=\"h-section h-section-global-spacing d-flex align-items-lg-center align-items-md-center align-items-center style-10977 style-local-11531-c6 position-relative\">\n    <!---->\n    <!---->\n    <div class=\"h-section-grid-container h-section-boxed-container\">\n      <!---->\n      <div data-colibri-id=\"11531-c7\" class=\"h-row-container gutters-row-lg-2 gutters-row-md-2 gutters-row-2 gutters-row-v-lg-2 gutters-row-v-md-2 gutters-row-v-0 style-10978 style-local-11531-c7 position-relative\">\n        <!---->\n        <div class=\"h-row justify-content-lg-center justify-content-md-center justify-content-center align-items-lg-stretch align-items-md-stretch align-items-stretch gutters-col-lg-2 gutters-col-md-2 gutters-col-2 gutters-col-v-lg-2 gutters-col-v-md-2 gutters-col-v-0\">\n          <!---->\n          <div class=\"h-column h-column-container d-flex h-col-lg-auto h-col-md-auto h-col-auto style-10979-outer style-local-11531-c8-outer\">\n            <div data-colibri-id=\"11531-c8\" class=\"d-flex h-flex-basis h-column__inner h-px-lg-0 h-px-md-0 h-px-0 v-inner-lg-0 v-inner-md-0 v-inner-0 style-10979 style-local-11531-c8 position-relative\">\n              <!---->\n              <!---->\n              <div class=\"w-100 h-y-container h-column__content h-column__v-align flex-basis-100 align-self-lg-center align-self-md-center align-self-center\">\n                <!---->\n                <div data-colibri-component=\"content-swap\" data-colibri-id=\"11531-c9\" class=\"content-swap style-10980 style-local-11531-c9 h-overflow-hidden position-relative h-element\">\n                  <!---->\n                  <div class=\"d-flex position-relative border-radius-inherit h-content-swap__overflow\">\n                    <div data-normal=\"\" data-colibri-id=\"11531-c10\" class=\"h-content-swap__normal d-flex border-radius-inherit hide-animation style-10981 style-local-11531-c10 position-relative\">\n                      <!---->\n                      <div class=\"w-100 h-y-container align-self-lg-center align-self-md-center align-self-center\">\n                        <!---->\n                        <div data-colibri-id=\"11531-c12\" class=\"h-global-transition-all h-heading style-10983 style-local-11531-c12 position-relative h-element\">\n                          <!---->\n                          <div class=\"h-heading__outer style-10983 style-local-11531-c12\">\n                            <!---->\n                            <!---->\n                            <h4 class=\"\"><span style=\"color: rgb(10, 77, 146);\">Jetzt neu bei uns!<br><\/span><strong style=\"font-size: 126%; font-weight: 800; color: rgb(10, 77, 146);\">Unsere GMZ Cloud Business Apps<\/strong><\/h4>\n                          <\/div>\n                        <\/div>\n                        <div data-colibri-id=\"11531-c13\" class=\"h-divider style-10984 style-local-11531-c13 position-relative h-element\">\n                          <!----><span class=\"h-divider__line style-10984-line style-local-11531-c13-line style-10984-line style-local-11531-c13-line\"><\/span><\/div>\n                        <div data-colibri-id=\"11531-c14\" class=\"h-text h-text-component style-10985 style-local-11531-c14 position-relative h-element\">\n                          <!---->\n                          <!---->\n                          <div class=\"\">\n                            <p>Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur. Viderer feugiat at pro, mea aperiam.<\/p>\n                          <\/div>\n                        <\/div>\n                      <\/div>\n                    <\/div>\n                    <div data-hover=\"\" data-colibri-component=\"link\" data-href=\"\" data-colibri-id=\"11531-c15\" class=\"h-content-swap-hover-container animated h-content-swap__hover d-flex border-radius-inherit slideInLeft justify-content-lg-center justify-content-md-center justify-content-center style-10986 style-local-11531-c15 position-relative\"\n                      style=\"display: none;\">\n                      <!---->\n                      <div class=\"w-100 h-y-container align-self-lg-center align-self-md-center align-self-center\">\n                        <!---->\n                        <div data-colibri-id=\"11531-c16\" class=\"h-row-container gutters-row-lg-0 gutters-row-md-0 gutters-row-2 gutters-row-v-lg-0 gutters-row-v-md-0 gutters-row-v-2 style-10987 style-local-11531-c16 position-relative\">\n                          <!---->\n                          <div class=\"h-row justify-content-lg-center justify-content-md-center justify-content-center align-items-lg-stretch align-items-md-stretch align-items-stretch gutters-col-lg-0 gutters-col-md-0 gutters-col-2 gutters-col-v-lg-0 gutters-col-v-md-0 gutters-col-v-2\">\n                            <!---->\n                            <div class=\"h-column h-column-container d-flex h-col-lg h-col-md h-col-auto style-10988-outer style-local-11531-c17-outer\">\n                              <div data-colibri-id=\"11531-c17\" class=\"d-flex h-flex-basis h-column__inner h-ui-empty-state-container h-px-lg-0 h-px-md-0 h-px-0 v-inner-lg-0 v-inner-md-0 v-inner-0 style-10988 style-local-11531-c17 position-relative\">\n                                <!---->\n                                <!---->\n                                <div class=\"w-100 h-y-container h-column__content h-column__v-align flex-basis-100\">\n                                  <!---->\n                                <\/div>\n                              <\/div>\n                            <\/div>\n                            <div class=\"h-column h-column-container d-flex h-col-lg-auto h-col-md-auto h-col-auto style-10989-outer style-local-11531-c18-outer h-hide-sm\">\n                              <div data-colibri-id=\"11531-c18\" class=\"d-flex h-flex-basis h-column__inner h-px-lg-2 h-px-md-2 h-px-2 v-inner-lg-0 v-inner-md-0 v-inner-2 style-10989 style-local-11531-c18 h-hide-sm position-relative\">\n                                <!---->\n                                <!---->\n                                <div class=\"w-100 h-y-container h-column__content h-column__v-align flex-basis-auto align-self-lg-center align-self-md-center align-self-center\">\n                                  <!---->\n                                  <div data-colibri-id=\"11531-c19\" class=\"h-icon style-10990 style-local-11531-c19 position-relative h-element\">\n                                    <!---->\n                                    <a href=\"#\" h-use-smooth-scroll=\"true\"><span class=\"h-svg-icon h-icon__icon style-10990-icon style-local-11531-c19-icon\"><!--Icon by Icons8 Line Awesome (https:\/\/icons8.com\/line-awesome)--><svg version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" id=\"long-arrow-right\" viewBox=\"0 0 512 545.5\"><path d=\"M339 180.5l96 96 11.5 11.5-11.5 11.5-96 96-22.5-23L385 304H64v-32h321l-68.5-68.5z\"><\/path><\/svg><\/span><\/a>\n                                  <\/div>\n                                <\/div>\n                              <\/div>\n                            <\/div>\n                          <\/div>\n                        <\/div>\n                      <\/div>\n                    <\/div>\n                  <\/div>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"h-column h-column-container d-flex h-col-lg-auto h-col-md-auto h-col-auto style-10991-outer style-local-11531-c20-outer\">\n            <div data-colibri-id=\"11531-c20\" class=\"d-flex h-flex-basis h-column__inner h-ui-empty-state-container h-px-lg-0 h-px-md-0 h-px-0 v-inner-lg-0 v-inner-md-0 v-inner-0 style-10991 style-local-11531-c20 position-relative\">\n              <!---->\n              <!---->\n              <div class=\"w-100 h-y-container h-column__content h-column__v-align flex-basis-100\">\n                <!---->\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n  <div data-colibri-component=\"section\" data-colibri-id=\"11531-c2\" id=\"initial-content\" class=\"h-section h-section-global-spacing d-flex align-items-lg-center align-items-md-center align-items-center style-10972 style-local-11531-c2 position-relative\">\n    <!---->\n    <!---->\n    <div class=\"h-section-grid-container h-section-boxed-container\">\n      <!---->\n      <div data-colibri-id=\"11531-c3\" class=\"h-row-container gutters-row-lg-2 gutters-row-md-2 gutters-row-0 gutters-row-v-lg-2 gutters-row-v-md-2 gutters-row-v-2 style-10973 style-local-11531-c3 position-relative\">\n        <!---->\n        <div class=\"h-row justify-content-lg-center justify-content-md-center justify-content-center align-items-lg-stretch align-items-md-stretch align-items-stretch gutters-col-lg-2 gutters-col-md-2 gutters-col-0 gutters-col-v-lg-2 gutters-col-v-md-2 gutters-col-v-2\">\n          <!---->\n          <div class=\"h-column h-column-container d-flex h-col-lg-auto h-col-md-auto h-col-auto style-10974-outer style-local-11531-c4-outer\">\n            <div data-colibri-id=\"11531-c4\" class=\"d-flex h-flex-basis h-column__inner h-px-lg-2 h-px-md-2 h-px-2 v-inner-lg-2 v-inner-md-2 v-inner-2 style-10974 style-local-11531-c4 position-relative\">\n              <!---->\n              <!---->\n              <div class=\"w-100 h-y-container h-column__content h-column__v-align flex-basis-100 align-self-lg-start align-self-md-start align-self-start\">\n                <!---->\n                <div data-colibri-id=\"11531-c5\" class=\"style-10976 style-local-11531-c5 position-relative h-element\">\n                  <!---->\n                  <div class=\"\"><!-- GMZ Cloud Apps \u2013 VM-Kalkulator Widget\r\n     Einbetten: WPCode \/ Header Footer Code Manager\r\n     Einfach diesen Block in einen Custom-HTML-Block oder ein Text-Widget einf\u00fcgen.\r\n-->\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n\/* === GMZ Kalkulator Widget \u2013 scopted mit Pr\u00e4fix gmzw- === *\/\r\n#gmzw-root {\r\n  --gmz-blue:#0a4d92;\r\n  --gmz-blue-2:#1668b8;\r\n  --gmz-blue-light:#7eb2dd;\r\n  --gmz-grey:#6b7280;\r\n  --ink:#0b1220;\r\n  --ink-2:#1f2937;\r\n  --bg:#f6f8fc;\r\n  --card:#ffffff;\r\n  --border:#e5e9f2;\r\n  --good:#10b981;\r\n  --shadow:0 10px 30px -12px rgba(10,77,146,.18);\r\n  --shadow-lg:0 30px 60px -20px rgba(10,77,146,.28);\r\n  --radius:18px;\r\n  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;\r\n  color:var(--ink);\r\n  box-sizing:border-box;\r\n}\r\n#gmzw-root *{box-sizing:border-box}\r\n\r\n#gmzw-root .gmzw-section-head{text-align:center;margin-bottom:36px}\r\n#gmzw-root .gmzw-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(10,77,146,.08);color:var(--gmz-blue);padding:6px 14px;border-radius:999px;font-weight:600;font-size:13px;letter-spacing:.2px;margin-bottom:12px}\r\n#gmzw-root .gmzw-section-head h2{font-size:clamp(24px,3vw,36px);font-weight:800;letter-spacing:-.02em;margin:0 0 10px;color:var(--ink)}\r\n#gmzw-root .gmzw-section-head p{color:var(--gmz-grey);font-size:15px;line-height:1.6;margin:0}\r\n\r\n#gmzw-root .gmzw-calc{background:#fff;border-radius:var(--radius);padding:28px;border:1px solid var(--border);box-shadow:var(--shadow-lg)}\r\n#gmzw-root .gmzw-calc-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:28px}\r\n@media(max-width:800px){#gmzw-root .gmzw-calc-grid{grid-template-columns:1fr}}\r\n\r\n\/* Inputs *\/\r\n#gmzw-root .gmzw-input-group{margin-bottom:24px}\r\n#gmzw-root .gmzw-input-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}\r\n#gmzw-root .gmzw-label{font-weight:600;font-size:14px;color:var(--ink-2)}\r\n#gmzw-root .gmzw-value{font-weight:700;font-size:16px;color:var(--gmz-blue);background:rgba(10,77,146,.08);padding:4px 12px;border-radius:8px}\r\n#gmzw-root input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--gmz-blue) 0%,var(--gmz-blue) var(--val,9%),#e5e9f2 var(--val,9%),#e5e9f2 100%);outline:none}\r\n#gmzw-root input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--gmz-blue);cursor:pointer;box-shadow:0 4px 12px rgba(10,77,146,.3);transition:transform .15s}\r\n#gmzw-root input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}\r\n#gmzw-root .gmzw-slider-ticks{display:flex;justify-content:space-between;color:var(--gmz-grey);font-size:11px;margin-top:6px}\r\n\r\n#gmzw-root .gmzw-app-search{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;font-family:inherit;background:var(--bg);transition:border-color .2s,background .2s;color:var(--ink)}\r\n#gmzw-root .gmzw-app-search:focus{outline:none;border-color:var(--gmz-blue);background:#fff}\r\n#gmzw-root .gmzw-cat-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}\r\n#gmzw-root .gmzw-cat-pill{padding:5px 11px;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:500;color:var(--ink-2);background:#fff;cursor:pointer;transition:all .15s;font-family:inherit}\r\n#gmzw-root .gmzw-cat-pill:hover{border-color:var(--gmz-blue-light)}\r\n#gmzw-root .gmzw-cat-pill.active{background:var(--gmz-blue);color:#fff;border-color:var(--gmz-blue)}\r\n#gmzw-root .gmzw-quick-selects{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}\r\n#gmzw-root .gmzw-quick-btn{padding:5px 11px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:12px;font-weight:500;color:var(--ink-2);cursor:pointer;transition:all .15s;font-family:inherit}\r\n#gmzw-root .gmzw-quick-btn:hover{border-color:var(--gmz-blue);color:var(--gmz-blue)}\r\n#gmzw-root .gmzw-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:7px;max-height:310px;overflow-y:auto;padding:4px;margin-top:10px}\r\n#gmzw-root .gmzw-app-grid::-webkit-scrollbar{width:5px}\r\n#gmzw-root .gmzw-app-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}\r\n#gmzw-root .gmzw-app-chip{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:#fff;transition:all .15s;font-size:13px;user-select:none;color:var(--ink)}\r\n#gmzw-root .gmzw-app-chip:hover{border-color:var(--gmz-blue-light);background:var(--bg)}\r\n#gmzw-root .gmzw-app-chip.selected{background:linear-gradient(135deg,rgba(10,77,146,.06),rgba(22,104,184,.08));border-color:var(--gmz-blue);color:var(--gmz-blue);font-weight:600}\r\n#gmzw-root .gmzw-check{width:17px;height:17px;border-radius:5px;border:2px solid #d1d5db;display:grid;place-items:center;flex-shrink:0;transition:all .15s}\r\n#gmzw-root .gmzw-app-chip.selected .gmzw-check{background:var(--gmz-blue);border-color:var(--gmz-blue)}\r\n#gmzw-root .gmzw-check svg{opacity:0;transition:opacity .15s}\r\n#gmzw-root .gmzw-app-chip.selected .gmzw-check svg{opacity:1}\r\n\r\n\/* Result panel *\/\r\n#gmzw-root .gmzw-result-panel{background:linear-gradient(160deg,#f8fafd 0%,#eef4fb 100%);border-radius:16px;padding:24px;border:1px solid var(--border);position:relative;overflow:hidden}\r\n#gmzw-root .gmzw-recommendation{text-align:center;margin-bottom:20px}\r\n#gmzw-root .gmzw-rec-label{font-size:11px;font-weight:600;color:var(--gmz-grey);text-transform:uppercase;letter-spacing:.1em}\r\n#gmzw-root .gmzw-rec-size{font-size:56px;font-weight:900;line-height:1;margin:6px 0;background:linear-gradient(135deg,var(--gmz-blue),#3b8fd9);-webkit-background-clip:text;background-clip:text;color:transparent}\r\n#gmzw-root .gmzw-rec-price{font-size:24px;font-weight:700;color:var(--ink)}\r\n#gmzw-root .gmzw-rec-price small{font-size:13px;font-weight:500;color:var(--gmz-grey)}\r\n\r\n#gmzw-root .gmzw-resource-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}\r\n@media(max-width:480px){#gmzw-root .gmzw-resource-grid{grid-template-columns:repeat(2,1fr)}}\r\n#gmzw-root .gmzw-resource{background:#fff;border-radius:10px;padding:12px;text-align:center;border:1px solid var(--border)}\r\n#gmzw-root .gmzw-res-icon{width:26px;height:26px;margin:0 auto 6px;color:var(--gmz-blue)}\r\n#gmzw-root .gmzw-res-label{font-size:10px;color:var(--gmz-grey);text-transform:uppercase;letter-spacing:.06em;font-weight:600}\r\n#gmzw-root .gmzw-res-value{font-size:16px;font-weight:700;color:var(--ink);margin-top:2px}\r\n#gmzw-root .gmzw-res-used{font-size:10px;color:var(--gmz-grey);margin-top:2px}\r\n#gmzw-root .gmzw-res-bar{height:4px;border-radius:999px;background:#e5e9f2;margin-top:6px;overflow:hidden}\r\n#gmzw-root .gmzw-res-bar-fill{height:100%;background:linear-gradient(90deg,var(--gmz-blue),#3b8fd9);transition:width .3s}\r\n\r\n#gmzw-root .gmzw-breakdown{margin-top:16px}\r\n#gmzw-root .gmzw-breakdown-title{font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:8px}\r\n#gmzw-root .gmzw-breakdown-row{display:flex;justify-content:space-between;padding:7px 0;font-size:12px;color:var(--ink-2);border-bottom:1px dashed #e5e9f2;gap:10px}\r\n#gmzw-root .gmzw-breakdown-row:last-child{border:none}\r\n#gmzw-root .gmzw-bd-name{display:flex;align-items:center;gap:5px}\r\n#gmzw-root .gmzw-bd-name::before{content:\"\";width:5px;height:5px;border-radius:999px;background:var(--gmz-blue-light);flex-shrink:0}\r\n#gmzw-root .gmzw-bd-val{color:var(--gmz-grey);font-variant-numeric:tabular-nums;white-space:nowrap}\r\n\r\n#gmzw-root .gmzw-total-bar{margin-top:16px;padding:16px;border-radius:12px;background:linear-gradient(135deg,var(--gmz-blue) 0%,var(--gmz-blue-2) 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}\r\n#gmzw-root .gmzw-total-lbl{font-size:12px;opacity:.85}\r\n#gmzw-root .gmzw-total-price{font-size:24px;font-weight:800}\r\n#gmzw-root .gmzw-total-price small{font-weight:500;opacity:.85;font-size:13px}\r\n#gmzw-root .gmzw-total-bar .gmzw-actions{display:flex;flex-direction:column;gap:6px}\r\n@media(max-width:480px){#gmzw-root .gmzw-total-bar{flex-direction:column;align-items:stretch}#gmzw-root .gmzw-total-bar .gmzw-actions{flex-direction:row;flex-wrap:wrap}}\r\n\r\n#gmzw-root .gmzw-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:10px;font-weight:600;font-size:13px;cursor:pointer;border:none;transition:all .2s;text-decoration:none;font-family:inherit;white-space:nowrap}\r\n#gmzw-root .gmzw-btn-white{background:#fff;color:var(--gmz-blue)}\r\n#gmzw-root .gmzw-btn-white:hover{background:#f0f6fc}\r\n#gmzw-root .gmzw-btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}\r\n#gmzw-root .gmzw-btn-ghost:hover{border-color:#fff}\r\n\r\n#gmzw-root .gmzw-contract-note{font-size:11px;color:var(--gmz-grey);margin-top:12px;text-align:center;line-height:1.5}\r\n\r\n\/* Tooltip *\/\r\n#gmzw-tooltip{position:fixed;z-index:9999;max-width:240px;background:#0b1220;color:#fff;font-size:12px;line-height:1.45;padding:7px 11px;border-radius:7px;box-shadow:0 8px 24px -8px rgba(0,0,0,.35);pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .12s,transform .12s;font-family:'Inter',sans-serif}\r\n#gmzw-tooltip.show{opacity:1;transform:translateY(0)}\r\n#gmzw-tooltip::after{content:\"\";position:absolute;left:var(--ax,50%);top:100%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#0b1220}\r\n#gmzw-tooltip.below::after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#0b1220}\r\n<\/style>\r\n\r\n<div id=\"gmzw-root\">\r\n  <div class=\"gmzw-section-head\">\r\n    <div class=\"gmzw-badge\">\u26a1 Live-Kalkulator<\/div>\r\n    <h2>Welche VM passt zu Ihrem Team?<\/h2>\r\n    <p>W\u00e4hlen Sie Ihre Apps und die Anzahl der Nutzer \u2013 die passende VM-Gr\u00f6\u00dfe und alle Kosten erscheinen sofort.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"gmzw-calc\">\r\n    <div class=\"gmzw-calc-grid\">\r\n      <!-- LEFT -->\r\n      <div>\r\n        <div class=\"gmzw-input-group\">\r\n          <div class=\"gmzw-input-label\">\r\n            <span class=\"gmzw-label\">Anzahl Nutzer<\/span>\r\n            <span class=\"gmzw-value\" id=\"gmzw-userValue\">20<\/span>\r\n          <\/div>\r\n          <input type=\"range\" id=\"gmzw-userSlider\" min=\"1\" max=\"200\" value=\"20\" step=\"1\">\r\n          <div class=\"gmzw-slider-ticks\"><span>1<\/span><span>50<\/span><span>100<\/span><span>150<\/span><span>200<\/span><\/div>\r\n        <\/div>\r\n\r\n        <div class=\"gmzw-input-group\">\r\n          <div class=\"gmzw-input-label\">\r\n            <span class=\"gmzw-label\">Ihre Apps ausw\u00e4hlen <span id=\"gmzw-appCount\" style=\"color:var(--gmz-grey);font-weight:500;font-size:12px\"><\/span><\/span>\r\n          <\/div>\r\n          <input type=\"text\" class=\"gmzw-app-search\" id=\"gmzw-appSearch\" placeholder=\"App suchen \u2026 (z. B. Nextcloud, n8n)\">\r\n          <div class=\"gmzw-cat-row\" id=\"gmzw-catRow\"><\/div>\r\n          <div class=\"gmzw-quick-selects\">\r\n            <button class=\"gmzw-quick-btn\" data-quick=\"default\">Standard-Setup<\/button>\r\n            <button class=\"gmzw-quick-btn\" data-quick=\"office\">Office-Paket<\/button>\r\n            <button class=\"gmzw-quick-btn\" data-quick=\"all\">Alle Apps<\/button>\r\n            <button class=\"gmzw-quick-btn\" data-quick=\"clear\">Alle abw\u00e4hlen<\/button>\r\n          <\/div>\r\n          <div class=\"gmzw-app-grid\" id=\"gmzw-appGrid\"><\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- RIGHT -->\r\n      <div class=\"gmzw-result-panel\">\r\n        <div class=\"gmzw-recommendation\">\r\n          <div class=\"gmzw-rec-label\">Empfohlene VM-Gr\u00f6\u00dfe<\/div>\r\n          <div class=\"gmzw-rec-size\" id=\"gmzw-recSize\">L<\/div>\r\n          <div class=\"gmzw-rec-price\" id=\"gmzw-recPrice\"><\/div>\r\n        <\/div>\r\n\r\n        <div class=\"gmzw-resource-grid\">\r\n          <div class=\"gmzw-resource\">\r\n            <svg class=\"gmzw-res-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"\/><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"\/><path d=\"M9 2v2M15 2v2M9 20v2M15 20v2M2 9h2M2 15h2M20 9h2M20 15h2\"\/><\/svg>\r\n            <div class=\"gmzw-res-label\">CPU<\/div>\r\n            <div class=\"gmzw-res-value\"><span id=\"gmzw-resCpu\">8<\/span><\/div>\r\n            <div class=\"gmzw-res-used\"><span id=\"gmzw-usedCpu\">5<\/span> ben\u00f6tigt<\/div>\r\n            <div class=\"gmzw-res-bar\"><div class=\"gmzw-res-bar-fill\" id=\"gmzw-barCpu\" style=\"width:60%\"><\/div><\/div>\r\n          <\/div>\r\n          <div class=\"gmzw-resource\">\r\n            <svg class=\"gmzw-res-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"2\" y=\"6\" width=\"20\" height=\"12\" rx=\"2\"\/><path d=\"M6 10v4M10 10v4M14 10v4M18 10v4\"\/><\/svg>\r\n            <div class=\"gmzw-res-label\">RAM<\/div>\r\n            <div class=\"gmzw-res-value\"><span id=\"gmzw-resRam\">16<\/span> GB<\/div>\r\n            <div class=\"gmzw-res-used\"><span id=\"gmzw-usedRam\">6<\/span> GB ben\u00f6tigt<\/div>\r\n            <div class=\"gmzw-res-bar\"><div class=\"gmzw-res-bar-fill\" id=\"gmzw-barRam\" style=\"width:38%\"><\/div><\/div>\r\n          <\/div>\r\n          <div class=\"gmzw-resource\">\r\n            <svg class=\"gmzw-res-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 12H2\"\/><path d=\"M5.5 12V6a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v6\"\/><path d=\"M5.5 12v6a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-6\"\/><circle cx=\"16\" cy=\"16\" r=\"1\"\/><\/svg>\r\n            <div class=\"gmzw-res-label\">SSD<\/div>\r\n            <div class=\"gmzw-res-value\"><span id=\"gmzw-resSsd\">150<\/span> GB<\/div>\r\n            <div class=\"gmzw-res-used\"><span id=\"gmzw-usedSsd\">25<\/span> GB ben\u00f6tigt<\/div>\r\n            <div class=\"gmzw-res-bar\"><div class=\"gmzw-res-bar-fill\" id=\"gmzw-barSsd\" style=\"width:17%\"><\/div><\/div>\r\n          <\/div>\r\n          <div class=\"gmzw-resource\">\r\n            <svg class=\"gmzw-res-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><ellipse cx=\"12\" cy=\"6\" rx=\"9\" ry=\"3\"\/><path d=\"M3 6v6c0 1.66 4 3 9 3s9-1.34 9-3V6\"\/><path d=\"M3 12v6c0 1.66 4 3 9 3s9-1.34 9-3v-6\"\/><\/svg>\r\n            <div class=\"gmzw-res-label\">HDD<\/div>\r\n            <div class=\"gmzw-res-value\"><span id=\"gmzw-resHdd\">1.500<\/span> GB<\/div>\r\n            <div class=\"gmzw-res-used\"><span id=\"gmzw-usedHdd\">190<\/span> GB ben\u00f6tigt<\/div>\r\n            <div class=\"gmzw-res-bar\"><div class=\"gmzw-res-bar-fill\" id=\"gmzw-barHdd\" style=\"width:13%\"><\/div><\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"gmzw-breakdown\">\r\n          <div class=\"gmzw-breakdown-title\">Ihre Kostenaufstellung<\/div>\r\n          <div id=\"gmzw-breakdownList\"><\/div>\r\n        <\/div>\r\n\r\n        <div class=\"gmzw-total-bar\">\r\n          <div>\r\n            <div class=\"gmzw-total-lbl\">Gesamt monatlich<\/div>\r\n            <div class=\"gmzw-total-price\" id=\"gmzw-totalPrice\"><\/div>\r\n          <\/div>\r\n          <div class=\"gmzw-actions\">\r\n            <a href=\"https:\/\/outlook.office.com\/book\/GMZInformationstechnikGmbH@gmz-it.de\/\" target=\"_blank\" rel=\"noopener\" class=\"gmzw-btn gmzw-btn-white\">Kostenlos testen<\/a>\r\n            <a href=\"https:\/\/outlook.office.com\/book\/GMZInformationstechnikGmbH@gmz-it.de\/\" target=\"_blank\" rel=\"noopener\" class=\"gmzw-btn gmzw-btn-ghost\">Beratungstermin<\/a>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"gmzw-contract-note\">\r\n          <b>Vertragslaufzeit 12 Monate.<\/b> J\u00e4hrliche Zahlung im Voraus \u2013\r\n          wahlweise monatliche Zahlung f\u00fcr <b>+10,00 \u20ac \/ Monat<\/b>.<br>\r\n          Zahlungsziel: 7 Tage nach Bereitstellung.\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<div id=\"gmzw-tooltip\"><\/div>\r\n\r\n<script>\r\n(function(){\r\nconst APPS = [\r\n  { name:\"Authentik\",      cpu:0.5,  ram:768, ssd:2,   hdd:0,  cat:\"sec\",    def:true, deps:[\"postgres\",\"redis\"],   desc:\"Identity Provider \/ Single Sign-On (SSO) f\u00fcr alle Apps.\" },\r\n  { name:\"Nextcloud\",      cpu:0.5,  ram:512, ssd:2,   hdd:80, cat:\"office\", def:true, deps:[\"mariadb\",\"redis\"],    desc:\"File-Sharing, Kalender, Kontakte \u2013 die deutsche Cloud-Suite.\" },\r\n  { name:\"Vaultwarden\",    cpu:0.1,  ram:96,  ssd:0.5, hdd:0,  cat:\"sec\",    def:true, deps:[],                    desc:\"Passwort-Manager f\u00fcr Teams (Bitwarden-kompatibel).\" },\r\n  { name:\"Paperless-ngx\",  cpu:0.5,  ram:512, ssd:2,   hdd:20, cat:\"office\",           deps:[\"postgres\",\"redis\"],   desc:\"Digitales Dokumenten-Archiv mit OCR und Volltextsuche.\" },\r\n  { name:\"n8n\",            cpu:0.3,  ram:320, ssd:1,   hdd:0,  cat:\"auto\",             deps:[],                    desc:\"Workflow-Automatisierung (Low-Code, \u00e4hnlich Zapier).\" },\r\n  { name:\"Stirling-PDF\",   cpu:0.3,  ram:384, ssd:0.5, hdd:0,  cat:\"office\",           deps:[],                    desc:\"PDF-Toolbox: mergen, splitten, OCR, konvertieren.\" },\r\n  { name:\"Documenso\",      cpu:0.2,  ram:256, ssd:1,   hdd:5,  cat:\"office\",           deps:[\"postgres\"],           desc:\"Open-Source-Alternative zu DocuSign f\u00fcr digitale Signaturen.\" },\r\n  { name:\"IT-Tools\",       cpu:0.05, ram:64,  ssd:0.1, hdd:0,  cat:\"dev\",              deps:[],                    desc:\"Sammlung praktischer IT-Tools im Browser (Konverter, Generatoren, Encoder).\" },\r\n  { name:\"LibreTranslate\", cpu:0.5,  ram:768, ssd:3,   hdd:0,  cat:\"office\",           deps:[],                    desc:\"Selbstgehostete \u00dcbersetzungs-API (DeepL-Alternative).\" },\r\n];\r\n\r\nconst SHARED_DBS = {\r\n  postgres: { cpu:0.3, ram:512, ssd:3,   hdd:0 },\r\n  redis:    { cpu:0.1, ram:128, ssd:0.1, hdd:0 },\r\n  mariadb:  { cpu:0.3, ram:512, ssd:2,   hdd:0 },\r\n};\r\n\r\nconst CATS = { all:\"Alle\", office:\"Office\", sec:\"Security\", auto:\"Automation\", dev:\"Dev\" };\r\n\r\nconst VM_SIZES = [\r\n  { name:\"S\",  cpu:2,  ram:4,  ssd:50,  hdd:500,  price:59  },\r\n  { name:\"M\",  cpu:4,  ram:8,  ssd:100, hdd:1000, price:99  },\r\n  { name:\"L\",  cpu:8,  ram:16, ssd:150, hdd:1500, price:129 },\r\n  { name:\"XL\", cpu:16, ram:32, ssd:200, hdd:2000, price:179 },\r\n];\r\n\r\nconst GRUNDBEDARF = { cpu:0.5, ram:0.5, ssd:8, hdd:0 };\r\nconst ADDONS = { cpuPerUnit:8, ramPerGB:5, ssdPer50GB:9, hddPer500GB:45 };\r\n\r\nconst QUICK_SETS = {\r\n  default: [\"Authentik\",\"Nextcloud\",\"Vaultwarden\"],\r\n  office:  [\"Authentik\",\"Nextcloud\",\"Vaultwarden\",\"Paperless-ngx\",\"Stirling-PDF\",\"Documenso\",\"LibreTranslate\"],\r\n  all:     [\"Authentik\",\"Nextcloud\",\"Vaultwarden\",\"Paperless-ngx\",\"n8n\",\"Stirling-PDF\",\"Documenso\",\"IT-Tools\",\"LibreTranslate\"],\r\n};\r\n\r\nconst state = {\r\n  users: 20,\r\n  selected: new Set(APPS.filter(a => a.def).map(a => a.name)),\r\n  search: \"\",\r\n  cat: \"all\",\r\n};\r\n\r\nconst g  = id => document.getElementById(id);\r\nconst fmt = n => n.toLocaleString(\"de-DE\",{minimumFractionDigits:2,maximumFractionDigits:2});\r\nconst fmtN = n => n.toLocaleString(\"de-DE\",{maximumFractionDigits:2});\r\nconst fmtI = n => n.toLocaleString(\"de-DE\",{maximumFractionDigits:0});\r\nconst ceil = (x,s) => Math.ceil(x\/s)*s;\r\n\r\nfunction renderCats(){\r\n  g(\"gmzw-catRow\").innerHTML = Object.entries(CATS).map(([k,v]) =>\r\n    `<button class=\"gmzw-cat-pill${state.cat===k?' active':''}\" data-cat=\"${k}\">${v}<\/button>`\r\n  ).join(\"\");\r\n  g(\"gmzw-catRow\").querySelectorAll(\".gmzw-cat-pill\").forEach(el =>\r\n    el.addEventListener(\"click\", () => { state.cat = el.dataset.cat; renderCats(); renderApps(); })\r\n  );\r\n}\r\n\r\nfunction renderApps(){\r\n  const term = state.search.toLowerCase().trim();\r\n  const filtered = APPS.filter(a =>\r\n    (state.cat===\"all\" || a.cat===state.cat) && (!term || a.name.toLowerCase().includes(term))\r\n  );\r\n  g(\"gmzw-appGrid\").innerHTML = filtered.map(a => {\r\n    const sel = state.selected.has(a.name);\r\n    const tip = (a.desc||\"\").replace(\/\"\/g,\"&quot;\");\r\n    return `<div class=\"gmzw-app-chip${sel?' selected':''}\" data-app=\"${a.name}\" data-tip=\"${tip}\">\r\n      <span class=\"gmzw-check\"><svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"white\" stroke-width=\"3.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"\/><\/svg><\/span>\r\n      <span>${a.name}<\/span>\r\n    <\/div>`;\r\n  }).join(\"\");\r\n  g(\"gmzw-appCount\").textContent = `\u00b7 ${state.selected.size} ausgew\u00e4hlt`;\r\n  g(\"gmzw-appGrid\").querySelectorAll(\".gmzw-app-chip\").forEach(el =>\r\n    el.addEventListener(\"click\", () => {\r\n      const n = el.dataset.app;\r\n      if(state.selected.has(n)) state.selected.delete(n); else state.selected.add(n);\r\n      renderApps(); calc();\r\n    })\r\n  );\r\n  attachTooltip(g(\"gmzw-appGrid\"));\r\n}\r\n\r\nfunction calc(){\r\n  const users = state.users;\r\n  let app = { cpu:0, ramMb:0, ssd:0, hdd:0 };\r\n  state.selected.forEach(name => {\r\n    const a = APPS.find(x => x.name===name); if(!a) return;\r\n    app.cpu += a.cpu; app.ramMb += a.ram; app.ssd += a.ssd; app.hdd += a.hdd;\r\n  });\r\n  const neededDbs = new Set();\r\n  state.selected.forEach(name => { const a=APPS.find(x=>x.name===name); if(a&&a.deps) a.deps.forEach(d=>neededDbs.add(d)); });\r\n  neededDbs.forEach(d => { const db=SHARED_DBS[d]; if(!db) return; app.cpu+=db.cpu; app.ramMb+=db.ram; app.ssd+=db.ssd; app.hdd+=db.hdd; });\r\n  const apps = { cpu:app.cpu, ram:app.ramMb\/1024, ssd:app.ssd, hdd:app.hdd };\r\n  const need = {\r\n    cpu: Math.ceil(apps.cpu\/10*users + GRUNDBEDARF.cpu),\r\n    ram: ceil(apps.ram\/10*users + GRUNDBEDARF.ram, 0.5),\r\n    ssd: ceil(apps.ssd\/10*users + GRUNDBEDARF.ssd, 5),\r\n    hdd: ceil(apps.hdd\/10*users + GRUNDBEDARF.hdd, 5),\r\n  };\r\n  let rec = VM_SIZES.find(v => v.cpu>=need.cpu && v.ram>=need.ram && v.ssd>=need.ssd && v.hdd>=need.hdd);\r\n  let base = rec || VM_SIZES[VM_SIZES.length-1];\r\n  let addOnCpu=0, addOnRam=0, addOnSsd=0, addOnHdd=0, addOnPrice=0;\r\n  if(!rec){\r\n    addOnCpu  = Math.max(0, need.cpu - base.cpu);\r\n    addOnRam  = Math.max(0, need.ram - base.ram);\r\n    addOnSsd  = Math.max(0, ceil(need.ssd - base.ssd, 50));\r\n    addOnHdd  = Math.max(0, ceil(need.hdd - base.hdd, 500));\r\n    addOnPrice = addOnCpu*ADDONS.cpuPerUnit + addOnRam*ADDONS.ramPerGB + (addOnSsd\/50)*ADDONS.ssdPer50GB + (addOnHdd\/500)*ADDONS.hddPer500GB;\r\n  }\r\n  const monthly = base.price + addOnPrice;\r\n  const displaySize = !rec ? \"XL+\" : base.name;\r\n\r\n  g(\"gmzw-recSize\").textContent = displaySize;\r\n  g(\"gmzw-recPrice\").innerHTML  = `${fmt(monthly)} \u20ac<small> \/ Monat<\/small>`;\r\n  g(\"gmzw-totalPrice\").innerHTML = `${fmt(monthly)} \u20ac <small>\/ Monat<\/small>`;\r\n  g(\"gmzw-resCpu\").textContent = base.cpu + addOnCpu;\r\n  g(\"gmzw-resRam\").textContent = base.ram + addOnRam;\r\n  g(\"gmzw-resSsd\").textContent = fmtI(base.ssd + addOnSsd);\r\n  g(\"gmzw-resHdd\").textContent = fmtI(base.hdd + addOnHdd);\r\n  g(\"gmzw-usedCpu\").textContent = fmtN(need.cpu);\r\n  g(\"gmzw-usedRam\").textContent = fmtN(need.ram);\r\n  g(\"gmzw-usedSsd\").textContent = fmtN(need.ssd);\r\n  g(\"gmzw-usedHdd\").textContent = fmtN(need.hdd);\r\n  const pct = (a,b) => (b<=0?0:Math.min(100,Math.round(a\/b*100)))+\"%\";\r\n  g(\"gmzw-barCpu\").style.width = pct(need.cpu, base.cpu+addOnCpu);\r\n  g(\"gmzw-barRam\").style.width = pct(need.ram, base.ram+addOnRam);\r\n  g(\"gmzw-barSsd\").style.width = pct(need.ssd, base.ssd+addOnSsd);\r\n  g(\"gmzw-barHdd\").style.width = pct(need.hdd, base.hdd+addOnHdd);\r\n\r\n  const rows = [`<div class=\"gmzw-breakdown-row\"><span class=\"gmzw-bd-name\">VM ${base.name} \u00b7 ${base.cpu} vCPU \/ ${base.ram} GB \/ ${base.ssd} GB SSD \/ ${base.hdd} GB HDD<\/span><span class=\"gmzw-bd-val\">${fmt(base.price)} \u20ac<\/span><\/div>`];\r\n  if(addOnCpu>0)  rows.push(`<div class=\"gmzw-breakdown-row\"><span class=\"gmzw-bd-name\">+${addOnCpu} vCPU<\/span><span class=\"gmzw-bd-val\">${fmt(addOnCpu*ADDONS.cpuPerUnit)} \u20ac<\/span><\/div>`);\r\n  if(addOnRam>0)  rows.push(`<div class=\"gmzw-breakdown-row\"><span class=\"gmzw-bd-name\">+${fmtN(addOnRam)} GB RAM<\/span><span class=\"gmzw-bd-val\">${fmt(addOnRam*ADDONS.ramPerGB)} \u20ac<\/span><\/div>`);\r\n  if(addOnSsd>0)  rows.push(`<div class=\"gmzw-breakdown-row\"><span class=\"gmzw-bd-name\">+${addOnSsd} GB SSD<\/span><span class=\"gmzw-bd-val\">${fmt((addOnSsd\/50)*ADDONS.ssdPer50GB)} \u20ac<\/span><\/div>`);\r\n  if(addOnHdd>0)  rows.push(`<div class=\"gmzw-breakdown-row\"><span class=\"gmzw-bd-name\">+${addOnHdd} GB HDD<\/span><span class=\"gmzw-bd-val\">${fmt((addOnHdd\/500)*ADDONS.hddPer500GB)} \u20ac<\/span><\/div>`);\r\n  rows.push(`<div class=\"gmzw-breakdown-row\"><span class=\"gmzw-bd-name\">${state.selected.size} Apps \u00b7 ${users} Nutzer \u00b7 Wartung & Updates<\/span><span class=\"gmzw-bd-val\">inklusive<\/span><\/div>`);\r\n  if(neededDbs.size>0){\r\n    const dbl = {postgres:\"PostgreSQL\",redis:\"Redis\",mariadb:\"MariaDB\"};\r\n    rows.push(`<div class=\"gmzw-breakdown-row\"><span class=\"gmzw-bd-name\">Backend: ${[...neededDbs].map(d=>dbl[d]||d).join(\", \")}<\/span><span class=\"gmzw-bd-val\">inklusive<\/span><\/div>`);\r\n  }\r\n  g(\"gmzw-breakdownList\").innerHTML = rows.join(\"\");\r\n}\r\n\r\n\/\/ Tooltip\r\nconst tip = g(\"gmzw-tooltip\");\r\nfunction showTip(el){\r\n  const txt = el.dataset.tip; if(!txt) return;\r\n  tip.textContent = txt;\r\n  tip.classList.add(\"show\"); tip.classList.remove(\"below\");\r\n  tip.style.left=\"0\"; tip.style.top=\"0\";\r\n  const r=el.getBoundingClientRect(), tr=tip.getBoundingClientRect();\r\n  const vw=window.innerWidth, pad=8;\r\n  let left=r.left+r.width\/2-tr.width\/2, top=r.top-tr.height-10;\r\n  if(top<pad){ top=r.bottom+10; tip.classList.add(\"below\"); }\r\n  if(left<pad) left=pad;\r\n  if(left+tr.width>vw-pad) left=vw-pad-tr.width;\r\n  tip.style.setProperty(\"--ax\", (r.left+r.width\/2-left)+\"px\");\r\n  tip.style.left=left+\"px\"; tip.style.top=top+\"px\";\r\n}\r\nfunction hideTip(){ tip.classList.remove(\"show\"); }\r\nfunction attachTooltip(scope){\r\n  scope.querySelectorAll(\".gmzw-app-chip\").forEach(el => {\r\n    el.addEventListener(\"mouseenter\", () => showTip(el));\r\n    el.addEventListener(\"mouseleave\", hideTip);\r\n  });\r\n}\r\ng(\"gmzw-appGrid\").addEventListener(\"scroll\", hideTip, {passive:true});\r\nwindow.addEventListener(\"scroll\", hideTip, {passive:true});\r\n\r\n\/\/ Slider\r\nconst slider = g(\"gmzw-userSlider\");\r\nslider.addEventListener(\"input\", e => {\r\n  state.users = +e.target.value;\r\n  g(\"gmzw-userValue\").textContent = state.users;\r\n  slider.style.setProperty(\"--val\", ((state.users-1)\/199*100)+\"%\");\r\n  calc();\r\n});\r\nslider.style.setProperty(\"--val\", ((state.users-1)\/199*100)+\"%\");\r\n\r\ng(\"gmzw-appSearch\").addEventListener(\"input\", e => { state.search=e.target.value; renderApps(); });\r\n\r\ndocument.querySelectorAll(\".gmzw-quick-btn\").forEach(b =>\r\n  b.addEventListener(\"click\", () => {\r\n    const q=b.dataset.quick;\r\n    if(q===\"clear\") state.selected.clear();\r\n    else if(QUICK_SETS[q]){ state.selected.clear(); QUICK_SETS[q].forEach(n=>state.selected.add(n)); }\r\n    renderApps(); calc();\r\n  })\r\n);\r\n\r\nrenderCats(); renderApps(); calc();\r\n})();\r\n<\/script>\r\n<\/div>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Jetzt neu bei uns!Unsere GMZ Cloud Business Apps Lorem ipsum dolor sit amet, at mei dolore tritani repudiandae. In his nemore temporibus consequuntur, vim ad prima vivendum consetetur. Viderer feugiat at pro, mea aperiam.<\/p>\n","protected":false},"author":9,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-templates\/full-width-page.php","meta":{"footnotes":""},"class_list":["post-11531","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>CCITS Digital Workplace bietet Ihnen flexibles Arbeiten - GMZ IT<\/title>\n<meta name=\"description\" content=\"CCITS Digital Workplace erm\u00f6glicht Ihnen die Bereitstellung kompletter Arbeitspl\u00e4tze aus der Cloud \u2713 Jetzt GMZ Informationstechnik kontaktieren \u2713 Hier klicken!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.gmz-it.de\/index.php\/gmz-cloud-business-apps\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CCITS Digital Workplace bietet Ihnen flexibles Arbeiten - GMZ IT\" \/>\n<meta property=\"og:description\" content=\"CCITS Digital Workplace erm\u00f6glicht Ihnen die Bereitstellung kompletter Arbeitspl\u00e4tze aus der Cloud \u2713 Jetzt GMZ Informationstechnik kontaktieren \u2713 Hier klicken!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.gmz-it.de\/index.php\/gmz-cloud-business-apps\/\" \/>\n<meta property=\"og:site_name\" content=\"GMZ Informationstechnik GmbH\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-18T09:02:41+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"1\u00a0Minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.gmz-it.de\\\/index.php\\\/gmz-cloud-business-apps\\\/\",\"url\":\"https:\\\/\\\/www.gmz-it.de\\\/index.php\\\/gmz-cloud-business-apps\\\/\",\"name\":\"CCITS Digital Workplace bietet Ihnen flexibles Arbeiten - GMZ IT\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.gmz-it.de\\\/#website\"},\"datePublished\":\"2026-05-18T08:17:38+00:00\",\"dateModified\":\"2026-05-18T09:02:41+00:00\",\"description\":\"CCITS Digital Workplace erm\u00f6glicht Ihnen die Bereitstellung kompletter Arbeitspl\u00e4tze aus der Cloud \u2713 Jetzt GMZ Informationstechnik kontaktieren \u2713 Hier klicken!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.gmz-it.de\\\/index.php\\\/gmz-cloud-business-apps\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.gmz-it.de\\\/index.php\\\/gmz-cloud-business-apps\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.gmz-it.de\\\/index.php\\\/gmz-cloud-business-apps\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/www.gmz-it.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GMZ Cloud Business Apps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.gmz-it.de\\\/#website\",\"url\":\"https:\\\/\\\/www.gmz-it.de\\\/\",\"name\":\"GMZ Informationstechnik GmbH\",\"description\":\"Your IT is... where you need it\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.gmz-it.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.gmz-it.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.gmz-it.de\\\/#organization\",\"name\":\"GMZ Informationstechnik GmbH\",\"url\":\"https:\\\/\\\/www.gmz-it.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.gmz-it.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.gmz-it.de\\\/wp-content\\\/uploads\\\/2020\\\/07\\\/cropped-GMZ_Logo-Kopf-Office-2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.gmz-it.de\\\/wp-content\\\/uploads\\\/2020\\\/07\\\/cropped-GMZ_Logo-Kopf-Office-2.jpg\",\"width\":1018,\"height\":438,\"caption\":\"GMZ Informationstechnik GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/www.gmz-it.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CCITS Digital Workplace bietet Ihnen flexibles Arbeiten - GMZ IT","description":"CCITS Digital Workplace erm\u00f6glicht Ihnen die Bereitstellung kompletter Arbeitspl\u00e4tze aus der Cloud \u2713 Jetzt GMZ Informationstechnik kontaktieren \u2713 Hier klicken!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.gmz-it.de\/index.php\/gmz-cloud-business-apps\/","og_locale":"de_DE","og_type":"article","og_title":"CCITS Digital Workplace bietet Ihnen flexibles Arbeiten - GMZ IT","og_description":"CCITS Digital Workplace erm\u00f6glicht Ihnen die Bereitstellung kompletter Arbeitspl\u00e4tze aus der Cloud \u2713 Jetzt GMZ Informationstechnik kontaktieren \u2713 Hier klicken!","og_url":"https:\/\/www.gmz-it.de\/index.php\/gmz-cloud-business-apps\/","og_site_name":"GMZ Informationstechnik GmbH","article_modified_time":"2026-05-18T09:02:41+00:00","twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"1\u00a0Minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.gmz-it.de\/index.php\/gmz-cloud-business-apps\/","url":"https:\/\/www.gmz-it.de\/index.php\/gmz-cloud-business-apps\/","name":"CCITS Digital Workplace bietet Ihnen flexibles Arbeiten - GMZ IT","isPartOf":{"@id":"https:\/\/www.gmz-it.de\/#website"},"datePublished":"2026-05-18T08:17:38+00:00","dateModified":"2026-05-18T09:02:41+00:00","description":"CCITS Digital Workplace erm\u00f6glicht Ihnen die Bereitstellung kompletter Arbeitspl\u00e4tze aus der Cloud \u2713 Jetzt GMZ Informationstechnik kontaktieren \u2713 Hier klicken!","breadcrumb":{"@id":"https:\/\/www.gmz-it.de\/index.php\/gmz-cloud-business-apps\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.gmz-it.de\/index.php\/gmz-cloud-business-apps\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.gmz-it.de\/index.php\/gmz-cloud-business-apps\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.gmz-it.de\/"},{"@type":"ListItem","position":2,"name":"GMZ Cloud Business Apps"}]},{"@type":"WebSite","@id":"https:\/\/www.gmz-it.de\/#website","url":"https:\/\/www.gmz-it.de\/","name":"GMZ Informationstechnik GmbH","description":"Your IT is... where you need it","publisher":{"@id":"https:\/\/www.gmz-it.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.gmz-it.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.gmz-it.de\/#organization","name":"GMZ Informationstechnik GmbH","url":"https:\/\/www.gmz-it.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.gmz-it.de\/#\/schema\/logo\/image\/","url":"https:\/\/www.gmz-it.de\/wp-content\/uploads\/2020\/07\/cropped-GMZ_Logo-Kopf-Office-2.jpg","contentUrl":"https:\/\/www.gmz-it.de\/wp-content\/uploads\/2020\/07\/cropped-GMZ_Logo-Kopf-Office-2.jpg","width":1018,"height":438,"caption":"GMZ Informationstechnik GmbH"},"image":{"@id":"https:\/\/www.gmz-it.de\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.gmz-it.de\/index.php\/wp-json\/wp\/v2\/pages\/11531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gmz-it.de\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gmz-it.de\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gmz-it.de\/index.php\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gmz-it.de\/index.php\/wp-json\/wp\/v2\/comments?post=11531"}],"version-history":[{"count":4,"href":"https:\/\/www.gmz-it.de\/index.php\/wp-json\/wp\/v2\/pages\/11531\/revisions"}],"predecessor-version":[{"id":11555,"href":"https:\/\/www.gmz-it.de\/index.php\/wp-json\/wp\/v2\/pages\/11531\/revisions\/11555"}],"wp:attachment":[{"href":"https:\/\/www.gmz-it.de\/index.php\/wp-json\/wp\/v2\/media?parent=11531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}