{"id":14624,"date":"2026-11-03T13:44:59","date_gmt":"2026-11-03T12:44:59","guid":{"rendered":"https:\/\/skyeredtechnology.de\/homepage-test\/projekte-on-prem-zu-cloud-migration\/"},"modified":"2026-11-03T14:49:38","modified_gmt":"2026-11-03T13:49:38","slug":"projekte-on-prem-zu-cloud-migration","status":"publish","type":"page","link":"https:\/\/skyeredtechnology.de\/en\/homepage-test\/projekte-on-prem-zu-cloud-migration\/","title":{"rendered":"Beratungshausbranche | Sky-E Red Technology"},"content":{"rendered":"<meta name=\"robots\" content=\"noindex, nofollow\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow+Condensed:wght@600;700&#038;family=Barlow:wght@400;500;600&#038;display=swap\">\n<style>\nbutton,[type=button],[type=submit],[type=reset]{color:inherit;background:none;border:0;\npadding:0;border-radius:0;font:inherit;line-height:inherit;text-transform:none;letter-spacing:inherit;\nbox-shadow:none;white-space:normal}\nbutton:hover,button:focus,[type=button]:hover,[type=button]:focus,[type=submit]:hover,[type=submit]:focus{\nbackground-color:transparent;color:inherit;text-decoration:none}\n\/* ==========================================================================\n   Sky-E Red Education \u2014 design system (\"Tonal\")\n   Style reference: more-nutrition.webflow.io, in our brand colours.\n   One hue in tones: a light red-tinted ground, a mid tint for cards and the\n   hero, wine for text and dark buttons, red as the accent. Condensed grotesk\n   headings (Barlow Condensed), Barlow for text. Pill buttons with a small\n   arrow circle, round badges, rounded cards, centred sections, lots of air.\n   One motion: buttons change colour on hover. Nothing animates on scroll.\n   Mobile-first. Components with snippets: COMPONENTS.md.\n   Order: tokens, base, layout, buttons, header\/nav, footer, heroes,\n   components, utilities.\n   ========================================================================== *\/\n\n\/* ---------- Tokens ---------- *\/\n:root {\n  --ground: #ffffff;     \/* page ground: white (Ilyas 2026-11-03: more white; tint only as accent) *\/\n  --tint: #ebd3d6;       \/* mid tint: hero, cards on ground *\/\n  --tint-soft: #f1e2e4;  \/* alternate section ground *\/\n  --tint-deep: #ddb6bc;  \/* hover on tint, hairlines (decorative only) *\/\n  --white: #ffffff;      \/* cards on tint, photo borders *\/\n  --wine: #000000;       \/* brand black (2026-11-02): text, headings, dark buttons, dark band *\/\n  --red: #950900;        \/* brand red #950900: markers, active states, focus, button hover *\/\n  --rose: #008c95;       \/* brand turquoise: second tone of a display headline (large text only) *\/\n  --teal: #008c95;       \/* brand turquoise #008C95; white on it ~4.1:1 (large\/bold only), black on it 5.2:1 *\/\n  --muted: #5a3a40;      \/* secondary text *\/\n  --on-wine: #ffffff;\n  --on-wine-soft: #d6d6d6;\n  \/* Contrast (WCAG): wine on ground 14.4, on tint 11.5, on white 16.3; muted on ground 7.5,\n     on tint 6.0; red on ground 6.5, on tint 5.2; rose on ground 4.2, on tint 3.4 (display\n     sizes only); white on wine 16.3, on red 7.4; #f2c9cf on wine 10.9. *\/\n\n  --font: \"Barlow\", \"Helvetica Neue\", Arial, sans-serif;\n  --font-display: \"Barlow Condensed\", \"Arial Narrow\", \"Helvetica Neue\", Arial, sans-serif;\n  --fs-sm: 0.875rem;\n  --fs-base: 1.0625rem;\n  --fs-md: 1.25rem;\n  --fs-lg: clamp(1.1875rem, 1.1rem + 0.4vw, 1.4375rem);\n  --fs-h3: clamp(1.5rem, 1.35rem + 0.6vw, 1.875rem);\n  --fs-h2: clamp(2.25rem, 1.4rem + 3.4vw, 4.25rem);\n  --fs-h1: clamp(2.75rem, 1.6rem + 4.8vw, 5.5rem);\n  --fs-display: clamp(3.25rem, 1.4rem + 7.6vw, 7rem);\n\n  --gutter: 16px;\n  --container: 72rem;\n  --gap: clamp(1rem, 2.4vw, 1.75rem);\n  --section-y: clamp(4rem, 2.5rem + 6vw, 8rem);\n  --r-card: 12px;\n  --r-pill: 999px;\n  --header-h: 72px;\n  --measure: 66ch;\n  --arrow-wine: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23490009' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11 11 5M6.5 5H11v4.5'\/%3E%3C\/svg%3E\");\n  --arrow-white: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11 11 5M6.5 5H11v4.5'\/%3E%3C\/svg%3E\");\n}\n@media (min-width: 768px) { :root { --gutter: 32px; --header-h: 84px; } }\n\n\/* ---------- Base ---------- *\/\n*, *::before, *::after { box-sizing: border-box; }\nhtml { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 16px); }\n@media (min-width: 1024px) { html { font-size: 105.88%; } } \/* 18px body on desktop *\/\nbody {\n  margin: 0; font-family: var(--font); font-size: var(--fs-base); line-height: 1.6;\n  color: var(--wine); background: var(--ground);\n  -webkit-font-smoothing: antialiased; overflow-x: clip;\n}\nimg, svg, video, iframe { max-width: 100%; }\nimg { height: auto; display: block; }\nh1, h2, h3, h4 {\n  margin: 0 0 0.5em; font-family: var(--font-display); font-weight: 700; color: var(--wine);\n  line-height: 0.98; letter-spacing: -0.015em; overflow-wrap: break-word; text-wrap: balance;\n  hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 12 6 6;\n}\nh1 { font-size: var(--fs-h1); letter-spacing: -0.025em; line-height: 0.92; }\nh2 { font-size: var(--fs-h2); letter-spacing: -0.02em; line-height: 0.95; }\nh3 { font-size: var(--fs-h3); font-weight: 600; line-height: 1.05; }\nh4 { font-size: var(--fs-md); font-weight: 600; }\np { margin: 0 0 1em; max-width: var(--measure); }\np:last-child { margin-bottom: 0; }\na { color: var(--wine); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }\na:hover { color: var(--red); }\nstrong { font-weight: 600; }\nul, ol { margin: 0 0 1em; padding-left: 1.25em; }\nli { max-width: var(--measure); }\n:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }\n.section--dark :focus-visible, .footer-cta :focus-visible { outline-color: var(--white); } \/* red on wine is too faint *\/\n::selection { background: var(--wine); color: #fff; }\n\n.tone { color: var(--rose); display: block; } \/* second tone of a display headline: max 1\u20132 per site page *\/\n.skip-link {\n  position: absolute; left: 12px; top: -60px; z-index: 200; border-radius: var(--r-pill);\n  background: var(--wine); color: #fff; padding: 10px 18px; font-weight: 600; text-decoration: none;\n}\n.skip-link:focus { top: 12px; color: #fff; }\n.sr-only {\n  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;\n  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;\n}\n\n\/* ---------- Layout ---------- *\/\n.container { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }\n.container--narrow > * { max-width: 48rem; margin-inline: auto; }\n.section { padding-block: var(--section-y); position: relative; }\n.section--tight { padding-block: calc(var(--section-y) * 0.6); }\n.section--alt { background: var(--tint-soft); }\n.section--dark { background: var(--wine); color: var(--on-wine-soft); }\n.section--dark :is(h1, h2, h3, h4, strong) { color: var(--on-wine); }\n.section--dark a:not(.btn) { color: var(--on-wine); }\n\n\/* Section heading: centred above the content. *\/\n.section__head { text-align: center; max-width: 54rem; margin: 0 auto clamp(2.5rem, 5vw, 4rem); }\n.section__head > :last-child { margin-bottom: 0; }\n.section__head p { margin-inline: auto; max-width: 46rem; }\n.section__head h2 + p { margin-top: 1.25rem; }\n.section--dark .section__head p { color: var(--on-wine-soft); }\n.section__head--row .text-link { display: inline-block; margin-top: 1.25rem; }\n.section__head img { margin: 0 auto; width: 100%; max-width: 22rem; background: var(--white); border-radius: var(--r-card); padding: 1rem 1.5rem; }\n.section__head + .stack, .section__head + .checklist:not(.checklist--cards) { max-width: 46rem; margin-inline: auto; }\n.section__head ~ .btn-row { justify-content: center; }\n\n.h-small { font-size: var(--fs-h3); }\n.lead { font-size: var(--fs-lg); line-height: 1.45; }\n.muted { color: var(--muted); }\n.section--dark .lead { color: var(--on-wine); }\n\n.grid { display: grid; gap: var(--gap); }\n@media (min-width: 640px) { .grid--2, .grid--3, .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n@media (min-width: 1024px) {\n  .grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }\n  .grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }\n}\n\n\/* Two columns: text + media (6\/6), wide text (7\/5), reversed, top-aligned. *\/\n.split { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: center; }\n@media (min-width: 900px) {\n  .split { grid-template-columns: repeat(12, minmax(0, 1fr)); }\n  .split > :first-child { grid-column: 1 \/ 7; }\n  .split > :last-child { grid-column: 7 \/ -1; }\n  .split--wide-text > :first-child { grid-column: 1 \/ 8; }\n  .split--wide-text > :last-child { grid-column: 8 \/ -1; }\n  .split--reverse > :first-child { order: 2; grid-column: 7 \/ -1; }\n  .split--reverse > :last-child { order: 1; grid-column: 1 \/ 7; }\n  .split--top { align-items: start; }\n}\n.split h2:not(.h-small), .grid h2:not(.h-small) { font-size: clamp(2rem, 1.3rem + 2.4vw, 3.25rem); }\n\n\/* Photos: rounded, white border. *\/\n.split__media img, .media-frame img, .photo-frame img, .page-hero__media img {\n  width: 100%; border: 6px solid var(--white); border-radius: var(--r-card); background: var(--white);\n}\n.photo-frame { margin: 0; }\n.photo-frame img { border-width: 8px; border-radius: 14px; aspect-ratio: 4 \/ 3; object-fit: cover; }\n.photo-frame--tilt { transform: rotate(-2.5deg); }\n\n\/* ---------- Buttons: pill with a small arrow circle ---------- *\/\n.btn {\n  --btn-bg: var(--wine); --btn-fg: var(--white); --btn-dot: var(--white); --btn-arrow: var(--arrow-wine);\n  display: inline-flex; align-items: center; justify-content: center; gap: 0.7rem;\n  min-height: 52px; padding: 0.375rem 1.5rem 0.375rem 0.375rem; border: 0; border-radius: var(--r-pill);\n  background: var(--btn-bg); color: var(--btn-fg);\n  font: 600 1.125rem\/1.1 var(--font-display); letter-spacing: 0.01em; text-decoration: none; text-align: center;\n  cursor: pointer; transition: background-color 0.15s ease-out, color 0.15s ease-out;\n}\n.btn::before {\n  content: \"\"; flex: none; width: 2.5rem; height: 2.5rem; border-radius: 50%;\n  background: var(--btn-dot) var(--btn-arrow) center \/ 1rem no-repeat;\n}\n.btn:hover, .btn:active { --btn-bg: var(--red); color: var(--btn-fg); }\n.btn--lg { min-height: 60px; font-size: 1.3125rem; padding-right: 1.75rem; }\n.btn--lg::before { width: 3rem; height: 3rem; background-size: 1.125rem; }\n.btn--sm { min-height: 46px; font-size: 1.0625rem; padding-right: 1.15rem; }\n.btn--sm::before { width: 2.125rem; height: 2.125rem; background-size: 0.875rem; }\n.btn--outline { --btn-bg: var(--tint); --btn-fg: var(--wine); --btn-dot: var(--wine); --btn-arrow: var(--arrow-white); }\n.btn--outline:hover, .btn--outline:active { --btn-bg: var(--tint-deep); color: var(--wine); }\n.section--alt .btn--outline, .hero .btn--outline, .page-hero .btn--outline { --btn-bg: var(--white); }\n.btn--light { --btn-bg: var(--white); --btn-fg: var(--wine); --btn-dot: var(--wine); --btn-arrow: var(--arrow-white); }\n.btn--light:hover, .btn--light:active { --btn-bg: var(--tint); color: var(--wine); }\n.btn-row { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; margin-top: 2rem; }\n.text-link { font-weight: 600; }\n\n\/* ---------- Header & navigation ---------- *\/\n.ser-site-header { position: sticky; top: 0; z-index: 100; background: var(--ground); border-bottom: 1px solid #efe3e5; }\n.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: var(--header-h); }\n.brand { display: inline-flex; align-items: center; text-decoration: none; flex: none; }\n.brand img { height: calc(var(--header-h) - 22px); width: auto; }\n\n.nav { display: none; }\n.nav__list { display: flex; align-items: center; gap: 0.375rem; list-style: none; margin: 0; padding: 0; }\n.nav__link, .nav__toggle {\n  display: inline-flex; align-items: center; gap: 0.3rem; min-height: 40px; padding: 0.4rem 0.95rem;\n  background: var(--tint); border: 0; border-radius: var(--r-pill); cursor: pointer;\n  font: 600 1.0625rem\/1.1 var(--font-display); color: var(--wine); text-decoration: none; white-space: nowrap;\n}\n.nav__link:hover, .nav__toggle:hover, .nav__item.is-open > .nav__toggle { background: var(--tint-deep); color: var(--wine); }\n.nav__link[aria-current=\"page\"], .nav__item[data-current] > .nav__toggle { background: var(--wine); color: var(--white); }\n.nav__toggle::after {\n  content: \"\"; width: 0.4rem; height: 0.4rem; margin: -0.2rem 0 0 0.15rem;\n  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg);\n}\n.nav__item.is-open > .nav__toggle::after { transform: rotate(-135deg); margin-top: 0.2rem; }\n.nav__item { position: relative; }\n.nav__menu {\n  position: absolute; top: calc(100% + 8px); left: 0; min-width: 300px; max-width: 380px;\n  list-style: none; margin: 0; padding: 0.5rem; background: var(--white); border-radius: var(--r-card); display: none;\n}\n.nav__menu::before { content: \"\"; position: absolute; inset: -12px 0 auto; height: 12px; } \/* hover bridge *\/\n.nav__item.is-open > .nav__menu { display: block; }\n.nav__menu a {\n  display: block; padding: 0.6rem 0.85rem; border-radius: 8px; text-decoration: none;\n  color: var(--wine); font-size: 0.9375rem; font-weight: 500; line-height: 1.35;\n}\n.nav__menu a:hover, .nav__menu a:focus-visible { background: var(--tint-soft); color: var(--wine); }\n.nav__menu a[aria-current=\"page\"] { background: var(--tint); }\n.header-cta { display: none; }\n\n.burger {\n  display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px;\n  border-radius: 50%; border: 0; background: var(--tint); cursor: pointer; color: var(--wine);\n}\n.burger span, .burger span::before, .burger span::after { display: block; width: 20px; height: 2px; background: currentColor; position: relative; }\n.burger span::before, .burger span::after { content: \"\"; position: absolute; left: 0; }\n.burger span::before { top: -6px; }\n.burger span::after { top: 6px; }\n.burger[aria-expanded=\"true\"] span { background: transparent; }\n.burger[aria-expanded=\"true\"] span::before { transform: translateY(6px) rotate(45deg); }\n.burger[aria-expanded=\"true\"] span::after { transform: translateY(-6px) rotate(-45deg); }\n\n.mobile-nav {\n  position: fixed; inset: var(--header-h) 0 0 0; z-index: 99; background: var(--ground);\n  overflow-y: auto; overscroll-behavior: contain; padding: 0.5rem var(--gutter) 2.5rem;\n}\n.mobile-nav[hidden] { display: none; }\n.mobile-nav__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }\n.mobile-nav__list > li { max-width: none; background: var(--tint); border-radius: var(--r-card); }\n.mobile-nav__link, .mobile-nav__toggle {\n  display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px;\n  min-height: 56px; padding: 0.75rem 1.1rem; background: none; border: 0; cursor: pointer; text-align: left;\n  font: 600 1.375rem\/1.15 var(--font-display); color: var(--wine); text-decoration: none;\n}\n.mobile-nav__link[aria-current=\"page\"] { text-decoration: underline; text-decoration-thickness: 2px; }\n.mobile-nav__toggle::after { content: \"+\"; font-size: 1.5rem; font-weight: 500; }\n.mobile-nav__toggle[aria-expanded=\"true\"]::after { content: \"\\2212\"; }\n.mobile-nav__sub { list-style: none; margin: 0; padding: 0 0.5rem 0.75rem; }\n.mobile-nav__sub[hidden] { display: none; }\n.mobile-nav__sub a { display: block; padding: 0.6rem 0.75rem; border-radius: 8px; color: var(--wine); text-decoration: none; font-weight: 500; line-height: 1.4; }\n.mobile-nav__sub a[aria-current=\"page\"] { background: var(--white); }\n.mobile-nav .btn { width: 100%; margin-top: 1.5rem; }\nbody.nav-open { overflow: hidden; }\n\n@media (min-width: 1180px) {\n  .site-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; }\n  .nav { display: block; }\n  .header-cta { display: inline-flex; justify-self: end; }\n  .burger, .mobile-nav { display: none !important; }\n}\n\n\/* ---------- Footer ---------- *\/\n.ser-site-footer { background: var(--tint); color: var(--wine); font-size: 0.9375rem; }\n.ser-site-footer a:not(.btn) { color: var(--wine); text-decoration: none; }\n.ser-site-footer a:not(.btn):hover { color: var(--red); text-decoration: underline; }\n.footer-cta { background: var(--wine); color: var(--on-wine-soft); padding-block: clamp(3.5rem, 7vw, 6rem); text-align: center; }\n.footer-cta__inner { display: flex; flex-direction: column; align-items: center; gap: 2rem; }\n.footer-cta h2 { color: var(--white); margin-bottom: 0.4em; }\n.footer-cta p { margin: 0 auto 0.35em; font-size: var(--fs-md); line-height: 1.4; max-width: 40rem; }\n.footer-cta strong { color: var(--white); }\n.footer-grid { display: grid; gap: 2.5rem var(--gap); padding-block: clamp(3rem, 5vw, 4.5rem) 3rem; grid-template-columns: minmax(0, 1fr); }\n@media (min-width: 640px) { .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n@media (min-width: 1024px) { .footer-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); } .footer-grid > :nth-child(1) { grid-column: span 3; } .footer-grid > :nth-child(2) { grid-column: span 4; } .footer-grid > :nth-child(3) { grid-column: span 3; } .footer-grid > :nth-child(4) { grid-column: span 2; } }\n.footer-brand img { width: 64px; height: auto; margin-bottom: 1.25rem; }\n.footer-title { font: 700 1.25rem\/1.1 var(--font-display); text-transform: uppercase; letter-spacing: 0.01em; margin: 0 0 0.85rem; }\n.footer-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }\n.footer-contact li { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: 0.75rem; }\n.footer-label { color: var(--wine); font-size: var(--fs-sm); }\n.footer-list--sub { padding-left: 0.9rem; gap: 0.4rem; margin-top: 0.5rem; }\n.footer-bottom {\n  border-top: 1px solid var(--tint-deep); padding-block: 1.25rem;\n  display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; align-items: center; justify-content: space-between;\n}\n.social { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin: 0; padding: 0; }\n.ser-site-footer .social a {\n  display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; border-radius: var(--r-pill);\n  background: var(--ground); font-weight: 500;\n}\n.ser-site-footer .social a:hover { text-decoration: none; background: var(--white); }\n\n\/* ---------- Fact box (class name kept: kursblatt) ----------\n   The course facts as rounded tiles: small label, value in the display face.\n   The one key figure (.kursblatt__big) spans the full width on top. Seals in a\n   white strip at the foot. Only facts that are on the same page. *\/\n.kursblatt { width: 100%; }\n.kursblatt__rows { display: flex; flex-wrap: wrap; gap: 0.625rem; margin: 0; }\n.kursblatt__row {\n  flex: 1 1 15rem; display: flex; flex-direction: column; justify-content: center; gap: 0.3rem;\n  padding: 1rem 1.25rem; background: var(--white); border-radius: var(--r-card); text-align: center;\n}\n.kursblatt__row:has(.kursblatt__big) { flex-basis: 100%; order: -1; padding-block: 1.25rem; }\n@media (max-width: 639px) { .kursblatt__row { flex-basis: 9.5rem; padding: 0.85rem 0.75rem; } .kursblatt__row:first-child { flex-basis: 100%; } .kursblatt dd { font-size: 1.1875rem; } }\n.kursblatt dt { font-size: var(--fs-sm); font-weight: 500; color: var(--muted); line-height: 1.3; }\n.kursblatt dd { margin: 0; font: 600 1.3125rem\/1.15 var(--font-display); color: var(--wine); overflow-wrap: anywhere; }\n.kursblatt dd.kursblatt__big { font-size: clamp(2.5rem, 1.8rem + 2.6vw, 3.75rem); font-weight: 700; line-height: 0.95; letter-spacing: -0.02em; }\n.kursblatt__seals {\n  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem 2rem;\n  margin-top: 0.625rem; padding: 1rem 1.25rem; background: var(--white); border-radius: var(--r-card);\n}\n.kursblatt__seals img { height: 56px; width: auto; }\n.kursblatt__seals img.is-wide { height: 44px; }\n\n\/* ---------- Hero (homepage) ---------- *\/\n.hero { background: var(--tint); padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(3.5rem, 7vw, 6rem); }\n.hero__top { text-align: center; }\n.hero__top h1 { font-size: var(--fs-display); margin: 0 auto; max-width: 12em; }\n.hero__top .btn-row { justify-content: center; margin-top: clamp(1.75rem, 3vw, 2.5rem); }\n.hero__row { display: grid; gap: 2.5rem; align-items: center; margin-top: clamp(3rem, 6vw, 5rem); }\n.hero__media { position: relative; }\n.hero__lead { font: 700 clamp(1.75rem, 1.2rem + 2vw, 2.75rem)\/1 var(--font-display); letter-spacing: -0.01em; margin-bottom: 1rem; max-width: 18em; text-wrap: balance; }\n.hero__note { margin-top: 1.25rem; font-weight: 500; }\n.hero > .container > .kursblatt { max-width: 56rem; margin: clamp(3rem, 6vw, 4.5rem) auto 0; }\n@media (min-width: 960px) {\n  .hero__row { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(3rem, 5vw, 5rem); }\n  .hero__media .photo-frame { margin-left: 7.5rem; }  \/* badges overlap the frame by about 1.5rem *\/\n}\n\n\/* Round badges (class names: stats \/ stat). Only figures that are on the page. *\/\n.stats { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }\n.stat {\n  --d: 12rem;\n  width: var(--d); height: var(--d); border-radius: 50%; background: var(--tint); flex: none;\n  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.35rem;\n  padding: 1.25rem; text-align: center;\n}\n.section--alt .stat, .page-hero .stat { background: var(--white); }\n.stat__value { display: block; font: 700 clamp(2.25rem, 1.8rem + 1.4vw, 3rem)\/0.95 var(--font-display); letter-spacing: -0.02em; color: var(--wine); }\n.stat__label { display: block; font-size: 0.875rem; line-height: 1.3; color: var(--wine); hyphens: auto; }\n@media (min-width: 640px) { .stat { --d: 13.5rem; } }\n.page-hero .stats { margin-top: 2.5rem; }\n\n\/* Hero badges: three small circles on the photo's left edge (stacked on desktop, a row below on phones). *\/\n.stats--hero { position: relative; z-index: 1; flex-wrap: nowrap; gap: 0.5rem; margin-top: -2.5rem; }\n.stats--hero .stat { --d: min(8.5rem, 28vw); background: var(--ground); padding: 0.5rem; gap: 0.15rem; }\n.stats--hero .stat__value { font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.75rem); }\n.stats--hero .stat__label { font-size: clamp(0.6875rem, 0.6rem + 0.35vw, 0.875rem); font-weight: 500; }\n@media (min-width: 960px) {\n  .stats--hero { position: absolute; left: 0; top: 50%; transform: translateY(-50%); flex-direction: column; margin: 0; gap: 0.75rem; }\n  .stats--hero .stat { --d: 9rem; }\n  .stats--hero .stat:nth-child(2) { margin-left: 1.5rem; }\n}\n\n\/* ---------- Page hero (course and sub pages): centred, facts below ---------- *\/\n.page-hero { background: var(--tint); padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(3rem, 6vw, 5.5rem); text-align: center; }\n.page-hero h1 { margin-inline: auto; max-width: 16em; margin-bottom: 1.5rem; }\n.page-hero p { margin-inline: auto; max-width: 44rem; }\n.page-hero .btn-row { justify-content: center; }\n.page-hero__grid { display: flex; flex-direction: column; align-items: center; }\n.page-hero__grid > .kursblatt { max-width: 56rem; margin-top: clamp(2.5rem, 5vw, 3.5rem); }\n.page-hero--simple { padding-block: clamp(2.5rem, 5vw, 4.5rem); }\n.page-hero--simple h1 { margin-bottom: 0; }\n.page-hero--simple .lead { margin-top: 1.25rem; }\n.breadcrumb { font-size: var(--fs-sm); margin: 0 auto 1.5rem; color: var(--muted); }\n.breadcrumb a { color: var(--muted); }\n\n\/* Facts: small pills (job facts, short claims) *\/\n.facts { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }\n.facts li { padding: 0.45rem 1rem; border-radius: var(--r-pill); background: var(--tint); font-weight: 500; max-width: none; }\n.section--alt .facts li { background: var(--white); }\n\n\/* ---------- Lists ---------- *\/\n.checklist { list-style: none; margin: 0 0 1.25em; padding: 0; display: grid; gap: 0.6rem; text-align: left; }\n.checklist li { position: relative; padding-left: 1.4rem; line-height: 1.5; }\n.checklist li::before { content: \"\"; position: absolute; left: 0; top: 0.5em; width: 0.55rem; height: 0.55rem; border-radius: 50%; background: var(--red); }\n.section--dark .checklist li::before { background: var(--on-wine); }\n\n\/* Two columns of rounded rows *\/\n.checklist--cols { gap: 0.5rem var(--gap); }\n@media (min-width: 640px) { .checklist--cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n\n\/* Feature tiles: rounded mid-tint cards, centred uppercase titles *\/\n.checklist--cards { gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); }\n.checklist--cards li {\n  display: flex; align-items: center; justify-content: center; min-height: 7.5rem; padding: 1.25rem 1rem;\n  background: var(--tint); border-radius: var(--r-card); text-align: center; max-width: none;\n  font: 700 1.4375rem\/1.02 var(--font-display); text-transform: uppercase; letter-spacing: 0; font-variant-ligatures: none;\n  hyphens: manual; -webkit-hyphens: manual; overflow-wrap: break-word; \/* whole words only; long compounds carry &shy; *\/\n}\n.checklist--cards li::before { display: none; }\n.checklist--cards strong { font-weight: 700; }\n.section--alt .checklist--cards li, .card--feature .checklist--cards li { background: var(--white); }\n@media (max-width: 639px) { .checklist--cards:not(.checklist--single) { grid-template-columns: repeat(2, minmax(0, 1fr)); } .checklist--cards li { font-size: 1.125rem; min-height: 6rem; padding: 1rem 0.5rem; } }\n\/* One column: rounded rows, normal text *\/\n.checklist--single { grid-template-columns: minmax(0, 1fr) !important; }\n.checklist--single li {\n  display: block; min-height: 0; padding: 0.9rem 1.25rem 0.9rem 2.6rem; text-align: left;\n  font: 500 1.0625rem\/1.5 var(--font); text-transform: none;\n}\n.checklist--single li::before { display: block; left: 1.25rem; top: calc(0.9rem + 0.5em); }\n.checklist--single strong { font-weight: 600; }\n\n\/* ---------- Cards ---------- *\/\n.card { display: flex; flex-direction: column; gap: 0.75rem; margin: 0; }\na.card { text-decoration: none; color: inherit; background: var(--tint); border-radius: var(--r-card); padding: 0.5rem 0.5rem 1.5rem; }\n.section--alt a.card { background: var(--white); }\na.card:hover h3 { color: var(--red); }\n.card__media { aspect-ratio: 16 \/ 9; overflow: hidden; border-radius: 8px; background: var(--white); }\n.card__media img { width: 100%; height: 100%; object-fit: cover; }\n.card__body { display: flex; flex-direction: column; gap: 0.5rem; flex: 1; padding-inline: 1rem; }\n.card h3 { margin: 0; font-size: clamp(1.375rem, 1.2rem + 0.5vw, 1.625rem); text-transform: uppercase; font-weight: 700; hyphens: manual; -webkit-hyphens: manual; }\n.card__meta { font-size: var(--fs-sm); font-weight: 500; color: var(--muted); }\n.card__logo { height: 44px; width: auto; max-width: 70%; object-fit: contain; align-self: center; margin-bottom: 0.25rem; }\n.card__foot { margin-top: auto; padding-top: 0.5rem; font-weight: 600; text-decoration: underline; }\n\/* Feature card: mid-tint card with an uppercase title, like the reference's \"MORE TASTE\" cards.\n   Text stays left-aligned because most of these cards carry several lines; a card with a source\n   logo on top (short claim + number) is centred like the reference. *\/\n.card--feature {\n  background: var(--tint); border-radius: var(--r-card); padding: clamp(1.75rem, 3vw, 2.5rem) clamp(1.25rem, 2.6vw, 2rem);\n}\n.card--feature:has(.card__logo) { text-align: center; align-items: center; }\n.card--feature:has(.card__logo) > * { margin-inline: auto; }\n.card--feature .checklist { margin: 0.25rem 0 0; align-self: stretch; }\n.card--feature h2.h-small { font-size: var(--fs-h3); text-transform: uppercase; margin-bottom: 0.25rem; }\n.section--alt .card--feature { background: var(--white); }\n.section--dark .card--feature { background: rgba(255, 255, 255, 0.08); }\n\n\/* Certificates *\/\n.cert-card { display: grid; gap: 1.25rem var(--gap); align-items: center; background: var(--tint); border-radius: var(--r-card); padding: 1.25rem; margin: 0; }\n.section--alt .cert-card { background: var(--white); }\n@media (min-width: 900px) { .cert-card--wide { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2.5rem; padding: 2rem; } }\n.cert-card__media { display: grid; place-items: center; background: var(--white); border-radius: 8px; padding: 0.75rem; min-height: 0; }\n.cert-card__media img { max-height: 150px; width: auto; max-width: 100%; object-fit: contain; }\n.cert-card--compact { grid-template-columns: 8rem minmax(0, 1fr); gap: 1.25rem; padding: 0.75rem; }\n.cert-card--compact .cert-card__media img { max-height: 52px; }\n@media (max-width: 399px) { .cert-card--compact { grid-template-columns: 6.5rem minmax(0, 1fr); } }\n.cert-card h3 { margin-bottom: 0.4rem; text-transform: uppercase; font-weight: 700; }\n.cert-card__label { font-size: var(--fs-sm); color: var(--muted); margin: 0 0 0.2rem; }\n.cert-card__code { font: 600 1.25rem\/1.15 var(--font-display); overflow-wrap: anywhere; }\n\n\/* Seal row *\/\n.seal-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0.75rem; list-style: none; margin: 0; padding: 0; }\n.seal { display: flex; align-items: center; justify-content: center; height: 96px; padding: 0.75rem 1.25rem; background: var(--white); border-radius: var(--r-card); }\n.seal img { max-height: 72px; width: auto; max-width: 200px; object-fit: contain; }\n\n\/* Testimonials: white cards *\/\n.quotes { display: grid; gap: var(--gap); }\n@media (min-width: 720px) { .quotes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n.quote-card { margin: 0; padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--white); border-radius: var(--r-card); display: flex; flex-direction: column; gap: 1.25rem; }\n.quote-card blockquote { margin: 0; font-size: var(--fs-md); font-weight: 500; line-height: 1.45; }\n.quote-card figcaption { display: flex; flex-wrap: wrap; gap: 0.15rem 0.75rem; align-items: baseline; margin-top: auto; }\n.quote-card__name { font: 700 1.25rem\/1.1 var(--font-display); text-transform: uppercase; }\n.quote-card__source { font-size: var(--fs-sm); color: var(--muted); }\n.stars { display: none; } \/* the text \"5\/5 auf Trustpilot\" carries the rating *\/\n\n\/* Steps: cards with a round number on the top edge *\/\n.steps { list-style: none; margin: 0; padding: 1.75rem 0 0; display: grid; gap: 2.75rem var(--gap); }\n@media (min-width: 640px) { .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n@media (min-width: 1100px) { .steps { grid-template-columns: repeat(4, minmax(0, 1fr)); } }\n.step { position: relative; max-width: none; background: var(--tint); border-radius: var(--r-card); padding: 2.75rem 1.5rem 1.75rem; text-align: center; }\n.section--alt .step { background: var(--white); }\n.step__num {\n  position: absolute; top: -1.75rem; left: 50%; transform: translateX(-50%);\n  display: grid; place-items: center; width: 3.5rem; height: 3.5rem; border-radius: 50%;\n  background: var(--red); color: var(--white); font: 700 1.75rem\/1 var(--font-display);\n  box-shadow: 0 0 0 6px var(--ground);\n}\n.section--alt .step__num { box-shadow: 0 0 0 6px var(--tint-soft); }\n.step h3 { font-size: 1.5rem; text-transform: uppercase; margin: 0 0 0.6rem; }\n.step p { margin: 0; text-align: left; }\n\n\/* Vertical timeline (phases) *\/\n.timeline { list-style: none; margin: 0; padding: 0 0 0 2rem; position: relative; display: grid; gap: 1.75rem; }\n.timeline::before { content: \"\"; position: absolute; left: 0.45rem; top: 0.5rem; bottom: 0.5rem; width: 2px; background: var(--tint-deep); }\n.timeline > li { position: relative; }\n.timeline > li::before { content: \"\"; position: absolute; left: -2rem; top: 0.3rem; width: 1rem; height: 1rem; border-radius: 50%; background: var(--wine); box-shadow: 0 0 0 4px var(--ground); }\n.timeline h3 { font-size: var(--fs-md); margin-bottom: 0.3rem; }\n\n\/* Progress *\/\n.progress { display: grid; gap: 0.4rem; }\n.progress__head { display: flex; justify-content: space-between; gap: 12px; font-weight: 600; }\n.progress__bar { height: 10px; background: var(--tint); border-radius: var(--r-pill); overflow: hidden; }\n.section--alt .progress__bar { background: var(--white); }\n.progress__bar > span { display: block; height: 100%; background: var(--wine); border-radius: var(--r-pill); }\n\n\/* Modules (curriculum) *\/\n.modules { display: grid; gap: var(--gap); }\n@media (min-width: 768px) { .modules { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n@media (min-width: 1100px) { .modules--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }\n.module-card { display: flex; flex-direction: column; background: var(--tint); border-radius: var(--r-card); padding: clamp(1.5rem, 2.8vw, 2.25rem); }\n.section--alt .module-card { background: var(--white); }\n.module-card__label {\n  align-self: center; margin: 0 0 0.75rem; padding: 0.3rem 0.9rem; border-radius: var(--r-pill);\n  background: var(--wine); color: var(--white); font-size: var(--fs-sm); font-weight: 600; line-height: 1.2;\n}\n.module-card h3 { margin-bottom: 1.25rem; font-size: 1.5rem; text-align: center; text-transform: uppercase; font-weight: 700; hyphens: manual; -webkit-hyphens: manual; }\n.module-card .checklist { margin: 0; gap: 0.45rem; }\n.module-card .btn-row { margin-top: auto; padding-top: 1.5rem; justify-content: center; }\n\n\/* Logo row: white tiles *\/\n\/* Flex, so an incomplete last row sits centred. --per = tiles per row. *\/\n.logo-wall { --per: 2; --g: 0.75rem; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--g); list-style: none; margin: 0; padding: 0; }\n@media (min-width: 640px) { .logo-wall { --per: 3; } }\n.logo-wall li {\n  flex: 0 0 calc((100% - (var(--per) - 1) * var(--g)) \/ var(--per)); max-width: none;\n  display: flex; align-items: center; justify-content: center; height: 104px; padding: 1rem 1.25rem;\n  background: var(--white); border-radius: var(--r-card);\n}\n.logo-wall img { max-height: 60px; max-width: min(100%, 9rem); width: auto; object-fit: contain; filter: grayscale(1); }\n.logo-wall--8 { --per: 3; --g: 0.5rem; }\n@media (min-width: 640px) { .logo-wall--8 { --per: 4; } }\n@media (min-width: 1024px) { .logo-wall--8 { --per: 8; } }\n.logo-wall--8 li { height: 80px; padding: 0.75rem; }\n.logo-wall--8 img { max-height: 40px; max-width: min(100%, 6.5rem); }\n\n\/* Accordion: rounded rows *\/\n.accordion { display: grid; gap: 0.625rem; }\n.accordion details { background: var(--tint-soft); border-radius: var(--r-card); }\n.section--alt .accordion details { background: var(--white); }\n.accordion summary {\n  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem;\n  padding: 1.1rem 1.25rem; font-weight: 600; font-size: 1.0625rem; line-height: 1.4; border-radius: var(--r-card);\n}\n.accordion summary::-webkit-details-marker { display: none; }\n.accordion summary::after {\n  content: \"+\"; flex: none; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%;\n  background: var(--wine); color: var(--white); font-size: 1.25rem; line-height: 1; font-weight: 500;\n}\n.accordion details[open] summary::after { content: \"\\2212\"; }\n.accordion summary:hover { color: var(--red); }\n.accordion__body { padding: 0 1.25rem 1.4rem; }\n.accordion__body > :last-child { margin-bottom: 0; }\n.accordion__body .facts li { background: var(--white); }\n\n\/* In-page CTA: centred tint panel *\/\n.cta-band {\n  background: var(--tint); border-radius: var(--r-card); padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.25rem, 4vw, 3rem);\n  display: flex; flex-direction: column; align-items: center; gap: 1.75rem; text-align: center;\n}\n.section--alt .cta-band { background: var(--white); }\n.cta-band h2 { margin: 0 auto; max-width: 18em; }\n.cta-band p { margin: 0.75rem auto 0; }\n.cta-band > div { max-width: 48rem; }\n\n\/* Start dates on wine: centred, dates very large *\/\n.section--dark .container:has(> .date-list), .section--dark .split:has(.date-list) { text-align: center; }\n.date-list { list-style: none; margin: 0 auto 2.5rem; padding: 0; display: grid; gap: 1.75rem; }\n.date-list li { display: flex; flex-direction: column; align-items: center; gap: 0.15rem; max-width: none; }\n.date-list__course { font: 600 clamp(1.25rem, 1.1rem + 0.6vw, 1.625rem)\/1.2 var(--font-display); }\n.date-list__date { font: 700 var(--fs-display)\/0.9 var(--font-display); letter-spacing: -0.02em; white-space: nowrap; }\n.section--dark .date-list__course { color: var(--on-wine-soft); }\n.section--dark .date-list__date { color: var(--on-wine); }\n\n\/* Contact: white rounded rows *\/\n.contact-cards { display: grid; gap: 0.625rem; }\n.contact-card { display: block; padding: 1rem 1.25rem; background: var(--white); border-radius: var(--r-card); text-decoration: none; color: var(--wine); }\na.contact-card:hover .contact-card__value { color: var(--red); }\n.contact-card__icon { display: none; }\n.contact-card__label { display: block; font-size: var(--fs-sm); color: var(--muted); }\n.contact-card__value { display: block; font: 600 1.5rem\/1.15 var(--font-display); overflow-wrap: anywhere; }\n\n\/* Embeds: rounded, white border *\/\n.embed { position: relative; width: 100%; overflow: hidden; background: var(--white); border: 6px solid var(--white); border-radius: var(--r-card); }\n.embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 6px; }\n.embed--video { aspect-ratio: 16 \/ 9; }\n.embed--map { aspect-ratio: 4 \/ 3; min-height: 260px; }\n.embed--form { aspect-ratio: auto; min-height: 720px; }\n.embed--form iframe { position: static; height: 720px; }\n\n\/* Legal \/ long text *\/\n.prose { max-width: 46rem; margin-inline: auto; }\n.prose h2 { font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.375rem); margin-top: 2em; }\n.prose h3 { font-size: var(--fs-md); margin-top: 1.75em; }\n.prose h2:first-child, .prose h3:first-child { margin-top: 0; }\n.prose ul, .prose ol { padding-left: 1.4em; }\n.prose li { margin-bottom: 0.4em; }\n.prose a { overflow-wrap: anywhere; }\n.prose table { width: 100%; border-collapse: collapse; margin: 1em 0; font-size: var(--fs-sm); display: block; overflow-x: auto; }\n.prose th, .prose td { border-bottom: 1px solid var(--tint-deep); padding: 0.6rem 0.75rem 0.6rem 0; text-align: left; vertical-align: top; }\n\n\/* Note *\/\n.callout { background: var(--tint); padding: 1.25rem 1.5rem; border-radius: var(--r-card); }\n.section--alt .callout, .cta-band .callout { background: var(--white); }\n.cta-band .callout { margin-top: 1.25rem; }\n\n\/* ---------- Utilities ---------- *\/\n.mt-0 { margin-top: 0 !important; }\n.mb-0 { margin-bottom: 0 !important; }\n.mt-lg { margin-top: clamp(2rem, 4vw, 3.5rem); }\n.stack > * + * { margin-top: 1em; }\n.nowrap { white-space: nowrap; } \/* keeps a hyphenated name together (\"Sky-E\") *\/\n.hide-mobile { display: none; }\n@media (min-width: 768px) { .hide-mobile { display: revert; } .hide-desktop { display: none; } }\n\n@media (prefers-reduced-motion: reduce) {\n  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }\n}\n\n\/* ---------- Page-specific small parts ---------- *\/\n.split__media img.split__badge { max-width: 320px; margin-inline: auto; }\n.danke__img { max-width: 420px; }\n.danke__status { font-weight: 600; position: relative; padding-left: 1.4rem; margin-bottom: 1rem; }\n.danke__status::before { content: \"\"; position: absolute; left: 0; top: 0.5em; width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--red); }\n\n\/* ---------- Brand colors (Ilyas, 2026-11-02): red #950900, turquoise #008C95, black ----------\n   Black carries text, buttons and dark bands; turquoise is the visible second brand color.\n   Only large\/bold white text sits on turquoise; small text on it is black. *\/\n.btn, .btn--outline, .btn--light { --btn-dot: var(--teal); --btn-arrow: var(--arrow-white); }\n.stat, .section--alt .stat, .page-hero .stat, .stats--hero .stat { background: var(--teal); }\n.stats--hero .stat__label { font-weight: 600; }\n.stat__value { color: var(--white); }\n.stat__label { color: #000; font-weight: 600; }\n.step__num { background: var(--teal); }\n.timeline > li::before { background: var(--teal); }\n.checklist li::before { background: var(--teal); }\n.footer-cta { background: var(--teal); color: #000; }\n.footer-cta p, .footer-cta strong { color: #000; }\n.footer-cta h2 { color: var(--white); }\n.footer-cta .btn { --btn-bg: #000; --btn-fg: #fff; }\n.footer-cta :focus-visible { outline-color: #000; }\n.ser-site-footer { background: #000; color: #d6d6d6; }\n.ser-site-footer a:not(.btn), .ser-site-footer .footer-label, .ser-site-footer .footer-title { color: #fff; }\n.ser-site-footer a:not(.btn):hover { color: #6fd6dd; }\n.ser-site-footer .social a:hover { background: #222; }\n\n\/* ---------- Feedback Ilyas 2026-11-03 ----------\n   Social links readable on the black footer, partner\/employer logos in their own colours,\n   CTA band in one text colour and centred, white logo in the footer, smaller CTA headlines. *\/\n\/* White footer (Ilyas: \"lieber wei\u00dfer footer\"), black text, normal colour logo *\/\n.ser-site-footer { background: #fff; color: #000; }\n.ser-site-footer a:not(.btn), .ser-site-footer .footer-label, .ser-site-footer .footer-title { color: #000; }\n.ser-site-footer a:not(.btn):hover { color: var(--teal); }\n.footer-bottom { border-top-color: #e3e3e3; }\n.ser-site-footer .social a { background: transparent; color: #000; border: 1px solid #000; }\n.ser-site-footer .social a:hover { background: #000; color: #fff; text-decoration: none; }\n\/* No black blocks in the page body: the former dark sections are white with black text *\/\n.section--dark { background: #fff; color: #000; }\n.section--dark :is(h1, h2, h3, h4, strong, .lead), .section--dark a:not(.btn),\n.section--dark .section__head p, .section--dark .date-list__course, .section--dark .date-list__date { color: #000; }\n.section--dark .checklist li::before { background: var(--teal); }\n.section--dark .card--feature { background: var(--tint); }\n.section--dark :focus-visible { outline-color: var(--red); }\n.section--dark .btn--light { --btn-bg: #000; --btn-fg: #fff; color: #fff; }\n.section--dark .btn--light:hover { --btn-bg: var(--red); color: #fff; }\n.logo-wall img { filter: none; }\n.footer-cta__inner, .footer-cta__inner > div { text-align: center; margin-inline: auto; }\n.footer-cta h2, .footer-cta p, .footer-cta strong { color: #fff; }\n\/* white on turquoise is 4.1:1, so the text is set large (>= 24px) and semibold *\/\n.footer-cta p { font-size: 1.375rem; font-weight: 600; }\n.footer-brand img { width: 110px; }\n.cta-band h2 { font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.75rem); max-width: 22em; }\n.cert-single { max-width: 28rem; margin-inline: auto; }\n\n\/* Hero with one stat: a white pill row (number + caption) instead of a big circle *\/\n.page-hero .stats--1 .stat {\n  width: auto; height: auto; border-radius: var(--r-pill); background: var(--white);\n  flex-direction: row; gap: 1rem; padding: 0.85rem 1.75rem; text-align: left;\n}\n.page-hero .stats--1 .stat__value { color: var(--teal); font-size: clamp(2rem, 1.6rem + 1.2vw, 2.75rem); }\n.page-hero .stats--1 .stat__label { color: #000; font-size: 1rem; font-weight: 600; max-width: 17rem; }\n\n\/* Timeline next to a long text column: stays in view while scrolling (desktop) and fills\n   turquoise as the reader moves through the section (ser.js sets --p and .is-done). *\/\n@media (min-width: 900px) {\n  .split--top > div:has(> .timeline) { position: sticky; top: calc(var(--header-h) + 2rem); align-self: start; }\n}\n.timeline::after {\n  content: \"\"; position: absolute; left: 0.45rem; top: 0.5rem; width: 2px;\n  height: calc((100% - 1rem) * var(--p, 1)); background: var(--teal);\n}\n.timeline > li { z-index: 1; }\n.timeline[data-scroll] > li::before { background: var(--tint-deep); transition: background-color 0.2s ease; }\n.timeline[data-scroll] > li.is-done::before { background: var(--teal); }\n\n\/* ==========================================================================\n   Business Education additions (skyered-business-education.de remake).\n   Same design system; only the parts this site needs beyond the education remake.\n   ========================================================================== *\/\n\n\/* Footer for this site: brands, claim, link row, social pills (white, black text, colour logos) *\/\n.site-footer__top { padding-block: clamp(3rem, 5vw, 4.5rem) 0; text-align: center; }\n.footer-brands .footer-title { margin-bottom: 1.25rem; }\n.brand-row { list-style: none; margin: 0 auto 1.25rem; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem 2rem; }\n.brand-row li { max-width: none; }\n.brand-row img { height: 72px; width: auto; }\n.footer-claim { margin: 0 auto 2rem; font-weight: 500; max-width: 40rem; }\n.footer-links { list-style: none; margin: 0 auto 2.25rem; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1.75rem; font-weight: 500; }\n.footer-links li { max-width: none; }\n.ser-site-footer .footer-bottom { justify-content: center; text-align: center; flex-direction: column; gap: 1rem; padding-block: 1.5rem 2rem; }\n.ser-site-footer .social { justify-content: center; }\n\n\/* Small label above a heading (text from the live page, shown uppercase) *\/\n.eyebrow { margin: 0 auto 1rem; font: 700 1rem\/1.2 var(--font-display); letter-spacing: 0.08em; text-transform: uppercase; color: var(--red); }\n.section__head .eyebrow, .page-hero .eyebrow { max-width: none; }\n\n\/* Hero with photo on the right (homepage) *\/\n.hero--photo { padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(3rem, 6vw, 5.5rem); }\n.hero--photo h1 { font-size: clamp(2.5rem, 1.5rem + 3.6vw, 4.5rem); max-width: none; margin-bottom: 1.5rem; }\n.hero--photo h1 .tone { margin-top: 0.1em; }\n.hero--photo .hero__lead { margin-bottom: 1.25rem; }\n.hero--photo .checklist { margin-bottom: 1.5rem; }\n.hero--photo .split__media .photo-frame { margin: 0; }\n.hero--photo .photo-frame img { aspect-ratio: 3 \/ 2; }\n.seal-note { display: flex; align-items: center; gap: 1.25rem; margin-top: 1.75rem; padding: 0.75rem 1.25rem 0.75rem 0.75rem; background: var(--white); border-radius: var(--r-card); max-width: 34rem; }\n.seal-note img { width: 5.5rem; height: 5.5rem; flex: none; object-fit: contain; }\n.seal-note p { margin: 0; font-weight: 600; line-height: 1.35; }\n.seal-note__label { display: block; margin-top: 0.2rem; font-size: var(--fs-sm); font-weight: 500; color: var(--muted); }\n\n\/* Case cards (customer results): logo tile, two figures, quote, one-line result *\/\n.cases { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--gap); }\n.case-card {\n  --per: 1; flex: 0 0 calc((100% - (var(--per) - 1) * var(--gap)) \/ var(--per)); display: flex; flex-direction: column; gap: 1rem;\n  margin: 0; padding: clamp(1.25rem, 2.4vw, 1.75rem); background: var(--tint); border-radius: var(--r-card);\n}\n.section--alt .case-card { background: var(--white); }\n@media (min-width: 720px) { .case-card { --per: 2; } }\n@media (min-width: 1100px) { .case-card { --per: 3; } }\n.case-card__logo { display: grid; place-items: center; height: 5rem; padding: 0.75rem 1rem; background: var(--white); border-radius: 8px; }\n.section--alt .case-card__logo { background: var(--tint-soft); }\n.case-card__logo img { max-height: 3.25rem; max-width: 80%; width: auto; object-fit: contain; }\n.case-card h3 { margin: 0; font-size: 1.625rem; text-transform: uppercase; font-weight: 700; text-align: center; hyphens: manual; -webkit-hyphens: manual; }\n.case-card__branch { margin: -0.5rem auto 0; font-size: var(--fs-sm); font-weight: 500; color: var(--muted); text-align: center; }\n.case-card__figures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; margin: 0; padding: 0; list-style: none; }\n.case-card__figures li { max-width: none; display: flex; flex-direction: column; gap: 0.2rem; padding: 0.75rem 0.5rem; background: var(--white); border-radius: 8px; text-align: center; }\n.section--alt .case-card__figures li { background: var(--tint-soft); }\n.case-card__figures strong { font: 700 1.75rem\/1 var(--font-display); color: var(--wine); overflow-wrap: anywhere; }\n.case-card__figures span { font-size: var(--fs-sm); line-height: 1.3; font-weight: 500; }\n.case-card blockquote { margin: 0; font-size: 1.0625rem; line-height: 1.45; }\n.case-card cite { display: block; margin-top: 0.5rem; font-style: normal; font-weight: 600; font-size: var(--fs-sm); color: var(--muted); }\n.case-card__result { margin: auto 0 0; padding: 0.55rem 1rem; border-radius: var(--r-pill); background: var(--teal); color: #fff; font: 600 1.125rem\/1.25 var(--font-display); text-align: center; max-width: none; }\n.case-card__result strong { color: #fff; }\n\n\/* Photo with caption (target groups) *\/\n.photo-cards { display: grid; gap: var(--gap); grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }\n@media (min-width: 900px) { .photo-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }\n.photo-cards li { max-width: none; margin: 0; display: flex; flex-direction: column; gap: 0.75rem; }\n.photo-cards img { width: 100%; aspect-ratio: 2 \/ 1; object-fit: cover; border: 6px solid var(--white); border-radius: var(--r-card); background: var(--white); }\n.photo-cards p { margin: 0; font: 700 1.25rem\/1.15 var(--font-display); }\n\n\/* Percentage figures (number + sentence) *\/\n.figures { display: grid; gap: var(--gap); margin: 0; padding: 0; list-style: none; }\n@media (min-width: 900px) { .figures { grid-template-columns: repeat(3, minmax(0, 1fr)); } }\n.figures li { max-width: none; display: flex; align-items: center; gap: 1.25rem; padding: 1.25rem 1.5rem; background: var(--white); border-radius: var(--r-card); }\n.section--alt .figures li { background: var(--white); }\n.figures__value { flex: none; font: 700 clamp(3rem, 2.4rem + 2vw, 4.25rem)\/0.9 var(--font-display); letter-spacing: -0.02em; color: var(--teal); white-space: nowrap; }\n.figures p { margin: 0; font-weight: 500; line-height: 1.4; }\n\n\/* Numbered cards, three per row (module pages: Kursinhalte) *\/\n@media (min-width: 1100px) { .steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }\n.steps--3 .step p { text-align: center; }\n.steps--3 .step__num { font-size: 1.5rem; }\n.steps__title { margin: 0 0 0.5rem; font: 700 1.5rem\/1.1 var(--font-display); text-transform: uppercase; text-align: center; }\n\n\/* Step link in the process cards *\/\n.step .text-link { display: inline-block; margin-top: 0.75rem; }\n\n\/* Funding calculator (QCG page) *\/\n.calc { display: grid; gap: var(--gap); max-width: 56rem; margin-inline: auto; }\n@media (min-width: 800px) { .calc { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }\n.calc__box { background: var(--white); border-radius: var(--r-card); padding: clamp(1.25rem, 3vw, 2rem); border: 0; margin: 0; min-width: 0; }\n.calc__box h3, .calc__box legend { font: 700 1.5rem\/1.1 var(--font-display); margin: 0 0 1rem; padding: 0; }\n.calc__group { border: 0; padding: 0; margin: 0 0 1.5rem; min-width: 0; }\n.calc__group:last-child { margin-bottom: 0; }\n.calc__option { position: relative; display: flex; align-items: center; gap: 0.75rem; padding: 0.8rem 1rem; margin-bottom: 0.5rem; border-radius: 8px; background: var(--tint-soft); cursor: pointer; font-weight: 500; }\n.calc__option:hover { background: var(--tint); }\n.calc__option input { position: absolute; opacity: 0; width: 1px; height: 1px; }\n.calc__option::before { content: \"\"; flex: none; width: 1.25rem; height: 1.25rem; border-radius: 50%; border: 2px solid var(--wine); background: var(--white); }\n.calc__option:has(input:checked) { background: var(--tint); }\n.calc__option:has(input:checked)::before { background: var(--teal); border-color: var(--teal); box-shadow: inset 0 0 0 3px var(--white); }\n.calc__option:has(input:focus-visible) { outline: 3px solid var(--red); outline-offset: 2px; }\n.calc__result { background: var(--tint); border-radius: 8px; padding: 1.25rem; }\n.calc__label { font-size: var(--fs-sm); font-weight: 500; color: var(--muted); margin-bottom: 0.4rem; }\n.calc__value { font: 700 1.5rem\/1.2 var(--font-display); }\n.calc__value.is-set { font-size: clamp(2.5rem, 2rem + 2vw, 3.5rem); line-height: 1; color: var(--wine); }\n.calc__value.is-empty { font-weight: 500; font-family: var(--font); font-size: 1rem; color: var(--muted); }\n\n\/* Side-by-side text and image rows with several items (steps with photos) *\/\n.rows { display: grid; gap: clamp(3rem, 6vw, 5rem); }\n.rows .split__media img { aspect-ratio: 3 \/ 2; object-fit: cover; }\n\n\/* Brochure panel *\/\n.promo { display: grid; gap: 2rem; align-items: center; padding: clamp(1.75rem, 4vw, 3.5rem); background: var(--tint); border-radius: var(--r-card); }\n@media (min-width: 800px) { .promo { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); } }\n.promo img { width: 100%; max-width: 20rem; margin-inline: auto; border: 6px solid var(--white); border-radius: var(--r-card); }\n.promo h2 { font-size: clamp(2rem, 1.3rem + 2.4vw, 3.25rem); }\n\n\/* Compare list (Consulting-DNA etc.): label + text rows in cards *\/\n.defs { display: grid; gap: var(--gap); margin: 0; }\n@media (min-width: 800px) { .defs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n.defs > div { background: var(--tint); border-radius: var(--r-card); padding: clamp(1.25rem, 2.4vw, 1.75rem); }\n.section--alt .defs > div { background: var(--white); }\n.defs dt { font: 700 1.5rem\/1.1 var(--font-display); margin-bottom: 0.5rem; }\n.defs dd { margin: 0; }\n\n\/* Badges (awards) *\/\n.badge-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem; list-style: none; margin: 2rem 0 0; padding: 0; }\n.badge-row li { max-width: none; }\n.badge-row a { display: flex; align-items: center; justify-content: center; height: 9rem; padding: 0.75rem 1.25rem; background: var(--white); border-radius: var(--r-card); }\n.badge-row img { max-height: 7.5rem; width: auto; max-width: 12rem; object-fit: contain; }\n\n\/* Job rows *\/\n.accordion summary .job-title { flex: 1; }\n.accordion .facts { margin-top: 0.5rem; }\n.accordion__body h3 { font-size: 1.375rem; text-transform: none; margin: 1.5rem 0 0.5rem; }\n.accordion__body h3:first-child { margin-top: 0; }\n.accordion__body p { max-width: 60rem; }\n\n\n\/* Mobile grid columns must be allowed to shrink (long German words in display headings) *\/\n.split { grid-template-columns: minmax(0, 1fr); }\n.split > * { min-width: 0; }\n@media (min-width: 900px) { .split { grid-template-columns: repeat(12, minmax(0, 1fr)); } }\n.footer-brands .footer-title { margin-inline: auto; text-align: center; }\n.footer-brands .footer-claim { margin: 0 auto 2rem; }\n.case-card blockquote { flex: 1; }\n.facts--center { justify-content: center; margin-top: 1.5rem; }\n.page-hero .facts li { background: var(--white); }\n.logo-wall a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }\n.job-tags { display: inline-flex; flex-wrap: wrap; gap: 0.35rem; margin-left: auto; }\n.job-tags span { padding: 0.15rem 0.65rem; border-radius: var(--r-pill); background: var(--white); border: 1px solid var(--tint-deep); font-size: var(--fs-sm); font-weight: 500; }\n.accordion summary:has(.job-tags) { flex-wrap: wrap; }\n.accordion summary::after { margin-left: 0.25rem; }\n.accordion__body .btn { margin-top: 0.5rem; }\n.landing-logo { height: 7.5rem; width: auto; margin: 0 auto 1.5rem; }\n.landing-points { max-width: 46rem; margin: 1.5rem auto 0; }\n.landing-note { margin: 2rem auto 0; text-align: center; font-weight: 500; max-width: none; }\n.card--feature .module-card__label { align-self: center; }\n.grid .card--feature h3 { text-transform: uppercase; font-weight: 700; }\n.page-hero h1.h1--long { font-size: clamp(2.25rem, 1.4rem + 3.4vw, 4rem); max-width: 18em; }\n.container--narrow p, .container--narrow li { max-width: none; }\n.badge-row img { height: 7.5rem; max-height: none; width: auto; max-width: 14rem; }\n.section__head > .lead { max-width: 46rem; margin-inline: auto; }\n.steps__title { margin-bottom: 2.5rem; }\n.defs.mt-lg { margin-top: clamp(2rem, 4vw, 3.5rem); }\n\/* Customer logos: trimmed copies, larger tiles *\/\n.logo-wall--8 { --per: 2; }\n@media (min-width: 640px) { .logo-wall--8 { --per: 3; } }\n@media (min-width: 900px) { .logo-wall--8 { --per: 5; } }\n.logo-wall--8 li { height: 96px; padding: 1rem 1.25rem; }\n.logo-wall--8 img { max-height: 48px; max-width: min(100%, 9.5rem); width: auto; height: auto; }\n\n\/* ==========================================================================\n   Carousel (customer examples), Ilyas 2026-11-03: stays a carousel. CSS scroll-snap does the sliding,\n   js\/ser.js adds the arrows, dots and keyboard-friendly buttons. No autoplay.\n   ========================================================================== *\/\n.section--tint { background: var(--tint); }\n.carousel { position: relative; }\n.carousel__viewport {\n  overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none;\n  margin-inline: calc(var(--gutter) * -1); padding: 0.5rem var(--gutter) 0.75rem; scroll-padding-inline: var(--gutter);\n}\n.carousel__viewport::-webkit-scrollbar { display: none; }\n.carousel__track { display: flex; gap: var(--gap); list-style: none; margin: 0; padding: 0; }\n.carousel__slide { flex: 0 0 82%; max-width: none; display: flex; scroll-snap-align: start; }\n@media (min-width: 720px) { .carousel__slide { flex-basis: calc((100% - var(--gap)) \/ 2); } }\n@media (min-width: 1100px) { .carousel__slide { flex-basis: calc((100% - 2 * var(--gap)) \/ 3); } }\n.carousel__slide .case-card { flex: 1 1 auto; width: 100%; }\n.carousel__controls { display: flex; align-items: center; justify-content: center; gap: 1.25rem; margin-top: 1.5rem; }\n.carousel__controls[hidden] { display: none; }\n.carousel__btn {\n  position: relative; flex: none; width: 3.5rem; height: 3.5rem; padding: 0; border: 0; border-radius: var(--r-pill);\n  background: var(--wine); cursor: pointer; transition: background-color 0.15s ease-out;\n}\n.carousel__btn::before {\n  content: \"\"; position: absolute; inset: 0.375rem; border-radius: 50%;\n  background: var(--teal) var(--chev, none) center \/ 1.25rem no-repeat;\n}\n.carousel__btn--prev { --chev: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 3 5 8l5 5'\/%3E%3C\/svg%3E\"); }\n.carousel__btn--next { --chev: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 3 5 5-5 5'\/%3E%3C\/svg%3E\"); }\n.carousel__btn:hover:not(:disabled) { background: var(--red); }\n.carousel__btn:disabled { opacity: 0.35; cursor: default; }\n.carousel__dots { display: flex; align-items: center; gap: 0.25rem; }\n.carousel__dot { position: relative; width: 1.5rem; height: 1.5rem; padding: 0; border: 0; background: none; cursor: pointer; }\n.carousel__dot::before { content: \"\"; position: absolute; left: 50%; top: 50%; width: 0.75rem; height: 0.75rem; border-radius: 50%; background: var(--tint-deep); transform: translate(-50%, -50%); transition: width 0.15s ease-out, background-color 0.15s ease-out; }\n.section--alt .carousel__dot::before { background: #d8bcc1; }\n.carousel__dot[aria-current=\"true\"]::before { width: 1.5rem; border-radius: var(--r-pill); background: var(--teal); }\n\n\/* ==========================================================================\n   Process steps with life (Ablauf, Der Prozess), Ilyas 2026-11-03: white cards, a turquoise line through the\n   number circles (horizontal on desktop, vertical on phones), a line icon per step, a slight lift on hover.\n   ========================================================================== *\/\n.steps--flow { --ring: var(--ground); position: relative; }\n.section--alt .steps--flow { --ring: var(--tint-soft); }\n.section--tint .steps--flow { --ring: var(--tint); }\n.steps--flow .step {\n  display: flex; flex-direction: column; align-items: center; background: var(--white); padding: 2.5rem 1.5rem 1.5rem;\n  transition: transform 0.2s ease, box-shadow 0.2s ease;\n}\n.steps--flow .step__num { z-index: 2; box-shadow: 0 0 0 6px var(--ring); }\n.steps--flow .step__icon { width: 3.5rem; height: 3.5rem; margin: 0.25rem 0 0.9rem; color: var(--teal); flex: none; }\n.steps--flow .step h3 { text-align: center; }\n.steps--flow .step p { text-align: center; margin-bottom: 0; }\n.steps--flow .step:hover, .steps--flow .step:focus-within { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(0, 0, 0, 0.12); z-index: 2; }\n.steps--flow::before { content: none; }\n@media (min-width: 1100px) {\n  .steps--flow::before {\n    content: \"\"; position: absolute; z-index: 1; top: 1.75rem; height: 3px; transform: translateY(-50%); background: var(--teal);\n    left: calc((100% - 3 * var(--gap)) \/ 8); right: calc((100% - 3 * var(--gap)) \/ 8);\n  }\n}\n@media (max-width: 639px) {\n  .steps--flow::before {\n    content: \"\"; position: absolute; z-index: 0; left: 50%; top: 1.75rem; bottom: 1.5rem; width: 3px; transform: translateX(-50%); background: var(--teal);\n  }\n}\n.arrow-link { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: auto; padding-top: 1rem; font-weight: 600; color: var(--wine); text-decoration: none; }\n.arrow-link::after {\n  content: \"\"; flex: none; width: 1.75rem; height: 1.75rem; border-radius: 50%;\n  background: var(--teal) var(--arrow-white) center \/ 0.9rem no-repeat; transition: transform 0.15s ease-out;\n}\n.arrow-link:hover { color: var(--red); }\n.arrow-link:hover::after { transform: translateX(3px); }\n.steps--flow .step p + .arrow-link { margin-top: 0.75rem; }\n@media (min-width: 720px) { .carousel__viewport { margin-inline: 0; padding-inline: 0; scroll-padding-inline: 0; } }\n\n\/* Shaped cut-outs (oval \/ blob photos with transparent corners, QCG page): frameless on the section ground,\n   no white box, centred next to the text; a soft shadow gives the shape an edge on white. *\/\n.split__media--cutout { display: flex; justify-content: center; align-items: center; }\n.split__media--cutout img { border: 0; border-radius: 0; background: none; width: auto; max-width: 100%; max-height: 28rem; filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.12)); }\n\n\/* More white (Ilyas 2026-11-03): cards on the white page ground use the soft tint, the full tint stays for heroes and accents *\/\n.card--feature, .checklist--cards li, .case-card, .defs > div, .step, .callout { background: var(--tint-soft); }\n.section--alt .card--feature, .section--alt .checklist--cards li, .section--alt .case-card, .section--alt .defs > div, .section--alt .step, .section--alt .callout, .cta-band .callout { background: var(--white); }\n.steps--flow .step { background: var(--white); }\n.case-card__figures li, .case-card__logo { background: var(--white); }\n.section--alt .case-card__figures li, .section--alt .case-card__logo { background: var(--tint-soft); }\n.grid--2 > :last-child:nth-child(odd) { grid-column: 1 \/ -1; }\n\n\/* ==========================================================================\n   Technology additions (skyeredtechnology.de): header end block, mega-menu groups, language switch, footer newsletter\n   ========================================================================== *\/\n.header-end { display: flex; align-items: center; gap: 0.75rem; justify-self: end; }\n.lang-switch { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--tint); }\n.lang-switch:hover { background: var(--tint-deep); }\n.lang-switch img { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }\n.nav__menu--groups { min-width: 340px; max-width: 420px; max-height: calc(100vh - var(--header-h) - 2rem); overflow-y: auto; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12); }\n.nav__group { max-width: none; }\n.nav__group-title { margin: 0.5rem 0 0.15rem; padding: 0.4rem 0.85rem 0; font: 700 0.8125rem\/1.2 var(--font); letter-spacing: 0.06em; text-transform: uppercase; color: var(--teal); }\n.nav__group:first-child .nav__group-title { margin-top: 0; }\n.mobile-nav__group { padding: 0.6rem 0.75rem 0.1rem; font: 700 0.8125rem\/1.2 var(--font); letter-spacing: 0.06em; text-transform: uppercase; color: var(--teal); max-width: none; }\n.footer-newsletter { display: flex; justify-content: center; margin-bottom: 1.75rem; }\n\n\/* Generated content blocks *\/\n.media-figure { margin: 0; }\n.media-figure img { width: 100%; height: auto; border-radius: var(--r-card); }\n.hero-figure { margin-top: clamp(1.5rem, 3vw, 2.5rem); max-width: 56rem; }\n.hero-figure + .section { padding-top: clamp(2.5rem, 5vw, 4rem); }\n.card__tile { width: 100%; height: auto; border-radius: var(--r-card); background: var(--white); }\n.card--tile { padding: 0.75rem 0.75rem 1.5rem; }\n.card--tile > :not(.card__tile) { padding-inline: 0.5rem; }\n.card--tile .btn-row { margin-top: auto; padding-top: 1rem; }\n.figures--2 { grid-template-columns: repeat(1, minmax(0, 1fr)); }\n.figures__text { margin: 0; font-weight: 500; line-height: 1.4; }\n.figures__text p { margin: 0; }\n.figures li { flex-wrap: wrap; }\n.figures__value { order: -1; }\n@media (min-width: 900px) {\n  .figures--2, .figures--3 { grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); }\n  .figures--2 { --cols: 2; }\n  .figures li { flex-direction: column; align-items: flex-start; }\n}\n.post-card { display: flex; flex-direction: column; gap: 0.75rem; background: var(--white); border-radius: var(--r-card); padding: 0.75rem 0.75rem 1.5rem; height: 100%; width: 100%; }\n.post-card img { width: 100%; border-radius: 8px; }\n.post-card > :not(img):not(.media-figure):not(a) { padding-inline: 0.75rem; }\n.post-card p { margin: 0; }\n.carousel__slide .post-card { flex: 1 1 auto; }\n.more { display: block; margin-top: 1rem; }\n.more > summary { list-style: none; cursor: pointer; display: inline-flex; }\n.more > summary::-webkit-details-marker { display: none; }\n.more[open] > summary { background: var(--red); color: var(--white); }\n.more__body { margin-top: 1rem; padding: 1.25rem; background: var(--white); border-radius: var(--r-card); }\n.table-wrap { overflow-x: auto; margin-block: 1.5rem; }\n.data-table { border-collapse: collapse; width: 100%; min-width: 34rem; }\n.data-table th, .data-table td { text-align: left; padding: 0.75rem 1rem; border-bottom: 1px solid var(--tint-deep); vertical-align: top; }\n.data-table thead th { background: var(--tint); font-family: var(--font-display); font-size: 1.125rem; }\n.logo-wall img, .logo-wall--8 img { filter: none; }\n.section__head h2.eyebrow { font: 700 1rem\/1.2 var(--font); letter-spacing: 0.08em; text-transform: uppercase; color: var(--teal); margin-bottom: 0.75rem; }\n.section__head h2.eyebrow + h2 { margin-top: 0; }\n.section > .container > h2 { text-align: center; max-width: 54rem; margin-inline: auto; }\n.section > .container > :is(p, h3, ul.checklist, ol, blockquote) { max-width: 46rem; margin-inline: auto; }\n.section > .container > h3 { margin-top: 1.75em; font-size: var(--fs-h3); }\n.section > .container > .btn-row { justify-content: center; }\n.section > .container > :is(.grid, .figures, .carousel, .accordion, .split, .logo-wall) { margin-top: clamp(1.5rem, 3vw, 2.5rem); }\n.section > .container > .media-figure { max-width: 56rem; margin-inline: auto; margin-block: clamp(1.5rem, 3vw, 2.5rem); }\n.prose h3 { margin-top: 1.75em; font-size: var(--fs-h3); }\n\n\/* Tabs (progressive: all panels visible without script) *\/\n.tabs__list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; }\n.tabs__tab { min-height: 44px; padding: 0.5rem 1.1rem; border: 0; border-radius: var(--r-pill); background: var(--tint); color: var(--wine); font: 600 1.0625rem\/1.15 var(--font-display); cursor: pointer; text-align: left; }\n.tabs__tab:hover { background: var(--tint-deep); }\n.tabs__tab[aria-selected=\"true\"] { background: var(--wine); color: var(--white); }\n.tabs.is-js .tabs__panel[hidden] { display: none; }\n.tabs__panel { padding: clamp(1.25rem, 3vw, 2rem); background: var(--tint-soft); border-radius: var(--r-card); }\n.tabs.is-js .tabs__panel + .tabs__panel { margin-top: 0; }\n.tabs:not(.is-js) .tabs__panel + .tabs__panel { margin-top: 1rem; }\n.tabs__panel > :first-child { margin-top: 0; }\n.quote-card--head { display: flex; flex-direction: column; gap: 0.75rem; }\n.quote-card--head figcaption { display: flex; flex-direction: column; gap: 0.15rem; margin: 0; }\n.quote-card--head blockquote { margin: 0; }\n.quote-card__img { width: 64px; height: 64px; object-fit: cover; border-radius: 50%; }\n\n\/* Quiz (QSM) *\/\n.quiz { max-width: 46rem; margin-inline: auto; display: grid; gap: 1.25rem; }\n.quiz__q { margin: 0; padding: clamp(1.1rem, 3vw, 1.75rem); border: 0; border-radius: var(--r-card); background: var(--tint-soft); }\n.quiz__q legend { float: left; width: 100%; padding: 0; margin-bottom: 0.9rem; font: 700 1.375rem\/1.2 var(--font-display); }\n.quiz__q legend + * { clear: both; }\n.quiz__a { display: flex; align-items: flex-start; gap: 0.75rem; padding: 0.7rem 0.9rem; margin-top: 0.5rem; background: var(--white); border-radius: 8px; cursor: pointer; }\n.quiz__a input { margin-top: 0.3rem; accent-color: var(--teal); width: 1.1rem; height: 1.1rem; flex: none; }\n.quiz__a:has(input:checked) { outline: 2px solid var(--teal); }\n.quiz__submit { cursor: pointer; border: 0; padding-inline: 2rem; }\n\n\/* Job list (Karriere) *\/\n.job { background: var(--tint-soft); border-radius: var(--r-card); margin-bottom: 0.75rem; }\n.job > summary { list-style: none; cursor: pointer; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 1rem; padding: 1.1rem 1.4rem; }\n.job > summary::-webkit-details-marker { display: none; }\n.job__title { font: 700 1.375rem\/1.15 var(--font-display); }\n.job__tags { display: flex; gap: 0.5rem; }\n.job__tags span { padding: 0.25rem 0.8rem; border-radius: var(--r-pill); background: var(--white); font-weight: 600; font-size: 0.9375rem; }\n.job > summary::after { content: \"+\"; font-size: 1.5rem; margin-left: auto; }\n.job[open] > summary::after { content: \"\\2212\"; }\n.job__body { padding: 0 1.4rem 1.4rem; }\n.job__body h3 { font-size: var(--fs-md); }\n.seal-name { text-align: center; font-weight: 600; margin-top: 0.5rem; }\n.section > .container > .media-figure:has(.seal-name) { max-width: 20rem; }\n.section > .container > h2:not(:first-child) { margin-top: clamp(3rem, 6vw, 5rem); }\n.section > .container > .grid > .media-figure:has(.seal-name), .grid > .media-figure:has(.seal-name) { text-align: center; }\n.media-figure:has(.seal-name) img { width: auto; max-height: 11rem; margin-inline: auto; border-radius: 0; }\n.job-intro { text-align: center; }\n.grid > *, .split > *, .figures > li { min-width: 0; }\n.figures__text, .figures__text p { overflow-wrap: anywhere; }\n\n\/* Fatih 2026-11-03: mark the Business Education logo (it looks like Education otherwise) *\/\n.brand-row a { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; text-decoration: none; }\n.brand-label { font: 700 0.8125rem\/1 var(--font-display); letter-spacing: 0.04em; text-transform: uppercase; color: #000; }\n\n\/* Fatih 2026-11-03: stronger button dot colour instead of turquoise -> brand red *\/\n.btn, .btn--outline, .btn--light, .btn--sm, .btn--lg { --btn-dot: var(--red); }\n\n<\/style>\n\n<a class=\"skip-link\" href=\"#main\">Zum Inhalt springen<\/a>\n\n<header class=\"ser-site-header\">\n  <div class=\"container site-header__inner\">\n    <a class=\"brand\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/\" aria-label=\"Sky-E Red Technology: Start\">\n      <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/skyeredtechnology.de\/wp-content\/uploads\/2024\/01\/cropped-Sky-E-Red-Technology_Logo-original-1.png\" alt=\"Sky-E Red Technology\" width=\"512\" height=\"512\">\n    <\/a>\n    <nav class=\"nav\" aria-label=\"Hauptnavigation\">\n      <ul class=\"nav__list\">\n        <li class=\"nav__item nav__item--has-menu\" data-section=\"services\">\n          <button class=\"nav__toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"menu-services\">What we do<\/button>\n          <ul class=\"nav__menu nav__menu--groups\" id=\"menu-services\">\n            <li class=\"nav__group\"><p class=\"nav__group-title\">What we do<\/p><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-devops\/\">DevOps<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-cloud\/\">Cloud<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-ai-workflow-automation\/\">AI Workflow Automation<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-enterprise-game-solutions\/\">Enterprise Game Solutions<\/a><\/li>\n            <li class=\"nav__group\"><p class=\"nav__group-title\">Specials<\/p><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-it-fusion-effekt\/\">Sky-E Red Fusion<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-freelance-outsourcing\/\">Freelancing<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-code-red-academy\/\">Code Red Academy<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-techboost-bundles\/\">TechBoost Bundles<\/a><\/li>\n          <\/ul>\n        <\/li>\n        <li class=\"nav__item nav__item--has-menu\" data-section=\"unternehmen\">\n          <button class=\"nav__toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"menu-unternehmen\">Who we are<\/button>\n          <ul class=\"nav__menu nav__menu--groups\" id=\"menu-unternehmen\">\n            <li class=\"nav__group\"><p class=\"nav__group-title\">About us<\/p><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/ueber-uns\/\">About us<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services\/\">What we do<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/blog\/\">Blog<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/webinare\/\">Webinar<\/a><\/li>\n            <li class=\"nav__group\"><p class=\"nav__group-title\">Become part of our community<\/p><\/li>\n            <li><a href=\"https:\/\/de.linkedin.com\/company\/skyered\" target=\"_blank\" rel=\"noopener\">LinkedIn<\/a><\/li>\n            <li><a href=\"https:\/\/www.instagram.com\/skyeredtechnology\/\" target=\"_blank\" rel=\"noopener\">Instagram<\/a><\/li>\n            <li><a href=\"https:\/\/www.tiktok.com\/@skyeredtechnology\" target=\"_blank\" rel=\"noopener\">TikTok<\/a><\/li>\n            <li><a href=\"https:\/\/www.threads.net\/@skyeredtechnology\" target=\"_blank\" rel=\"noopener\">Threads<\/a><\/li>\n            <li class=\"nav__group\"><p class=\"nav__group-title\">Career<\/p><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/karriere\/\">Career at Sky-E Red<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/karriere-join-as-freelancer\/\">Career as a freelancer<\/a><\/li>\n            <li class=\"nav__group\"><p class=\"nav__group-title\">Projects \u2192<\/p><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/projekte\/\">Projects \u2192<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/newsletter\/\">Subscribe to our newsletter<\/a><\/li>\n          <\/ul>\n        <\/li>\n        <li class=\"nav__item\"><a class=\"nav__link\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/blog\/\">Blog<\/a><\/li>\n        <li class=\"nav__item\"><a class=\"nav__link\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/projekte\/\">Success stories<\/a><\/li>\n      <\/ul>\n    <\/nav>\n    <div class=\"header-end\">\n      <a class=\"btn btn--sm header-cta\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/kontakt\/\">Contact us<\/a>\n      <a class=\"lang-switch\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/projekte-on-prem-zu-cloud-migration\/\" hreflang=\"en\" lang=\"en\"><img decoding=\"async\" src=\"https:\/\/skyeredtechnology.de\/wp-content\/uploads\/2026\/11\/ser-remake-en_US.png\" alt=\"en_US\" width=\"24\" height=\"24\"><span class=\"sr-only\">English<\/span><\/a>\n      <button class=\"burger\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mobile-nav\" aria-label=\"Men\u00fc \u00f6ffnen\"><span><\/span><\/button>\n    <\/div>\n  <\/div>\n  <nav class=\"mobile-nav\" id=\"mobile-nav\" aria-label=\"Mobile Navigation\" hidden>\n    <ul class=\"mobile-nav__list\">\n      <li>\n        <button class=\"mobile-nav__toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"m-services\">What we do<\/button>\n        <ul class=\"mobile-nav__sub\" id=\"m-services\" hidden>\n          <li class=\"mobile-nav__group\">What we do<\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-devops\/\">DevOps<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-cloud\/\">Cloud<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-ai-workflow-automation\/\">AI Workflow Automation<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-enterprise-game-solutions\/\">Enterprise Game Solutions<\/a><\/li>\n          <li class=\"mobile-nav__group\">Specials<\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-it-fusion-effekt\/\">Sky-E Red Fusion<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-freelance-outsourcing\/\">Freelancing<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-code-red-academy\/\">Code Red Academy<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-techboost-bundles\/\">TechBoost Bundles<\/a><\/li>\n        <\/ul>\n      <\/li>\n      <li>\n        <button class=\"mobile-nav__toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"m-unternehmen\">Who we are<\/button>\n        <ul class=\"mobile-nav__sub\" id=\"m-unternehmen\" hidden>\n          <li class=\"mobile-nav__group\">About us<\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/ueber-uns\/\">About us<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services\/\">What we do<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/blog\/\">Blog<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/webinare\/\">Webinar<\/a><\/li>\n          <li class=\"mobile-nav__group\">Become part of our community<\/li>\n          <li><a href=\"https:\/\/de.linkedin.com\/company\/skyered\" target=\"_blank\" rel=\"noopener\">LinkedIn<\/a><\/li>\n          <li><a href=\"https:\/\/www.instagram.com\/skyeredtechnology\/\" target=\"_blank\" rel=\"noopener\">Instagram<\/a><\/li>\n          <li><a href=\"https:\/\/www.tiktok.com\/@skyeredtechnology\" target=\"_blank\" rel=\"noopener\">TikTok<\/a><\/li>\n          <li><a href=\"https:\/\/www.threads.net\/@skyeredtechnology\" target=\"_blank\" rel=\"noopener\">Threads<\/a><\/li>\n          <li class=\"mobile-nav__group\">Career<\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/karriere\/\">Career at Sky-E Red<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/karriere-join-as-freelancer\/\">Career as a freelancer<\/a><\/li>\n          <li class=\"mobile-nav__group\">Projects \u2192<\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/projekte\/\">Projects \u2192<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/newsletter\/\">Subscribe to our newsletter<\/a><\/li>\n        <\/ul>\n      <\/li>\n      <li><a class=\"mobile-nav__link\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/blog\/\">Blog<\/a><\/li>\n      <li><a class=\"mobile-nav__link\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/projekte\/\">Success stories<\/a><\/li>\n    <\/ul>\n    <a class=\"btn btn--lg\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/kontakt\/\">Contact us<\/a>\n  <\/nav>\n<\/header>\n\n<main id=\"main\">\n<section class=\"page-hero page-hero--simple\">\n  <div class=\"container\">\n    <h1>Revving Up the Cloud Engine<\/h1>\n    <p class=\"lead\"> Mit Azure DevOps und Cloud-Power die R\u00e4der der Innovation in Bewegung setzen.\u00a0<\/p>\n    <div class=\"btn-row\"><a class=\"btn btn--lg\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/kontakt\/\">Discover cloud power now<\/a><\/div>\n  <\/div>\n<\/section>\n<div class=\"container hero-figure\"><figure class=\"media-figure\"><img decoding=\"async\" src=\"https:\/\/skyeredtechnology.de\/wp-content\/uploads\/2026\/11\/ser-remake-wefwewef.jpg\" alt=\"\"><\/figure><\/div>\n\n<section class=\"section\">\n  <div class=\"container\">\n    <div class=\"section__head\"><h2>Kennzahlen<\/h2><\/div>\n<ul class=\"figures figures--3\"><li><span class=\"figures__value\">\u2191 25 %<\/span><p class=\"figures__text\">Faster provision of new applications thanks to optimized CI\/CD pipelines.<\/p><\/li><li><span class=\"figures__value\">\u2191 40 %<\/span><p class=\"figures__text\">improved scalability of the infrastructure for future business expansion.<\/p><\/li><li><span class=\"figures__value\">\u2193 30 %<\/span><p class=\"figures__text\">Reduction in operating costs by migrating to the cloud.<\/p><\/li><\/ul>\n  <\/div>\n<\/section>\n\n<section class=\"section section--alt\">\n  <div class=\"container\">\n    <div class=\"section__head\"><h2>From the street to cyberspace<\/h2><\/div>\n    <div class=\"prose\"><p>F\u00fcr unseren Kunden, einen f\u00fchrenden Automobilhersteller, stellte die bestehende On-Premise-Infrastruktur ein echtes Hindernis f\u00fcr Agilit\u00e4t und Innovation dar. Die komplexen IT-Systeme in die Microsoft Azure-Cloud zu migrieren und gleichzeitig die CI\/CD-Pipelines von Jenkins auf Azure DevOps umzustellen, ergab sich als eine doppelte Herausforderung. Hinzu kamen strenge Compliance- und Sicherheitsanforderungen, die w\u00e4hrend der gesamten Migration und im sp\u00e4teren Cloud-Betrieb erf\u00fcllt werden mussten, um den hohen Standards der Automobilbranche gerecht zu werden.\u00a0<\/p><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section\">\n  <div class=\"container\">\n    <div class=\"section__head\"><h2>Compliance, code and cloud: the balancing act of migration<\/h2><p>The migration of the existing on-premise infrastructure posed a major challenge, as the car manufacturer's IT landscape was highly individualized and included numerous legacy-based applications. These systems had to be migrated under the highest security standards and without interrupting operations. The migration involved monolithic and inflexible applications that could not easily be transferred to the cloud in their existing form. This complexity required careful planning and execution to minimize downtime while guaranteeing system availability.\u00a0<\/p><p>Another critical point was the conversion of the Jenkins-based CI\/CD pipelines to a flexible, scalable system that could meet the company's growing requirements. The existing Jenkins pipelines could no longer meet the requirements for speed and flexibility, which severely limited the efficiency of the development and deployment process. In addition, the strict compliance and data protection requirements of the automotive industry had to be observed during the migration. It was essential to ensure that all cloud-based systems complied with industry-specific security and data protection standards.\u00a0<\/p><\/div>\n<h3>Jenkins war gestern: Azure DevOps ist heute\u00a0<\/h3><p>We migrated the car manufacturer's IT infrastructure securely and scalably to Microsoft Azure to improve flexibility and agility. Using Azure Site Recovery and virtual machines, we ensured a fast migration with minimal downtime. This transition enabled the client to efficiently adapt its IT systems to changing market conditions.\u00a0<\/p><p>The existing Jenkins pipelines were converted to Azure DevOps, which led to a significant increase in the speed and reliability of software deployment. This enabled the car manufacturer to optimize its development processes and react more quickly to changes.\u00a0<\/p><p>To ensure compliance and security, we used Azure Security Center and Azure Policy. These solutions ensured compliance with industry-specific regulations and enabled continuous security monitoring.\u00a0<\/p>\n<figure class=\"media-figure\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/skyeredtechnology.de\/wp-content\/uploads\/2026\/11\/ser-remake-trvcexec-1024x512-1.jpg\" alt=\"\" width=\"800\" height=\"400\"><\/figure>\n  <\/div>\n<\/section>\n\n<section class=\"section section--alt\">\n  <div class=\"container\">\n    <div class=\"section__head\"><h2>Numbers travel faster than words<\/h2><p>We can tell you a lot, so let's just take a look at the speedometer:\u00a0\u00a0<\/p><\/div>\n<ul class=\"figures figures--3\"><li><span class=\"figures__value\">\u221250 %<\/span><div class=\"figures__text\"><p><strong>shorter<\/strong><strong> Time<\/strong> f\u00fcr das Testen und Bereitstellen von Anwendungen.\u00a0<\/p><\/div><\/li><li><span class=\"figures__value\">\u2193 35 %<\/span><div class=\"figures__text\"><p><strong>geringere Fehlerquote <\/strong>bei der Softwarebereitstellung dank automatisierter Pipelines.\u00a0<\/p><\/div><\/li><li><span class=\"figures__value\">\u2191 45 %<\/span><div class=\"figures__text\"><p><strong>gesteigerte Teamproduktivit\u00e4t<\/strong> durch vereinfachte und vereinheitlichte Prozesse.\u00a0<\/p><\/div><\/li><li><span class=\"figures__value\">\u221225 %<\/span><div class=\"figures__text\"><p><strong>weniger Fehlerbehebungsaufwand<\/strong> durch die Einf\u00fchrung einer standardisierten Cloud-Umgebung.\u00a0<\/p><\/div><\/li><li><span class=\"figures__value\">\u2191 20 %<\/span><div class=\"figures__text\"><p><strong>Verbesserung der Systemverf\u00fcgbarkeit<\/strong> durch den Einsatz von Azure-gest\u00fctzten Hochverf\u00fcgbarkeitsl\u00f6sungen.\u00a0<\/p><\/div><\/li><\/ul>\n  <\/div>\n<\/section>\n\n<section class=\"section\">\n  <div class=\"container\">\n    <div class=\"section__head\"><h2>CLOUD-HOPPING: FROM THE AUTOMOTIVE INDUSTRY TO THE FUTURE OF EVERY SECTOR<\/h2><p>Wir ihr seht, muss die Migration einer bestehenden Infrastruktur in die Cloud und die Optimierung von CI\/CD-Prozessen kein Mount Everest sein. Basierend auf den Herausforderungen, die unsere Kunden gemeinsam mit uns bisher bew\u00e4ltigt haben, findet ihr hier ein paar Inspirationen, wie ihr unser Wissen bei euren spezifischen Herausforderungen einsetzen k\u00f6nntet, und stehen selbstverst\u00e4ndlich jederzeit zur Verf\u00fcgung, um einen customized Ansatz mit euch zu besprechen:\u00a0\u00a0<\/p><p><strong>Fintech: Cloud-Migration und CI\/CD-Optimierung<\/strong><br>In the financial industry, organizations often face the challenge of securely and efficiently migrating legacy infrastructures and monolithic applications that handle sensitive financial data. To overcome this challenge, we would start with a comprehensive analysis of existing systems to determine security and compliance requirements. Our solution would be to migrate to a scalable cloud infrastructure, supported by modern CI\/CD tools that make the software deployment process faster and more flexible. We would also ensure that all security and compliance requirements are met through specialized management tools. This would not only significantly reduce operating costs and downtime, but also optimize time-to-market for new financial products and increase customer confidence and satisfaction.\u00a0<\/p><p><strong>Healthcare: Sichere und skalierbare Datenverwaltung<\/strong><br>Healthcare providers are often faced with the challenge of managing sensitive patient data and health information both securely and efficiently. To address this challenge, we would take the cloud migration route, relying on highly secure and scalable data solutions designed specifically for the needs of the healthcare industry. We would ensure that all data protection and compliance requirements are met, while also creating the ability to deliver software updates quickly and efficiently. By using modern CI\/CD processes, we could ensure that the provider can always work with the latest technologies and security specifications. The result would be improved patient data management, increased data availability and a noticeable reduction in operational overheads, leaving more resources available for innovation in patient care.\u00a0<\/p><p><strong>Retail: Verbesserung des E-Commerce und der Kundenerfahrung<\/strong><br>A common problem in retail is the scalability of IT infrastructure to cope with seasonal traffic peaks. If this doesn't work optimally, it results in downtime and a poor customer experience. We would solve this problem by migrating to an elastic cloud infrastructure that is able to dynamically adjust the required resources during periods of high demand. Additionally, by using modern CI\/CD tools, we would ensure that new features and updates to the e-commerce platform could be deployed quickly and reliably. This would not only improve the customer experience, but also increase the efficiency of operations. The result would be a seamless, scalable shopping experience, less downtime and greater competitiveness through the rapid implementation of new features that would increase sales and customer satisfaction.\u00a0<\/p><\/div>\n<div class=\"btn-row\"><a class=\"btn btn--lg\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/kontakt\/\">Hopping into the cloud<\/a><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section section--alt\">\n  <div class=\"container\">\n<div class=\"grid grid--3\"><div class=\"card card--feature\"><h2>Our tech kit<\/h2>\n<p>Ein Blick hinter die Kulissen, Tools die bei der Migration eine entscheidende Rolle spielten:\u00a0<\/p><\/div><div class=\"card card--feature\"><div class=\"grid\"><div class=\"card card--feature\"><h3>Cloud wizard<\/h3><p>Microsoft Azure made it possible to provide a scalable, flexible and secure infrastructure that ensured the smooth operation of the application in the cloud and adapted dynamically to customer needs.<\/p><\/div><\/div><\/div><div class=\"card card--feature\"><div class=\"grid\"><div class=\"card card--feature\"><h3>Container magician<\/h3><p>Containerization and orchestration with Docker and Kubernetes facilitated the fast and efficient deployment and scaling of applications, which led to a significant reduction in operating costs and downtime.<\/p><\/div><\/div><\/div><div class=\"card card--feature\"><div class=\"grid\"><div class=\"card card--feature\"><h3>CI\/CD Speedster<\/h3><p>Switching to Azure DevOps for continuous integration and delivery significantly accelerated software development and deployment, resulting in faster time-to-market for new features.<\/p><\/div><\/div><\/div><div class=\"card card--feature\"><div class=\"grid\"><div class=\"card card--feature\"><h3>Surveillance detectives<\/h3><p>Azure Monitor and Azure Log Analytics ensured that system performance and security measures were continuously monitored and optimized so that problems could be detected and rectified at an early stage.<\/p><\/div><\/div><\/div><div class=\"card card--feature\"><div class=\"grid\"><div class=\"card card--feature\"><h3>Compliance watchdog<\/h3><p>With the help of Azure Security Center and Azure Policy, the strict compliance requirements were easily met and the security of the infrastructure was ensured at all times.<\/p><\/div><\/div><\/div><div class=\"card card--feature\"><div class=\"grid\"><div class=\"card card--feature\"><h3>Data architect<\/h3><p>Azure SQL Database and Azure Cosmos DB provided secure and scalable data management, enabling large volumes of data to be stored and processed efficiently.<\/p><\/div><\/div><\/div><div class=\"card card--feature\"><div class=\"grid\"><div class=\"card card--feature\"><h3>Developer magic wand<\/h3><p>The use of C#, .NET, Java, Python, JavaScript and ASP.NET Core enabled us to develop flexible and performant applications that were both fast and easy to maintain.<\/p><\/div><\/div><\/div><div class=\"card card--feature\"><div class=\"grid\"><div class=\"card card--feature\"><h3>Team Coordinator<\/h3><p>With Microsoft Teams and Azure documentation, team collaboration was optimized, resulting in efficient communication and well-structured project development.<\/p><\/div><\/div><\/div><\/div>\n  <\/div>\n<\/section>\n<\/main>\n<footer class=\"ser-site-footer\">\n  <div class=\"container site-footer__top\">\n    <div class=\"footer-newsletter\">\n      <a class=\"btn btn--outline\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/newsletter\/\">Subscribe to our newsletter<\/a>\n    <\/div>\n    <div class=\"footer-brands\">\n      <p class=\"footer-title\">Our brands<\/p>\n      <ul class=\"brand-row\">\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/skyeredtechnology.de\/wp-content\/uploads\/2024\/01\/cropped-Sky-E-Red-Technology_Logo-original-1.png\" alt=\"Sky-E Red Technology\" width=\"512\" height=\"512\"><\/a><\/li>\n        <li><a href=\"https:\/\/skyeredgames.de\/\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/skyeredtechnology.de\/wp-content\/uploads\/2024\/10\/Sky-E-Red-GAMES-938x1024.png\" alt=\"Sky-E Red Games\" width=\"938\" height=\"1024\"><\/a><\/li>\n        <li><a href=\"https:\/\/skyered-business-education.de\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/skyeredtechnology.de\/wp-content\/uploads\/2024\/10\/SER_Logo_2-1-2-1635x2048-1-818x1024.webp\" alt=\"Sky-E Red Business Education\" width=\"818\" height=\"1024\"><span class=\"brand-label\">Business<\/span><\/a><\/li>\n        <li><a href=\"https:\/\/skyered-education.de\/\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/skyeredtechnology.de\/wp-content\/uploads\/2024\/10\/cropped-cropped-Sky-E-Red-Education_Logo_1-1-1002x1024.png\" alt=\"Sky-E Red Education\" width=\"1002\" height=\"1024\"><\/a><\/li>\n      <\/ul>\n      <p class=\"footer-claim\">\u201eSky-E Red: Masters of Cloud and DevOps, Game Innovators, and Certified IT Educators.\u201c<\/p>\n    <\/div>\n    <nav class=\"footer-nav\" aria-label=\"Fu\u00dfnavigation\">\n      <ul class=\"footer-links\">\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/\">Home<\/a><\/li>\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services\/\">What we do<\/a><\/li>\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/projekte\/\">Success stories<\/a><\/li>\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/ueber-uns\/\">About us<\/a><\/li>\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/blog\/\">Blog<\/a><\/li>\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/impressum\/\">Imprint<\/a><\/li>\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/datenschutz\/\">Data protection<\/a><\/li>\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/kontakt\/\">Contact us<\/a><\/li>\n      <\/ul>\n    <\/nav>\n    <div class=\"footer-bottom\">\n      <p class=\"mb-0\">Copyright \u00a9 2026 Sky-E Red GmbH<\/p>\n      <ul class=\"social\">\n        <li><a href=\"https:\/\/www.instagram.com\/skyerededucation\/\" target=\"_blank\" rel=\"noopener\">Instagram<\/a><\/li>\n        <li><a href=\"https:\/\/www.linkedin.com\/company\/skyered\/\" target=\"_blank\" rel=\"noopener\">Linkedin<\/a><\/li>\n        <li><a href=\"https:\/\/www.tiktok.com\/@skyerededucation\" target=\"_blank\" rel=\"noopener\">TikTok<\/a><\/li>\n        <li><a href=\"https:\/\/www.threads.net\/@skyeredtechnology\" target=\"_blank\" rel=\"noopener\">Threads<\/a><\/li>\n      <\/ul>\n    <\/div>\n  <\/div>\n<\/footer>\n\n\n<script>(function(){var b=atob('LyogU2t5LUUgUmVkIEVkdWNhdGlvbiDigJQgc2l0ZSBiZWhhdmlvdXIgKG5vIGRlcGVuZGVuY2llcykuCiAgIDEuIERlc2t0b3AgZHJvcGRvd25zOiBjbGljay9FbnRlci9TcGFjZSB0b2dnbGUsIGhvdmVyIG9wZW5zIG9uIHBvaW50ZXIgZGV2aWNlcywKICAgICAgRXNjYXBlIGNsb3NlcyBhbmQgcmV0dXJucyBmb2N1cywgQXJyb3dEb3duIG1vdmVzIGludG8gdGhlIG1lbnUsIG91dHNpZGUgY2xpY2sgY2xvc2VzLgogICAyLiBNb2JpbGUgZHJhd2VyOiBidXJnZXIgdG9nZ2xlcywgc3VibWVudXMgYXJlIGRpc2Nsb3N1cmUgYnV0dG9ucywgRXNjYXBlIGNsb3Nlcy4KICAgQWNjb3JkaW9ucyB1c2UgbmF0aXZlIDxkZXRhaWxzPiwgYW5kIHRoZSBvbmUgbW90aW9uIGdlc3R1cmUgKGhlcm8gY291cnNlLXNoZWV0IHJvd3MpCiAgIGlzIHB1cmUgQ1NTLCBzbyBuZWl0aGVyIG5lZWRzIHNjcmlwdC4gKi8KKGZ1bmN0aW9uICgpIHsKICAidXNlIHN0cmljdCI7CgogIHZhciBkZXNrdG9wSXRlbXMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIubmF2X19pdGVtLS1oYXMtbWVudSIpKTsKICB2YXIgY2FuSG92ZXIgPSB3aW5kb3cubWF0Y2hNZWRpYSAmJiB3aW5kb3cubWF0Y2hNZWRpYSgiKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSIpLm1hdGNoZXM7CgogIGZ1bmN0aW9uIHNldE9wZW4oaXRlbSwgb3BlbikgewogICAgdmFyIHRvZ2dsZSA9IGl0ZW0ucXVlcnlTZWxlY3RvcigiLm5hdl9fdG9nZ2xlIik7CiAgICBpdGVtLmNsYXNzTGlzdC50b2dnbGUoImlzLW9wZW4iLCBvcGVuKTsKICAgIGlmICh0b2dnbGUpIHRvZ2dsZS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCBvcGVuID8gInRydWUiIDogImZhbHNlIik7CiAgfQoKICBmdW5jdGlvbiBjbG9zZUFsbChleGNlcHQpIHsKICAgIGRlc2t0b3BJdGVtcy5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgIGlmIChpdGVtICE9PSBleGNlcHQpIHNldE9wZW4oaXRlbSwgZmFsc2UpOwogICAgfSk7CiAgfQoKICBkZXNrdG9wSXRlbXMuZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgdmFyIHRvZ2dsZSA9IGl0ZW0ucXVlcnlTZWxlY3RvcigiLm5hdl9fdG9nZ2xlIik7CiAgICB2YXIgbGlua3MgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChpdGVtLnF1ZXJ5U2VsZWN0b3JBbGwoIi5uYXZfX21lbnUgYSIpKTsgfTsKICAgIGlmICghdG9nZ2xlKSByZXR1cm47CgogICAgdmFyIG9wZW5lZEJ5SG92ZXIgPSBmYWxzZTsKCiAgICB0b2dnbGUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoKSB7CiAgICAgIC8vIEEgcG9pbnRlciB0aGF0IGhvdmVyZWQgdGhlIGl0ZW0gYWxyZWFkeSBvcGVuZWQgaXQ7IHRoZSBjbGljayBtdXN0IG5vdCBjbG9zZSBpdCBhZ2Fpbi4KICAgICAgdmFyIG9wZW4gPSBvcGVuZWRCeUhvdmVyID8gdHJ1ZSA6ICFpdGVtLmNsYXNzTGlzdC5jb250YWlucygiaXMtb3BlbiIpOwogICAgICBvcGVuZWRCeUhvdmVyID0gZmFsc2U7CiAgICAgIGNsb3NlQWxsKGl0ZW0pOwogICAgICBzZXRPcGVuKGl0ZW0sIG9wZW4pOwogICAgfSk7CgogICAgdG9nZ2xlLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCBmdW5jdGlvbiAoZSkgewogICAgICBpZiAoZS5rZXkgPT09ICJBcnJvd0Rvd24iKSB7CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIGNsb3NlQWxsKGl0ZW0pOwogICAgICAgIHNldE9wZW4oaXRlbSwgdHJ1ZSk7CiAgICAgICAgdmFyIGZpcnN0ID0gbGlua3MoKVswXTsKICAgICAgICBpZiAoZmlyc3QpIGZpcnN0LmZvY3VzKCk7CiAgICAgIH0KICAgIH0pOwoKICAgIGl0ZW0uYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIGZ1bmN0aW9uIChlKSB7CiAgICAgIHZhciBsaXN0ID0gbGlua3MoKTsKICAgICAgdmFyIGlkeCA9IGxpc3QuaW5kZXhPZihkb2N1bWVudC5hY3RpdmVFbGVtZW50KTsKICAgICAgaWYgKGUudGFyZ2V0ID09PSB0b2dnbGUgJiYgZS5rZXkgIT09ICJFc2NhcGUiKSByZXR1cm47IC8vIHRvZ2dsZSBoYXMgaXRzIG93biBoYW5kbGVyCiAgICAgIGlmIChlLmtleSA9PT0gIkVzY2FwZSIpIHsKICAgICAgICBzZXRPcGVuKGl0ZW0sIGZhbHNlKTsKICAgICAgICB0b2dnbGUuZm9jdXMoKTsKICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gIkFycm93RG93biIgJiYgaWR4ID4gLTEpIHsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgbGlzdFsoaWR4ICsgMSkgJSBsaXN0Lmxlbmd0aF0uZm9jdXMoKTsKICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gIkFycm93VXAiICYmIGlkeCA+IC0xKSB7CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIGlmIChpZHggPT09IDApIHRvZ2dsZS5mb2N1cygpOyBlbHNlIGxpc3RbaWR4IC0gMV0uZm9jdXMoKTsKICAgICAgfQogICAgfSk7CgogICAgaXRlbS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsIGZ1bmN0aW9uIChlKSB7CiAgICAgIGlmICghaXRlbS5jb250YWlucyhlLnJlbGF0ZWRUYXJnZXQpKSBzZXRPcGVuKGl0ZW0sIGZhbHNlKTsKICAgIH0pOwoKICAgIGlmIChjYW5Ib3ZlcikgewogICAgICB2YXIgdGltZXIgPSBudWxsOwogICAgICBpdGVtLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKTsKICAgICAgICBvcGVuZWRCeUhvdmVyID0gIWl0ZW0uY2xhc3NMaXN0LmNvbnRhaW5zKCJpcy1vcGVuIik7CiAgICAgICAgY2xvc2VBbGwoaXRlbSk7CiAgICAgICAgc2V0T3BlbihpdGVtLCB0cnVlKTsKICAgICAgfSk7CiAgICAgIGl0ZW0uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsIGZ1bmN0aW9uICgpIHsKICAgICAgICBvcGVuZWRCeUhvdmVyID0gZmFsc2U7CiAgICAgICAgdGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgc2V0T3BlbihpdGVtLCBmYWxzZSk7IH0sIDE2MCk7CiAgICAgIH0pOwogICAgfQogIH0pOwoKICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uIChlKSB7CiAgICBpZiAoIWUudGFyZ2V0LmNsb3Nlc3QoIi5uYXZfX2l0ZW0tLWhhcy1tZW51IikpIGNsb3NlQWxsKG51bGwpOwogIH0pOwoKICAvKiBNb2JpbGUgZHJhd2VyICovCiAgdmFyIGJ1cmdlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5idXJnZXIiKTsKICB2YXIgZHJhd2VyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vYmlsZS1uYXYiKTsKCiAgZnVuY3Rpb24gc2V0RHJhd2VyKG9wZW4pIHsKICAgIGlmICghYnVyZ2VyIHx8ICFkcmF3ZXIpIHJldHVybjsKICAgIGJ1cmdlci5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCBvcGVuID8gInRydWUiIDogImZhbHNlIik7CiAgICBidXJnZXIuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwgb3BlbiA\/ICJNZW7DvCBzY2hsaWXDn2VuIiA6ICJNZW7DvCDDtmZmbmVuIik7CiAgICBkcmF3ZXIuaGlkZGVuID0gIW9wZW47CiAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoIm5hdi1vcGVuIiwgb3Blbik7CiAgfQoKICBpZiAoYnVyZ2VyICYmIGRyYXdlcikgewogICAgYnVyZ2VyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24gKCkgewogICAgICBzZXREcmF3ZXIoYnVyZ2VyLmdldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIpICE9PSAidHJ1ZSIpOwogICAgfSk7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgZnVuY3Rpb24gKGUpIHsKICAgICAgaWYgKGUua2V5ID09PSAiRXNjYXBlIiAmJiAhZHJhd2VyLmhpZGRlbikgewogICAgICAgIHNldERyYXdlcihmYWxzZSk7CiAgICAgICAgYnVyZ2VyLmZvY3VzKCk7CiAgICAgIH0KICAgIH0pOwogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIGZ1bmN0aW9uICgpIHsKICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoID49IDExODAgJiYgIWRyYXdlci5oaWRkZW4pIHNldERyYXdlcihmYWxzZSk7CiAgICB9KTsKICB9CgogIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLm1vYmlsZS1uYXZfX3RvZ2dsZSIpLCBmdW5jdGlvbiAoYnRuKSB7CiAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBzdWIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChidG4uZ2V0QXR0cmlidXRlKCJhcmlhLWNvbnRyb2xzIikpOwogICAgICB2YXIgb3BlbiA9IGJ0bi5nZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiKSAhPT0gInRydWUiOwogICAgICBidG4uc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwgb3BlbiA\/ICJ0cnVlIiA6ICJmYWxzZSIpOwogICAgICBpZiAoc3ViKSBzdWIuaGlkZGVuID0gIW9wZW47CiAgICB9KTsKICB9KTsKCiAgLy8gVGltZWxpbmUgcHJvZ3Jlc3M6IHRoZSBsaW5lIGZpbGxzIGFuZCB0aGUgZG90cyB0dXJuIHR1cnF1b2lzZSBhcyB0aGUgc2VjdGlvbiBzY3JvbGxzIGJ5LgogIHZhciB0aW1lbGluZXMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIudGltZWxpbmUiKSk7CiAgaWYgKHRpbWVsaW5lcy5sZW5ndGgpIHsKICAgIHZhciB1cGRhdGUgPSBmdW5jdGlvbiAoKSB7CiAgICAgIHZhciBtaWQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjY7CiAgICAgIHRpbWVsaW5lcy5mb3JFYWNoKGZ1bmN0aW9uICh0bCkgewogICAgICAgIHZhciBib3ggPSAodGwuY2xvc2VzdCgic2VjdGlvbiIpIHx8IHRsKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKICAgICAgICB2YXIgcCA9IE1hdGgubWluKDEsIE1hdGgubWF4KDAsIChtaWQgLSBib3gudG9wKSAvIE1hdGgubWF4KDEsIGJveC5oZWlnaHQgLSB3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjMpKSk7CiAgICAgICAgdGwuc3R5bGUuc2V0UHJvcGVydHkoIi0tcCIsIHAudG9GaXhlZCgzKSk7CiAgICAgICAgdmFyIGl0ZW1zID0gdGwuY2hpbGRyZW47CiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgaXRlbXNbaV0uY2xhc3NMaXN0LnRvZ2dsZSgiaXMtZG9uZSIsIHAgPj0gaSAvIE1hdGgubWF4KDEsIGl0ZW1zLmxlbmd0aCAtIDEpIC0gMC4wMDEpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9OwogICAgdGltZWxpbmVzLmZvckVhY2goZnVuY3Rpb24gKHRsKSB7IHRsLnNldEF0dHJpYnV0ZSgiZGF0YS1zY3JvbGwiLCAiIik7IH0pOwogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHVwZGF0ZSwgeyBwYXNzaXZlOiB0cnVlIH0pOwogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIHVwZGF0ZSk7CiAgICB1cGRhdGUoKTsKICB9CgogIC8vIEZ1bmRpbmcgY2FsY3VsYXRvciAoUUNHIHBhZ2UpOiBtb250aGx5IGZ1bmRpbmcgcGVyIGVtcGxveWVlIGZyb20gY29tcGFueSBzaXplIGFuZCBncm9zcyBzYWxhcnkuCiAgLy8gVmFsdWVzIGFyZSB0aGUgb25lcyBpbiB0aGUgbGl2ZSBwYWdlJ3Mgc2NyaXB0IChrZXlzOiBzaXplX3NhbGFyeSkuCiAgdmFyIGNhbGMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJbZGF0YS1jYWxjXSIpOwogIGlmIChjYWxjKSB7CiAgICB2YXIgdGFibGUgPSB7IHNtYWxsXzQwOiAzMDAwLCBzbWFsbF81MDogMzc1MCwgc21hbGxfNjA6IDQ2NTAsIGJpZ180MDogMjAwMCwgYmlnXzUwOiAyNTAwLCBiaWdfNjA6IDMxMDAgfTsKICAgIHZhciBvdXQgPSBjYWxjLnF1ZXJ5U2VsZWN0b3IoIltkYXRhLWNhbGMtb3V0XSIpOwogICAgdmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHsKICAgICAgdmFyIHNpemUgPSBjYWxjLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W25hbWU9Im1pdGFyYmVpdGVyIl06Y2hlY2tlZCcpOwogICAgICB2YXIgcGF5ID0gY2FsYy5xdWVyeVNlbGVjdG9yKCdpbnB1dFtuYW1lPSJnZWhhbHQiXTpjaGVja2VkJyk7CiAgICAgIGlmICghc2l6ZSB8fCAhcGF5KSB7CiAgICAgICAgb3V0LnRleHRDb250ZW50ID0gIkJpdHRlIHRyZWZmZW4gU2llIGVpbmUgQXVzd2FobC4iOwogICAgICAgIG91dC5jbGFzc05hbWUgPSAiY2FsY19fdmFsdWUgaXMtZW1wdHkiOwogICAgICAgIHJldHVybjsKICAgICAgfQogICAgICB2YXIgYW1vdW50ID0gdGFibGVbc2l6ZS52YWx1ZSArICJfIiArIHBheS52YWx1ZV07CiAgICAgIG91dC50ZXh0Q29udGVudCA9IGFtb3VudC50b0xvY2FsZVN0cmluZygiZGUtREUiLCB7IHN0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogIkVVUiIsIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMCB9KTsKICAgICAgb3V0LmNsYXNzTmFtZSA9ICJjYWxjX192YWx1ZSBpcy1zZXQiOwogICAgfTsKICAgIGNhbGMuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgcmVuZGVyKTsKICB9CgogIC8vIENhcm91c2VsIChjdXN0b21lciBleGFtcGxlcyksIGluZmluaXRlIGluIGJvdGggZGlyZWN0aW9uczogdGhlIHNsaWRlcyBhcmUgY2xvbmVkIGJlZm9yZSBhbmQgYWZ0ZXIgKGNsb25lcyBhcmUKICAvLyBhcmlhLWhpZGRlbiBhbmQgaW5lcnQpLCBwcmV2L25leHQvc3dpcGUvYXJyb3cga2V5cyBrZWVwIHNjcm9sbGluZywgYW5kIG9uY2Ugc2Nyb2xsaW5nIGhhcyBzZXR0bGVkIHRoZSB0cmFjayBqdW1wcwogIC8vIGJ5IGV4YWN0bHkgb25lIHNldCBvZiBzbGlkZXMsIHdoaWNoIGxvb2tzIGlkZW50aWNhbCwgc28gbm9ib2R5IHNlZXMgdGhlIHdyYXAuIENTUyBzY3JvbGwtc25hcCBkb2VzIHRoZSBzbGlkaW5nLgogIC8vIE5vIGF1dG9wbGF5LiBTbW9vdGggc2Nyb2xsaW5nIG9ubHkgd2hlbiB0aGUgdmlzaXRvciBoYXMgbm90IGFza2VkIGZvciByZWR1Y2VkIG1vdGlvbi4KICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIltkYXRhLWNhcm91c2VsXSIpLCBmdW5jdGlvbiAocm9vdCkgewogICAgdmFyIHZwID0gcm9vdC5xdWVyeVNlbGVjdG9yKCIuY2Fyb3VzZWxfX3ZpZXdwb3J0Iik7CiAgICB2YXIgdHJhY2sgPSByb290LnF1ZXJ5U2VsZWN0b3IoIi5jYXJvdXNlbF9fdHJhY2siKTsKICAgIHZhciByZWFsID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwocm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIuY2Fyb3VzZWxfX3NsaWRlIikpOwogICAgdmFyIGNvbnRyb2xzID0gcm9vdC5xdWVyeVNlbGVjdG9yKCIuY2Fyb3VzZWxfX2NvbnRyb2xzIik7CiAgICB2YXIgcHJldiA9IHJvb3QucXVlcnlTZWxlY3RvcigiLmNhcm91c2VsX19idG4tLXByZXYiKTsKICAgIHZhciBuZXh0ID0gcm9vdC5xdWVyeVNlbGVjdG9yKCIuY2Fyb3VzZWxfX2J0bi0tbmV4dCIpOwogICAgdmFyIGRvdHNCb3ggPSByb290LnF1ZXJ5U2VsZWN0b3IoIi5jYXJvdXNlbF9fZG90cyIpOwogICAgdmFyIG4gPSByZWFsLmxlbmd0aDsKICAgIGlmICghdnAgfHwgIXRyYWNrIHx8IG4gPCAyIHx8ICFjb250cm9scykgcmV0dXJuOwogICAgdmFyIHJlZHVjZSA9IHdpbmRvdy5tYXRjaE1lZGlhICYmIHdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXM7CgogICAgZnVuY3Rpb24gY2xvbmUoc2xpZGUpIHsKICAgICAgdmFyIGMgPSBzbGlkZS5jbG9uZU5vZGUodHJ1ZSk7CiAgICAgIGMuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsICJ0cnVlIik7CiAgICAgIGMuc2V0QXR0cmlidXRlKCJpbmVydCIsICIiKTsKICAgICAgYy5yZW1vdmVBdHRyaWJ1dGUoInJvbGUiKTsKICAgICAgYy5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtcm9sZWRlc2NyaXB0aW9uIik7CiAgICAgIGMucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWxhYmVsIik7CiAgICAgIHJldHVybiBjOwogICAgfQogICAgdmFyIGJlZm9yZSA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKICAgIHZhciBhZnRlciA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKICAgIHJlYWwuZm9yRWFjaChmdW5jdGlvbiAoc2wpIHsgYmVmb3JlLmFwcGVuZENoaWxkKGNsb25lKHNsKSk7IGFmdGVyLmFwcGVuZENoaWxkKGNsb25lKHNsKSk7IH0pOwogICAgdHJhY2suaW5zZXJ0QmVmb3JlKGJlZm9yZSwgdHJhY2suZmlyc3RDaGlsZCk7CiAgICB0cmFjay5hcHBlbmRDaGlsZChhZnRlcik7CiAgICB2YXIgYWxsID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodHJhY2suY2hpbGRyZW4pOyAvLyAzIHNldHM6IFtjbG9uZXNdW3JlYWxdW2Nsb25lc10KCiAgICB2YXIgZG90cyA9IHJlYWwubWFwKGZ1bmN0aW9uIChfLCBpKSB7CiAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7CiAgICAgIGIudHlwZSA9ICJidXR0b24iOwogICAgICBiLmNsYXNzTmFtZSA9ICJjYXJvdXNlbF9fZG90IjsKICAgICAgYi5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCAocm9vdC5nZXRBdHRyaWJ1dGUoImRhdGEtbGFiZWwtc2xpZGUiKSB8fCAiSXRlbSIpICsgIiAiICsgKGkgKyAxKSArICIgIiArIChyb290LmdldEF0dHJpYnV0ZSgiZGF0YS1sYWJlbC1vZiIpIHx8ICIvIikgKyAiICIgKyBuKTsKICAgICAgYi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uICgpIHsgZ28obiArIGkpOyB9KTsKICAgICAgZG90c0JveC5hcHBlbmRDaGlsZChiKTsKICAgICAgcmV0dXJuIGI7CiAgICB9KTsKICAgIHZhciBwYWRMZWZ0ID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHZwKS5wYWRkaW5nTGVmdCkgfHwgMDsgfTsKICAgIHZhciB0YXJnZXQgPSBmdW5jdGlvbiAoaSkgeyByZXR1cm4gdnAuc2Nyb2xsTGVmdCArIGFsbFtpXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC0gdnAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCAtIHBhZExlZnQoKTsgfTsKICAgIGZ1bmN0aW9uIGdvKGkpIHsKICAgICAgaSA9IE1hdGgubWF4KDAsIE1hdGgubWluKGFsbC5sZW5ndGggLSAxLCBpKSk7CiAgICAgIHZwLnNjcm9sbFRvKHsgbGVmdDogdGFyZ2V0KGkpLCBiZWhhdmlvcjogcmVkdWNlID8gImF1dG8iIDogInNtb290aCIgfSk7CiAgICB9CiAgICBmdW5jdGlvbiBuZWFyZXN0KCkgewogICAgICB2YXIgYmVzdCA9IG4sIGRpc3QgPSBJbmZpbml0eTsKICAgICAgYWxsLmZvckVhY2goZnVuY3Rpb24gKF8sIGkpIHsKICAgICAgICB2YXIgZCA9IE1hdGguYWJzKHRhcmdldChpKSAtIHZwLnNjcm9sbExlZnQpOwogICAgICAgIGlmIChkIDwgZGlzdCkgeyBkaXN0ID0gZDsgYmVzdCA9IGk7IH0KICAgICAgfSk7CiAgICAgIHJldHVybiBiZXN0OwogICAgfQogICAgZnVuY3Rpb24gc2V0RG90cygpIHsKICAgICAgdmFyIGEgPSBuZWFyZXN0KCkgJSBuOwogICAgICBkb3RzLmZvckVhY2goZnVuY3Rpb24gKGQsIGkpIHsKICAgICAgICBpZiAoaSA9PT0gYSkgZC5zZXRBdHRyaWJ1dGUoImFyaWEtY3VycmVudCIsICJ0cnVlIik7IGVsc2UgZC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtY3VycmVudCIpOwogICAgICB9KTsKICAgIH0KICAgIHZhciBwcmVzc2VkID0gZmFsc2UsIHRpbWVyID0gbnVsbDsKICAgIGZ1bmN0aW9uIHNldHRsZSgpIHsKICAgICAgdGltZXIgPSBudWxsOwogICAgICBpZiAocHJlc3NlZCkgcmV0dXJuOwogICAgICB2YXIgaSA9IG5lYXJlc3QoKTsKICAgICAgaWYgKGkgPCBuIHx8IGkgPj0gMiAqIG4pIHsKICAgICAgICB2YXIgc2V0ID0gdGFyZ2V0KG4pIC0gdGFyZ2V0KDApOyAvLyB3aWR0aCBvZiBvbmUgc2V0IG9mIHNsaWRlcyBpbmNsdWRpbmcgZ2FwcwogICAgICAgIHZwLnNjcm9sbExlZnQgKz0gaSA8IG4gPyBzZXQgOiAtc2V0OyAvLyBpbnN0YW50IGp1bXAgdG8gdGhlIGlkZW50aWNhbCBwb3NpdGlvbiBpbiB0aGUgbWlkZGxlIHNldAogICAgICB9CiAgICAgIHNldERvdHMoKTsKICAgIH0KICAgIGZ1bmN0aW9uIG9uU2Nyb2xsKCkgewogICAgICBzZXREb3RzKCk7CiAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7CiAgICAgIHRpbWVyID0gc2V0VGltZW91dChzZXR0bGUsIDEyMCk7CiAgICB9CiAgICBwcmV2LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24gKCkgeyBnbyhuZWFyZXN0KCkgLSAxKTsgfSk7CiAgICBuZXh0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24gKCkgeyBnbyhuZWFyZXN0KCkgKyAxKTsgfSk7CiAgICB2cC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCBvblNjcm9sbCwgeyBwYXNzaXZlOiB0cnVlIH0pOwogICAgdnAuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLCBmdW5jdGlvbiAoKSB7IHByZXNzZWQgPSB0cnVlOyB9KTsKICAgIFsicG9pbnRlcnVwIiwgInBvaW50ZXJjYW5jZWwiLCAicG9pbnRlcmxlYXZlIl0uZm9yRWFjaChmdW5jdGlvbiAoZXYpIHsKICAgICAgdnAuYWRkRXZlbnRMaXN0ZW5lcihldiwgZnVuY3Rpb24gKCkgeyBpZiAocHJlc3NlZCkgeyBwcmVzc2VkID0gZmFsc2U7IGNsZWFyVGltZW91dCh0aW1lcik7IHRpbWVyID0gc2V0VGltZW91dChzZXR0bGUsIDEyMCk7IH0gfSk7CiAgICB9KTsKICAgIHZwLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBmdW5jdGlvbiAoKSB7IHByZXNzZWQgPSB0cnVlOyB9LCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgICB2cC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsIGZ1bmN0aW9uICgpIHsgcHJlc3NlZCA9IGZhbHNlOyBjbGVhclRpbWVvdXQodGltZXIpOyB0aW1lciA9IHNldFRpbWVvdXQoc2V0dGxlLCAxMjApOyB9LCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwgZnVuY3Rpb24gKCkgeyB2YXIgaSA9IG5lYXJlc3QoKSAlIG47IHZwLnNjcm9sbExlZnQgPSB0YXJnZXQobiArIGkpOyBzZXREb3RzKCk7IH0pOwogICAgdnAuc2V0QXR0cmlidXRlKCJyb2xlIiwgImdyb3VwIik7CiAgICB2cC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCByb290LmdldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIpICsgKHJvb3QuZ2V0QXR0cmlidXRlKCJkYXRhLWxhYmVsLWtleXMiKSB8fCAiIikpOwogICAgY29udHJvbHMuaGlkZGVuID0gZmFsc2U7CiAgICB2cC5zY3JvbGxMZWZ0ID0gdGFyZ2V0KG4pOyAvLyBzdGFydCBvbiB0aGUgZmlyc3QgcmVhbCBzbGlkZQogICAgc2V0RG90cygpOwogIH0pOwp9KSgpOwoKLyogVGFiczogb25lIHZpc2libGUgcGFuZWwsIGFycm93IGtleXMgbW92ZSBiZXR3ZWVuIHRhYnMuIFdpdGhvdXQgdGhpcyBzY3JpcHQgYWxsIHBhbmVscyBzdGF5IHZpc2libGUuICovCihmdW5jdGlvbiAoKSB7CiAgInVzZSBzdHJpY3QiOwogIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtdGFic10iKSwgZnVuY3Rpb24gKHJvb3QpIHsKICAgIHZhciB0YWJzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwocm9vdC5xdWVyeVNlbGVjdG9yQWxsKCIudGFic19fdGFiIikpOwogICAgdmFyIHBhbmVscyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHJvb3QucXVlcnlTZWxlY3RvckFsbCgiLnRhYnNfX3BhbmVsIikpOwogICAgaWYgKHRhYnMubGVuZ3RoIDwgMiB8fCB0YWJzLmxlbmd0aCAhPT0gcGFuZWxzLmxlbmd0aCkgcmV0dXJuOwogICAgcm9vdC5jbGFzc0xpc3QuYWRkKCJpcy1qcyIpOwogICAgZnVuY3Rpb24gc2hvdyhpLCBmb2N1cykgewogICAgICB0YWJzLmZvckVhY2goZnVuY3Rpb24gKHQsIGopIHsKICAgICAgICB0LnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3RlZCIsIGogPT09IGkgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKICAgICAgICB0LnRhYkluZGV4ID0gaiA9PT0gaSA\/IDAgOiAtMTsKICAgICAgICBwYW5lbHNbal0uaGlkZGVuID0gaiAhPT0gaTsKICAgICAgfSk7CiAgICAgIGlmIChmb2N1cykgdGFic1tpXS5mb2N1cygpOwogICAgfQogICAgdGFicy5mb3JFYWNoKGZ1bmN0aW9uICh0LCBpKSB7CiAgICAgIHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoKSB7IHNob3coaSwgZmFsc2UpOyB9KTsKICAgICAgdC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgZnVuY3Rpb24gKGUpIHsKICAgICAgICB2YXIgayA9IGUua2V5LCBuID0gdGFicy5sZW5ndGg7CiAgICAgICAgaWYgKGsgPT09ICJBcnJvd1JpZ2h0IiB8fCBrID09PSAiQXJyb3dEb3duIikgeyBlLnByZXZlbnREZWZhdWx0KCk7IHNob3coKGkgKyAxKSAlIG4sIHRydWUpOyB9CiAgICAgICAgZWxzZSBpZiAoayA9PT0gIkFycm93TGVmdCIgfHwgayA9PT0gIkFycm93VXAiKSB7IGUucHJldmVudERlZmF1bHQoKTsgc2hvdygoaSArIG4gLSAxKSAlIG4sIHRydWUpOyB9CiAgICAgICAgZWxzZSBpZiAoayA9PT0gIkhvbWUiKSB7IGUucHJldmVudERlZmF1bHQoKTsgc2hvdygwLCB0cnVlKTsgfQogICAgICAgIGVsc2UgaWYgKGsgPT09ICJFbmQiKSB7IGUucHJldmVudERlZmF1bHQoKTsgc2hvdyhuIC0gMSwgdHJ1ZSk7IH0KICAgICAgfSk7CiAgICB9KTsKICAgIHNob3coMCwgZmFsc2UpOwogIH0pOwp9KSgpOwo='),u=new Uint8Array(b.length);for(var i=0;i<b.length;i++)u[i]=b.charCodeAt(i);new Function(new TextDecoder('utf-8').decode(u))();})();<\/script>","protected":false},"excerpt":{"rendered":"<p>Zum Inhalt springen Services Services DevOps Cloud AI Workflow Automation Enterprise Game Solutions Specials Sky-E Red Fusion Freelancing Code Red Academy TechBoost Bundles Unternehmen \u00dcber Uns \u00dcber Uns Services Blog Webinar Werde Teil unserer Community LinkedIn Instagram TikTok Threads Karriere Karriere bei Sky-E Red Karriere als Freelancer Projekte \u2192 Projekte \u2192 Newsletter abonnieren Blog Projekte [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":14379,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"content-type":"","footnotes":""},"class_list":["post-14624","page","type-page","status-publish","hentry"],"rankMath":{"parentDomain":"skyeredtechnology.de","noFollowDomains":[],"noFollowExcludeDomains":[],"noFollowExternalLinks":false,"featuredImageNotice":"The featured image should be at least 200 by 200 pixels to be picked up by Facebook and other social media sites.","pluginReviewed":false,"postSettings":{"linkSuggestions":true,"useFocusKeyword":false},"frontEndScore":false,"postName":"projekte-on-prem-zu-cloud-migration","permalinkFormat":"https:\/\/skyeredtechnology.de\/en\/%pagename%\/","showLockModifiedDate":true,"assessor":{"focusKeywordLink":"https:\/\/skyeredtechnology.de\/wp-admin\/edit.php?focus_keyword=%focus_keyword%&post_type=%post_type%","hasTOCPlugin":true,"primaryTaxonomy":false,"serpData":{"title":"","description":"","focusKeywords":"","pillarContent":false,"canonicalUrl":"","breadcrumbTitle":"","advancedRobots":[],"facebookTitle":"","facebookDescription":"","facebookImage":"","facebookImageID":"","facebookHasOverlay":false,"facebookImageOverlay":"","facebookAuthor":"","twitterCardType":"","twitterUseFacebook":true,"twitterTitle":"","twitterDescription":"","twitterImage":"","twitterImageID":"","twitterHasOverlay":false,"twitterImageOverlay":"","twitterPlayerUrl":"","twitterPlayerSize":"","twitterPlayerStream":"","twitterPlayerStreamCtype":"","twitterAppDescription":"","twitterAppIphoneName":"","twitterAppIphoneID":"","twitterAppIphoneUrl":"","twitterAppIpadName":"","twitterAppIpadID":"","twitterAppIpadUrl":"","twitterAppGoogleplayName":"","twitterAppGoogleplayID":"","twitterAppGoogleplayUrl":"","twitterAppCountry":"","robots":{"noindex":true,"nofollow":true},"twitterAuthor":"username","primaryTerm":0,"authorName":"skyeredtechnology.de","titleTemplate":"%title% %page% %sep% %sitename%","descriptionTemplate":"","showScoreFrontend":true,"lockModifiedDate":false},"powerWords":["a cut above","absolute","absolutely","absolutely lowest","absurd","abuse","accurate","accuse","achieve","actionable","adaptable","adequate","admit","adorable","advantage","advice","affordable","aggravate","aggressive","agitated","agonizing","agony","alarmed","alarming","alienated","aligned","alive","all-inclusive","alluring","always","amazing","amp","animated","annihilate","announcing","anonymous","antagonistic","anxious","apocalypse","appalled","approved","approving","argumentative","armageddon","arrogant","ass kicking","assault","assured","astonishing","astounded","astounding","at ease","atrocious","attack","attractive","audacity","authentic","authoritative","authority","avoid","aware","awe-inspiring","awesome","awkward","backbone","backdoor","backed","backlash","backstabbing","badass","balanced","banned","bargain","barrage","basic","battle","beaming","beat down","beating","beautiful","beauty","begging","behind the scenes","belief","belong","best","best-selling","better","beware","big","billion","black market","blacklisted","blast","blessed","blinded","blissful","blood","bloodbath","bloodcurdling","bloody","blunder","blushing","bold","bomb","bona","bona fide","bonanza","bonus","bootleg","bottom line","bountiful","brave","bravery","brazen","break","breaking","breakthrough","breathtaking","bright","brilliant","broke","brutal","budget","buffoon","bullshit","bully","bumbling","buy","cadaver","calm","cancel anytime","capable","captivate","captivating","carefree","case study","cash","cataclysmic","catapult","catastrophe","caution","censored","centered","certain","certainly","certified","challenge","charming","cheap","cheat","cheat-sheet","cheer","cheerful","child-like","clarity","classified","clear","clueless","collapse","colorful","colossal","comfortable","compare","competitive","complete","completely","completeness","comprehensive","compromise","compulsive","concealed","conclusive","condemning","condescending","confess","confession","confessions","confident","confidential","conquer","conscientious","constructive","content","contrary","controlling","controversial","convenient","convert","cool","cooperative","copy","corpse","corrupt","corrupting","courage","courageous","cover-up","covert","coward","cowardly","crammed","crave","crazy","create","creative","cringeworthy","cripple","crisis","critical","crooked","crush","crushing","damaging","danger","dangerous","daring","dazzling","dead","deadline","deadly","death","decadent","deceived","deceptive","deep","defiance","definitely","definitive","defying","dejected","delicious","delight","delighted","delightful","delirious","delivered","demoralizing","deplorable","depraved","desire","desperate","despicable","destiny","destroy","detailed","devastating","devoted","diagnosed","direct","dirty","disadvantages","disastrous","discount","discover","disdainful","disempowered","disgusted","disgusting","dishonest","disillusioned","disoriented","distracted","distraught","distressed","distrustful","divulge","document","dollar","dominate","doomed","double","doubtful","download","dreadful","dreamy","drive","drowning","dumb","dynamic","eager","earnest","easily","easy","economical","ecstatic","edge","effective","efficient","effortless","elated","eliminate","elite","embarrass","embarrassed","embarrassing","emergency","emerging","emphasize","empowered","enchant","encouraged","endorsed","energetic","energy","enormous","enraged","enthusiastic","envy","epic","epidemic","essential","ethical","euphoric","evil","exactly","exasperated","excellent","excited","excitement","exciting","exclusive","exclusivity","excruciating","exhilarated","expensive","expert","explode","exploit","explosive","exposed","exquisite","extra","extraordinary","extremely","exuberant","eye-opening","fail","fail-proof","failure","faith","famous","fantasy","fascinating","fatigued","faux","faux pas","fearless","feast","feeble","festive","fide","fierce","fight","final","fine","fired","first","first ever","flirt","fluid","focus","focused","fool","fooled","foolish","forbidden","force-fed","forever","forgiving","forgotten","formula","fortune","foul","frantic","free","freebie","freedom","frenzied","frenzy","frightening","frisky","frugal","frustrated","fulfill","fulfilled","full","fully","fun","fun-loving","fundamentals","funniest","funny","furious","gambling","gargantuan","genius","genuine","gift","gigantic","giveaway","glamorous","gleeful","glorious","glowing","goddamn","gorgeous","graceful","grateful","gratified","gravity","great","greatest","greatness","greed","greedy","gripping","grit","grounded","growth","guaranteed","guilt","guilt-free","gullible","guts","hack","happiness","happy","harmful","harsh","hate","have you heard","havoc","hazardous","healthy","heart","heartbreaking","heartwarming","heavenly","hell","helpful","helplessness","hero","hesitant","hidden","high tech","highest","highly effective","hilarious","hoak","hoax","honest","honored","hope","hopeful","horribly","horrific","horrifying","horror","hostile","how to","huge","humility","humor","hurricane","hurry","hypnotic","idiot","ignite","illegal","illusive","imagination","immediately","imminently","impatience","impatient","impenetrable","important","impressive","improved","in the zone","incapable","incapacitated","incompetent","inconsiderate","increase","incredible","indecisive","indulgence","indulgent","inexpensive","inferior","informative","infuriated","ingredients","innocent","innovative","insane","insecure","insider","insidious","inspired","inspiring","instant savings","instantly","instructive","insult","intel","intelligent","intense","interesting","intriguing","introducing","invasion","investment","iron-clad","ironclad","irresistible","irs","is here","jackpot","jail","jaw-dropping","jealous","jeopardy","jittery","jovial","joyous","jubilant","judgmental","jumpstart","just arrived","keen","kickass","kickstart","kill","killed","killing","kills","know it all","lame","largest","lascivious","last","last chance","last minute","latest","laugh","laughing","launch","launching","lavishly","lawsuit","lazy","left behind","legendary","legitimate","liberal","liberated","lick","lies","life-changing","lifetime","light","lighthearted","likely","limited","literally","little-known","loathsome","lonely","looming","loser","lost","love","lucrative","lunatic","lurking","lust","luxurious","luxury","lying","magic","magical","magnificent","mainstream","malicious","mammoth","manipulative","marked down","massive","master","masterclass","maul","mediocre","meditative","meltdown","memorability","memorable","menacing","mesmerizing","meticulous","mind-blowing","minimalist","miracle","mired","mischievous","misgiving","missing out","mistake","monetize","money","moneyback","moneygrubbing","monumental","most important","motivated","mouth-watering","murder","mystery","nail","naked","natural","naughty","nazi","nest egg","never","new","nightmare","no good","no obligation","no one talks about","no questions asked","no risk","no strings attached","non-controlling","noted","novelty","now","obnoxious","obsessed","obsession","obvious","odd","off-kilter","off-limits","off-the record","offensive","official","okay","on-demand","open-minded","opportunities","optimistic","ordeal","outlawed","outrageousness","outstanding","overcome","overjoyed","overnight","overwhelmed","packed","painful","painless","painstaking","pale","panic","panicked","paralyzed","pas","passionate","pathetic","pay zero","payback","perfect","peril","perplexed","perspective","pessimistic","pioneering","piranha","pitfall","pitiful","placid","plague","played","playful","pleased","pluck","plummet","plunge","poison","poisonous","polarizing","poor","popular","portfolio","pound","powerful","powerless","practical","preposterous","prestige","price","priceless","pride","prison","privacy","private","privileged","prize","problem","productive","professional","profit","profitable","profound","promiscuous","promising","promote","protect","protected","proven","provocative","provoke","psychological","pummel","punch","punish","pus","quadruple","quality","quarrelsome","quick","quick-start","quickly","quiet","radiant","rare","ravenous","rebellious","recession-proof","reckoning","recognized","recommend","recreate","reduced","reflective","refugee","refund","refundable","reject","relaxed","release","relentless","reliable","remarkable","replicate","report","reprimanding","repulsed","repulsive","research","resentful","resourceful","responsible","responsive","rested","restricted","results","retaliating","reveal","revealing","revenge","revengeful","revisited","revolting","revolutionary","reward","rich","ridiculous","risky","riveting","rookie","rowdy","ruin","rules","ruthless","sabotaging","sacred","sadistic","sadly","sadness","safe","safety","sale","sampler","sarcastic","satisfied","savage","savagery","save","savings","savvy","scam","scandal","scandalous","scarce","scared","scary","scornful","scream","searing","secret","secret agenda","secret plot","secrets","secure","security","seductive","seething","seize","selected","self-hating","self-sufficient","sensational","senseless","sensual","serene","seriously","severe","sex","sexy","shaking","shameful","shameless","shaming","shatter","shellacking","shocking","should","shrewd","sick and tired","signs","silly","simple","simplicity","simplified","simplistic","sincere","sinful","sins","six-figure","sizable","sizzle","sizzled","sizzles","sizzling","sizzlingly","skill","skyrocket","slaughter","slave","sleazy","sleeping","sly","smash","smiling","smug","smuggle","smuggled","sneak-peek","sneaky","sniveling","snob","snooty","snotty","soar","soaring","solid","solution","spank","special","spectacular","speedy","spell-binding","spine","spirit","spirited","spiteful","spoiler","spontaneous","spotlight","spunky","squirming","stable","staggering","startling","steady","steal","stealthy","steamy","step-by-step","still","stoic","stop","strange","strangle","strategy","stressed","strong","strongly suggest","struggle","stuck up","studies","stunning","stupid","stupid-simple","sturdy","sublime","succeed","success","successful","suck","suddenly","suffer","sunny","super","super-human","superb","supercharge","superior","supported","supportive","sure","sure fire","surefire","surge","surging","surprise","surprised","surprising","survival","survive","suspicious","sweaty","swoon","swoon-worthy","tailspin","tank","tantalizing","targeted","tawdry","tease","technology","teetering","tempting","tenacious","tense","terrible","terrific","terrified","terrifying","terror","terrorist","tested","thankful","the truth","threaten","threatened","thrilled","thrilling","thug","ticked off","tickled","timely","today","torture","toxic","track record","trade secret","tragedy","tragic","transform","transparency","trap","trapped","trauma","traumatized","treacherous","treasure","tremendous","trend","tricks","triggers","triple","triumph","truly","trusting","trustworthy","truth","truthful","turbo-charge","turbocharges","tweaks","twitching","ultimate","unadulterated","unassuming","unauthorized","unbelievable","unburdened","uncaring","uncensored","uncertain","uncomfortable","unconditional","uncontrollable","unconventional","uncovered","undeniable","under priced","undercover","underground","underhanded","underused","unexpected","unforgettable","unheard of","unhurried","uninterested","unique","unjustified","unknowingly","unleashed","unlimited","unlock","unparalleled","unpopular","unreliable","unresponsive","unseen","unstable","unstoppable","unsure","unsurpassed","untapped","unusual","up-sell","upbeat","uplifted","uplifting","urge","urgent","useful","useless","validate","valor","valuable","value","vanquish","vaporize","venomous","verify","vibrant","vicious","victim","victory","vigorous","vilified","vindictive","violated","violent","volatile","vulnerable","waiting","wanted","wanton","warning","waste","weak","wealth","weird","what no one tells you","whip","whopping","wicked","wild","willpower","withheld","wonderful","wondrous","woozy","world","worry","worst","worthwhile","wounded","wreaking","youthful","zen","zinger"],"diacritics":{"A":"[\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F]","AA":"[\\uA732]","AE":"[\\u00C6\\u01FC\\u01E2]","AO":"[\\uA734]","AU":"[\\uA736]","AV":"[\\uA738\\uA73A]","AY":"[\\uA73C]","B":"[\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181]","C":"[\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E]","D":"[\\u0044\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779]","DZ":"[\\u01F1\\u01C4]","Dz":"[\\u01F2\\u01C5]","E":"[\\u0045\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E]","F":"[\\u0046\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B]","G":"[\\u0047\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E]","H":"[\\u0048\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D]","I":"[\\u0049\\u24BE\\uFF29\\u00CC\\u00CD\\u00CE\\u0128\\u012A\\u012C\\u0130\\u00CF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197]","J":"[\\u004A\\u24BF\\uFF2A\\u0134\\u0248]","K":"[\\u004B\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2]","L":"[\\u004C\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780]","LJ":"[\\u01C7]","Lj":"[\\u01C8]","M":"[\\u004D\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C]","N":"[\\u004E\\u24C3\\uFF2E\\u01F8\\u0143\\u00D1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4]","NJ":"[\\u01CA]","Nj":"[\\u01CB]","O":"[\\u004F\\u24C4\\uFF2F\\u00D2\\u00D3\\u00D4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\u00D5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\u00D6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\u00D8\\u01FE\\u0186\\u019F\\uA74A\\uA74C]","OI":"[\\u01A2]","OO":"[\\uA74E]","OU":"[\\u0222]","P":"[\\u0050\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754]","Q":"[\\u0051\\u24C6\\uFF31\\uA756\\uA758\\u024A]","R":"[\\u0052\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782]","S":"[\\u0053\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784]","T":"[\\u0054\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786]","TZ":"[\\uA728]","U":"[\\u0055\\u24CA\\uFF35\\u00D9\\u00DA\\u00DB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\u00DC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244]","V":"[\\u0056\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245]","VY":"[\\uA760]","W":"[\\u0057\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72]","X":"[\\u0058\\u24CD\\uFF38\\u1E8A\\u1E8C]","Y":"[\\u0059\\u24CE\\uFF39\\u1EF2\\u00DD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE]","Z":"[\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762]","a":"[\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250]","aa":"[\\uA733]","ae":"[\\u00E6\\u01FD\\u01E3]","ao":"[\\uA735]","au":"[\\uA737]","av":"[\\uA739\\uA73B]","ay":"[\\uA73D]","b":"[\\u0062\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253]","c":"[\\u0063\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184]","d":"[\\u0064\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A]","dz":"[\\u01F3\\u01C6]","e":"[\\u0065\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD]","f":"[\\u0066\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C]","g":"[\\u0067\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F]","h":"[\\u0068\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265]","hv":"[\\u0195]","i":"[\\u0069\\u24D8\\uFF49\\u00EC\\u00ED\\u00EE\\u0129\\u012B\\u012D\\u00EF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131]","j":"[\\u006A\\u24D9\\uFF4A\\u0135\\u01F0\\u0249]","k":"[\\u006B\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3]","l":"[\\u006C\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747]","lj":"[\\u01C9]","m":"[\\u006D\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F]","n":"[\\u006E\\u24DD\\uFF4E\\u01F9\\u0144\\u00F1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5]","nj":"[\\u01CC]","o":"[\\u006F\\u24DE\\uFF4F\\u00F2\\u00F3\\u00F4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\u00F5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\u00F6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\u00F8\\u01FF\\u0254\\uA74B\\uA74D\\u0275]","oi":"[\\u01A3]","ou":"[\\u0223]","oo":"[\\uA74F]","p":"[\\u0070\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755]","q":"[\\u0071\\u24E0\\uFF51\\u024B\\uA757\\uA759]","r":"[\\u0072\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783]","s":"[\\u0073\\u24E2\\uFF53\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B]","ss":"[\\u00DF]","t":"[\\u0074\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787]","tz":"[\\uA729]","u":"[\\u0075\\u24E4\\uFF55\\u00F9\\u00FA\\u00FB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\u00FC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289]","v":"[\\u0076\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C]","vy":"[\\uA761]","w":"[\\u0077\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73]","x":"[\\u0078\\u24E7\\uFF58\\u1E8B\\u1E8D]","y":"[\\u0079\\u24E8\\uFF59\\u1EF3\\u00FD\\u0177\\u1EF9\\u0233\\u1E8F\\u00FF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF]","z":"[\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763]"},"researchesTests":["contentHasTOC","contentHasShortParagraphs","contentHasAssets","keywordInTitle","keywordInMetaDescription","keywordInPermalink","keywordIn10Percent","keywordInContent","keywordInSubheadings","keywordInImageAlt","keywordDensity","keywordNotUsed","lengthContent","lengthPermalink","linksHasInternal","linksHasExternals","linksNotAllExternals","titleStartWithKeyword","titleSentiment","titleHasPowerWords","titleHasNumber","hasContentAI"],"hasRedirection":false,"hasBreadcrumb":true},"homeUrl":"https:\/\/skyeredtechnology.de\/en","objectID":14624,"objectType":"post","locale":"en","localeFull":"en_US","overlayImages":{"play":{"name":"Play icon","url":"https:\/\/skyeredtechnology.de\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-play.png","path":"\/home\/u291072782\/domains\/skyeredtechnology.de\/public_html\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-play.png","position":"middle_center"},"gif":{"name":"GIF icon","url":"https:\/\/skyeredtechnology.de\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-gif.png","path":"\/home\/u291072782\/domains\/skyeredtechnology.de\/public_html\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/icon-gif.png","position":"middle_center"}},"defautOgImage":"https:\/\/skyeredtechnology.de\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/social-placeholder.jpg","customPermalinks":true,"isUserRegistered":true,"autoSuggestKeywords":true,"connectSiteUrl":"https:\/\/rankmath.com\/auth?site=https%3A%2F%2Fskyeredtechnology.de%2Fen&r=https%3A%2F%2Fskyeredtechnology.de%2Fen%2Fwp-json%2Fwp%2Fv2%2Fpages%2F14624%3Fnonce%3D697af9b268","maxTags":5,"trendsIcon":"<svg viewBox=\"0 0 610 610\"><path d=\"M18.85,446,174.32,290.48l58.08,58.08L76.93,504a14.54,14.54,0,0,1-20.55,0L18.83,466.48a14.54,14.54,0,0,1,0-20.55Z\" style=\"fill:#4285f4\"\/><path d=\"M242.65,242.66,377.59,377.6l-47.75,47.75a14.54,14.54,0,0,1-20.55,0L174.37,290.43l47.75-47.75A14.52,14.52,0,0,1,242.65,242.66Z\" style=\"fill:#ea4335\"\/><polygon points=\"319.53 319.53 479.26 159.8 537.34 217.88 377.61 377.62 319.53 319.53\" style=\"fill:#fabb05\"\/><path d=\"M594.26,262.73V118.61h0a16.94,16.94,0,0,0-16.94-16.94H433.2a16.94,16.94,0,0,0-12,28.92L565.34,274.71h0a16.94,16.94,0,0,0,28.92-12Z\" style=\"fill:#34a853\"\/><rect width=\"610\" height=\"610\" style=\"fill:none\"\/><\/svg>","showScore":true,"siteFavIcon":"https:\/\/skyeredtechnology.de\/wp-content\/uploads\/2024\/01\/webseite-icon-1-150x150.png","canUser":{"general":false,"advanced":false,"snippet":false,"social":false,"analysis":false,"analytics":false,"content_ai":false},"isPro":false,"is_front_page":false,"trendsUpgradeLink":"https:\/\/rankmath.com\/pricing\/?utm_source=Plugin&utm_medium=CE%20General%20Tab%20Trends&utm_campaign=WP","trendsUpgradeLabel":"Upgrade","trendsPreviewImage":"https:\/\/skyeredtechnology.de\/wp-content\/plugins\/seo-by-rank-math\/assets\/admin\/img\/trends-preview.jpg","currentEditor":false,"homepageData":{"assessor":{"powerWords":["a cut above","absolute","absolutely","absolutely lowest","absurd","abuse","accurate","accuse","achieve","actionable","adaptable","adequate","admit","adorable","advantage","advice","affordable","aggravate","aggressive","agitated","agonizing","agony","alarmed","alarming","alienated","aligned","alive","all-inclusive","alluring","always","amazing","amp","animated","annihilate","announcing","anonymous","antagonistic","anxious","apocalypse","appalled","approved","approving","argumentative","armageddon","arrogant","ass kicking","assault","assured","astonishing","astounded","astounding","at ease","atrocious","attack","attractive","audacity","authentic","authoritative","authority","avoid","aware","awe-inspiring","awesome","awkward","backbone","backdoor","backed","backlash","backstabbing","badass","balanced","banned","bargain","barrage","basic","battle","beaming","beat down","beating","beautiful","beauty","begging","behind the scenes","belief","belong","best","best-selling","better","beware","big","billion","black market","blacklisted","blast","blessed","blinded","blissful","blood","bloodbath","bloodcurdling","bloody","blunder","blushing","bold","bomb","bona","bona fide","bonanza","bonus","bootleg","bottom line","bountiful","brave","bravery","brazen","break","breaking","breakthrough","breathtaking","bright","brilliant","broke","brutal","budget","buffoon","bullshit","bully","bumbling","buy","cadaver","calm","cancel anytime","capable","captivate","captivating","carefree","case study","cash","cataclysmic","catapult","catastrophe","caution","censored","centered","certain","certainly","certified","challenge","charming","cheap","cheat","cheat-sheet","cheer","cheerful","child-like","clarity","classified","clear","clueless","collapse","colorful","colossal","comfortable","compare","competitive","complete","completely","completeness","comprehensive","compromise","compulsive","concealed","conclusive","condemning","condescending","confess","confession","confessions","confident","confidential","conquer","conscientious","constructive","content","contrary","controlling","controversial","convenient","convert","cool","cooperative","copy","corpse","corrupt","corrupting","courage","courageous","cover-up","covert","coward","cowardly","crammed","crave","crazy","create","creative","cringeworthy","cripple","crisis","critical","crooked","crush","crushing","damaging","danger","dangerous","daring","dazzling","dead","deadline","deadly","death","decadent","deceived","deceptive","deep","defiance","definitely","definitive","defying","dejected","delicious","delight","delighted","delightful","delirious","delivered","demoralizing","deplorable","depraved","desire","desperate","despicable","destiny","destroy","detailed","devastating","devoted","diagnosed","direct","dirty","disadvantages","disastrous","discount","discover","disdainful","disempowered","disgusted","disgusting","dishonest","disillusioned","disoriented","distracted","distraught","distressed","distrustful","divulge","document","dollar","dominate","doomed","double","doubtful","download","dreadful","dreamy","drive","drowning","dumb","dynamic","eager","earnest","easily","easy","economical","ecstatic","edge","effective","efficient","effortless","elated","eliminate","elite","embarrass","embarrassed","embarrassing","emergency","emerging","emphasize","empowered","enchant","encouraged","endorsed","energetic","energy","enormous","enraged","enthusiastic","envy","epic","epidemic","essential","ethical","euphoric","evil","exactly","exasperated","excellent","excited","excitement","exciting","exclusive","exclusivity","excruciating","exhilarated","expensive","expert","explode","exploit","explosive","exposed","exquisite","extra","extraordinary","extremely","exuberant","eye-opening","fail","fail-proof","failure","faith","famous","fantasy","fascinating","fatigued","faux","faux pas","fearless","feast","feeble","festive","fide","fierce","fight","final","fine","fired","first","first ever","flirt","fluid","focus","focused","fool","fooled","foolish","forbidden","force-fed","forever","forgiving","forgotten","formula","fortune","foul","frantic","free","freebie","freedom","frenzied","frenzy","frightening","frisky","frugal","frustrated","fulfill","fulfilled","full","fully","fun","fun-loving","fundamentals","funniest","funny","furious","gambling","gargantuan","genius","genuine","gift","gigantic","giveaway","glamorous","gleeful","glorious","glowing","goddamn","gorgeous","graceful","grateful","gratified","gravity","great","greatest","greatness","greed","greedy","gripping","grit","grounded","growth","guaranteed","guilt","guilt-free","gullible","guts","hack","happiness","happy","harmful","harsh","hate","have you heard","havoc","hazardous","healthy","heart","heartbreaking","heartwarming","heavenly","hell","helpful","helplessness","hero","hesitant","hidden","high tech","highest","highly effective","hilarious","hoak","hoax","honest","honored","hope","hopeful","horribly","horrific","horrifying","horror","hostile","how to","huge","humility","humor","hurricane","hurry","hypnotic","idiot","ignite","illegal","illusive","imagination","immediately","imminently","impatience","impatient","impenetrable","important","impressive","improved","in the zone","incapable","incapacitated","incompetent","inconsiderate","increase","incredible","indecisive","indulgence","indulgent","inexpensive","inferior","informative","infuriated","ingredients","innocent","innovative","insane","insecure","insider","insidious","inspired","inspiring","instant savings","instantly","instructive","insult","intel","intelligent","intense","interesting","intriguing","introducing","invasion","investment","iron-clad","ironclad","irresistible","irs","is here","jackpot","jail","jaw-dropping","jealous","jeopardy","jittery","jovial","joyous","jubilant","judgmental","jumpstart","just arrived","keen","kickass","kickstart","kill","killed","killing","kills","know it all","lame","largest","lascivious","last","last chance","last minute","latest","laugh","laughing","launch","launching","lavishly","lawsuit","lazy","left behind","legendary","legitimate","liberal","liberated","lick","lies","life-changing","lifetime","light","lighthearted","likely","limited","literally","little-known","loathsome","lonely","looming","loser","lost","love","lucrative","lunatic","lurking","lust","luxurious","luxury","lying","magic","magical","magnificent","mainstream","malicious","mammoth","manipulative","marked down","massive","master","masterclass","maul","mediocre","meditative","meltdown","memorability","memorable","menacing","mesmerizing","meticulous","mind-blowing","minimalist","miracle","mired","mischievous","misgiving","missing out","mistake","monetize","money","moneyback","moneygrubbing","monumental","most important","motivated","mouth-watering","murder","mystery","nail","naked","natural","naughty","nazi","nest egg","never","new","nightmare","no good","no obligation","no one talks about","no questions asked","no risk","no strings attached","non-controlling","noted","novelty","now","obnoxious","obsessed","obsession","obvious","odd","off-kilter","off-limits","off-the record","offensive","official","okay","on-demand","open-minded","opportunities","optimistic","ordeal","outlawed","outrageousness","outstanding","overcome","overjoyed","overnight","overwhelmed","packed","painful","painless","painstaking","pale","panic","panicked","paralyzed","pas","passionate","pathetic","pay zero","payback","perfect","peril","perplexed","perspective","pessimistic","pioneering","piranha","pitfall","pitiful","placid","plague","played","playful","pleased","pluck","plummet","plunge","poison","poisonous","polarizing","poor","popular","portfolio","pound","powerful","powerless","practical","preposterous","prestige","price","priceless","pride","prison","privacy","private","privileged","prize","problem","productive","professional","profit","profitable","profound","promiscuous","promising","promote","protect","protected","proven","provocative","provoke","psychological","pummel","punch","punish","pus","quadruple","quality","quarrelsome","quick","quick-start","quickly","quiet","radiant","rare","ravenous","rebellious","recession-proof","reckoning","recognized","recommend","recreate","reduced","reflective","refugee","refund","refundable","reject","relaxed","release","relentless","reliable","remarkable","replicate","report","reprimanding","repulsed","repulsive","research","resentful","resourceful","responsible","responsive","rested","restricted","results","retaliating","reveal","revealing","revenge","revengeful","revisited","revolting","revolutionary","reward","rich","ridiculous","risky","riveting","rookie","rowdy","ruin","rules","ruthless","sabotaging","sacred","sadistic","sadly","sadness","safe","safety","sale","sampler","sarcastic","satisfied","savage","savagery","save","savings","savvy","scam","scandal","scandalous","scarce","scared","scary","scornful","scream","searing","secret","secret agenda","secret plot","secrets","secure","security","seductive","seething","seize","selected","self-hating","self-sufficient","sensational","senseless","sensual","serene","seriously","severe","sex","sexy","shaking","shameful","shameless","shaming","shatter","shellacking","shocking","should","shrewd","sick and tired","signs","silly","simple","simplicity","simplified","simplistic","sincere","sinful","sins","six-figure","sizable","sizzle","sizzled","sizzles","sizzling","sizzlingly","skill","skyrocket","slaughter","slave","sleazy","sleeping","sly","smash","smiling","smug","smuggle","smuggled","sneak-peek","sneaky","sniveling","snob","snooty","snotty","soar","soaring","solid","solution","spank","special","spectacular","speedy","spell-binding","spine","spirit","spirited","spiteful","spoiler","spontaneous","spotlight","spunky","squirming","stable","staggering","startling","steady","steal","stealthy","steamy","step-by-step","still","stoic","stop","strange","strangle","strategy","stressed","strong","strongly suggest","struggle","stuck up","studies","stunning","stupid","stupid-simple","sturdy","sublime","succeed","success","successful","suck","suddenly","suffer","sunny","super","super-human","superb","supercharge","superior","supported","supportive","sure","sure fire","surefire","surge","surging","surprise","surprised","surprising","survival","survive","suspicious","sweaty","swoon","swoon-worthy","tailspin","tank","tantalizing","targeted","tawdry","tease","technology","teetering","tempting","tenacious","tense","terrible","terrific","terrified","terrifying","terror","terrorist","tested","thankful","the truth","threaten","threatened","thrilled","thrilling","thug","ticked off","tickled","timely","today","torture","toxic","track record","trade secret","tragedy","tragic","transform","transparency","trap","trapped","trauma","traumatized","treacherous","treasure","tremendous","trend","tricks","triggers","triple","triumph","truly","trusting","trustworthy","truth","truthful","turbo-charge","turbocharges","tweaks","twitching","ultimate","unadulterated","unassuming","unauthorized","unbelievable","unburdened","uncaring","uncensored","uncertain","uncomfortable","unconditional","uncontrollable","unconventional","uncovered","undeniable","under priced","undercover","underground","underhanded","underused","unexpected","unforgettable","unheard of","unhurried","uninterested","unique","unjustified","unknowingly","unleashed","unlimited","unlock","unparalleled","unpopular","unreliable","unresponsive","unseen","unstable","unstoppable","unsure","unsurpassed","untapped","unusual","up-sell","upbeat","uplifted","uplifting","urge","urgent","useful","useless","validate","valor","valuable","value","vanquish","vaporize","venomous","verify","vibrant","vicious","victim","victory","vigorous","vilified","vindictive","violated","violent","volatile","vulnerable","waiting","wanted","wanton","warning","waste","weak","wealth","weird","what no one tells you","whip","whopping","wicked","wild","willpower","withheld","wonderful","wondrous","woozy","world","worry","worst","worthwhile","wounded","wreaking","youthful","zen","zinger"],"diacritics":true,"researchesTests":["contentHasTOC","contentHasShortParagraphs","contentHasAssets","keywordInTitle","keywordInMetaDescription","keywordInPermalink","keywordIn10Percent","keywordInContent","keywordInSubheadings","keywordInImageAlt","keywordDensity","keywordNotUsed","lengthContent","lengthPermalink","linksHasInternal","linksHasExternals","linksNotAllExternals","titleStartWithKeyword","titleSentiment","titleHasPowerWords","titleHasNumber","hasContentAI"],"hasBreadcrumb":true,"serpData":{"title":"%sitename% %page% %sep% %sitedesc%","description":"","titleTemplate":"%sitename% %page% %sep% %sitedesc%","descriptionTemplate":"","focusKeywords":"","breadcrumbTitle":"Home","robots":{"index":true},"advancedRobots":[],"facebookTitle":"","facebookDescription":"","facebookImage":"","facebookImageID":""}}},"tocTitle":"Table of Contents","tocExcludeHeadings":[],"listStyle":"ul"},"_links":{"self":[{"href":"https:\/\/skyeredtechnology.de\/en\/wp-json\/wp\/v2\/pages\/14624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skyeredtechnology.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/skyeredtechnology.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/skyeredtechnology.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/skyeredtechnology.de\/en\/wp-json\/wp\/v2\/comments?post=14624"}],"version-history":[{"count":3,"href":"https:\/\/skyeredtechnology.de\/en\/wp-json\/wp\/v2\/pages\/14624\/revisions"}],"predecessor-version":[{"id":14996,"href":"https:\/\/skyeredtechnology.de\/en\/wp-json\/wp\/v2\/pages\/14624\/revisions\/14996"}],"up":[{"embeddable":true,"href":"https:\/\/skyeredtechnology.de\/en\/wp-json\/wp\/v2\/pages\/14379"}],"wp:attachment":[{"href":"https:\/\/skyeredtechnology.de\/en\/wp-json\/wp\/v2\/media?parent=14624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}