{"id":2506,"date":"2026-04-14T18:26:15","date_gmt":"2026-04-14T16:26:15","guid":{"rendered":"https:\/\/fractionista.com\/job-board\/"},"modified":"2026-06-23T18:45:24","modified_gmt":"2026-06-23T16:45:24","slug":"job-board","status":"publish","type":"page","link":"https:\/\/fractionista.com\/de\/job-board\/","title":{"rendered":"Job Board"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2506\" class=\"elementor elementor-2506 elementor-498\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c6f236d e-flex e-con-boxed e-con e-parent\" data-id=\"c6f236d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;background_motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;background_motion_fx_blur_effect&quot;:&quot;yes&quot;,&quot;background_motion_fx_blur_direction&quot;:&quot;in-out&quot;,&quot;background_motion_fx_blur_level&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:4,&quot;sizes&quot;:[]},&quot;background_motion_fx_blur_range&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:38,&quot;end&quot;:54}},&quot;background_motion_fx_scale_effect&quot;:&quot;yes&quot;,&quot;background_motion_fx_scale_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:1,&quot;sizes&quot;:[]},&quot;shape_divider_bottom&quot;:&quot;triangle-asymmetrical&quot;,&quot;shape_divider_bottom_negative&quot;:&quot;yes&quot;,&quot;background_motion_fx_scale_direction&quot;:&quot;out-in&quot;,&quot;background_motion_fx_scale_range&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:20,&quot;end&quot;:80}},&quot;background_motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;]}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-shape elementor-shape-bottom\" aria-hidden=\"true\" data-negative=\"true\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1000 100\" preserveAspectRatio=\"none\">\n\t<path class=\"elementor-shape-fill\" d=\"M737.9,94.7L0,0v100h1000V0L737.9,94.7z\"\/>\n<\/svg>\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-feec85d elementor-widget elementor-widget-heading\" data-id=\"feec85d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Offene Fractional Rollen in Europa<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5cfb780 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"5cfb780\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Aktive Mandate von europ\u00e4ischen Unternehmen. Jede Rolle gepr\u00fcft auf Umfang, Seniorit\u00e4t und Fit.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cd55f1c e-flex e-con-boxed e-con e-parent\" data-id=\"cd55f1c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;shape_divider_bottom&quot;:&quot;opacity-tilt&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-shape elementor-shape-bottom\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 2600 131.1\" preserveAspectRatio=\"none\">\n\t<path class=\"elementor-shape-fill\" d=\"M0 0L2600 0 2600 69.1 0 0z\"\/>\n\t<path class=\"elementor-shape-fill\" style=\"opacity:0.5\" d=\"M0 0L2600 0 2600 69.1 0 69.1z\"\/>\n\t<path class=\"elementor-shape-fill\" style=\"opacity:0.25\" d=\"M2600 0L0 0 0 130.1 2600 69.1z\"\/>\n<\/svg>\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4085e29 elementor-widget elementor-widget-heading\" data-id=\"4085e29\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00dcber dieses Job Board<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-50b0546 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"50b0546\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Fractionista ist der kuratierte europ\u00e4ische Marktplatz f\u00fcr fractional und interim C-Level-F\u00fchrungskr\u00e4fte. Unternehmen ver\u00f6ffentlichen gepr\u00fcfte Mandate f\u00fcr Rollen wie Fractional CFO, CMO, CTO, COO, CPO, CHRO sowie Advisory-Rollen. Jede Rolle wird auf Umfang, Seniorit\u00e4t und Fit gepr\u00fcft, bevor sie live geht. F\u00fchrungskr\u00e4fte auf unserer Plattform sind in DACH, Benelux, den Nordics und ganz Europa ans\u00e4ssig und auf Teilzeit- oder Projektbasis verf\u00fcgbar. Durchsuche die offenen Mandate unten, filtere nach Rollentyp und Land und direkt Kontakt \u00fcber deinen Fractionista-Account auf.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b2846fc e-flex e-con-boxed e-con e-parent\" data-id=\"b2846fc\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-02434c2 elementor-widget elementor-widget-heading\" data-id=\"02434c2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Offene Rollen entdecken<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aa04433 elementor-widget elementor-widget-html\" data-id=\"aa04433\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!--\r\n  Fractionista \u2014 Public Offers Widget for WordPress\r\n  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n  Self-contained: paste this entire block into a WordPress \"Custom HTML\" block\r\n  (or Elementor HTML widget) on any page of fractionista.com.\r\n\r\n  No build step, no external dependencies. All CSS classes are prefixed `frx-`\r\n  and scoped under `#frx-offers-widget` so they will not collide with the theme.\r\n\r\n  Data source: https:\/\/app.fractionista.com\/api\/public\/offers\r\n  (CORS is whitelisted for fractionista.com and www.fractionista.com.)\r\n\r\n  CTA target: https:\/\/app.fractionista.com\/auth\/login\r\n  Change FRX_CTA_URL below if you want cards to deep-link elsewhere.\r\n\r\n  Parametrization (set on the root <div> as data-* attributes):\r\n    data-show-headline         \"true\" | \"false\"  (default: true)\r\n    data-show-filter           \"true\" | \"false\"  (default: true)\r\n    data-show-more-jobs-info   \"true\" | \"false\"  (default: true)\r\n    data-show-preview-notice   \"true\" | \"false\"  (default: true)\r\n    data-show-demo-listings    \"true\" | \"false\"  (default: false)\r\n    data-max-displayed-offers  number 1\u201350       (default: 6)\r\n\r\n  Demo listings: offers with `is_demo = true` (created by \/api\/test-offer)\r\n  are filtered out by default. Set `data-show-demo-listings=\"true\"` to\r\n  render them \u2014 they appear with the regular card layout, lightly blurred,\r\n  and tagged with a \"Demo offer only\" pill so they cannot be mistaken for\r\n  live mandates.\r\n\r\n  The preview-notice copy and waitlist link are inline HTML inside the\r\n  .frx-preview-notice div \u2014 edit them directly in your WP paste to match\r\n  your launch timing and waitlist URL.\r\n-->\r\n\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600&display=swap\" rel=\"stylesheet\">\r\n\r\n<div id=\"frx-offers-widget\" data-api=\"https:\/\/app.fractionista.com\/api\/public\/offers\" data-show-headline=\"false\" data-show-filter=\"true\" data-show-more-jobs-info=\"true\" data-show-preview-notice=\"true\" data-show-demo-listings=\"false\" data-max-displayed-offers=\"6\">\r\n  <h2 class=\"frx-headline\">Rollen werden geladen\u2026<\/h2>\r\n  <div class=\"frx-filters\">\r\n     <select class=\"frx-filter\" data-filter=\"roles\" aria-label=\"Role\">\r\n<option value=\"\">Alle Rollen<\/option>\r\n<\/select>\r\n<select class=\"frx-filter\" data-filter=\"country\" aria-label=\"Country\">\r\n<option value=\"\">Alle L\u00e4nder<\/option>\r\n<\/select> \r\n  <\/div>\r\n\r\n  <hr class=\"frx-divider\">\r\n  <div class=\"frx-status\" role=\"status\" aria-live=\"polite\"><\/div>\r\n  <div class=\"frx-grid\"><\/div>\r\n  <div class=\"frx-preview-notice\">\r\n    <span>Vorschau: Beispielrollen werden angezeigt. Echte Mandate starten bald \u2013 <a href=\"https:\/\/app.fractionista.com\/auth\/login\">melde dich an<\/a>, um benachrichtigt zu werden.<\/span>\r\n  <\/div>\r\n  <div class=\"frx-more-info\"><\/div>\r\n<\/div>\r\n\r\n<style>\r\n  #frx-offers-widget {\r\n    --frx-navy-900: #0F2B3C;\r\n    --frx-navy-700: #1B4965;\r\n    --frx-navy-500: #2A6F97;\r\n    --frx-teal-400: #5FA8D3;\r\n    --frx-border: #E2E8F0;\r\n    --frx-muted: #64748B;\r\n    --frx-bg: #F8FAFC;\r\n    font-family: \"DM Sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\r\n    color: var(--frx-navy-900);\r\n    width: 100%;\r\n    padding: 8px;\r\n  }\r\n  #frx-offers-widget *, #frx-offers-widget *::before, #frx-offers-widget *::after { box-sizing: border-box; }\r\n\r\n  #frx-offers-widget .frx-headline {\r\n    font-size: 22px;\r\n    font-weight: 600;\r\n    color: var(--frx-navy-900);\r\n    margin: 0 0 16px;\r\n    line-height: 1.3;\r\n    text-align: center !important;\r\n  }\r\n  #frx-offers-widget .frx-headline:empty {\r\n    display: none;\r\n  }\r\n\r\n  #frx-offers-widget .frx-filters {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    justify-content: center;\r\n    gap: 12px;\r\n    margin-bottom: 20px;\r\n  }\r\n  #frx-offers-widget .frx-filter {\r\n    flex: 0 0 auto;\r\n    padding: 10px 12px;\r\n    font-size: 14px;\r\n    color: var(--frx-navy-900);\r\n    background: #fff;\r\n    border: 1px solid var(--frx-border);\r\n    border-radius: 8px;\r\n    appearance: none;\r\n    -webkit-appearance: none;\r\n    background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%231B4965' d='M6 8L1 3h10z'\/><\/svg>\");\r\n    background-repeat: no-repeat;\r\n    background-position: right 12px center;\r\n    padding-right: 32px;\r\n  }\r\n  #frx-offers-widget .frx-filter:focus {\r\n    outline: none;\r\n    border-color: var(--frx-navy-500);\r\n    box-shadow: 0 0 0 3px rgba(42, 111, 151, 0.15);\r\n  }\r\n\r\n  #frx-offers-widget .frx-status {\r\n    font-size: 14px;\r\n    color: var(--frx-muted);\r\n    margin-bottom: 12px;\r\n    min-height: 20px;\r\n  }\r\n  #frx-offers-widget .frx-status:empty {\r\n    display: none;\r\n  }\r\n  #frx-offers-widget .frx-status.frx-error { color: #B91C1C; }\r\n\r\n  #frx-offers-widget .frx-divider {\r\n    border: 0;\r\n    height: 1px;\r\n    background: var(--frx-border);\r\n    width: 100%;\r\n    margin: 20px 0;\r\n  }\r\n\r\n  #frx-offers-widget .frx-preview-notice {\r\n    display: flex;\r\n    justify-content: center;\r\n    padding: 8px 16px;\r\n    margin-top: 16px;\r\n    font-size: 12px;\r\n    color: #94A3B8;\r\n    line-height: 1.5;\r\n    text-align: center;\r\n  }\r\n  #frx-offers-widget .frx-preview-notice a {\r\n    color: var(--frx-navy-500);\r\n    text-decoration: underline;\r\n    font-weight: 500;\r\n  }\r\n  #frx-offers-widget .frx-preview-notice a:hover {\r\n    color: var(--frx-navy-700);\r\n  }\r\n\r\n  #frx-offers-widget .frx-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\r\n    align-items: start;\r\n    gap: 16px;\r\n  }\r\n\r\n  #frx-offers-widget .frx-card {\r\n    position: relative;\r\n    display: flex;\r\n    flex-direction: column;\r\n    background: #fff;\r\n    border: 1px solid var(--frx-border);\r\n    border-radius: 12px;\r\n    padding: 20px 20px 12px;\r\n    text-decoration: none;\r\n    color: inherit;\r\n    cursor: pointer;\r\n    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease, background-color 0.15s ease;\r\n  }\r\n  #frx-offers-widget .frx-card > .frx-tag-new {\r\n    position: absolute;\r\n    top: -7px;\r\n    left: -6px;\r\n    padding: 2px 9px;\r\n    font-size: 10px;\r\n    font-weight: 600;\r\n    letter-spacing: 0.02em;\r\n    box-shadow: 0 2px 6px rgba(15, 43, 60, 0.15);\r\n    z-index: 1;\r\n  }\r\n  #frx-offers-widget .frx-card:hover {\r\n    border-color: var(--frx-navy-500);\r\n    background-color: #F8FBFD;\r\n    box-shadow: 0 6px 20px rgba(15, 43, 60, 0.10);\r\n    transform: translateY(-2px);\r\n  }\r\n  #frx-offers-widget .frx-card:active {\r\n    transform: translateY(0);\r\n    box-shadow: 0 2px 8px rgba(15, 43, 60, 0.08);\r\n  }\r\n  #frx-offers-widget .frx-card:focus-visible {\r\n    outline: none;\r\n    border-color: var(--frx-navy-500);\r\n    box-shadow: 0 0 0 3px rgba(42, 111, 151, 0.25);\r\n  }\r\n\r\n  #frx-offers-widget .frx-title {\r\n    font-size: 17px;\r\n    font-weight: 600;\r\n    color: var(--frx-navy-900);\r\n    line-height: 1.35;\r\n    margin: 0 0 12px;\r\n    \/* Keep titles on a single line; long ones truncate with an ellipsis\r\n       so card heights stay uniform across the grid. *\/\r\n    white-space: nowrap;\r\n    overflow: hidden;\r\n    text-overflow: ellipsis;\r\n    \/* The card is a flex column with shrinkable text children; force the\r\n       title to participate in shrinking so the ellipsis actually kicks\r\n       in instead of overflowing its parent. *\/\r\n    min-width: 0;\r\n    max-width: 100%;\r\n  }\r\n\r\n  #frx-offers-widget .frx-tags {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    gap: 6px;\r\n    margin-bottom: 14px;\r\n  }\r\n  #frx-offers-widget .frx-tag {\r\n    display: inline-block;\r\n    padding: 3px 10px;\r\n    font-size: 12px;\r\n    font-weight: 500;\r\n    color: var(--frx-navy-700);\r\n    background: #EFF6FB;\r\n    border-radius: 999px;\r\n  }\r\n  #frx-offers-widget .frx-tag-new {\r\n    color: #047857;\r\n    background: #ECFDF5;\r\n  }\r\n  #frx-offers-widget .frx-tag-other {\r\n    color: #B45309;\r\n    background: #FFFBEB;\r\n  }\r\n\r\n  #frx-offers-widget .frx-location {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 6px;\r\n    font-size: 13px;\r\n    color: var(--frx-muted);\r\n    margin-bottom: 2px;\r\n  }\r\n  #frx-offers-widget .frx-location svg {\r\n    flex-shrink: 0;\r\n    color: var(--frx-navy-500);\r\n  }\r\n\r\n  #frx-offers-widget .frx-summary {\r\n    display: flex;\r\n    align-items: flex-start;\r\n    gap: 6px;\r\n    font-size: 13px;\r\n    color: var(--frx-muted);\r\n    line-height: 1.5;\r\n  }\r\n  #frx-offers-widget .frx-summary svg {\r\n    flex-shrink: 0;\r\n    margin-top: 2px;\r\n    color: var(--frx-navy-500);\r\n  }\r\n\r\n  #frx-offers-widget .frx-posted {\r\n    font-size: 12px;\r\n    color: var(--frx-muted);\r\n    margin-top: 12px;\r\n    padding-top: 12px;\r\n    border-top: 1px solid var(--frx-border);\r\n    font-style: italic;\r\n  }\r\n\r\n  #frx-offers-widget .frx-more-info {\r\n    margin-top: 28px;\r\n    text-align: center;\r\n  }\r\n  #frx-offers-widget .frx-more-info:empty {\r\n    display: none;\r\n  }\r\n  #frx-offers-widget .frx-more-info a {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    padding: 12px 24px;\r\n    font-size: 14px;\r\n    font-weight: 500;\r\n    color: #fff !important;\r\n    background: var(--frx-navy-700);\r\n    border-radius: 8px;\r\n    text-decoration: none !important;\r\n    transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;\r\n  }\r\n  #frx-offers-widget .frx-more-info a:hover {\r\n    background: var(--frx-navy-900);\r\n    transform: translateY(-1px);\r\n    box-shadow: 0 4px 12px rgba(15, 43, 60, 0.15);\r\n  }\r\n  #frx-offers-widget .frx-more-info a:active {\r\n    transform: translateY(0);\r\n  }\r\n\r\n  \/* Skeleton loading cards \u2014 shown while the API request is in flight.\r\n     Matches the real card shape so the layout doesn't jump when offers\r\n     arrive. Bar widths intentionally vary to feel less mechanical. *\/\r\n  @keyframes frx-shimmer {\r\n    0%   { background-position: 200% 0; }\r\n    100% { background-position: -200% 0; }\r\n  }\r\n  #frx-offers-widget .frx-card.frx-skel {\r\n    pointer-events: none;\r\n    cursor: default;\r\n    background: #fff;\r\n  }\r\n  #frx-offers-widget .frx-card.frx-skel:hover {\r\n    border-color: var(--frx-border);\r\n    transform: none;\r\n    box-shadow: none;\r\n  }\r\n  #frx-offers-widget .frx-skel-bar {\r\n    display: block;\r\n    height: 12px;\r\n    border-radius: 6px;\r\n    background: linear-gradient(90deg, #f1f5f9 0%, #e2e8f0 50%, #f1f5f9 100%);\r\n    background-size: 200% 100%;\r\n    animation: frx-shimmer 1.4s ease-in-out infinite;\r\n  }\r\n  #frx-offers-widget .frx-skel-title { height: 18px; width: 78%; margin-bottom: 14px; }\r\n  #frx-offers-widget .frx-skel-tag   { height: 22px; width: 38%; border-radius: 999px; margin-bottom: 14px; }\r\n  #frx-offers-widget .frx-skel-line  { width: 62%; margin-bottom: 8px; }\r\n  #frx-offers-widget .frx-skel-line.short { width: 48%; }\r\n  #frx-offers-widget .frx-skel-line.last  { width: 32%; margin-bottom: 0; }\r\n\r\n  \/* CTA card \u2014 replaces a regular offer card slot with a two-zone promo:\r\n     cream \"value-prop\" zone on top, dark navy CTA strip below, separated\r\n     by an angled cut. Always rendered as the last grid slot by\r\n     renderCtaCard() in the JS. *\/\r\n  #frx-offers-widget .frx-card.frx-cta-card {\r\n    padding: 0;\r\n    border: none;\r\n    overflow: hidden;\r\n    background: transparent;\r\n  }\r\n  #frx-offers-widget .frx-card.frx-cta-card:hover {\r\n    border-color: transparent;\r\n    background: transparent;\r\n  }\r\n  #frx-offers-widget .frx-cta-top {\r\n    background: #FAF1E1;\r\n    padding: 22px 20px 48px;\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: center;\r\n    min-height: 150px;\r\n  }\r\n  #frx-offers-widget .frx-cta-pill {\r\n    display: inline-block;\r\n    background: #DCFCE7;\r\n    color: #166534;\r\n    font-size: 11px;\r\n    font-weight: 700;\r\n    letter-spacing: 0.08em;\r\n    text-transform: uppercase;\r\n    padding: 4px 12px;\r\n    border-radius: 999px;\r\n    margin-bottom: 14px;\r\n  }\r\n  #frx-offers-widget .frx-cta-eyebrow {\r\n    font-size: 11px;\r\n    font-weight: 600;\r\n    letter-spacing: 0.18em;\r\n    color: #B45309;\r\n    margin: 0 0 6px;\r\n    text-transform: uppercase;\r\n  }\r\n  #frx-offers-widget .frx-cta-title {\r\n    font-size: 19px;\r\n    font-weight: 700;\r\n    color: var(--frx-navy-900);\r\n    line-height: 1.25;\r\n    margin: 0;\r\n  }\r\n  #frx-offers-widget .frx-cta-bottom {\r\n    background: var(--frx-navy-900);\r\n    \/* Diagonal cut: top edge slopes from low-left to high-right. The negative\r\n       margin pulls this strip up to overlap the cream zone, so the slope\r\n       carves into the bottom of the cream area. *\/\r\n    margin-top: -26px;\r\n    padding: 38px 18px 14px;\r\n    clip-path: polygon(0 35%, 100% 0%, 100% 100%, 0% 100%);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    gap: 12px;\r\n  }\r\n  #frx-offers-widget .frx-cta-meta {\r\n    font-size: 12px;\r\n    color: #CBD5E1;\r\n    margin: 0;\r\n    flex: 1;\r\n    line-height: 1.4;\r\n  }\r\n  #frx-offers-widget .frx-cta-btn {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 6px;\r\n    padding: 8px 14px;\r\n    background: #F59E0B;\r\n    color: #0F2B3C;\r\n    font-size: 13px;\r\n    font-weight: 600;\r\n    border-radius: 8px;\r\n    flex-shrink: 0;\r\n    transition: background-color 0.15s ease;\r\n  }\r\n  #frx-offers-widget .frx-card.frx-cta-card:hover .frx-cta-btn {\r\n    background: #F4A416;\r\n  }\r\n\r\n  \/* Per-card \"Details\" button. Lives at the bottom of every role card\r\n     and points at the public \/o\/<id> detail page. Subtle until hover\r\n     so it doesn't visually compete with the card itself. *\/\r\n  #frx-offers-widget .frx-details-btn {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 4px;\r\n    margin-top: 12px;\r\n    padding: 6px 10px;\r\n    align-self: flex-start;\r\n    background: transparent;\r\n    border: 1px solid var(--frx-border);\r\n    color: var(--frx-navy-700);\r\n    font-size: 12px;\r\n    font-weight: 600;\r\n    border-radius: 6px;\r\n    transition: background-color 0.15s ease, border-color 0.15s ease;\r\n  }\r\n  #frx-offers-widget .frx-card:hover .frx-details-btn {\r\n    background: var(--frx-navy-700);\r\n    border-color: var(--frx-navy-700);\r\n    color: #ffffff;\r\n  }\r\n\r\n  \/* Demo data offer \u2014 when data-show-demo-listings is on, offers with\r\n     is_demo=true render with the regular card layout but visually marked:\r\n     a sharp \"Demo offer only\" pill in the top-right corner, and the body\r\n     content lightly blurred so they cannot be mistaken for live mandates.\r\n     Both the demo tag and the New tag are excluded from the blur so they\r\n     stay legible. *\/\r\n  #frx-offers-widget .frx-card.frx-demo > .frx-demo-tag {\r\n    position: absolute;\r\n    top: -7px;\r\n    right: -6px;\r\n    padding: 2px 9px;\r\n    font-size: 10px;\r\n    font-weight: 600;\r\n    letter-spacing: 0.04em;\r\n    text-transform: uppercase;\r\n    color: #B45309;\r\n    background: #FFFBEB;\r\n    border: 1px solid #F59E0B;\r\n    border-radius: 999px;\r\n    box-shadow: 0 2px 6px rgba(15, 43, 60, 0.15);\r\n    z-index: 2;\r\n  }\r\n  #frx-offers-widget .frx-card.frx-demo > *:not(.frx-demo-tag):not(.frx-tag-new) {\r\n    filter: blur(0.8px);\r\n    opacity: 0.5;\r\n  }\r\n\r\n  #frx-offers-widget .frx-empty {\r\n    grid-column: 1 \/ -1;\r\n    padding: 40px 20px;\r\n    text-align: center;\r\n    color: var(--frx-muted);\r\n    background: var(--frx-bg);\r\n    border: 1px dashed var(--frx-border);\r\n    border-radius: 12px;\r\n  }\r\n\r\n  \/* Mobile: tighter vertical spacing *\/\r\n  @media (max-width: 640px) {\r\n    #frx-offers-widget .frx-headline { font-size: 18px; margin-bottom: 10px; }\r\n    #frx-offers-widget .frx-filters { gap: 8px; margin-bottom: 12px; }\r\n    #frx-offers-widget .frx-divider { margin: 12px 0; }\r\n    #frx-offers-widget .frx-grid { gap: 10px; }\r\n    #frx-offers-widget .frx-card { padding: 14px 14px 8px; border-radius: 10px; }\r\n    #frx-offers-widget .frx-title { font-size: 15px; margin-bottom: 8px; }\r\n    #frx-offers-widget .frx-tags { margin-bottom: 8px; }\r\n    #frx-offers-widget .frx-posted { margin-top: 8px; padding-top: 8px; }\r\n    #frx-offers-widget .frx-more-info { margin-top: 20px; }\r\n    #frx-offers-widget .frx-preview-notice { margin-top: 10px; }\r\n  }\r\n\r\n<\/style>\r\n\r\n<script>\r\n(function () {\r\n  var root = document.getElementById('frx-offers-widget');\r\n  if (!root) return;\r\n\r\n  var API = root.getAttribute('data-api');\r\n  var FRX_CTA_URL = 'https:\/\/app.fractionista.com\/auth\/login';\r\n  \/\/ Public detail page per offer. Each role card links here (and so\r\n  \/\/ does the per-card \"Details\" button); opens in a new tab so the\r\n  \/\/ host marketing page isn't navigated away.\r\n  var FRX_DETAIL_URL_BASE = 'https:\/\/app.fractionista.com\/o\/';\r\n  var PAGE_SIZE = Math.max(1, Math.min(50, parseInt(root.getAttribute('data-max-displayed-offers'), 10) || 6));\r\n\r\n  var grid = root.querySelector('.frx-grid');\r\n  var statusEl = root.querySelector('.frx-status');\r\n  var headlineEl = root.querySelector('.frx-headline');\r\n  var filtersEl = root.querySelector('.frx-filters');\r\n  var dividerEl = root.querySelector('.frx-divider');\r\n  var moreInfoEl = root.querySelector('.frx-more-info');\r\n  var previewNoticeEl = root.querySelector('.frx-preview-notice');\r\n  var filterEls = root.querySelectorAll('.frx-filter');\r\n\r\n  function readFlag(name, def) {\r\n    var v = root.getAttribute('data-' + name);\r\n    if (v == null) return def;\r\n    v = String(v).toLowerCase();\r\n    return v !== 'false' && v !== '0' && v !== 'no';\r\n  }\r\n\r\n  var showHeadline = readFlag('show-headline', true);\r\n  var showFilter = readFlag('show-filter', true);\r\n  var showMoreJobsInfo = readFlag('show-more-jobs-info', true);\r\n  var showPreviewNotice = readFlag('show-preview-notice', true);\r\n  var showDemoListings = readFlag('show-demo-listings', false);\r\n\r\n  if (!showHeadline) headlineEl.style.display = 'none';\r\n  if (!showFilter) {\r\n    filtersEl.style.display = 'none';\r\n    dividerEl.style.display = 'none';\r\n  }\r\n  if (!showPreviewNotice) previewNoticeEl.style.display = 'none';\r\n\r\n  var state = {\r\n    loading: false,\r\n    filtersPopulated: false,\r\n  };\r\n\r\n  function esc(s) {\r\n    return String(s == null ? '' : s)\r\n      .replace(\/&\/g, '&amp;').replace(\/<\/g, '&lt;').replace(\/>\/g, '&gt;')\r\n      .replace(\/\"\/g, '&quot;').replace(\/'\/g, '&#39;');\r\n  }\r\n\r\n  function currentFilters() {\r\n    var f = {};\r\n    filterEls.forEach(function (el) {\r\n      var v = el.value.trim();\r\n      if (v) f[el.getAttribute('data-filter')] = v;\r\n    });\r\n    return f;\r\n  }\r\n\r\n  function buildUrl() {\r\n    var f = currentFilters();\r\n    var qs = ['limit=' + PAGE_SIZE];\r\n    \/\/ Server-side demo filter so total \/ total_all counts match what we render.\r\n    if (!showDemoListings) qs.push('include_demo=false');\r\n    Object.keys(f).forEach(function (k) { qs.push(k + '=' + encodeURIComponent(f[k])); });\r\n    return API + '?' + qs.join('&');\r\n  }\r\n\r\n  function populateFilterOptions(selectEl, values) {\r\n    var current = selectEl.value;\r\n    while (selectEl.options.length > 1) selectEl.remove(1);\r\n    values.forEach(function (v) {\r\n      var opt = document.createElement('option');\r\n      opt.value = v;\r\n      opt.textContent = v;\r\n      selectEl.appendChild(opt);\r\n    });\r\n    if (current) selectEl.value = current;\r\n  }\r\n\r\n  function formatHours(o) {\r\n    return o.hours_per_week ? o.hours_per_week + 'h \/ week' : '';\r\n  }\r\n\r\n  function formatDuration(o) {\r\n    var a = o.min_duration_months, b = o.max_duration_months;\r\n    var unit = function (n) { return n === 1 ? 'month' : 'months'; };\r\n    if (a && b) return a === b ? a + ' ' + unit(a) : a + '-' + b + ' months';\r\n    if (a) return a + '+ months';\r\n    if (b) return 'up to ' + b + ' ' + unit(b);\r\n    return '';\r\n  }\r\n\r\n  function formatPublished(o) {\r\n    if (!o.published_at) return '';\r\n    var then = new Date(o.published_at);\r\n    if (isNaN(then.getTime())) return '';\r\n    var diffMs = Date.now() - then.getTime();\r\n    var day = 86400000;\r\n    var days = Math.floor(diffMs \/ day);\r\n    if (days <= 0) return 'added today';\r\n    if (days === 1) return 'added yesterday';\r\n    if (days < 7) return 'added ' + days + ' days ago';\r\n    if (days < 14) return 'added 1 week ago';\r\n    if (days < 30) return 'added ' + Math.floor(days \/ 7) + ' weeks ago';\r\n    if (days < 60) return 'added 1 month ago';\r\n    return 'added ' + Math.floor(days \/ 30) + ' months ago';\r\n  }\r\n\r\n  function formatLocation(o) {\r\n    var c = o.company || {};\r\n    var city = o.city || c.city;\r\n    var country = o.country || c.country;\r\n    return [city, country].filter(Boolean).join(', ');\r\n  }\r\n\r\n  var PIN_SVG = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M20 10c0 7-8 13-8 13s-8-6-8-13a8 8 0 0 1 16 0z\"\/><circle cx=\"12\" cy=\"10\" r=\"3\"\/><\/svg>';\r\n\r\n  var CLOCK_SVG = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg>';\r\n\r\n  function formatCollab(v) {\r\n    if (v === 'on_site') return 'On-Site';\r\n    if (v === 'remote') return 'Remote';\r\n    if (v === 'hybrid') return 'Hybrid';\r\n    return '';\r\n  }\r\n\r\n  function isNewOffer(o) {\r\n    if (!o.published_at) return false;\r\n    var then = new Date(o.published_at);\r\n    if (isNaN(then.getTime())) return false;\r\n    return (Date.now() - then.getTime()) <= 7 * 86400000;\r\n  }\r\n\r\n  \/\/ Roles that come from the \"Other\" vocabulary (Advisory \/ Board \/ C-Level\r\n  \/\/ Advisor) \u2014 rendered with an amber accent to match the in-app picker.\r\n  \/\/ Kept in sync with src\/lib\/constants\/onboarding.ts OTHER_ROLES.\r\n  var OTHER_ROLE_VALUES = ['Advisory Board Member', 'Board Member', 'C-Level Advisor'];\r\n\r\n  \/\/ The CTA card is hand-rolled (not from the API). It always sits as the\r\n  \/\/ last grid slot to drive companies toward \"Post a role\".\r\n  var ARROW_SVG = '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><polyline points=\"12 5 19 12 12 19\"\/><\/svg>';\r\n\r\n  \/\/ Count grid columns by reading the resolved grid-template-columns \u2014\r\n  \/\/ matches what the browser actually rendered after auto-fill resolves,\r\n  \/\/ so the skeleton row always fills exactly one row at the current width.\r\n  function getColumnCount() {\r\n    var cs = grid && getComputedStyle(grid).gridTemplateColumns;\r\n    if (!cs || cs === 'none') return 1;\r\n    return Math.max(1, cs.split(' ').filter(Boolean).length);\r\n  }\r\n\r\n  function renderSkeletonCard() {\r\n    return ''\r\n      + '<div class=\"frx-card frx-skel\" aria-hidden=\"true\">'\r\n      +   '<span class=\"frx-skel-bar frx-skel-title\"><\/span>'\r\n      +   '<span class=\"frx-skel-bar frx-skel-tag\"><\/span>'\r\n      +   '<span class=\"frx-skel-bar frx-skel-line\"><\/span>'\r\n      +   '<span class=\"frx-skel-bar frx-skel-line short\"><\/span>'\r\n      +   '<span class=\"frx-skel-bar frx-skel-line last\"><\/span>'\r\n      + '<\/div>';\r\n  }\r\n\r\n  function renderSkeletonRow() {\r\n    var n = getColumnCount();\r\n    var html = '';\r\n    for (var i = 0; i < n; i++) html += renderSkeletonCard();\r\n    return html;\r\n  }\r\n\r\n  function renderCtaCard() {\r\n    return ''\r\n      + '<a class=\"frx-card frx-cta-card\" href=\"' + esc(FRX_CTA_URL) + '\" target=\"_blank\" rel=\"noopener\">'\r\n      +   '<div class=\"frx-cta-top\">'\r\n      +     '<span class=\"frx-cta-pill\">For hiring companies<\/span>'\r\n      +     '<h3 class=\"frx-cta-title\">Looking to hire a fractional leader?<\/h3>'\r\n      +   '<\/div>'\r\n      +   '<div class=\"frx-cta-bottom\">'\r\n      +     '<p class=\"frx-cta-meta\">Live in minutes<\/p>'\r\n      +     '<span class=\"frx-cta-btn\">Post a role ' + ARROW_SVG + '<\/span>'\r\n      +   '<\/div>'\r\n      + '<\/a>';\r\n  }\r\n\r\n  function renderCard(o) {\r\n    var primaryRole = (o.cxo_roles && o.cxo_roles[0]) || '';\r\n    var roleClass = OTHER_ROLE_VALUES.indexOf(primaryRole) >= 0\r\n      ? 'frx-tag frx-tag-other'\r\n      : 'frx-tag';\r\n    var tagsHtml = primaryRole\r\n      ? '<div class=\"frx-tags\"><span class=\"' + roleClass + '\">' + esc(primaryRole) + '<\/span><\/div>'\r\n      : '';\r\n\r\n    var locationParts = [formatLocation(o), formatCollab(o.collaboration_type)].filter(Boolean);\r\n    var locationHtml = locationParts.length\r\n      ? '<div class=\"frx-location\">' + PIN_SVG + '<span>' + esc(locationParts.join(' \u00b7 ')) + '<\/span><\/div>'\r\n      : '';\r\n\r\n    var summaryParts = [formatHours(o), formatDuration(o)].filter(Boolean);\r\n    var summaryHtml = summaryParts.length\r\n      ? '<div class=\"frx-summary\">' + CLOCK_SVG + '<span>' + esc(summaryParts.join(' \u00b7 ')) + '<\/span><\/div>'\r\n      : '';\r\n\r\n    var postedHtml = formatPublished(o) ? '<div class=\"frx-posted\">' + esc(formatPublished(o)) + '<\/div>' : '';\r\n    var newBadgeHtml = isNewOffer(o) ? '<span class=\"frx-tag frx-tag-new\">New<\/span>' : '';\r\n    var demoBadgeHtml = o.is_demo ? '<span class=\"frx-demo-tag\">Demo offer only<\/span>' : '';\r\n\r\n    var detailUrl = FRX_DETAIL_URL_BASE + encodeURIComponent(o.id);\r\n    var detailsBtnHtml =\r\n      '<span class=\"frx-details-btn\">Job details ' + ARROW_SVG + '<\/span>';\r\n\r\n    return ''\r\n      + '<a class=\"frx-card' + (o.is_demo ? ' frx-demo' : '') + '\" href=\"' + esc(detailUrl) + '\" target=\"_blank\" rel=\"noopener\">'\r\n      +   newBadgeHtml\r\n      +   demoBadgeHtml\r\n      +   '<h3 class=\"frx-title\">' + esc(o.job_title || 'Untitled role') + '<\/h3>'\r\n      +   tagsHtml\r\n      +   locationHtml\r\n      +   summaryHtml\r\n      +   postedHtml\r\n      +   detailsBtnHtml\r\n      + '<\/a>';\r\n  }\r\n\r\n  function setStatus(msg, isError) {\r\n    statusEl.textContent = msg || '';\r\n    statusEl.classList.toggle('frx-error', !!isError);\r\n  }\r\n\r\n  function load() {\r\n    if (state.loading) return;\r\n    state.loading = true;\r\n    grid.innerHTML = renderSkeletonRow();\r\n    moreInfoEl.textContent = '';\r\n    setStatus('Loading offers\u2026');\r\n\r\n    fetch(buildUrl(), { headers: { 'Accept': 'application\/json' } })\r\n      .then(function (r) {\r\n        if (!r.ok) throw new Error('HTTP ' + r.status);\r\n        return r.json();\r\n      })\r\n      .then(function (data) {\r\n        var totalAll = data.total_all || 0;\r\n        headlineEl.textContent = 'Explore ' + totalAll + (totalAll === 1 ? ' open role' : ' open roles');\r\n\r\n        if (!state.filtersPopulated) {\r\n          var roleSel = root.querySelector('.frx-filter[data-filter=\"roles\"]');\r\n          var countrySel = root.querySelector('.frx-filter[data-filter=\"country\"]');\r\n          if (Array.isArray(data.available_roles)) populateFilterOptions(roleSel, data.available_roles);\r\n          if (Array.isArray(data.available_countries)) populateFilterOptions(countrySel, data.available_countries);\r\n          state.filtersPopulated = true;\r\n        }\r\n\r\n        \/\/ Demo offers are filtered server-side via include_demo=false (passed\r\n        \/\/ in buildUrl). When showDemoListings is on, the API returns demos\r\n        \/\/ and renderCard() decorates them with a \"Demo offer only\" pill and\r\n        \/\/ a light blur \u2014 the badge stays sharp.\r\n        var offers = data.offers || [];\r\n\r\n        if (offers.length === 0) {\r\n          grid.innerHTML = '<div class=\"frx-empty\">No open positions match your filters right now.<br>Check back soon \u2014 new roles are posted weekly.<\/div>';\r\n          setStatus('');\r\n          return;\r\n        }\r\n\r\n        \/\/ Reserve the last grid slot for the CTA card. With PAGE_SIZE = 6\r\n        \/\/ we'll show up to 5 real offers + 1 CTA. If fewer real offers\r\n        \/\/ exist, the CTA still trails them.\r\n        var displayed = offers.slice(0, Math.max(0, PAGE_SIZE - 1));\r\n        grid.innerHTML = displayed.map(renderCard).join('') + renderCtaCard();\r\n        setStatus('');\r\n\r\n        if (showMoreJobsInfo) {\r\n          var matching = data.total || 0;\r\n          if (matching > displayed.length) {\r\n            var label = matching === 1 ? 'See the role \u2192' : 'See all ' + matching + ' roles \u2192';\r\n            moreInfoEl.innerHTML = '<a href=\"' + esc(FRX_CTA_URL) + '\" target=\"_blank\" rel=\"noopener\">' + esc(label) + '<\/a>';\r\n          }\r\n        }\r\n      })\r\n      .catch(function (err) {\r\n        console.error('[fractionista widget]', err);\r\n        headlineEl.textContent = 'No roles could be loaded :-(';\r\n        setStatus('Could not load offers. Please try again later.', true);\r\n      })\r\n      .then(function () {\r\n        state.loading = false;\r\n      });\r\n  }\r\n\r\n  filterEls.forEach(function (el) {\r\n    el.addEventListener('change', load);\r\n  });\r\n\r\n  load();\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Offene Fractional Rollen in Europa Aktive Mandate von europ\u00e4ischen Unternehmen. Jede Rolle gepr\u00fcft auf Umfang, Seniorit\u00e4t und Fit. \u00dcber dieses Job Board Fractionista ist der kuratierte europ\u00e4ische Marktplatz f\u00fcr fractional und interim C-Level-F\u00fchrungskr\u00e4fte. Unternehmen ver\u00f6ffentlichen gepr\u00fcfte Mandate f\u00fcr Rollen wie Fractional CFO, CMO, CTO, COO, CPO, CHRO sowie Advisory-Rollen. Jede Rolle wird auf Umfang, Seniorit\u00e4t<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"solace_meta_sidebar":"","solace_meta_container":"","solace_meta_enable_content_width":"","solace_meta_content_width":0,"solace_meta_title_alignment":"","solace_meta_author_avatar":"","solace_post_elements_order":"","solace_meta_disable_header":"","solace_meta_disable_footer":"","solace_meta_disable_title":"","footnotes":""},"class_list":["post-2506","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Job Board | Fractionista<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fractionista.com\/de\/job-board\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Job Board | Fractionista\" \/>\n<meta property=\"og:description\" content=\"Offene Fractional Rollen in Europa Aktive Mandate von europ\u00e4ischen Unternehmen. Jede Rolle gepr\u00fcft auf Umfang, Seniorit\u00e4t und Fit. \u00dcber dieses Job Board Fractionista ist der kuratierte europ\u00e4ische Marktplatz f\u00fcr fractional und interim C-Level-F\u00fchrungskr\u00e4fte. Unternehmen ver\u00f6ffentlichen gepr\u00fcfte Mandate f\u00fcr Rollen wie Fractional CFO, CMO, CTO, COO, CPO, CHRO sowie Advisory-Rollen. Jede Rolle wird auf Umfang, Seniorit\u00e4t\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fractionista.com\/de\/job-board\/\" \/>\n<meta property=\"og:site_name\" content=\"Fractionista\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-23T16:45:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fractionista.com\/wp-content\/uploads\/2026\/04\/fractionista_home_hero.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1400\" \/>\n\t<meta property=\"og:image:height\" content=\"650\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"1\u00a0Minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/fractionista.com\\\/de\\\/job-board\\\/\",\"url\":\"https:\\\/\\\/fractionista.com\\\/de\\\/job-board\\\/\",\"name\":\"Job Board | Fractionista\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/fractionista.com\\\/de\\\/#website\"},\"datePublished\":\"2026-04-14T16:26:15+00:00\",\"dateModified\":\"2026-06-23T16:45:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/fractionista.com\\\/de\\\/job-board\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/fractionista.com\\\/de\\\/job-board\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/fractionista.com\\\/de\\\/job-board\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/fractionista.com\\\/de\\\/home\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Job Board\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/fractionista.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/fractionista.com\\\/de\\\/\",\"name\":\"Fractionista\",\"description\":\"The European Marketplace for Fractional CxO Roles\",\"publisher\":{\"@id\":\"https:\\\/\\\/fractionista.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/fractionista.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/fractionista.com\\\/de\\\/#organization\",\"name\":\"Fractionista\",\"url\":\"https:\\\/\\\/fractionista.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/fractionista.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/fractionista.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/partially-colored-logo__wordmark-right-orangouter.png\",\"contentUrl\":\"https:\\\/\\\/fractionista.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/partially-colored-logo__wordmark-right-orangouter.png\",\"width\":819,\"height\":173,\"caption\":\"Fractionista\"},\"image\":{\"@id\":\"https:\\\/\\\/fractionista.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Job Board | Fractionista","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fractionista.com\/de\/job-board\/","og_locale":"de_DE","og_type":"article","og_title":"Job Board | Fractionista","og_description":"Offene Fractional Rollen in Europa Aktive Mandate von europ\u00e4ischen Unternehmen. Jede Rolle gepr\u00fcft auf Umfang, Seniorit\u00e4t und Fit. \u00dcber dieses Job Board Fractionista ist der kuratierte europ\u00e4ische Marktplatz f\u00fcr fractional und interim C-Level-F\u00fchrungskr\u00e4fte. Unternehmen ver\u00f6ffentlichen gepr\u00fcfte Mandate f\u00fcr Rollen wie Fractional CFO, CMO, CTO, COO, CPO, CHRO sowie Advisory-Rollen. Jede Rolle wird auf Umfang, Seniorit\u00e4t","og_url":"https:\/\/fractionista.com\/de\/job-board\/","og_site_name":"Fractionista","article_modified_time":"2026-06-23T16:45:24+00:00","og_image":[{"width":1400,"height":650,"url":"https:\/\/fractionista.com\/wp-content\/uploads\/2026\/04\/fractionista_home_hero.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"1\u00a0Minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/fractionista.com\/de\/job-board\/","url":"https:\/\/fractionista.com\/de\/job-board\/","name":"Job Board | Fractionista","isPartOf":{"@id":"https:\/\/fractionista.com\/de\/#website"},"datePublished":"2026-04-14T16:26:15+00:00","dateModified":"2026-06-23T16:45:24+00:00","breadcrumb":{"@id":"https:\/\/fractionista.com\/de\/job-board\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fractionista.com\/de\/job-board\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fractionista.com\/de\/job-board\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fractionista.com\/de\/home\/"},{"@type":"ListItem","position":2,"name":"Job Board"}]},{"@type":"WebSite","@id":"https:\/\/fractionista.com\/de\/#website","url":"https:\/\/fractionista.com\/de\/","name":"Fractionista","description":"The European Marketplace for Fractional CxO Roles","publisher":{"@id":"https:\/\/fractionista.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fractionista.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/fractionista.com\/de\/#organization","name":"Fractionista","url":"https:\/\/fractionista.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/fractionista.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/fractionista.com\/wp-content\/uploads\/2026\/04\/partially-colored-logo__wordmark-right-orangouter.png","contentUrl":"https:\/\/fractionista.com\/wp-content\/uploads\/2026\/04\/partially-colored-logo__wordmark-right-orangouter.png","width":819,"height":173,"caption":"Fractionista"},"image":{"@id":"https:\/\/fractionista.com\/de\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/fractionista.com\/de\/wp-json\/wp\/v2\/pages\/2506","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fractionista.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fractionista.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fractionista.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fractionista.com\/de\/wp-json\/wp\/v2\/comments?post=2506"}],"version-history":[{"count":2,"href":"https:\/\/fractionista.com\/de\/wp-json\/wp\/v2\/pages\/2506\/revisions"}],"predecessor-version":[{"id":2593,"href":"https:\/\/fractionista.com\/de\/wp-json\/wp\/v2\/pages\/2506\/revisions\/2593"}],"wp:attachment":[{"href":"https:\/\/fractionista.com\/de\/wp-json\/wp\/v2\/media?parent=2506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}