{"id":14742,"date":"2026-11-03T13:48:53","date_gmt":"2026-11-03T12:48:53","guid":{"rendered":"https:\/\/skyeredtechnology.de\/homepage-test\/en\/services-devops\/"},"modified":"2026-11-03T14:51:48","modified_gmt":"2026-11-03T13:51:48","slug":"services-devops","status":"publish","type":"page","link":"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services-devops\/","title":{"rendered":"DevOps | 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\">Skip to content<\/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\/en\/\" aria-label=\"Sky-E Red Technology: Home\">\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=\"Main navigation\">\n      <ul class=\"nav__list\">\n        <li class=\"nav__item nav__item--has-menu\" data-section=\"services\" data-current>\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\/en\/services-devops\/\" aria-current=\"page\">DevOps<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services-cloud\/\">Cloud<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services-ai-workflow-automation\/\">AI Workflow Automation<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/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\/en\/services-it-fusion-effekt\/\">Sky-E Red Fusion<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services-freelance-outsourcing\/\">Freelancing<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services-code-red-academy\/\">Code Red Academy<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/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\/en\/ueber-uns\/\">About us<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services\/\">What we do<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/blog\/\">Blog<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/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\/en\/karriere\/\">Career at Sky-E Red<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/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\/en\/projekte\/\">Projects \u2192<\/a><\/li>\n            <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/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\/en\/blog\/\">Blog<\/a><\/li>\n        <li class=\"nav__item\"><a class=\"nav__link\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/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\/en\/kontakt\/\">Contact us<\/a>\n      <a class=\"lang-switch\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/services-devops\/\" hreflang=\"de\" lang=\"de\"><img decoding=\"async\" src=\"https:\/\/skyeredtechnology.de\/wp-content\/uploads\/2026\/11\/ser-remake-de_DE.png\" alt=\"de_DE\" width=\"24\" height=\"24\"><span class=\"sr-only\">German<\/span><\/a>\n      <button class=\"burger\" type=\"button\" aria-expanded=\"false\" aria-controls=\"mobile-nav\" aria-label=\"Open menu\"><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\/en\/services-devops\/\" aria-current=\"page\">DevOps<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services-cloud\/\">Cloud<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services-ai-workflow-automation\/\">AI Workflow Automation<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/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\/en\/services-it-fusion-effekt\/\">Sky-E Red Fusion<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services-freelance-outsourcing\/\">Freelancing<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services-code-red-academy\/\">Code Red Academy<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/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\/en\/ueber-uns\/\">About us<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services\/\">What we do<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/blog\/\">Blog<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/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\/en\/karriere\/\">Career at Sky-E Red<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/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\/en\/projekte\/\">Projects \u2192<\/a><\/li>\n          <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/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\/en\/blog\/\">Blog<\/a><\/li>\n      <li><a class=\"mobile-nav__link\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/projekte\/\">Success stories<\/a><\/li>\n    <\/ul>\n    <a class=\"btn btn--lg\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/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>DevOps<\/h1>\n    <p class=\"lead\">Where Code Meets Cloud, CI\/CD for Continuous Excellence.\u00a0<\/p>\n    <div class=\"btn-row\"><a class=\"btn btn--lg\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/kontakt\/\">Make an appointment<\/a><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section\">\n  <div class=\"container\">\n    <div class=\"section__head\"><h2>Key figures<\/h2><\/div>\n<ul class=\"figures figures--3\"><li><span class=\"figures__value\">\u2191 40 %<\/span><p class=\"figures__text\">shorter time-to-market thanks to faster deployment.<\/p><\/li><li><span class=\"figures__value\">\u221298 %<\/span><p class=\"figures__text\">fewer failures for more stability.<\/p><\/li><li><span class=\"figures__value\">\u2193 50 %<\/span><p class=\"figures__text\">Savings on infrastructure management costs.<\/p><\/li><\/ul>\n  <\/div>\n<\/section>\n\n<section class=\"section section--alt\">\n  <div class=\"container\">\n    <div class=\"section__head\"><h2>Our DevOps expertise + your IT infrastructure = the dream team for digital excellence<\/h2><\/div>\n    <div class=\"prose\"><p>We get your IT up and running, not at a snail&#8217;s pace, but in sprint mode. From automated processes and smooth updates to lightning-fast troubleshooting: with us, your IT stays in flow. Concentrate on what really matters, we&#8217;ll take care of the technology!\u00a0<\/p> <p><br><\/p><p>We bring a breath of fresh air to your IT with proven DevOps technologies and vendor-neutral advice to find the best solution for you:\u00a0<\/p> <p><strong>Container<\/strong>: Scalable container orchestration with Kubernetes and Docker.<\/p> <p><strong>Platforms<\/strong>On-premises or cloud: we make your infrastructure fit for the future.\u00a0<\/p> <p><strong>Infrastructure as Code<\/strong>Automation with Ansible, Terraform and Helm.<\/p> <p><strong>Transparency<\/strong>Monitoring tools for full transparency: Prometheus, Grafana and ELK.<\/p> <p><strong>CI\/CD<\/strong>Continuous flow with GitHub, Jenkins and Azure DevOps.<\/p><p><br><\/p><p>Our experts are at your side to implement and adapt these technologies, so that your IT infrastructure shines!\u00a0<\/p><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section\">\n  <div class=\"container\">\n    <div class=\"section__head\"><h2>DevOps in action<\/h2><p><strong>Faster provision of new features<\/strong><br>Imagine you have an idea for a new feature. Thanks to automated testing and an optimized CI\/CD pipeline, this feature is developed, tested and delivered faster, often within hours or days instead of months. This keeps you innovative and allows you to respond more quickly to customer requests.<\/p><p><strong>Efficient scaling for peak loads<\/strong><br>Whether it&#8217;s Black Friday or a sudden increase in user numbers: With DevOps and cloud integration, your IT infrastructure scales flexibly and automatically. The implementation of container solutions such as Kubernetes ensures that your systems remain stable and efficient even with high traffic.<\/p><p><strong>Increased security with DevSecOps<\/strong><br>Security is integrated right from the start: Automated security checks and proactive vulnerability analyses detect risks at an early stage. This makes the entire IT environment more secure without developers having to put in any extra effort, compliance and security run in the background.<\/p><p><strong>Fast troubleshooting and stability<\/strong><br>Downtime is stressful, but not with DevOps! Automated monitoring tools like Grafana and Prometheus report outages immediately, and our fast recovery processes minimize downtime. Your team can rely on errors being detected and fixed quickly, often before your customers even notice.<\/p><p><strong>Cost reduction through optimized resources<\/strong><br>Automated resource management and dynamic scaling reduce server and maintenance costs. Infrastructure as Code (IaC) also ensures that your entire infrastructure remains clear, reproducible and easily adaptable, saving time and costs.<\/p><p><strong>Continuous improvement and innovation<\/strong><br>With DevOps, you create the basis for continuous optimization of your products and services. Regular, small updates instead of large, infrequent releases ensure that your applications are always up to date, this not only increases customer satisfaction, but also strengthens your market position.\u00a0<\/p><\/div>\n<figure class=\"media-figure\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/skyeredtechnology.de\/wp-content\/uploads\/2026\/11\/ser-remake-New-DevOps-Graphic-e1732527692258-1024x755-1.jpg\" alt=\"\" width=\"800\" height=\"590\"><\/figure>\n<div class=\"btn-row\"><a class=\"btn btn--lg\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/projekte\/\">Discover DevOps use cases<\/a><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section section--alt\">\n  <div class=\"container\">\n    <div class=\"section__head\"><h2>Why outsource DevOps? Because even Jedi masters don&#8217;t do everything on their own!<\/h2><\/div>\n    <div class=\"prose\"><p>Outsourcing DevOps to can provide companies with impressive returns on investment (ROI) by realizing faster delivery times, improved operational efficiency and significant cost savings. But numbers explain it better than we do:<\/p><p><strong>30% to 50% Productivity increase<\/strong><br>By optimizing CI\/CD processes and automating routine tasks, developers focus on innovation, enabling productivity gains and shorter product development cycles.<\/p><p><strong>20% to 30% higher deployment frequency<\/strong><br>Outsourced DevOps increases the frequency of deployments so that updates are delivered to customers faster and more reliably.<\/p><p><strong>ROI of 200% to 300% in 3 years<\/strong><br>Through lower operating costs, fewer errors and faster delivery times, DevOps outsourcing achieves long-term ROI increases.<\/p><p><strong>Up to 75% fewer security incidents<\/strong><br>The integration of DevSecOps and automated security processes significantly reduces security incidents.<\/p><p><strong>70% shorter recovery times<\/strong><br>Proactive monitoring and fast recovery protocols reduce MTTR by up to 70%, allowing systems to recover faster.<\/p><p><strong>45% lower total cost of ownership (TCO)<\/strong><br>The consolidation of tools and the optimization of processes significantly reduce the overall costs for DevOps infrastructure and processes.<\/p><p><strong>20% to 25% Higher customer satisfaction<\/strong><br>Improved releases and faster bug fixes increase customer satisfaction through an optimized user experience.<\/p><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section\">\n  <div class=\"container\">\n    <div class=\"section__head\"><h2>360-degree DevOps expertise<\/h2><\/div>\n    <div class=\"prose\"><p>What is DevOps? DevOps combines &#8222;development&#8220; and &#8222;operations&#8220; and stands for a way of working in IT: instead of developer and operations teams working in isolation from each other as in the past, they merge into one strong team. The aim is to provide software faster, more securely and more efficiently. People, processes and tools are connected in such a way that software is delivered to customers faster, with fewer errors and better stability, time and time again!\u00a0<\/p><p>Our experience covers the entire DevOps spectrum:\u00a0<\/p><p>From <strong>Container orchestration<\/strong> (Docker, Kubernetes) via <strong>Automated infrastructure<\/strong> (Infrastructure as Code with Ansible and Terraform) through to <strong>Observability tools<\/strong> (Grafana, Prometheus), we design your IT environment so that everything is optimally integrated.\u00a0<\/p><p>We automate processes, increase stability and create scope for innovation for your team. In short: with our DevOps 360\u00b0 approach, you get the best of development, operation and automation, all from a single source and tailored precisely to your requirements.\u00a0<\/p><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section section--alt\">\n  <div class=\"container\">\n    <div class=\"section__head\"><h2>Discover the Synergies: Taking DevOps to the next level<\/h2><p>DevOps on its own is impressive, but have you experienced what happens when you combine it with the latest technologies? Discover how the combination of DevOps, cloud and AI-powered automation can make your IT more agile and flexible.\u00a0<\/p><p><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services-cloud\/\"><strong>DevOps + cloud computing<\/strong>\u00a0<\/a><\/p><p>DevOps and cloud computing form an unbeatable combination that enables flexibility, scalability and efficiency. We integrate cloud platforms such as AWS, Azure and Google Cloud into our DevOps processes to build dynamic and resilient infrastructures. This allows companies to deploy applications faster and adapt to market changes while reducing maintenance costs.\u00a0<\/p><p><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services-ai-workflow-automation\/\"><strong>DevOps + AI Workflow Automation<\/strong><\/a><\/p><p>By integrating artificial intelligence, we are expanding our DevOps expertise with the ability to intelligently automate workflows. Through machine learning models and automated decision-making processes, we increase efficiency and make informed, data-driven decisions. Our AI-supported solutions offer predictive analytics for better error forecasts, dynamic adaptation of resources and optimized development cycles.\u00a0<\/p><p><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services-enterprise-game-solutions\/\"><strong>Enterprise Game Solutions + Gamification in DevOps\u00a0<\/strong><\/a><\/p><p>We use gamification approaches in DevOps projects to motivate teams and lower the learning curve for new processes. Enterprise Game Solutions provide interactive learning environments that teach complex DevOps concepts in a practical context. Game-based training and simulations improve collaboration and promote a unified, agile culture.\u00a0<\/p><\/div>\n<div class=\"btn-row\"><a class=\"btn btn--lg\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services-it-fusion-effekt\/\">Discover the Sky-E Red Fusion<\/a><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"section\">\n  <div class=\"container\">\n    <div class=\"section__head\"><h2>Agility and efficiency<\/h2><p>With our expertise in cloud computing, DevOps, AI workflows and enterprise gaming solutions, we offer customized integrations that optimize your processes and ensure continued success. We believe that it&#8217;s not just about the technology itself, but about the people who shape it.\u00a0<\/p><\/div>\n<div class=\"btn-row\"><a class=\"btn btn--lg\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/ueber-uns\/\">About us<\/a>\n<a class=\"btn btn--lg btn--outline\" href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/karriere\/\">Career<\/a><\/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\/en\/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\/en\/\"><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\">\u201cSky-E Red: Masters of Cloud and DevOps, Game Innovators, and Certified IT Educators.\u201d<\/p>\n    <\/div>\n    <nav class=\"footer-nav\" aria-label=\"Footer navigation\">\n      <ul class=\"footer-links\">\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/\">Home<\/a><\/li>\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/services\/\">What we do<\/a><\/li>\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/projekte\/\">Success stories<\/a><\/li>\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/ueber-uns\/\">About us<\/a><\/li>\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/blog\/\">Blog<\/a><\/li>\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/impressum\/\">Imprint<\/a><\/li>\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/datenschutz\/\">Data protection<\/a><\/li>\n        <li><a href=\"https:\/\/skyeredtechnology.de\/en\/homepage-test\/en\/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>Skip to content What we do What we do DevOps Cloud AI Workflow Automation Enterprise Game Solutions Specials Sky-E Red Fusion Freelancing Code Red Academy TechBoost Bundles Who we are About us About us What we do Blog Webinar Become part of our community LinkedIn Instagram TikTok Threads Career Career at Sky-E Red Career as [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":14695,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"content-type":"","footnotes":""},"class_list":["post-14742","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":"services-devops","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":14742,"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%2F14742%3Fnonce%3D090f628d49","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\/14742","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=14742"}],"version-history":[{"count":3,"href":"https:\/\/skyeredtechnology.de\/en\/wp-json\/wp\/v2\/pages\/14742\/revisions"}],"predecessor-version":[{"id":15058,"href":"https:\/\/skyeredtechnology.de\/en\/wp-json\/wp\/v2\/pages\/14742\/revisions\/15058"}],"up":[{"embeddable":true,"href":"https:\/\/skyeredtechnology.de\/en\/wp-json\/wp\/v2\/pages\/14695"}],"wp:attachment":[{"href":"https:\/\/skyeredtechnology.de\/en\/wp-json\/wp\/v2\/media?parent=14742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}