@openkfw/design-tokens 0.5.3 → 0.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,3 +1,16 @@
1
+ Copyright (c) 2025 KfW Bankengruppe
2
+
3
+ The source code in this repository is licensed under the Mozilla Public License 2.0 (MPL-2.0).
4
+ All KfW brand assets, including logos, icons, images, fonts, and design documentation, are excluded and remain the property of KfW Bankengruppe.
5
+ These materials may not be used, copied, or redistributed without prior written permission.
6
+
7
+ Excluded brand-related materials include:
8
+
9
+ - trademarks, wordmarks, logos
10
+ - icons, images, fonts, and other design assets
11
+ - brand and design documentation
12
+ - all files under /demo directory
13
+
1
14
  Mozilla Public License Version 2.0
2
15
  ==================================
3
16
 
package/README.md CHANGED
@@ -49,13 +49,18 @@ Considering supporting with your contribution? Whether you like to contribute ne
49
49
 
50
50
  Copyright (c) 2025 KfW Bankengruppe
51
51
 
52
- Licensed under the **Mozilla Public License 2.0 (MPL-2.0)** (the "License"); you may not use this file except in compliance with the License.
53
- You may obtain a copy of the License by reviewing the file [LICENSE](./LICENSE) in the repository. Unless required by applicable law or agreed to in writing,
54
- software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the [LICENSE](./LICENSE) for
55
- the specific language governing permissions and limitations under the License. KfW may update this licensing agreement at any time. This notice and permission must be
56
- included in all copies or substantial portions of the Software.
52
+ The source code in this repository is licensed under the **Mozilla Public License 2.0 (MPL-2.0)**.
53
+ All KfW brand assets, including logos, icons, images, fonts, and design documentation, are **excluded** and remain the property of KfW Bankengruppe.
54
+ These materials may not be used, copied, or redistributed without prior written permission.
57
55
 
58
- Last updated: Nov 21, 2025
56
+ Excluded brand-related materials include:
57
+
58
+ - trademarks, wordmarks, logos
59
+ - icons, images, fonts, and other design assets
60
+ - brand and design documentation
61
+ - all files under `/demo` directory
62
+
63
+ See the full MPL-2.0 license in [LICENSE](./LICENSE).
59
64
 
60
65
  ## 💁 FAQ
61
66
 
@@ -1 +1 @@
1
- @layer core,third-party,components,utility;@layer core.reset,core.tokens,core.base;@layer third-party.imports,third-party.overrides;@layer components.base,components.variations;@layer core.reset{*,*:after,*:before{box-sizing:border-box}:focus-visible{outline-offset:3px}:where(html){-webkit-text-size-adjust:none;text-size-adjust:none}:where(html){line-height:1.5}:where(html){scrollbar-gutter:stable}:where(h1){font-size:2em;margin-block:.67em}:where(abbr[title]){cursor:help;text-decoration-line:underline;text-decoration-style:dotted}@media(forced-colors:active){mark{color:HighlightText;background-color:Highlight}}:where(del,ins,s):before,:where(del,ins,s):after{clip-path:inset(100%);clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap;content:"test"}:where(s):before{content:"stricken text start "}:where(s):after{content:" stricken text end"}:where(del):before{content:"deletion start "}:where(del):after{content:" deletion end"}:where(ins):before{content:"insertion start "}:where(ins):after{content:" insertion end"}:where(audio,iframe,img,svg,video){max-block-size:100%;max-inline-size:100%}:where(fieldset){min-inline-size:0}:where(label):has(+:where(textarea,input,select)){display:block}:where(textarea:not([rows])){min-block-size:6em}:where(button,input,select,textarea){font-family:inherit;font-size:inherit}:where([type=search]){-webkit-appearance:textfield}@supports (-webkit-touch-callout: none){:where([type=search]){border:1px solid -apple-system-secondary-label;background-color:canvas}}:where([type=tel],[type=url],[type=email],[type=number]):not(:placeholder-shown){direction:ltr}:where(table){border-collapse:collapse;border:1px solid}:where(th,td){border:1px solid;padding:.25em .5em}:where(dialog)::backdrop{background:#0000004d}:where(dialog),:where(dialog)::backdrop{opacity:0;transition:opacity .3s ease-out,display .3s allow-discrete,overlay .3s allow-discrete}:where(dialog[open]),:where(dialog[open])::backdrop{opacity:1}@starting-style{:where(dialog[open]),:where(dialog[open])::backdrop{opacity:0}}[hidden]:not([hidden=until-found]){display:none!important}}@layer core.tokens{:root,:host,.kfw-theme--light{color-scheme:light}:root,:host,.kfw-theme--light{--kfw-base-color-blue-100: #e9f5fb;--kfw-base-color-blue-400: #54b3e2;--kfw-base-color-blue-500: #007abc;--kfw-base-color-blue-600: #005a8c;--kfw-base-color-blue-700: #00446e;--kfw-base-color-blue-800: #00375b;--kfw-base-color-green-100: #ecfded;--kfw-base-color-green-300: #b7f9aa;--kfw-base-color-green-400: #94eb90;--kfw-base-color-green-700: #398357;--kfw-base-color-white-90: #ffffffe6;--kfw-base-color-white-95: #fffffff2;--kfw-base-color-white: #ffffff;--kfw-base-color-black: #000000;--kfw-base-color-gray-50: #f6f7f8;--kfw-base-color-gray-100: #eef0f2;--kfw-base-color-gray-200: #d8dfe3;--kfw-base-color-gray-300: #a1adb5;--kfw-base-color-gray-400: #6d767d;--kfw-base-color-gray-500-10: #41484c1a;--kfw-base-color-gray-500-30: #41484c4d;--kfw-base-color-gray-500-90: #41484ce6;--kfw-base-color-gray-500: #41484c;--kfw-base-color-gray-600: #2d3134;--kfw-base-color-violet-400: #9598e0;--kfw-base-color-violet-500: #686fc8;--kfw-base-color-red-400: #c80538;--kfw-base-color-yellow-500: #eac80b;--kfw-base-fontfamily-sans: "KfW Centro Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;--kfw-base-fontfamily-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--kfw-base-space-static-5: .5rem;--kfw-base-space-static-10: 1rem;--kfw-base-space-static-15: 1.5rem;--kfw-base-space-static-20: 2rem;--kfw-base-space-static-25: 2.5rem;--kfw-base-space-static-30: 3rem;--kfw-base-space-static-35: 3.5rem;--kfw-base-space-static-40: 4rem;--kfw-base-space-static-50: 5rem;--kfw-base-space-static-60: 6rem;--kfw-base-space-fluid-5-min: .5rem;--kfw-base-space-fluid-5-max: 1rem;--kfw-base-space-fluid-5-val: .735vi + .588px;--kfw-base-space-fluid-10-min: 1rem;--kfw-base-space-fluid-10-max: 1.5rem;--kfw-base-space-fluid-10-val: .735vi + .5588rem;--kfw-base-space-fluid-15-min: 1.5rem;--kfw-base-space-fluid-15-max: 2rem;--kfw-base-space-fluid-15-val: .735vi + 1.0588rem;--kfw-base-space-fluid-20-min: 2rem;--kfw-base-space-fluid-20-max: 2.5rem;--kfw-base-space-fluid-20-val: .735vi + 1.5588rem;--kfw-base-space-fluid-25-min: 2.5rem;--kfw-base-space-fluid-25-max: 3rem;--kfw-base-space-fluid-25-val: .735vi + 2.0588rem;--kfw-base-space-fluid-30-min: 3rem;--kfw-base-space-fluid-30-max: 3.5rem;--kfw-base-space-fluid-30-val: .735vi + 2.5588rem;--kfw-base-space-fluid-35-min: 3.5rem;--kfw-base-space-fluid-35-max: 4rem;--kfw-base-space-fluid-35-val: .735vi + 3.0588rem;--kfw-base-space-fluid-40-min: 4rem;--kfw-base-space-fluid-40-max: 5rem;--kfw-base-space-fluid-40-val: 1.471vi + 3.1176rem;--kfw-base-space-fluid-50-min: 5rem;--kfw-base-space-fluid-50-max: 6rem;--kfw-base-space-fluid-50-val: 1.471vi + 4.1176rem;--kfw-base-fontsize-static-sm: 1.4rem;--kfw-base-fontsize-static-md: 1.6rem;--kfw-base-fontsize-static-lg: 1.8rem;--kfw-base-fontsize-static-xl: 2rem;--kfw-base-fontsize-static-2xl: 2.2rem;--kfw-base-fontsize-static-3xl: 2.4rem;--kfw-base-fontsize-static-4xl: 2.6rem;--kfw-base-fontsize-static-5xl: 2.8rem;--kfw-base-fontsize-static-6xl: 3rem;--kfw-base-fontsize-static-7xl: 3.2rem;--kfw-base-fontsize-static-8xl: 3.6rem;--kfw-base-fontsize-fluid-sm-min: 1.4rem;--kfw-base-fontsize-fluid-sm-max: 1.6rem;--kfw-base-fontsize-fluid-sm-val: .294vi + 1.2235rem;--kfw-base-fontsize-fluid-md-min: 1.6rem;--kfw-base-fontsize-fluid-md-max: 1.8rem;--kfw-base-fontsize-fluid-md-val: .294vi + 1.4235rem;--kfw-base-fontsize-fluid-lg-min: 1.8rem;--kfw-base-fontsize-fluid-lg-max: 2rem;--kfw-base-fontsize-fluid-lg-val: .294vi + 1.6235rem;--kfw-base-fontsize-fluid-xl-min: 2rem;--kfw-base-fontsize-fluid-xl-max: 2.2rem;--kfw-base-fontsize-fluid-xl-val: .294vi + 1.8235rem;--kfw-base-fontsize-fluid-2xl-min: 2.2rem;--kfw-base-fontsize-fluid-2xl-max: 2.4rem;--kfw-base-fontsize-fluid-2xl-val: .294vi + 2.0235rem;--kfw-base-fontsize-fluid-3xl-min: 2.4rem;--kfw-base-fontsize-fluid-3xl-max: 2.6rem;--kfw-base-fontsize-fluid-3xl-val: .294vi + 2.2235rem;--kfw-base-fontsize-fluid-4xl-min: 2.6rem;--kfw-base-fontsize-fluid-4xl-max: 2.8rem;--kfw-base-fontsize-fluid-4xl-val: .294vi + 2.4234999999999998rem;--kfw-base-fontsize-fluid-5xl-min: 2.8rem;--kfw-base-fontsize-fluid-5xl-max: 3.2rem;--kfw-base-fontsize-fluid-5xl-val: .588vi + 2.4471rem;--kfw-base-fontsize-fluid-6xl-min: 3rem;--kfw-base-fontsize-fluid-6xl-max: 3.6rem;--kfw-base-fontsize-fluid-6xl-val: .882vi + 2.4706rem;--kfw-base-lineheight-2xs: 1.2;--kfw-base-lineheight-xs: 1.3;--kfw-base-lineheight-sm: 1.333;--kfw-base-lineheight-md: 1.4;--kfw-base-lineheight-lg: 1.5;--kfw-base-borderradius-sm: 2px;--kfw-base-borderradius-md: .4rem;--kfw-base-borderradius-lg: 2rem;--kfw-base-borderradius-circle: 999.9rem;--kfw-base-borderwidth-md: 1px;--kfw-base-borderwidth-lg: 2px;--kfw-base-fontweight-regular: 400;--kfw-base-fontweight-medium: 500;--kfw-base-letterspacing-tight: -.5px;--kfw-base-letterspacing-normal: 0;--kfw-base-letterspacing-wide: .5px;--kfw-base-letterspacing-wider: 1px;--kfw-base-layout-breakpoint-xs: 320px;--kfw-base-layout-breakpoint-sm: 600px;--kfw-base-layout-breakpoint-md: 840px;--kfw-base-layout-breakpoint-lg: 960px;--kfw-base-layout-breakpoint-xl: 1280px;--kfw-base-layout-container-sm: 89.6rem;--kfw-base-layout-container-md: 108rem;--kfw-base-layout-container-lg: 128rem;--kfw-base-layout-safezone-static-md: 2rem;--kfw-base-layout-safezone-static-lg: 4rem;--kfw-base-layout-safezone-fluid-min: 2rem;--kfw-base-layout-safezone-fluid-max: 4rem;--kfw-base-layout-safezone-fluid-val: 2.941vi + .2353rem;--kfw-base-layout-gridcolumn-1: 1;--kfw-base-layout-gridcolumn-2: 2;--kfw-base-layout-gridcolumn-3: 3;--kfw-base-layout-gridcolumn-4: 4;--kfw-base-layout-gridcolumn-6: 6;--kfw-base-layout-gridcolumn-8: 8;--kfw-base-layout-gridcolumn-12: 12;--kfw-base-layout-gridgap-static-xs: 1.2rem;--kfw-base-layout-gridgap-static-sm: 1.8rem;--kfw-base-layout-gridgap-static-md: 2.2rem;--kfw-base-layout-gridgap-static-lg: 2.6rem;--kfw-base-layout-gridgap-static-xl: 3.6rem;--kfw-base-layout-gridgap-fluid-min: 1.2rem;--kfw-base-layout-gridgap-fluid-max: 3.6rem;--kfw-base-layout-gridgap-fluid-val: 3.529vi - .9176rem;--kfw-color-fn: #005a8c;--kfw-color-fn-active: #00446e;--kfw-color-fn-inactive: #a1adb5;--kfw-color-fn-border: #2d3134;--kfw-color-fn-label: #2d3134;--kfw-color-text: #2d3134;--kfw-color-text-on-dark-bg: #ffffff;--kfw-color-text-on-disabled: #ffffff;--kfw-color-text-headline-on-dark-bg: #b7f9aa;--kfw-color-background: #ffffff;--kfw-color-background-subtle: #f6f7f8;--kfw-color-background-disabled: #a1adb5;--kfw-color-background-light-blue: #e9f5fb;--kfw-color-background-light-green: #ecfded;--kfw-color-background-dark-blue: #00375b;--kfw-color-background-dark-green: #398357;--kfw-color-opaque-white-90: #ffffffe6;--kfw-color-opaque-white-95: #fffffff2;--kfw-color-opaque-gray-500-10: #41484c1a;--kfw-color-opaque-gray-500-30: #41484c4d;--kfw-color-opaque-gray-500-90: #41484ce6;--kfw-color-state-danger: #c80538;--kfw-color-state-success: #398357;--kfw-color-state-warning: #9598e0;--kfw-color-status-red: #c80538;--kfw-color-status-yellow: #eac80b;--kfw-color-status-green: #398357;--kfw-color-line-6: #00446e;--kfw-color-line-7: #2d3134;--kfw-color-line-8: #a1adb5;--kfw-color-line-9: #005a8c;--kfw-color-line-10: #2d3134;--kfw-color-line-11: #b7f9aa;--kfw-color-line-12: #a1adb5;--kfw-color-product-container: #f6f7f8;--kfw-color-product-benefit: #007abc;--kfw-color-product-credit: #398357;--kfw-color-product-cooperation: #686fc8;--kfw-color-product-credit-benefit: #41484c;--kfw-color-icon: #005a8c;--kfw-color-icon-secondary: #54b3e2;--kfw-color-icon-disabled: #398357;--kfw-color-icon-disabled-secondary: #94eb90;--kfw-fontfamily: "KfW Centro Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;--kfw-fontfamily-code: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--kfw-space-xsmall: 1rem;--kfw-space-small: 2rem;--kfw-space-medium: 3rem;--kfw-space-large-min: 3.5rem;--kfw-space-large-max: 4rem;--kfw-space-large-val: .735vi + 3.0588rem;--kfw-space-big-min: 5rem;--kfw-space-big-max: 6rem;--kfw-space-big-val: 1.471vi + 4.1176rem;--kfw-fontspace: 2rem;--kfw-fontspace-2xsmall: .5rem;--kfw-fontspace-xsmall: 1rem;--kfw-fontspace-small: 1.5rem;--kfw-fontspace-large: 3rem;--kfw-fontspace-heading-1: 2rem;--kfw-fontspace-heading-2: 2rem;--kfw-fontspace-heading-3: 1rem;--kfw-fontspace-heading-4: 1rem;--kfw-fontspace-heading-5: 1rem;--kfw-fontspace-heading-6: 1rem;--kfw-fontsize: 1.6rem;--kfw-fontsize-introduction: 2rem;--kfw-fontsize-large: 1.8rem;--kfw-fontsize-small: 1.4rem;--kfw-fontsize-heading-1-min: 3rem;--kfw-fontsize-heading-1-max: 3.6rem;--kfw-fontsize-heading-1-val: .882vi + 2.4706rem;--kfw-fontsize-heading-2-min: 2.8rem;--kfw-fontsize-heading-2-max: 3.2rem;--kfw-fontsize-heading-2-val: .588vi + 2.4471rem;--kfw-fontsize-heading-3-min: 2.4rem;--kfw-fontsize-heading-3-max: 2.6rem;--kfw-fontsize-heading-3-val: .294vi + 2.2235rem;--kfw-fontsize-heading-4-min: 2rem;--kfw-fontsize-heading-4-max: 2.2rem;--kfw-fontsize-heading-4-val: .294vi + 1.8235rem;--kfw-fontsize-heading-5: 1.8rem;--kfw-fontsize-heading-6: 1.6rem;--kfw-lineheight: 1.4;--kfw-lineheight-list: 1.5;--kfw-lineheight-heading: 1.3;--kfw-lineheight-heading-5: 1.333;--kfw-borderradius: .4rem;--kfw-borderradius-large: 2rem;--kfw-borderradius-small: 2px;--kfw-borderradius-circle: 999.9rem;--kfw-borderwidth: 1px;--kfw-borderwidth-large: 2px;--kfw-focusring-outline-width: 2px;--kfw-focusring-outline-offset: 2px;--kfw-focusring-outline-style: dashed;--kfw-fontweight: 400;--kfw-fontweight-bold: 500;--kfw-breakpoint-mobile: 600px;--kfw-breakpoint-tablet: 840px;--kfw-breakpoint-desktop: 960px;--kfw-breakpoint-desktop-large: 1280px;--kfw-contentwrapper-narrow: 89.6rem;--kfw-contentwrapper-basic: 108rem;--kfw-contentwrapper-extended: 128rem;--kfw-safezone-min: 2rem;--kfw-safezone-max: 4rem;--kfw-safezone-val: 2.941vi + .2353rem}}@layer core.tokens;@layer core{@layer tokens{:root{--kfw-safezone: clamp(var(--kfw-safezone-min), var(--kfw-safezone-val), var(--kfw-safezone-max));--kfw-space-large: clamp(var(--kfw-space-large-min), var(--kfw-space-large-val), var(--kfw-space-large-max));--kfw-space-big: clamp(var(--kfw-space-big-min), var(--kfw-space-big-val), var(--kfw-space-big-max));--headline-color: var(--kfw-color-text);--kfw-focusring-outline-color: var(--kfw-color-fn-active)}}@layer base{:root{font-size:62.5%;font-family:var(--kfw-fontfamily);background-color:var(--kfw-color-background);color:var(--kfw-color-text);line-height:var(--kfw-lineheight);font-weight:var(--kfw-fontweight);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*:focus-visible{outline:var(--kfw-focusring-outline-width) var(--kfw-focusring-outline-style) var(--kfw-focusring-outline-color);outline-offset:var(--kfw-focusring-outline-offset)}body{margin:0;font-size:1.6rem}strong,b{font-weight:var(--kfw-fontweight-bold)}small{font-size:80%}:is(sub,sup){position:relative;line-height:0;vertical-align:baseline;font-size:75%}sub{bottom:-.25em}sup{top:-.5em}:is(address,blockquote,dl,ol,p,pre,table,ul){margin-block:0 var(--kfw-fontspace)}:is(address,blockquote,dl,ol,p,pre,table,ul):last-child{margin-block-end:0}ul,ol,menu{list-style:none inside none;padding-inline-start:0}mark{padding:.125rem .25rem;vertical-align:baseline;background-color:var(--kfw-color-background-dark-blue);color:var(--kfw-color-text-on-dark-bg)}blockquote{margin-inline:0}blockquote footer{margin-block-start:var(--kfw-fontspace-2xsmall)}:where(audio,canvas,iframe,img,svg,video){vertical-align:middle}audio,video{display:inline-block}:where(iframe){border-style:none}img,video{max-width:100%;height:auto;border-style:none}figure{display:block;margin:0;padding:0}figure figcaption{padding:var(--kfw-space-xsmall)}code,kbd,samp,pre{font-family:var(--kfw-fontfamily-code);line-height:initial}pre{display:block;margin-block:0 var(--kfw-fontspace);overflow:auto;-ms-overflow-style:scrollbar}abbr[title]{text-decoration:underline dotted;cursor:help}ins{color:var(--kfw-color-state-success);text-decoration:none}del{color:var(--kfw-color-state-danger)}:is(h1,h2,h3,h4,h5,h6,.hl--1,.hl--2,.hl--3,.hl--4,.hl--5,.hl--6){font-weight:var(--kfw-fontweight-bold);line-height:var(--kfw-lineheight-heading);margin-block-start:0;color:var(--headline-color);display:block}h1,.hl--1{font-size:clamp(var(--kfw-fontsize-heading-1-min),var(--kfw-fontsize-heading-1-val),var(--kfw-fontsize-heading-1-max));margin-block-end:var(--kfw-fontspace-heading-1)}@media(min-width:1280px){h1,.hl--1{letter-spacing:var(--kfw-base-letterspacing-tight)}}h2,.hl--2{font-size:clamp(var(--kfw-fontsize-heading-2-min),var(--kfw-fontsize-heading-2-val),var(--kfw-fontsize-heading-2-max));margin-block-end:var(--kfw-fontspace-heading-2);letter-spacing:var(--kfw-base-letterspacing-tight)}h3,.hl--3{font-size:clamp(var(--kfw-fontsize-heading-3-min),var(--kfw-fontsize-heading-3-val),var(--kfw-fontsize-heading-3-max));margin-block-end:var(--kfw-fontspace-heading-3);letter-spacing:var(--kfw-base-letterspacing-tight)}@media(min-width:1280px){h3,.hl--3{letter-spacing:var(--kfw-base-letterspacing-normal)}}h4,.hl--4{font-size:clamp(var(--kfw-fontsize-heading-4-min),var(--kfw-fontsize-heading-4-val),var(--kfw-fontsize-heading-4-max));margin-block-end:var(--kfw-fontspace-heading-4)}h5,.hl--5{font-size:var(--kfw-fontsize-heading-5);margin-block-end:var(--kfw-fontspace-heading-5);line-height:var(--kfw-lineheight-heading-5);letter-spacing:var(--kfw-base-letterspacing-normal)}@media(min-width:1280px){h5,.hl--5{letter-spacing:var(--kfw-base-letterspacing-wide)}}h6,.hl--6{font-size:var(--kfw-fontsize-heading-6);margin-block-end:var(--kfw-fontspace-heading-6);letter-spacing:var(--kfw-base-letterspacing-wide);line-height:var(--kfw-lineheight)}:where(a:not([role=button])),[role=link]{--link-color: var(--kfw-color-fn);--link-color-hover: var(--kfw-color-fn-active);color:var(--link-color);text-decoration:none;border-radius:var(--kfw-borderradius)}a:not([role=button]):where(:hover,:focus,:active,[aria-current]:not([aria-current=false])),[role=link]:where(:hover,:focus,:active,[aria-current]:not([aria-current=false])){color:var(--link-color-hover);text-decoration:underline}a[role=button]{display:inline-block}.form-control{--borderhover: var(--kfw-color-fn-active);--placeholder-color: var(--kfw-color-fn);appearance:none;width:100%;height:4.3rem;font-size:var(--kfw-fontsize);font-family:inherit;line-height:var(--kfw-lineheight);color:var(--kfw-color-fn);border-radius:var(--kfw-borderradius);margin-block-start:0;border:var(--kfw-borderwidth) solid var(--kfw-base-color-gray-500);padding-inline:1.5rem;padding-block:1rem;background-color:var(--kfw-color-background)}.form-control::placeholder{color:var(--placeholder-color)}.form-control:disabled{--placeholder-color: var(--kfw-color-text);background-color:transparent;color:var(--kfw-color-text);border-color:var(--kfw-color-fn-inactive)}.form-control:hover:not(:disabled){box-shadow:0 0 0 var(--kfw-borderwidth) var(--borderhover)}:is([type=checkbox],[type=radio],select.form-control):not(:disabled){cursor:pointer}select.form-control{padding-block:0}textarea.form-control{height:auto}.form-control[aria-invalid=true]{--borderhover: var(--kfw-color-state-danger);--placeholder-color: var(--kfw-color-state-danger);border-color:var(--kfw-color-state-danger);color:var(--kfw-color-state-danger);box-shadow:0 0 0 var(--kfw-borderwidth) var(--borderhover)}:is(progress,[type=checkbox],[type=radio],[type=range]){accent-color:var(--kfw-color-fn)}textarea{display:block;resize:vertical}fieldset{margin:0;padding:0;border:0}[type=file],[type=range]{padding:0;border:0;width:100%}[type=file]::file-selector-button{margin-inline-end:var(--kfw-space-xsmall)}:where(input,select,textarea,fieldset)+small,.invalid-feedback{display:block;width:100%;margin-block-start:.8rem;font-size:var(--kfw-fontsize-small);line-height:var(--kfw-lineheight);letter-spacing:var(--kfw-base-letterspacing-normal)}.invalid-feedback{color:var(--kfw-color-state-danger)}:is(label,fieldset legend,.form-label){display:inline-block;margin-block-end:.8rem;font-weight:var(--kfw-fontweight-bold);color:var(--kfw-color-text)}:is([type=checkbox],[type=radio]){appearance:none;width:var(--field-size);height:var(--field-size);margin:0;border:var(--kfw-borderwidth) solid var(--kfw-color-fn-active);color:var(--kfw-color-fn-active);vertical-align:middle;position:relative;display:flex;align-items:center;flex-shrink:0;justify-content:center;background-color:var(--kfw-color-background)}:is([type=checkbox],[type=radio])[aria-invalid=true]{border-color:var(--kfw-color-state-danger);border-width:var(--kfw-borderwidth-large);color:var(--kfw-color-state-danger)}[type=radio]{border-radius:var(--kfw-borderradius-circle)}[type=checkbox]{border-radius:var(--kfw-borderradius)}:is([type=checkbox],[type=radio]):disabled{background-color:var(--kfw-base-color-gray-100);color:var(--kfw-color-fn-inactive);border-color:var(--kfw-color-fn-inactive)}:is([type=checkbox],[type=radio]):before{content:none;display:block;position:absolute;top:50%;left:50%;border-color:currentcolor;border-bottom-style:solid;border-left-style:solid}[type=checkbox]:before{width:1.6rem;height:.9rem;transform:translate(-50%,-50%) rotate(314deg);margin-top:-1px;border-bottom-width:.225rem;border-left-width:.225rem}[type=radio]:before{width:1.4rem;height:1.4rem;transform:translate(-50%,-50%);border-radius:var(--kfw-borderradius-circle);background-color:currentcolor;forced-color-adjust:none}:is([type=checkbox],[type=radio]):checked:before{content:""}:is([type=radio],[type=checkbox]):hover:not(:disabled),:is([type=radio],[type=checkbox]):focus:not(:disabled){border-width:var(--kfw-borderwidth-large)}.form-group{margin-block-end:var(--kfw-space-medium)}.list-group-form{--col-gap: 1.5rem;--field-size: 2.8rem;align-items:flex-start;display:flex;flex-direction:column;gap:var(--kfw-space-small) var(--kfw-space-medium)}.list-group-form>*{align-items:flex-start;display:flex;margin-bottom:0}.list-group-form label{font-weight:var(--kfw-fontweight);padding-left:var(--col-gap);width:100%;margin-block-end:0;display:flex;flex:1 1;flex-direction:column;padding-block-start:.4rem}.list-group-form--with-description label{font-weight:var(--kfw-fontweight-bold)}.list-group-form--with-description label>*{font-weight:var(--kfw-fontweight)}.list-group-form>*:has(input:not(:disabled)) label{cursor:pointer}.list-group-form>*:has(.list-group-form--subgroup){flex-wrap:wrap}.list-group-form--subgroup{flex-basis:100%;margin-block-start:var(--kfw-space-small);padding-left:calc(var(--field-size) + var(--col-gap))}@media(min-width:600px){.list-group-form--inline{flex-flow:row wrap}}button,[type=submit],[type=reset],[type=button],[type=file]::file-selector-button,[role=button]{border:var(--kfw-borderwidth) solid transparent;font-family:var(--kfw-fontfamily);font-size:var(--kfw-fontsize);font-weight:var(--kfw-fontweight);border-radius:var(--kfw-borderradius);display:inline-flex;gap:.8rem;text-align:center;text-decoration:none;line-height:var(--kfw-lineheight);padding:1.2rem 2.5rem;justify-content:center;max-width:100%;vertical-align:middle;white-space:nowrap;cursor:pointer}.button--primary{--button-border-color: var(--kfw-color-fn);--button-bg: var(--kfw-color-fn);--button-color: var(--kfw-color-text-on-dark-bg);--button-border-color-hover: var(--kfw-color-fn-active);--button-bg-hover: var(--kfw-color-fn-active);--button-color-hover: var(--button-color);background-color:var(--button-bg);color:var(--button-color);border-color:var(--button-border-color)}.button--primary:is(:hover,:focus){color:var(--button-color-hover);background-color:var(--button-bg-hover);border-color:var(--button-border-color-hover);text-decoration:underline}[type=file]::file-selector-button,:is([type=reset],.button--secondary){--button-border-color: var(--kfw-color-fn);--button-bg: transparent;--button-color: var(--kfw-color-fn);--button-border-color-hover: var(--kfw-color-fn-active);--button-bg-hover: var(--kfw-color-fn-active);--button-color-hover: var(--kfw-color-text-on-dark-bg);background-color:var(--button-bg);color:var(--button-color);border-color:var(--button-border-color)}[type=file]::file-selector-button:is(:hover,:focus),:is([type=reset],.button--secondary):is(:hover,:focus){color:var(--button-color-hover);background-color:var(--button-bg-hover);border-color:var(--button-border-color-hover);text-decoration:underline}.button--tertiary{--button-color: var(--kfw-color-fn);--button-bg: transparent;--button-color-hover: var(--kfw-color-fn-active);background-color:var(--button-bg);color:var(--button-color);padding:0;border:0;text-decoration:none}.button--tertiary:is(:hover,:focus){color:var(--button-color-hover);text-decoration:underline}.button--small{padding:.8rem 1.6rem;font-size:var(--kfw-fontsize-small)}input:not([type=submit],[type=button],[type=reset])[disabled],select[disabled],textarea[disabled],label[aria-disabled=true],:where(fieldset[disabled]) :is(input:not([type=submit],[type=button],[type=reset]),select,textarea){pointer-events:none}.file-upload{display:flex;flex-direction:column;align-items:center;padding:var(--kfw-space-small) var(--kfw-space-small) var(--kfw-space-medium);background-color:var(--kfw-color-background-light-green);margin-block-end:var(--kfw-space-medium)}.file-upload__title{margin-block-end:var(--kfw-fontspace)}label.file-upload__title{margin-block-end:var(--kfw-fontspace);font-weight:var(--kfw-fontweight)}.file-upload__input{width:auto;max-width:100%}.file-upload--with-native-input .file-upload__input{display:none}.file-upload--with-native-input .file-upload__input--has-files{display:block}.file-upload--with-native-input:has(.file-upload__input--has-files) :is(button,[role=button]){display:none}.file-upload__icon{position:relative;display:block;transform:scale(1);width:2.8rem;height:1.3rem;border:.3rem solid var(--kfw-color-fn);border-top:0;margin-block:2.5rem 2rem}.file-upload__icon:before,.file-upload__icon:after{content:"";display:block;position:absolute}.file-upload__icon:before{left:1rem;bottom:.4rem;width:.3rem;height:1.9rem;background-color:var(--kfw-color-fn)}.file-upload__icon:after{bottom:.7rem;left:.35rem;width:1.6rem;height:1.6rem;transform:rotate(45deg);border-left:.3rem solid var(--kfw-color-fn);border-top:.3rem solid var(--kfw-color-fn)}:is(.container,.container-fluid,.container-narrow,.container-extended,.container-extended-fullwidth){margin-inline:auto;width:100%}:is(.container,.container-fluid,.container-narrow,.container-extended){padding-inline:var(--kfw-safezone)}.container{max-width:var(--kfw-contentwrapper-basic)}.container-narrow{max-width:var(--kfw-contentwrapper-narrow)}.container-extended,.container-extended-fullwidth{max-width:var(--kfw-contentwrapper-extended)}[class^=container]>section{margin-block:var(--kfw-space-large) var(--kfw-space-large)}.overflow-auto{overflow:auto}}}@layer components{@layer base{.header{background-color:var(--kfw-color-background);border-bottom:var(--kfw-borderwidth) solid var(--kfw-color-line-11);position:sticky;top:0;z-index:1000}.header>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:6.4rem;gap:var(--kfw-space-medium)}.header img{width:auto}.header__menu{text-align:right}.header-logo-mobile{height:2.8rem}.header-logo-desktop{display:none}.header--sticky .header-logo-mobile{display:block}.header--sticky .header-logo-desktop{display:none}@media(min-width:960px){.header :is(button,a){font-size:var(--kfw-fontsize-large)}.header-logo-mobile{display:none}.header-logo-desktop{display:block;height:6rem;margin-block:3rem}}.footer{--kfw-focusring-outline-color: var(--kfw-color-background);border-top:var(--kfw-base-borderwidth-md) solid var(--kfw-color-line-11);background-color:var(--kfw-color-background-dark-blue);color:var(--kfw-color-text-on-dark-bg);font-size:var(--kfw-fontsize-small);line-height:var(--kfw-lineheight);padding-block:var(--kfw-space-medium) var(--kfw-space-large)}.footer .button--secondary{--button-color: var(--kfw-color-text-on-dark-bg);--button-border-color: var(--kfw-color-text-on-dark-bg);--button-bg-hover: var(--kfw-color-text-on-dark-bg);--button-color-hover: var(--kfw-color-text);--button-border-color-hover: var(--kfw-color-text-on-dark-bg)}.footer :where(a:not([role=button])),.footer [role=link]{--link-color: var(--kfw-color-text-on-dark-bg);--link-color-hover: var(--kfw-color-text-on-dark-bg);text-decoration:underline}.footer a:not([role=button]):where(:hover,:focus,:active,[aria-current]:not([aria-current=false])),.footer [role=link]:where(:hover,:focus,:active,[aria-current]:not([aria-current=false])){text-decoration:none}.footer>*{align-items:baseline;display:flex;flex-direction:column;gap:var(--kfw-space-medium);justify-content:space-between}@media(min-width:960px){.footer>*{gap:3.6rem;flex-direction:row}}.footer__copyright{flex-shrink:0}.footer__list{list-style:none;padding:0;margin:0;display:flex;flex-flow:row wrap;max-width:100%;gap:1.6rem var(--kfw-space-large)}.grid{display:grid;grid-template-columns:1fr;column-gap:var(--kfw-safezone);margin-block-end:var(--kfw-fontspace)}@media(min-width:840px){.grid{grid-template-columns:repeat(auto-fit,minmax(0,1fr));margin-block-end:0}}.hero{--hero-content-desktop-width: 42.9rem}.hero>*{position:relative}.hero__bars{display:block;width:100%}@media(min-width:960px){.hero__bars{width:var(--hero-content-desktop-width);position:absolute;top:4rem;left:4rem;bottom:4rem}}.hero__title{width:100%;margin-block:0;align-items:center;display:flex;flex-direction:row;padding:2rem;background-color:var(--kfw-color-background-light-blue)}@media(min-width:960px){.hero__title{flex-direction:row;position:absolute;display:flex;width:var(--hero-content-desktop-width);background-color:var(--kfw-color-opaque-white-95);left:4rem;top:calc(5rem + 25px);border-radius:0 0 var(--kfw-borderradius-large) 0;padding:2rem 3rem 3rem}}.hero__image{width:100%;margin-inline:auto;display:block;object-fit:cover;height:auto;max-width:128rem}}@layer variations{.bg-dark{--headline-color: var(--kfw-color-text-headline-on-dark-bg);--kfw-focusring-outline-color: var(--kfw-color-background);background-color:var(--kfw-color-background-dark-blue);color:var(--kfw-color-text-on-dark-bg)}.bg-dark :where(a:not([role=button])),.bg-dark [role=link]{--link-color: var(--kfw-color-text-on-dark-bg);--link-color-hover: var(--kfw-color-text-on-dark-bg);text-decoration:underline}.bg-dark :where(a:not([role=button])):is([aria-current]:not([aria-current=false]),:hover,:active,:focus),.bg-dark [role=link]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){text-decoration:none}.bg-dark .button--primary{--button-color: var(--kfw-color-fn);--button-bg: var(--kfw-color-text-on-dark-bg);--button-border-color: var(--kfw-color-text-on-dark-bg);--button-bg-hover: var(--kfw-color-text-on-dark-bg);--button-color-hover: var(--button-color);--button-border-color-hover: var(--kfw-color-text-on-dark-bg)}.bg-dark .button--secondary{--button-color: var(--kfw-color-text-on-dark-bg);--button-border-color: var(--kfw-color-text-on-dark-bg);--button-bg-hover: var(--kfw-color-text-on-dark-bg);--button-color-hover: var(--kfw-color-text);--button-border-color-hover: var(--kfw-color-text-on-dark-bg)}.bg-dark .button--tertiary{--button-color: var(--kfw-color-text-on-dark-bg);--button-color-hover: var(--kfw-color-text-on-dark-bg)}.bg-subtle{background-color:var(--kfw-color-background-subtle)}.hl--sb{line-height:var(--kfw-lineheight-heading);letter-spacing:var(--kfw-base-letterspacing-normal);font-size:var(--kfw-fontsize-introduction)}@media(min-width:1280px){.hl--sb{font-size:var(--kfw-base-fontsize-static-5xl)}}.smk--1{line-height:var(--kfw-lineheight-heading);letter-spacing:var(--kfw-base-letterspacing-wider);font-size:var(--kfw-fontsize-small)}.tx--1{line-height:var(--kfw-lineheight);letter-spacing:var(--kfw-base-letterspacing-normal);font-size:var(--kfw-fontsize)}.tx--1-medium{line-height:var(--kfw-lineheight);letter-spacing:var(--kfw-base-letterspacing-wide);font-size:var(--kfw-fontsize)}.tx--2{line-height:var(--kfw-lineheight);letter-spacing:var(--kfw-base-letterspacing-normal);font-size:var(--kfw-fontsize-small)}.tx--4{line-height:var(--kfw-lineheight);letter-spacing:var(--kfw-base-letterspacing-normal);font-size:var(--kfw-fontsize-introduction)}}}@layer utility{.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.d-block{display:block}.m-auto{margin-inline:auto}.p-x{padding-inline:var(--kfw-safezone)}.p-y{padding-block:var(--kfw-safezone)}.m-x{margin-inline:var(--kfw-safezone)}.m-y{margin-block:var(--kfw-safezone)}.mb-xs{margin-block-end:var(--kfw-space-xsmall)}.mb-sm{margin-block-end:var(--kfw-space-small)}.mb-md{margin-block-end:var(--kfw-space-medium)}.mb-lg{margin-block-end:var(--kfw-space-large)}.mb-xl{margin-block-end:var(--kfw-space-big)}}
1
+ @layer reset,core,third-party,components,utility;@layer core.tokens,core.base,core.variations;@layer third-party.imports,third-party.overrides;@layer components.base,components.variations;@layer reset{*,*:after,*:before{box-sizing:border-box}:focus-visible{outline-offset:3px}:where(html){-webkit-text-size-adjust:none;text-size-adjust:none}:where(html){line-height:1.5}:where(html){scrollbar-gutter:stable}:where(h1){font-size:2em;margin-block:.67em}:where(abbr[title]){cursor:help;text-decoration-line:underline;text-decoration-style:dotted}@media (forced-colors: active){mark{color:HighlightText;background-color:Highlight}}:where(del,ins,s):before,:where(del,ins,s):after{clip-path:inset(100%);clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap;content:"test"}:where(s):before{content:"stricken text start "}:where(s):after{content:" stricken text end"}:where(del):before{content:"deletion start "}:where(del):after{content:" deletion end"}:where(ins):before{content:"insertion start "}:where(ins):after{content:" insertion end"}:where(audio,iframe,img,svg,video){max-block-size:100%;max-inline-size:100%}:where(fieldset){min-inline-size:0}:where(label):has(+:where(textarea,input,select)){display:block}:where(textarea:not([rows])){min-block-size:6em}:where(button,input,select,textarea){font-family:inherit;font-size:inherit}:where([type=search]){-webkit-appearance:textfield}@supports (-webkit-touch-callout: none){:where([type=search]){border:1px solid -apple-system-secondary-label;background-color:canvas}}:where([type=tel],[type=url],[type=email],[type=number]):not(:placeholder-shown){direction:ltr}:where(table){border-collapse:collapse;border:1px solid}:where(th,td){border:1px solid;padding:.25em .5em}:where(dialog)::backdrop{background:#0000004d}:where(dialog),:where(dialog)::backdrop{opacity:0;transition:opacity .3s ease-out,display .3s allow-discrete,overlay .3s allow-discrete}:where(dialog[open]),:where(dialog[open])::backdrop{opacity:1}@starting-style{:where(dialog[open]),:where(dialog[open])::backdrop{opacity:0}}[hidden]:not([hidden=until-found]){display:none!important}}@layer core.tokens{:root,:host,.kfw-theme--light{color-scheme:light}:root,:host,.kfw-theme--light{--kfw-base-color-blue-100: #e9f5fb;--kfw-base-color-blue-400: #54b3e2;--kfw-base-color-blue-500: #007abc;--kfw-base-color-blue-600: #005a8c;--kfw-base-color-blue-700: #00446e;--kfw-base-color-blue-800: #00375b;--kfw-base-color-green-100: #ecfded;--kfw-base-color-green-300: #b7f9aa;--kfw-base-color-green-400: #94eb90;--kfw-base-color-green-700: #398357;--kfw-base-color-white-90: #ffffffe6;--kfw-base-color-white-95: #fffffff2;--kfw-base-color-white: #ffffff;--kfw-base-color-black: #000000;--kfw-base-color-gray-50: #f6f7f8;--kfw-base-color-gray-100: #eef0f2;--kfw-base-color-gray-200: #d8dfe3;--kfw-base-color-gray-300: #a1adb5;--kfw-base-color-gray-400: #6d767d;--kfw-base-color-gray-500-10: #41484c1a;--kfw-base-color-gray-500-30: #41484c4d;--kfw-base-color-gray-500-90: #41484ce6;--kfw-base-color-gray-500: #41484c;--kfw-base-color-gray-600: #2d3134;--kfw-base-color-violet-400: #9598e0;--kfw-base-color-violet-500: #686fc8;--kfw-base-color-red-400: #c80538;--kfw-base-color-yellow-500: #eac80b;--kfw-base-fontfamily-sans: "KfW Centro Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;--kfw-base-fontfamily-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--kfw-base-space-static-5: .5rem;--kfw-base-space-static-10: 1rem;--kfw-base-space-static-15: 1.5rem;--kfw-base-space-static-20: 2rem;--kfw-base-space-static-25: 2.5rem;--kfw-base-space-static-30: 3rem;--kfw-base-space-static-35: 3.5rem;--kfw-base-space-static-40: 4rem;--kfw-base-space-static-50: 5rem;--kfw-base-space-static-60: 6rem;--kfw-base-space-fluid-5-min: .5rem;--kfw-base-space-fluid-5-max: 1rem;--kfw-base-space-fluid-5-val: .735vi + .588px;--kfw-base-space-fluid-10-min: 1rem;--kfw-base-space-fluid-10-max: 1.5rem;--kfw-base-space-fluid-10-val: .735vi + .5588rem;--kfw-base-space-fluid-15-min: 1.5rem;--kfw-base-space-fluid-15-max: 2rem;--kfw-base-space-fluid-15-val: .735vi + 1.0588rem;--kfw-base-space-fluid-20-min: 2rem;--kfw-base-space-fluid-20-max: 2.5rem;--kfw-base-space-fluid-20-val: .735vi + 1.5588rem;--kfw-base-space-fluid-25-min: 2.5rem;--kfw-base-space-fluid-25-max: 3rem;--kfw-base-space-fluid-25-val: .735vi + 2.0588rem;--kfw-base-space-fluid-30-min: 3rem;--kfw-base-space-fluid-30-max: 3.5rem;--kfw-base-space-fluid-30-val: .735vi + 2.5588rem;--kfw-base-space-fluid-35-min: 3.5rem;--kfw-base-space-fluid-35-max: 4rem;--kfw-base-space-fluid-35-val: .735vi + 3.0588rem;--kfw-base-space-fluid-40-min: 4rem;--kfw-base-space-fluid-40-max: 5rem;--kfw-base-space-fluid-40-val: 1.471vi + 3.1176rem;--kfw-base-space-fluid-50-min: 5rem;--kfw-base-space-fluid-50-max: 6rem;--kfw-base-space-fluid-50-val: 1.471vi + 4.1176rem;--kfw-base-fontsize-static-sm: 1.4rem;--kfw-base-fontsize-static-md: 1.6rem;--kfw-base-fontsize-static-lg: 1.8rem;--kfw-base-fontsize-static-xl: 2rem;--kfw-base-fontsize-static-2xl: 2.2rem;--kfw-base-fontsize-static-3xl: 2.4rem;--kfw-base-fontsize-static-4xl: 2.6rem;--kfw-base-fontsize-static-5xl: 2.8rem;--kfw-base-fontsize-static-6xl: 3rem;--kfw-base-fontsize-static-7xl: 3.2rem;--kfw-base-fontsize-static-8xl: 3.6rem;--kfw-base-fontsize-fluid-sm-min: 1.4rem;--kfw-base-fontsize-fluid-sm-max: 1.6rem;--kfw-base-fontsize-fluid-sm-val: .294vi + 1.2235rem;--kfw-base-fontsize-fluid-md-min: 1.6rem;--kfw-base-fontsize-fluid-md-max: 1.8rem;--kfw-base-fontsize-fluid-md-val: .294vi + 1.4235rem;--kfw-base-fontsize-fluid-lg-min: 1.8rem;--kfw-base-fontsize-fluid-lg-max: 2rem;--kfw-base-fontsize-fluid-lg-val: .294vi + 1.6235rem;--kfw-base-fontsize-fluid-xl-min: 2rem;--kfw-base-fontsize-fluid-xl-max: 2.2rem;--kfw-base-fontsize-fluid-xl-val: .294vi + 1.8235rem;--kfw-base-fontsize-fluid-2xl-min: 2.2rem;--kfw-base-fontsize-fluid-2xl-max: 2.4rem;--kfw-base-fontsize-fluid-2xl-val: .294vi + 2.0235rem;--kfw-base-fontsize-fluid-3xl-min: 2.4rem;--kfw-base-fontsize-fluid-3xl-max: 2.6rem;--kfw-base-fontsize-fluid-3xl-val: .294vi + 2.2235rem;--kfw-base-fontsize-fluid-4xl-min: 2.6rem;--kfw-base-fontsize-fluid-4xl-max: 2.8rem;--kfw-base-fontsize-fluid-4xl-val: .294vi + 2.4234999999999998rem;--kfw-base-fontsize-fluid-5xl-min: 2.8rem;--kfw-base-fontsize-fluid-5xl-max: 3.2rem;--kfw-base-fontsize-fluid-5xl-val: .588vi + 2.4471rem;--kfw-base-fontsize-fluid-6xl-min: 3rem;--kfw-base-fontsize-fluid-6xl-max: 3.6rem;--kfw-base-fontsize-fluid-6xl-val: .882vi + 2.4706rem;--kfw-base-lineheight-2xs: 1.2;--kfw-base-lineheight-xs: 1.3;--kfw-base-lineheight-sm: 1.333;--kfw-base-lineheight-md: 1.4;--kfw-base-lineheight-lg: 1.5;--kfw-base-borderradius-sm: 2px;--kfw-base-borderradius-md: .4rem;--kfw-base-borderradius-lg: 2rem;--kfw-base-borderradius-circle: 999.9rem;--kfw-base-borderwidth-md: 1px;--kfw-base-borderwidth-lg: 2px;--kfw-base-fontweight-regular: 400;--kfw-base-fontweight-medium: 500;--kfw-base-letterspacing-tight: -.5px;--kfw-base-letterspacing-normal: 0;--kfw-base-letterspacing-wide: .5px;--kfw-base-letterspacing-wider: 1px;--kfw-base-layout-breakpoint-xs: 320px;--kfw-base-layout-breakpoint-sm: 600px;--kfw-base-layout-breakpoint-md: 840px;--kfw-base-layout-breakpoint-lg: 960px;--kfw-base-layout-breakpoint-xl: 1280px;--kfw-base-layout-container-sm: 89.6rem;--kfw-base-layout-container-md: 108rem;--kfw-base-layout-container-lg: 128rem;--kfw-base-layout-safezone-static-md: 2rem;--kfw-base-layout-safezone-static-lg: 4rem;--kfw-base-layout-safezone-fluid-min: 2rem;--kfw-base-layout-safezone-fluid-max: 4rem;--kfw-base-layout-safezone-fluid-val: 2.941vi + .2353rem;--kfw-base-layout-gridcolumn-1: 1;--kfw-base-layout-gridcolumn-2: 2;--kfw-base-layout-gridcolumn-3: 3;--kfw-base-layout-gridcolumn-4: 4;--kfw-base-layout-gridcolumn-6: 6;--kfw-base-layout-gridcolumn-8: 8;--kfw-base-layout-gridcolumn-12: 12;--kfw-base-layout-gridgap-static-xs: 1.2rem;--kfw-base-layout-gridgap-static-sm: 1.8rem;--kfw-base-layout-gridgap-static-md: 2.2rem;--kfw-base-layout-gridgap-static-lg: 2.6rem;--kfw-base-layout-gridgap-static-xl: 3.6rem;--kfw-base-layout-gridgap-fluid-min: 1.2rem;--kfw-base-layout-gridgap-fluid-max: 3.6rem;--kfw-base-layout-gridgap-fluid-val: 3.529vi - .9176rem;--kfw-color-fn: #005a8c;--kfw-color-fn-active: #00446e;--kfw-color-fn-inactive: #a1adb5;--kfw-color-fn-border: #2d3134;--kfw-color-fn-label: #2d3134;--kfw-color-text: #2d3134;--kfw-color-text-on-dark-bg: #ffffff;--kfw-color-text-on-disabled: #ffffff;--kfw-color-text-headline-on-dark-bg: #b7f9aa;--kfw-color-background: #ffffff;--kfw-color-background-subtle: #f6f7f8;--kfw-color-background-disabled: #a1adb5;--kfw-color-background-light-blue: #e9f5fb;--kfw-color-background-light-green: #ecfded;--kfw-color-background-dark-blue: #00375b;--kfw-color-background-dark-green: #398357;--kfw-color-opaque-white-90: #ffffffe6;--kfw-color-opaque-white-95: #fffffff2;--kfw-color-opaque-gray-500-10: #41484c1a;--kfw-color-opaque-gray-500-30: #41484c4d;--kfw-color-opaque-gray-500-90: #41484ce6;--kfw-color-state-danger: #c80538;--kfw-color-state-success: #398357;--kfw-color-state-warning: #9598e0;--kfw-color-status-red: #c80538;--kfw-color-status-yellow: #eac80b;--kfw-color-status-green: #398357;--kfw-color-line-6: #00446e;--kfw-color-line-7: #2d3134;--kfw-color-line-8: #a1adb5;--kfw-color-line-9: #005a8c;--kfw-color-line-10: #2d3134;--kfw-color-line-11: #b7f9aa;--kfw-color-line-12: #a1adb5;--kfw-color-product-container: #f6f7f8;--kfw-color-product-benefit: #007abc;--kfw-color-product-credit: #398357;--kfw-color-product-cooperation: #686fc8;--kfw-color-product-credit-benefit: #41484c;--kfw-color-icon: #005a8c;--kfw-color-icon-secondary: #54b3e2;--kfw-color-icon-disabled: #398357;--kfw-color-icon-disabled-secondary: #94eb90;--kfw-fontfamily: "KfW Centro Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;--kfw-fontfamily-code: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--kfw-space-xsmall: 1rem;--kfw-space-small: 2rem;--kfw-space-medium: 3rem;--kfw-space-large-min: 3.5rem;--kfw-space-large-max: 4rem;--kfw-space-large-val: .735vi + 3.0588rem;--kfw-space-big-min: 5rem;--kfw-space-big-max: 6rem;--kfw-space-big-val: 1.471vi + 4.1176rem;--kfw-fontspace: 2rem;--kfw-fontspace-2xsmall: .5rem;--kfw-fontspace-xsmall: 1rem;--kfw-fontspace-small: 1.5rem;--kfw-fontspace-large: 3rem;--kfw-fontspace-heading-1: 2rem;--kfw-fontspace-heading-2: 2rem;--kfw-fontspace-heading-3: 1rem;--kfw-fontspace-heading-4: 1rem;--kfw-fontspace-heading-5: 1rem;--kfw-fontspace-heading-6: 1rem;--kfw-fontsize: 1.6rem;--kfw-fontsize-introduction: 2rem;--kfw-fontsize-large: 1.8rem;--kfw-fontsize-small: 1.4rem;--kfw-fontsize-heading-1-min: 3rem;--kfw-fontsize-heading-1-max: 3.6rem;--kfw-fontsize-heading-1-val: .882vi + 2.4706rem;--kfw-fontsize-heading-2-min: 2.8rem;--kfw-fontsize-heading-2-max: 3.2rem;--kfw-fontsize-heading-2-val: .588vi + 2.4471rem;--kfw-fontsize-heading-3-min: 2.4rem;--kfw-fontsize-heading-3-max: 2.6rem;--kfw-fontsize-heading-3-val: .294vi + 2.2235rem;--kfw-fontsize-heading-4-min: 2rem;--kfw-fontsize-heading-4-max: 2.2rem;--kfw-fontsize-heading-4-val: .294vi + 1.8235rem;--kfw-fontsize-heading-5: 1.8rem;--kfw-fontsize-heading-6: 1.6rem;--kfw-lineheight: 1.4;--kfw-lineheight-list: 1.5;--kfw-lineheight-heading: 1.3;--kfw-lineheight-heading-5: 1.333;--kfw-borderradius: .4rem;--kfw-borderradius-large: 2rem;--kfw-borderradius-small: 2px;--kfw-borderradius-circle: 999.9rem;--kfw-borderwidth: 1px;--kfw-borderwidth-large: 2px;--kfw-focusring-outline-width: 2px;--kfw-focusring-outline-offset: 2px;--kfw-focusring-outline-style: dashed;--kfw-fontweight: 400;--kfw-fontweight-bold: 500;--kfw-breakpoint-mobile: 600px;--kfw-breakpoint-tablet: 840px;--kfw-breakpoint-desktop: 960px;--kfw-breakpoint-desktop-large: 1280px;--kfw-contentwrapper-narrow: 89.6rem;--kfw-contentwrapper-basic: 108rem;--kfw-contentwrapper-extended: 128rem;--kfw-safezone-min: 2rem;--kfw-safezone-max: 4rem;--kfw-safezone-val: 2.941vi + .2353rem}}@layer core{@layer tokens{:root{--kfw-icon-arrow-down: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%232d3134' viewBox='0 0 24 24'%3E%3Cpath d='m2.146 7.852.706-.706a.5.5 0 0 1 .706 0l8.448 8.238 8.436-8.238a.5.5 0 0 1 .706 0l.706.706a.5.5 0 0 1 0 .706l-9.495 9.296a.5.5 0 0 1-.706 0L2.146 8.558a.5.5 0 0 1 0-.706'/%3E%3C/svg%3E");--kfw-icon-arrow-down-fn: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23005a8c' viewBox='0 0 24 24'%3E%3Cpath d='m2.146 7.852.706-.706a.5.5 0 0 1 .706 0l8.448 8.238 8.436-8.238a.5.5 0 0 1 .706 0l.706.706a.5.5 0 0 1 0 .706l-9.495 9.296a.5.5 0 0 1-.706 0L2.146 8.558a.5.5 0 0 1 0-.706'/%3E%3C/svg%3E");--kfw-icon-calendar-fn: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23005a8c' viewBox='0 0 24 24'%3E%3Ctitle%3Eicon/kalender%3C/title%3E%3Cpath fill='%23005a8c' fill-rule='evenodd' d='M7.5 2a.5.5 0 0 1 .5.5V4h8V2.5c0-.277.223-.5.5-.5h1a.5.5 0 0 1 .5.5V4h3.5a.5.5 0 0 1 .5.5v17a.5.5 0 0 1-.5.5h-19a.5.5 0 0 1-.5-.5v-17c0-.277.223-.5.5-.5H6V2.5c0-.277.223-.5.5-.5ZM20 6H4v14h16zM7.5 16a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm5 0a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm5 0a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm-10-4a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm5 0a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm5 0a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm-10-4a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm5 0a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm5 0a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Z'/%3E%3C/svg%3E");--kfw-icon-time-fn: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23005a8c' viewBox='0 0 24 24'%3E%3Ctitle%3E01_Elemente (ATOME, MOLECULES)/Icons/Funktionsicons/Positiv/spaeter_festlegen%3C/title%3E%3Cpath fill='%23005a8c' fill-rule='evenodd' d='M12 2c5.5 0 10 4.5 10 10s-4.5 10-10 10S2 17.5 2 12 6.5 2 12 2m0 2c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8m.4 3c.3 0 .5.2.5.5v5.3l2.6 2.6c.2.2.2.5 0 .7l-.7.7c-.2.2-.5.2-.7 0l-3.2-3.2V7.5c0-.3.2-.5.5-.5Z'/%3E%3C/svg%3E");--kfw-safezone: clamp(var(--kfw-safezone-min), var(--kfw-safezone-val), var(--kfw-safezone-max));--kfw-space-large: clamp(var(--kfw-space-large-min), var(--kfw-space-large-val), var(--kfw-space-large-max));--kfw-space-big: clamp(var(--kfw-space-big-min), var(--kfw-space-big-val), var(--kfw-space-big-max));--headline-color: var(--kfw-color-text);--kfw-focusring-outline-color: var(--kfw-color-fn-active)}}@layer base{:root{font-size:62.5%;font-family:var(--kfw-fontfamily);background-color:var(--kfw-color-background);color:var(--kfw-color-text);line-height:var(--kfw-lineheight);font-weight:var(--kfw-fontweight);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*:focus-visible{outline:var(--kfw-focusring-outline-width) var(--kfw-focusring-outline-style) var(--kfw-focusring-outline-color);outline-offset:var(--kfw-focusring-outline-offset)}body{margin:0;font-size:1.6rem}strong,b{font-weight:var(--kfw-fontweight-bold)}small{font-size:80%}:is(sub,sup){position:relative;line-height:0;vertical-align:baseline;font-size:75%}sub{bottom:-.25em}sup{top:-.5em}:is(address,blockquote,dl,ol,p,pre,table,ul){margin-block:0 var(--kfw-fontspace)}:is(address,blockquote,dl,ol,p,pre,table,ul):last-child{margin-block-end:0}ul,ol,menu{list-style:none inside none;padding-inline-start:0}mark{padding:.125rem .25rem;vertical-align:baseline;background-color:var(--kfw-color-background-dark-blue);color:var(--kfw-color-text-on-dark-bg)}blockquote{margin-inline:0}blockquote footer{margin-block-start:var(--kfw-fontspace-2xsmall)}table{width:100%;border-collapse:collapse;border-spacing:0;border-left:0;border-right:0;text-indent:0;overflow:visible;border-top:var(--kfw-borderwidth) solid var(--kfw-color-line-10);border-bottom:var(--kfw-borderwidth-large) solid var(--kfw-color-line-7)}tr{background-color:var(--kfw-color-background)}thead tr{border-bottom:var(--kfw-borderwidth) solid var(--kfw-color-line-8)}tr:not(:last-of-type){border-bottom:var(--kfw-borderwidth) solid var(--kfw-color-line-8)}tr.highlighted-col,tr.highlighted,td.highlighted-col,td.highlighted,th.highlighted-col,th.highlighted{background-color:var(--kfw-color-background-light-green)}th{text-align:start;font-weight:var(--kfw-fontweight-bold)}:where(th,td){border:0;vertical-align:top;letter-spacing:0;word-spacing:inherit;font-size:var(--kfw-fontsize);line-height:var(--kfw-lineheight);font-weight:var(--kfw-fontweight);color:var(--kfw-color-text);padding:1.2rem 1rem}table.striped tbody tr:nth-child(odd):not(.highlighted){background-color:var(--kfw-color-background-light-blue)}:where(audio,canvas,iframe,img,svg,video){vertical-align:middle}audio,video{display:inline-block}:where(iframe){border-style:none}img,video{max-width:100%;height:auto;border-style:none}figure{display:block;margin:0;padding:0}figure figcaption{padding:var(--kfw-space-xsmall)}code,kbd,samp,pre{font-family:var(--kfw-fontfamily-code);line-height:initial}pre{display:block;margin-block:0 var(--kfw-fontspace);overflow:auto;-ms-overflow-style:scrollbar}abbr[title]{text-decoration:underline dotted;cursor:help}ins{color:var(--kfw-color-state-success);text-decoration:none}del{color:var(--kfw-color-state-danger)}:is(h1,h2,h3,h4,h5,h6,.hl--1,.hl--2,.hl--3,.hl--4,.hl--5,.hl--6){font-weight:var(--kfw-fontweight-bold);line-height:var(--kfw-lineheight-heading);margin-block-start:0;color:var(--headline-color);display:block}h1,.hl--1{font-size:clamp(var(--kfw-fontsize-heading-1-min),var(--kfw-fontsize-heading-1-val),var(--kfw-fontsize-heading-1-max));margin-block-end:var(--kfw-fontspace-heading-1)}@media (min-width: 1280px){h1,.hl--1{letter-spacing:var(--kfw-base-letterspacing-tight)}}h2,.hl--2{font-size:clamp(var(--kfw-fontsize-heading-2-min),var(--kfw-fontsize-heading-2-val),var(--kfw-fontsize-heading-2-max));margin-block-end:var(--kfw-fontspace-heading-2);letter-spacing:var(--kfw-base-letterspacing-tight)}h3,.hl--3{font-size:clamp(var(--kfw-fontsize-heading-3-min),var(--kfw-fontsize-heading-3-val),var(--kfw-fontsize-heading-3-max));margin-block-end:var(--kfw-fontspace-heading-3);letter-spacing:var(--kfw-base-letterspacing-tight)}@media (min-width: 1280px){h3,.hl--3{letter-spacing:var(--kfw-base-letterspacing-normal)}}h4,.hl--4{font-size:clamp(var(--kfw-fontsize-heading-4-min),var(--kfw-fontsize-heading-4-val),var(--kfw-fontsize-heading-4-max));margin-block-end:var(--kfw-fontspace-heading-4)}h5,.hl--5{font-size:var(--kfw-fontsize-heading-5);margin-block-end:var(--kfw-fontspace-heading-5);line-height:var(--kfw-lineheight-heading-5);letter-spacing:var(--kfw-base-letterspacing-normal)}@media (min-width: 1280px){h5,.hl--5{letter-spacing:var(--kfw-base-letterspacing-wide)}}h6,.hl--6{font-size:var(--kfw-fontsize-heading-6);margin-block-end:var(--kfw-fontspace-heading-6);letter-spacing:var(--kfw-base-letterspacing-wide);line-height:var(--kfw-lineheight)}.icon{display:inline-block;flex-shrink:0;vertical-align:top;min-width:1.6rem;min-height:1.6rem;filter:brightness(0) saturate(100%) invert(16%) sepia(13%) saturate(296%) hue-rotate(156deg) brightness(96%) contrast(90%)}.form-control{--borderhover: var(--kfw-color-fn-active);--placeholder-color: var(--kfw-color-fn);appearance:none;width:100%;height:4.3rem;font-size:var(--kfw-fontsize);font-family:inherit;line-height:var(--kfw-lineheight);color:var(--kfw-color-fn);border-radius:var(--kfw-borderradius);margin-block-start:0;border:var(--kfw-borderwidth) solid var(--kfw-base-color-gray-500);padding-inline:1.5rem;padding-block:1rem;background-color:var(--kfw-color-background)}.form-control::placeholder{color:var(--placeholder-color)}.form-control:disabled{--placeholder-color: var(--kfw-color-text);background-color:transparent;color:var(--kfw-color-text);border-color:var(--kfw-color-fn-inactive)}.form-control:hover:not(:disabled){box-shadow:0 0 0 var(--kfw-borderwidth) var(--borderhover)}:is([type=checkbox],[type=radio],select.form-control):not(:disabled){cursor:pointer}select.form-control{padding-block:0;background-position:center right 1.5rem;background-size:2.4rem auto;background-repeat:no-repeat;background-image:var(--kfw-icon-arrow-down-fn)}select.form-control:disabled{background-image:var(--kfw-icon-arrow-down)}textarea.form-control{height:auto}.form-control[aria-invalid=true]{--borderhover: var(--kfw-color-state-danger);--placeholder-color: var(--kfw-color-state-danger);border-color:var(--kfw-color-state-danger);color:var(--kfw-color-state-danger);box-shadow:0 0 0 var(--kfw-borderwidth) var(--borderhover)}:is(progress,[type=checkbox],[type=radio],[type=range]){accent-color:var(--kfw-color-fn)}textarea{display:block;resize:vertical}fieldset{margin:0;padding:0;border:0}[type=file],[type=range]{padding:0;border:0;width:100%}[type=file]::file-selector-button{margin-inline-end:var(--kfw-space-xsmall)}:where(input,select,textarea,fieldset)+small,.form-text,.invalid-feedback{display:block;width:100%;margin-block-start:.8rem;font-size:var(--kfw-fontsize-small);line-height:var(--kfw-lineheight);letter-spacing:var(--kfw-base-letterspacing-normal)}.invalid-feedback{color:var(--kfw-color-state-danger)}.invalid-feedback__icon{filter:brightness(0) saturate(100%) invert(12%) sepia(88%) saturate(4049%) hue-rotate(335deg) brightness(101%) contrast(106%)}:is(label,.form-label){display:inline-block;margin-block-end:.8rem;font-weight:var(--kfw-fontweight-bold);color:var(--kfw-color-text)}.form-group{margin-block-end:var(--kfw-space-medium)}.list-group-form{--col-gap: 1.5rem;--field-size: 2.8rem;align-items:flex-start;display:flex;flex-direction:column;gap:var(--kfw-space-small) var(--kfw-space-medium)}.list-group-form>*{align-items:flex-start;display:flex;margin-bottom:0}.list-group-form label{font-weight:var(--kfw-fontweight);padding-left:var(--col-gap);width:100%;margin-block-end:0;display:flex;flex:1 1;flex-direction:column;padding-block-start:.4rem}.list-group-form :is([type=checkbox],[type=radio]){appearance:none;width:var(--field-size);height:var(--field-size);margin:0;border:var(--kfw-borderwidth) solid var(--kfw-color-fn-active);color:var(--kfw-color-fn-active);vertical-align:middle;position:relative;display:flex;align-items:center;flex-shrink:0;justify-content:center;background-color:var(--kfw-color-background)}.list-group-form :is([type=checkbox],[type=radio])[aria-invalid=true]{border-color:var(--kfw-color-state-danger);border-width:var(--kfw-borderwidth-large);color:var(--kfw-color-state-danger)}.list-group-form [type=radio]{border-radius:var(--kfw-borderradius-circle)}.list-group-form [type=checkbox]{border-radius:var(--kfw-borderradius)}.list-group-form :is([type=checkbox],[type=radio]):disabled{background-color:var(--kfw-base-color-gray-100);color:var(--kfw-color-fn-inactive);border-color:var(--kfw-color-fn-inactive)}.list-group-form :is([type=checkbox],[type=radio]):before{content:none;display:block;position:absolute;top:50%;left:50%;border-color:currentcolor;border-bottom-style:solid;border-left-style:solid}.list-group-form [type=checkbox]:before{width:1.6rem;height:.9rem;transform:translate(-50%,-50%) rotate(314deg);margin-top:-1px;border-bottom-width:.225rem;border-left-width:.225rem}.list-group-form [type=radio]:before{width:1.4rem;height:1.4rem;transform:translate(-50%,-50%);border-radius:var(--kfw-borderradius-circle);background-color:currentcolor;forced-color-adjust:none}.list-group-form :is([type=checkbox],[type=radio]):checked:before{content:""}.list-group-form :is([type=radio],[type=checkbox]):hover:not(:disabled),.list-group-form :is([type=radio],[type=checkbox]):focus:not(:disabled){border-width:var(--kfw-borderwidth-large)}.list-group-form--with-description label{font-weight:var(--kfw-fontweight-bold)}.list-group-form--with-description label>*{font-weight:var(--kfw-fontweight)}.list-group-form>*:has(input:not(:disabled)) label{cursor:pointer}.list-group-form>*:has(.list-group-form--subgroup){flex-wrap:wrap}.list-group-form--subgroup{flex-basis:100%;margin-block-start:var(--kfw-space-small);padding-left:calc(var(--field-size) + var(--col-gap))}@media (min-width: 600px){.list-group-form--inline{flex-flow:row wrap}}[type=date],[type=time]{appearance:none;position:relative;padding-right:3.6rem}[type=date]::-webkit-calendar-picker-indicator,[type=time]::-webkit-calendar-picker-indicator,[type=time]::-webkit-inner-spin-button{display:none}[type=date]{background-size:1.8rem auto;background-repeat:no-repeat;background-position:right 1rem center;background-image:var(--kfw-icon-calendar-fn)}[type=time]{background-size:1.8rem auto;background-repeat:no-repeat;background-position:right 1rem center;background-image:var(--kfw-icon-time-fn)}:where(a:not([role=button]),[role=link]){--link-color: var(--kfw-color-fn);--link-color-hover: var(--kfw-color-fn-active);color:var(--link-color);text-decoration:none;border-radius:var(--kfw-borderradius);display:inline-flex;vertical-align:top}:where(a:not([role=button]),[role=link]):is(:hover,:focus,:active){color:var(--link-color-hover);text-decoration:underline}:where(a:not([role=button]),[role=link]):has(.icon){justify-content:flex-start;align-items:center;gap:.5rem}:where(a,[role=link],button,[type=button]) .icon{filter:brightness(0) saturate(100%) invert(23%) sepia(73%) saturate(1448%) hue-rotate(175deg) brightness(97%) contrast(100%)}:where(a,[role=link],button,[type=button]):is(:hover,:focus) .icon{filter:brightness(0) saturate(100%) invert(17%) sepia(66%) saturate(1809%) hue-rotate(178deg) brightness(100%) contrast(101%)}button,[type=submit],[type=reset],[type=button],[role=button],[type=file]::file-selector-button{border:var(--kfw-borderwidth) solid transparent;font-family:var(--kfw-fontfamily);font-size:var(--kfw-fontsize);font-weight:var(--kfw-fontweight);border-radius:var(--kfw-borderradius);display:inline-flex;gap:.8rem;text-align:center;text-decoration:none;line-height:var(--kfw-lineheight);padding-block:1.2rem;padding-inline:2.5rem;justify-content:center;max-width:100%;vertical-align:middle;white-space:nowrap;cursor:pointer;align-items:center}:where([type=submit],.button--primary){--button-border-color: var(--kfw-color-fn);--button-bg: var(--kfw-color-fn);--button-color: var(--kfw-color-text-on-dark-bg);--button-border-color-hover: var(--kfw-color-fn-active);--button-bg-hover: var(--kfw-color-fn-active);--button-color-hover: var(--button-color);background-color:var(--button-bg);color:var(--button-color);border-color:var(--button-border-color)}:where([type=submit],.button--primary):is(:hover,:focus){color:var(--button-color-hover);background-color:var(--button-bg-hover);border-color:var(--button-border-color-hover);text-decoration:underline}.button--primary .icon{filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(141deg) brightness(108%) contrast(101%)}.button--secondary .icon{filter:brightness(0) saturate(100%) invert(21%) sepia(98%) saturate(1179%) hue-rotate(176deg) brightness(98%) contrast(101%)}.button--primary:is(:hover,:focus) .icon{filter:brightness(0) saturate(100%) invert(100%) sepia(64%) saturate(104%) hue-rotate(292deg) brightness(112%) contrast(102%)}.button--secondary:is(:hover,:focus) .icon{filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7489%) hue-rotate(255deg) brightness(103%) contrast(100%)}[type=file]::file-selector-button,:is([type=reset],.button--secondary){--button-border-color: var(--kfw-color-fn);--button-bg: transparent;--button-color: var(--kfw-color-fn);--button-border-color-hover: var(--kfw-color-fn-active);--button-bg-hover: var(--kfw-color-fn-active);--button-color-hover: var(--kfw-color-text-on-dark-bg);background-color:var(--button-bg);color:var(--button-color);border-color:var(--button-border-color)}[type=file]::file-selector-button:is(:hover,:focus),:is([type=reset],.button--secondary):is(:hover,:focus){color:var(--button-color-hover);background-color:var(--button-bg-hover);border-color:var(--button-border-color-hover);text-decoration:underline}:where(.button--primary,.button--secondary):has(.icon--left){padding-inline-start:2rem}:where(.button--primary,.button--secondary):has(.icon--right){padding-inline-end:2rem}.button--tertiary{--button-color: var(--kfw-color-fn);--button-bg: transparent;--button-color-hover: var(--kfw-color-fn-active);background-color:var(--button-bg);color:var(--button-color);padding:0;border:0;text-decoration:none}.button--tertiary:is(:hover,:focus){color:var(--button-color-hover);text-decoration:underline}.button--small{padding:.8rem 1.6rem;font-size:var(--kfw-fontsize-small)}input:not([type=submit],[type=button],[type=reset])[disabled],select[disabled],textarea[disabled],label[aria-disabled=true],:where(fieldset[disabled]) :is(input:not([type=submit],[type=button],[type=reset]),select,textarea){pointer-events:none}.button--full{width:100%}.searchfield{position:relative;display:flex}.searchfield__input{width:100%;padding-right:3rem}.searchfield__input::-webkit-search-cancel-button{appearance:none}.searchfield__button{position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);background:none;padding:.25rem;margin:0;cursor:pointer;border-radius:1rem}.searchfield__button:is(:hover,:focus){outline:2px solid var(--kfw-color-fn-active)}.searchfield__icon{width:2.4rem;height:2.4rem;filter:brightness(0) saturate(100%) invert(22%) sepia(54%) saturate(2468%) hue-rotate(179deg) brightness(97%) contrast(101%)}.file-upload{display:flex;flex-direction:column;align-items:center;padding:var(--kfw-space-small) var(--kfw-space-small) var(--kfw-space-medium);background-color:var(--kfw-color-background-light-green);margin-block-end:var(--kfw-space-medium)}.file-upload__title{margin-block-end:var(--kfw-space-medium);font-weight:var(--kfw-fontweight);text-align:center}.file-upload__input{width:auto;max-width:100%}.file-upload--with-native-input .file-upload__input{display:none}.file-upload--with-native-input .file-upload__input--has-files{display:block}.file-upload--with-native-input:has(.file-upload__input--has-files) :is(button,[role=button]){display:none}.file-upload__icon{width:4rem;height:4rem;margin:2rem;filter:brightness(0) saturate(100%) invert(22%) sepia(96%) saturate(1056%) hue-rotate(174deg) brightness(98%) contrast(101%)}:is(.container,.container-fluid,.container-narrow,.container-extended,.container-extended-fullwidth){margin-inline:auto;width:100%}:is(.container,.container-fluid,.container-narrow,.container-extended){padding-inline:var(--kfw-safezone)}.container{max-width:var(--kfw-contentwrapper-basic)}.container-narrow{max-width:var(--kfw-contentwrapper-narrow)}.container-extended,.container-extended-fullwidth{max-width:var(--kfw-contentwrapper-extended)}[class^=container]>section{margin-block:var(--kfw-space-large) var(--kfw-space-large)}.overflow-auto{overflow:auto}}@layer variations{table.file-upload-table{margin-top:var(--kfw-space-medium)}table.file-upload-table table{border-top:0;min-height:10px;min-width:500px}table.file-upload-table .invalid-feedback{margin-block-start:0}table.file-upload-table tr{--name: calc(100% - var(--size) - var(--action));--size: 30%;--action: 15%;display:grid;grid-template-columns:var(--name) var(--size) var(--action);width:100%;border-top:var(--kfw-borderwidth) solid var(--kfw-color-line-10)}table.file-upload-table tr:not(:last-of-type){border-bottom:0}@media (min-width: 600px){table.file-upload-table tr{--size: 25%;--action: 25%}}@media (min-width: 960px){table.file-upload-table tr{--action: 20%}}}}@layer components{@layer base{.header{background-color:var(--kfw-color-background);border-bottom:var(--kfw-borderwidth) solid var(--kfw-color-line-11);position:sticky;top:0;z-index:1000}.header>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:6.4rem;gap:var(--kfw-space-medium)}.header__menu{text-align:end}.header__menu .icon{margin:1.2rem .8rem}:where(.header-logo-mobile,.header-logo-desktop){width:auto}.header-logo-mobile{height:2.8rem}.header-logo-desktop{display:none}.header--sticky .header-logo-mobile{display:block}.header--sticky .header-logo-desktop{display:none}@media (min-width: 960px){.header :is(button,a){font-size:var(--kfw-fontsize-large)}.header-logo-mobile{display:none}.header-logo-desktop{display:block;height:6rem;margin-block:3rem}}.footer{--kfw-focusring-outline-color: var(--kfw-color-background);border-top:var(--kfw-base-borderwidth-md) solid var(--kfw-color-line-11);font-size:var(--kfw-fontsize-small);line-height:var(--kfw-lineheight);padding-block:var(--kfw-space-medium) var(--kfw-space-large)}.footer>*{align-items:baseline;display:flex;flex-direction:column;gap:var(--kfw-space-medium);justify-content:space-between}@media (min-width: 960px){.footer>*{gap:3.6rem;flex-direction:row}}.footer__copyright{flex-shrink:0}.footer__list{list-style:none;padding:0;margin:0;display:flex;flex-flow:row wrap;max-width:100%;gap:1.6rem var(--kfw-space-large)}.grid{display:grid;grid-template-columns:1fr;column-gap:var(--kfw-safezone);margin-block-end:var(--kfw-fontspace)}@media (min-width: 840px){.grid{grid-template-columns:repeat(auto-fit,minmax(0,1fr));margin-block-end:0}}.hero{--hero-content-desktop-width: 42.9rem}.hero>*{position:relative}.hero__bars{display:block;width:100%}@media (min-width: 600px){.hero__bars{display:none}}.hero__bars-desktop{display:none;width:var(--hero-content-desktop-width);position:absolute;top:4rem;left:4rem;bottom:4rem}@media (min-width: 600px){.hero__bars-desktop{display:block}}.hero__title{width:100%;margin-block:0;align-items:center;display:flex;flex-direction:row;padding:2rem;background-color:var(--kfw-color-background-light-blue)}@media (min-width: 600px){.hero__title{flex-direction:row;position:absolute;display:flex;width:var(--hero-content-desktop-width);background-color:var(--kfw-color-opaque-white-95);left:4rem;top:calc(5rem + 25px);border-radius:0 0 var(--kfw-borderradius-large) 0;padding:2rem 3rem 3rem}}.hero__image{width:100%;margin-inline:auto;display:block;object-fit:cover;height:auto;max-width:128rem}}@layer variations{:where(.bg-dark,.footer){--headline-color: var(--kfw-color-text-headline-on-dark-bg);--kfw-focusring-outline-color: var(--kfw-color-background);background-color:var(--kfw-color-background-dark-blue);color:var(--kfw-color-text-on-dark-bg)}:where(.bg-dark,.footer) :where(a:not([role=button]),[role=link]){--link-color: var(--kfw-color-text-on-dark-bg);--link-color-hover: var(--kfw-color-text-on-dark-bg);text-decoration:underline}:where(.bg-dark,.footer) :where(a:not([role=button]),[role=link]):is(:hover,:focus,:active){text-decoration:none}:where(.bg-dark,.footer) :where([role=link],a:not([role=button])) .icon{filter:brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(11deg) brightness(104%) contrast(104%)}:where(.bg-dark,.footer) :where(button,[type=submit],[type=reset],[type=button],[role=button]) .icon{filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7465%) hue-rotate(139deg) brightness(105%) contrast(100%)}:where(.bg-dark,.footer) :where(.button--primary,[type=submit]){--button-color: var(--kfw-color-fn);--button-bg: var(--kfw-color-text-on-dark-bg);--button-border-color: var(--kfw-color-text-on-dark-bg);--button-bg-hover: var(--kfw-color-text-on-dark-bg);--button-color-hover: var(--button-color);--button-border-color-hover: var(--kfw-color-text-on-dark-bg)}:where(.bg-dark,.footer) :where(.button--primary,[type=submit]) .icon{filter:brightness(0) saturate(100%) invert(26%) sepia(39%) saturate(1502%) hue-rotate(164deg) brightness(106%) contrast(109%)}:where(.bg-dark,.footer) :where(.button--secondary,[type=reset]){--button-color: var(--kfw-color-text-on-dark-bg);--button-border-color: var(--kfw-color-text-on-dark-bg);--button-bg-hover: var(--kfw-color-text-on-dark-bg);--button-color-hover: var(--kfw-color-text);--button-border-color-hover: var(--kfw-color-text-on-dark-bg)}:where(.bg-dark,.footer) :where(.button--secondary,[type=reset]) .icon{filter:brightness(0) saturate(100%) invert(90%) sepia(100%) saturate(0%) hue-rotate(161deg) brightness(107%) contrast(101%)}:where(.bg-dark,.footer) :where(.button--secondary,[type=reset]):is(:hover,:focus) .icon{filter:brightness(0) saturate(100%) invert(19%) sepia(9%) saturate(346%) hue-rotate(144deg) brightness(95%) contrast(97%)}:where(.bg-dark,.footer) .button--tertiary{--button-color: var(--kfw-color-text-on-dark-bg);--button-color-hover: var(--kfw-color-text-on-dark-bg)}.bg-subtle{background-color:var(--kfw-color-background-subtle)}.hl--sb{line-height:var(--kfw-lineheight-heading);letter-spacing:var(--kfw-base-letterspacing-normal);font-size:var(--kfw-fontsize-introduction)}@media (min-width: 1280px){.hl--sb{font-size:var(--kfw-base-fontsize-static-5xl)}}.smk--1{line-height:var(--kfw-lineheight-heading);letter-spacing:var(--kfw-base-letterspacing-wider);font-size:var(--kfw-fontsize-small)}.tx--1{line-height:var(--kfw-lineheight);letter-spacing:var(--kfw-base-letterspacing-normal);font-size:var(--kfw-fontsize)}.tx--1-medium{line-height:var(--kfw-lineheight);letter-spacing:var(--kfw-base-letterspacing-wide);font-size:var(--kfw-fontsize)}.tx--2{line-height:var(--kfw-lineheight);letter-spacing:var(--kfw-base-letterspacing-normal);font-size:var(--kfw-fontsize-small)}.tx--4{line-height:var(--kfw-lineheight);letter-spacing:var(--kfw-base-letterspacing-normal);font-size:var(--kfw-fontsize-introduction)}}}@layer utility{.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.d-block{display:block}.m-auto{margin-inline:auto}.p-x{padding-inline:var(--kfw-safezone)}.p-y{padding-block:var(--kfw-safezone)}.m-x{margin-inline:var(--kfw-safezone)}.m-y{margin-block:var(--kfw-safezone)}.mb-xs{margin-block-end:var(--kfw-space-xsmall)}.mb-sm{margin-block-end:var(--kfw-space-small)}.mb-md{margin-block-end:var(--kfw-space-medium)}.mb-lg{margin-block-end:var(--kfw-space-large)}.mb-xl{margin-block-end:var(--kfw-space-big)}}
@@ -1,19 +1,25 @@
1
1
  /* Establish the order of layers upfront */
2
- @layer core, third-party, components, utility;
3
- @layer core.reset, core.tokens, core.base;
2
+ @layer reset, core, third-party, components, utility;
3
+ @layer core.tokens, core.base, core.variations;
4
4
  @layer third-party.imports, third-party.overrides;
5
5
  @layer components.base, components.variations;
6
6
 
7
7
  /* Reset, normalize, etc. */
8
- @import url("vendor/uaplus.css") layer(core.reset);
8
+ @import url("vendor/uaplus.css") layer(reset);
9
9
 
10
10
  /* KfW Design Tokens with Custom Media Queries */
11
11
  @import url("@openkfw/design-tokens/output/css/kfw-design-tokens.light.css") layer(core.tokens);
12
- @import url("vendor/gen-custom-media.css") layer(core.tokens);
12
+ @import url("vendor/gen-custom-media.css");
13
13
 
14
14
  @layer core {
15
15
  @layer tokens {
16
16
  :root {
17
+ /* icons */
18
+ --kfw-icon-arrow-down: svg-load("icons/arrow-down.svg", "var(--kfw-color-text)");
19
+ --kfw-icon-arrow-down-fn: svg-load("icons/arrow-down.svg", "var(--kfw-color-fn)");
20
+ --kfw-icon-calendar-fn: svg-load("icons/calendar.svg", "var(--kfw-color-fn)");
21
+ --kfw-icon-time-fn: svg-load("icons/time.svg", "var(--kfw-color-fn)");
22
+
17
23
  /* fluid shorthands */
18
24
  --kfw-safezone: clamp(var(--kfw-safezone-min), var(--kfw-safezone-val), var(--kfw-safezone-max));
19
25
  --kfw-space-large: clamp(var(--kfw-space-large-min), var(--kfw-space-large-val), var(--kfw-space-large-max));
@@ -105,34 +111,59 @@
105
111
  * Table
106
112
  */
107
113
 
108
- /*
109
- :where(table) {
114
+ table {
110
115
  width: 100%;
111
116
  border-collapse: collapse;
112
117
  border-spacing: 0;
118
+ border-left: 0;
119
+ border-right: 0;
113
120
  text-indent: 0;
121
+ overflow: visible;
122
+ border-top: var(--kfw-borderwidth) solid var(--kfw-color-line-10);
123
+ border-bottom: var(--kfw-borderwidth-large) solid var(--kfw-color-line-7);
114
124
  }
115
125
 
116
- th,
117
- td {
118
- padding: calc(var(--kfw-space-medium) / 2) var(--kfw-space-medium);
119
- border-bottom: var(--kfw-borderwidth) solid var(--kfw-color-text);
120
- background-color: var(--kfw-color-background-light-blue);
121
- color: var(--kfw-color-text);
122
- font-weight: var(--kfw-fontweight);
123
- border-color: transparent;
126
+ tr {
127
+ background-color: var(--kfw-color-background);
124
128
  }
125
129
 
126
- tfoot th,
127
- tfoot td {
128
- border-top: var(--kfw-borderwidth) solid var(--kfw-color-text);
129
- border-bottom: 0;
130
+ thead tr {
131
+ border-bottom: var(--kfw-borderwidth) solid var(--kfw-color-line-8);
130
132
  }
131
133
 
132
- table.striped tbody tr:nth-child(odd) th,
133
- table.striped tbody tr:nth-child(odd) td {
134
- background-color: var(--kfw-color-background);
135
- } */
134
+ tr:not(:last-of-type) {
135
+ border-bottom: var(--kfw-borderwidth) solid var(--kfw-color-line-8);
136
+ }
137
+
138
+ tr.highlighted-col,
139
+ tr.highlighted,
140
+ td.highlighted-col,
141
+ td.highlighted,
142
+ th.highlighted-col,
143
+ th.highlighted {
144
+ background-color: var(--kfw-color-background-light-green);
145
+ }
146
+
147
+ th {
148
+ text-align: start;
149
+ font-weight: var(--kfw-fontweight-bold);
150
+ }
151
+
152
+ :where(th, td) {
153
+ border: 0;
154
+ vertical-align: top;
155
+ letter-spacing: 0;
156
+ word-spacing: inherit;
157
+ font-size: var(--kfw-fontsize);
158
+ line-height: var(--kfw-lineheight);
159
+ font-weight: var(--kfw-fontweight);
160
+ color: var(--kfw-color-text);
161
+ padding: 1.2rem 1rem;
162
+ }
163
+
164
+ table.striped tbody tr:nth-child(odd):not(.highlighted) {
165
+ background-color: var(--kfw-color-background-light-blue);
166
+ }
136
167
 
137
168
  /**
138
169
  * Embedded content
@@ -268,26 +299,15 @@
268
299
  }
269
300
 
270
301
  /**
271
- * Link
302
+ * Icon
272
303
  */
273
- :where(a:not([role="button"])),
274
- [role="link"] {
275
- --link-color: var(--kfw-color-fn);
276
- --link-color-hover: var(--kfw-color-fn-active);
277
-
278
- color: var(--link-color);
279
- text-decoration: none;
280
- border-radius: var(--kfw-borderradius);
281
- }
282
-
283
- a:not([role="button"]):where(:hover, :focus, :active, [aria-current]:not([aria-current="false"])),
284
- [role="link"]:where(:hover, :focus, :active, [aria-current]:not([aria-current="false"])) {
285
- color: var(--link-color-hover);
286
- text-decoration: underline;
287
- }
288
-
289
- a[role="button"] {
304
+ .icon {
290
305
  display: inline-block;
306
+ flex-shrink: 0;
307
+ vertical-align: top;
308
+ min-width: 1.6rem;
309
+ min-height: 1.6rem;
310
+ filter: color-to-filter(var(--kfw-color-text));
291
311
  }
292
312
 
293
313
  /**
@@ -334,6 +354,14 @@
334
354
 
335
355
  select.form-control {
336
356
  padding-block: 0;
357
+ background-position: center right 1.5rem;
358
+ background-size: 2.4rem auto;
359
+ background-repeat: no-repeat;
360
+ background-image: var(--kfw-icon-arrow-down-fn);
361
+ }
362
+
363
+ select.form-control:disabled {
364
+ background-image: var(--kfw-icon-arrow-down);
337
365
  }
338
366
 
339
367
  textarea.form-control {
@@ -376,6 +404,7 @@
376
404
  }
377
405
 
378
406
  :where(input, select, textarea, fieldset) + small,
407
+ .form-text,
379
408
  .invalid-feedback {
380
409
  display: block;
381
410
  width: 100%;
@@ -389,14 +418,49 @@
389
418
  color: var(--kfw-color-state-danger);
390
419
  }
391
420
 
392
- :is(label, fieldset legend, .form-label) {
421
+ .invalid-feedback__icon {
422
+ filter: color-to-filter(var(--kfw-base-color-red-400));
423
+ }
424
+
425
+ :is(label, .form-label) {
393
426
  display: inline-block;
394
427
  margin-block-end: 0.8rem;
395
428
  font-weight: var(--kfw-fontweight-bold);
396
429
  color: var(--kfw-color-text);
397
430
  }
398
431
 
399
- :is([type="checkbox"], [type="radio"]) {
432
+ .form-group {
433
+ margin-block-end: var(--kfw-space-medium);
434
+ }
435
+
436
+ .list-group-form {
437
+ --col-gap: 1.5rem;
438
+ --field-size: 2.8rem;
439
+
440
+ align-items: flex-start;
441
+ display: flex;
442
+ flex-direction: column;
443
+ gap: var(--kfw-space-small) var(--kfw-space-medium);
444
+ }
445
+
446
+ .list-group-form > * {
447
+ align-items: flex-start;
448
+ display: flex;
449
+ margin-bottom: 0;
450
+ }
451
+
452
+ .list-group-form label {
453
+ font-weight: var(--kfw-fontweight);
454
+ padding-left: var(--col-gap);
455
+ width: 100%;
456
+ margin-block-end: 0;
457
+ display: flex;
458
+ flex: 1 1;
459
+ flex-direction: column;
460
+ padding-block-start: 0.4rem;
461
+ }
462
+
463
+ .list-group-form :is([type="checkbox"], [type="radio"]) {
400
464
  appearance: none;
401
465
  width: var(--field-size);
402
466
  height: var(--field-size);
@@ -412,27 +476,27 @@
412
476
  background-color: var(--kfw-color-background);
413
477
  }
414
478
 
415
- :is([type="checkbox"], [type="radio"])[aria-invalid="true"] {
479
+ .list-group-form :is([type="checkbox"], [type="radio"])[aria-invalid="true"] {
416
480
  border-color: var(--kfw-color-state-danger);
417
481
  border-width: var(--kfw-borderwidth-large);
418
482
  color: var(--kfw-color-state-danger);
419
483
  }
420
484
 
421
- [type="radio"] {
485
+ .list-group-form [type="radio"] {
422
486
  border-radius: var(--kfw-borderradius-circle);
423
487
  }
424
488
 
425
- [type="checkbox"] {
489
+ .list-group-form [type="checkbox"] {
426
490
  border-radius: var(--kfw-borderradius);
427
491
  }
428
492
 
429
- :is([type="checkbox"], [type="radio"]):disabled {
493
+ .list-group-form :is([type="checkbox"], [type="radio"]):disabled {
430
494
  background-color: var(--kfw-base-color-gray-100);
431
495
  color: var(--kfw-color-fn-inactive);
432
496
  border-color: var(--kfw-color-fn-inactive);
433
497
  }
434
498
 
435
- :is([type="checkbox"], [type="radio"])::before {
499
+ .list-group-form :is([type="checkbox"], [type="radio"])::before {
436
500
  content: none;
437
501
  display: block;
438
502
  position: absolute;
@@ -443,7 +507,7 @@
443
507
  border-left-style: solid;
444
508
  }
445
509
 
446
- [type="checkbox"]::before {
510
+ .list-group-form [type="checkbox"]::before {
447
511
  width: 1.6rem;
448
512
  height: 0.9rem;
449
513
  transform: translate(-50%, -50%) rotate(314deg);
@@ -452,7 +516,7 @@
452
516
  border-left-width: 0.225rem;
453
517
  }
454
518
 
455
- [type="radio"]::before {
519
+ .list-group-form [type="radio"]::before {
456
520
  width: 1.4rem;
457
521
  height: 1.4rem;
458
522
  transform: translate(-50%, -50%);
@@ -461,46 +525,15 @@
461
525
  forced-color-adjust: none;
462
526
  }
463
527
 
464
- :is([type="checkbox"], [type="radio"]):checked::before {
528
+ .list-group-form :is([type="checkbox"], [type="radio"]):checked::before {
465
529
  content: "";
466
530
  }
467
531
 
468
- :is([type="radio"], [type="checkbox"]):hover:not(:disabled),
469
- :is([type="radio"], [type="checkbox"]):focus:not(:disabled) {
532
+ .list-group-form :is([type="radio"], [type="checkbox"]):hover:not(:disabled),
533
+ .list-group-form :is([type="radio"], [type="checkbox"]):focus:not(:disabled) {
470
534
  border-width: var(--kfw-borderwidth-large);
471
535
  }
472
536
 
473
- .form-group {
474
- margin-block-end: var(--kfw-space-medium);
475
- }
476
-
477
- .list-group-form {
478
- --col-gap: 1.5rem;
479
- --field-size: 2.8rem;
480
-
481
- align-items: flex-start;
482
- display: flex;
483
- flex-direction: column;
484
- gap: var(--kfw-space-small) var(--kfw-space-medium);
485
- }
486
-
487
- .list-group-form > * {
488
- align-items: flex-start;
489
- display: flex;
490
- margin-bottom: 0;
491
- }
492
-
493
- .list-group-form label {
494
- font-weight: var(--kfw-fontweight);
495
- padding-left: var(--col-gap);
496
- width: 100%;
497
- margin-block-end: 0;
498
- display: flex;
499
- flex: 1 1;
500
- flex-direction: column;
501
- padding-block-start: 0.4rem;
502
- }
503
-
504
537
  .list-group-form--with-description label {
505
538
  font-weight: var(--kfw-fontweight-bold);
506
539
  }
@@ -529,15 +562,69 @@
529
562
  }
530
563
  }
531
564
 
532
- /**
533
- * Button
534
- */
565
+ [type="date"],
566
+ [type="time"] {
567
+ appearance: none;
568
+ position: relative;
569
+ padding-right: 3.6rem;
570
+ }
571
+
572
+ [type="date"]::-webkit-calendar-picker-indicator,
573
+ [type="time"]::-webkit-calendar-picker-indicator,
574
+ [type="time"]::-webkit-inner-spin-button {
575
+ display: none;
576
+ }
577
+
578
+ [type="date"] {
579
+ background-size: 1.8rem auto;
580
+ background-repeat: no-repeat;
581
+ background-position: right 1rem center;
582
+ background-image: var(--kfw-icon-calendar-fn);
583
+ }
584
+
585
+ [type="time"] {
586
+ background-size: 1.8rem auto;
587
+ background-repeat: no-repeat;
588
+ background-position: right 1rem center;
589
+ background-image: var(--kfw-icon-time-fn);
590
+ }
591
+
592
+ :where(a:not([role="button"]), [role="link"]) {
593
+ --link-color: var(--kfw-color-fn);
594
+ --link-color-hover: var(--kfw-color-fn-active);
595
+
596
+ color: var(--link-color);
597
+ text-decoration: none;
598
+ border-radius: var(--kfw-borderradius);
599
+ display: inline-flex;
600
+ vertical-align: top;
601
+ }
602
+
603
+ :where(a:not([role="button"]), [role="link"]):is(:hover, :focus, :active) {
604
+ color: var(--link-color-hover);
605
+ text-decoration: underline;
606
+ }
607
+
608
+ :where(a:not([role="button"]), [role="link"]):has(.icon) {
609
+ justify-content: flex-start;
610
+ align-items: center;
611
+ gap: 0.5rem;
612
+ }
613
+
614
+ :where(a, [role="link"], button, [type="button"]) .icon {
615
+ filter: color-to-filter(var(--kfw-color-fn));
616
+ }
617
+
618
+ :where(a, [role="link"], button, [type="button"]):is(:hover, :focus) .icon {
619
+ filter: color-to-filter(var(--kfw-color-fn-active));
620
+ }
621
+
535
622
  button,
536
623
  [type="submit"],
537
624
  [type="reset"],
538
625
  [type="button"],
539
- [type="file"]::file-selector-button,
540
- [role="button"] {
626
+ [role="button"],
627
+ [type="file"]::file-selector-button {
541
628
  border: var(--kfw-borderwidth) solid transparent;
542
629
  font-family: var(--kfw-fontfamily);
543
630
  font-size: var(--kfw-fontsize);
@@ -548,15 +635,17 @@
548
635
  text-align: center;
549
636
  text-decoration: none;
550
637
  line-height: var(--kfw-lineheight);
551
- padding: 1.2rem 2.5rem;
638
+ padding-block: 1.2rem;
639
+ padding-inline: 2.5rem;
552
640
  justify-content: center;
553
641
  max-width: 100%;
554
642
  vertical-align: middle;
555
643
  white-space: nowrap;
556
644
  cursor: pointer;
645
+ align-items: center;
557
646
  }
558
647
 
559
- .button--primary {
648
+ :where([type="submit"], .button--primary) {
560
649
  --button-border-color: var(--kfw-color-fn);
561
650
  --button-bg: var(--kfw-color-fn);
562
651
  --button-color: var(--kfw-color-text-on-dark-bg);
@@ -569,13 +658,29 @@
569
658
  border-color: var(--button-border-color);
570
659
  }
571
660
 
572
- .button--primary:is(:hover, :focus) {
661
+ :where([type="submit"], .button--primary):is(:hover, :focus) {
573
662
  color: var(--button-color-hover);
574
663
  background-color: var(--button-bg-hover);
575
664
  border-color: var(--button-border-color-hover);
576
665
  text-decoration: underline;
577
666
  }
578
667
 
668
+ .button--primary .icon {
669
+ filter: color-to-filter(var(--kfw-color-text-on-dark-bg));
670
+ }
671
+
672
+ .button--secondary .icon {
673
+ filter: color-to-filter(var(--kfw-color-fn));
674
+ }
675
+
676
+ .button--primary:is(:hover, :focus) .icon {
677
+ filter: color-to-filter(var(--kfw-color-text-on-dark-bg));
678
+ }
679
+
680
+ .button--secondary:is(:hover, :focus) .icon {
681
+ filter: color-to-filter(var(--kfw-color-text-on-dark-bg));
682
+ }
683
+
579
684
  [type="file"]::file-selector-button,
580
685
  :is([type="reset"], .button--secondary) {
581
686
  --button-border-color: var(--kfw-color-fn);
@@ -598,6 +703,14 @@
598
703
  text-decoration: underline;
599
704
  }
600
705
 
706
+ :where(.button--primary, .button--secondary):has(.icon--left) {
707
+ padding-inline-start: 2rem;
708
+ }
709
+
710
+ :where(.button--primary, .button--secondary):has(.icon--right) {
711
+ padding-inline-end: 2rem;
712
+ }
713
+
601
714
  .button--tertiary {
602
715
  --button-color: var(--kfw-color-fn);
603
716
  --button-bg: transparent;
@@ -628,6 +741,49 @@
628
741
  pointer-events: none;
629
742
  }
630
743
 
744
+ .button--full {
745
+ width: 100%;
746
+ }
747
+
748
+ /**
749
+ * Searchfield
750
+ */
751
+ .searchfield {
752
+ position: relative;
753
+ display: flex;
754
+ }
755
+
756
+ .searchfield__input {
757
+ width: 100%;
758
+ padding-right: 3rem;
759
+ }
760
+
761
+ .searchfield__input::-webkit-search-cancel-button {
762
+ appearance: none;
763
+ }
764
+
765
+ .searchfield__button {
766
+ position: absolute;
767
+ right: 1.5rem;
768
+ top: 50%;
769
+ transform: translateY(-50%);
770
+ background: none;
771
+ padding: 0.25rem;
772
+ margin: 0;
773
+ cursor: pointer;
774
+ border-radius: 1rem;
775
+ }
776
+
777
+ .searchfield__button:is(:hover, :focus) {
778
+ outline: 2px solid var(--kfw-color-fn-active);
779
+ }
780
+
781
+ .searchfield__icon {
782
+ width: 2.4rem;
783
+ height: 2.4rem;
784
+ filter: color-to-filter(var(--kfw-color-fn));
785
+ }
786
+
631
787
  /**
632
788
  * File-Upload
633
789
  */
@@ -641,12 +797,9 @@
641
797
  }
642
798
 
643
799
  .file-upload__title {
644
- margin-block-end: var(--kfw-fontspace);
645
- }
646
-
647
- label.file-upload__title {
648
- margin-block-end: var(--kfw-fontspace);
800
+ margin-block-end: var(--kfw-space-medium);
649
801
  font-weight: var(--kfw-fontweight);
802
+ text-align: center;
650
803
  }
651
804
 
652
805
  .file-upload__input {
@@ -667,39 +820,10 @@
667
820
  }
668
821
 
669
822
  .file-upload__icon {
670
- position: relative;
671
- display: block;
672
- transform: scale(1);
673
- width: 2.8rem;
674
- height: 1.3rem;
675
- border: 0.3rem solid var(--kfw-color-fn);
676
- border-top: 0;
677
- margin-block: 2.5rem 2rem;
678
- }
679
-
680
- .file-upload__icon::before,
681
- .file-upload__icon::after {
682
- content: "";
683
- display: block;
684
- position: absolute;
685
- }
686
-
687
- .file-upload__icon::before {
688
- left: 1rem;
689
- bottom: 0.4rem;
690
- width: 0.3rem;
691
- height: 1.9rem;
692
- background-color: var(--kfw-color-fn);
693
- }
694
-
695
- .file-upload__icon::after {
696
- bottom: 0.7rem;
697
- left: 0.35rem;
698
- width: 1.6rem;
699
- height: 1.6rem;
700
- transform: rotate(45deg);
701
- border-left: 0.3rem solid var(--kfw-color-fn);
702
- border-top: 0.3rem solid var(--kfw-color-fn);
823
+ width: 4rem;
824
+ height: 4rem;
825
+ margin: 2rem;
826
+ filter: color-to-filter(var(--kfw-color-fn));
703
827
  }
704
828
 
705
829
  /**
@@ -741,6 +865,50 @@
741
865
  overflow: auto;
742
866
  }
743
867
  }
868
+
869
+ @layer variations {
870
+ table.file-upload-table {
871
+ margin-top: var(--kfw-space-medium);
872
+ }
873
+
874
+ table.file-upload-table table {
875
+ border-top: 0;
876
+ min-height: 10px;
877
+ min-width: 500px;
878
+ }
879
+
880
+ table.file-upload-table .invalid-feedback {
881
+ margin-block-start: 0;
882
+ }
883
+
884
+ table.file-upload-table tr {
885
+ --name: calc(100% - var(--size) - var(--action));
886
+ --size: 30%;
887
+ --action: 15%;
888
+
889
+ display: grid;
890
+ grid-template-columns: var(--name) var(--size) var(--action);
891
+ width: 100%;
892
+ border-top: var(--kfw-borderwidth) solid var(--kfw-color-line-10);
893
+ }
894
+
895
+ table.file-upload-table tr:not(:last-of-type) {
896
+ border-bottom: 0;
897
+ }
898
+
899
+ @media (--kfw-breakpoint-mobile) {
900
+ table.file-upload-table tr {
901
+ --size: 25%;
902
+ --action: 25%;
903
+ }
904
+ }
905
+
906
+ @media (--kfw-breakpoint-desktop) {
907
+ table.file-upload-table tr {
908
+ --action: 20%;
909
+ }
910
+ }
911
+ }
744
912
  }
745
913
 
746
914
  @layer components {
@@ -761,12 +929,16 @@
761
929
  gap: var(--kfw-space-medium);
762
930
  }
763
931
 
764
- .header img {
765
- width: auto;
932
+ .header__menu {
933
+ text-align: end;
766
934
  }
767
935
 
768
- .header__menu {
769
- text-align: right;
936
+ .header__menu .icon {
937
+ margin: 1.2rem 0.8rem;
938
+ }
939
+
940
+ :where(.header-logo-mobile, .header-logo-desktop) {
941
+ width: auto;
770
942
  }
771
943
 
772
944
  .header-logo-mobile {
@@ -805,36 +977,11 @@
805
977
  --kfw-focusring-outline-color: var(--kfw-color-background);
806
978
 
807
979
  border-top: var(--kfw-base-borderwidth-md) solid var(--kfw-color-line-11);
808
- background-color: var(--kfw-color-background-dark-blue);
809
- color: var(--kfw-color-text-on-dark-bg);
810
980
  font-size: var(--kfw-fontsize-small);
811
981
  line-height: var(--kfw-lineheight);
812
982
  padding-block: var(--kfw-space-medium) var(--kfw-space-large);
813
983
  }
814
984
 
815
- .footer .button--secondary {
816
- /* use the same styles as .bg-dark .button--secondary */
817
- --button-color: var(--kfw-color-text-on-dark-bg);
818
- --button-border-color: var(--kfw-color-text-on-dark-bg);
819
- --button-bg-hover: var(--kfw-color-text-on-dark-bg);
820
- --button-color-hover: var(--kfw-color-text);
821
- --button-border-color-hover: var(--kfw-color-text-on-dark-bg);
822
- }
823
-
824
- .footer :where(a:not([role="button"])),
825
- .footer [role="link"] {
826
- /* use the same styles as .bg-dark a */
827
- --link-color: var(--kfw-color-text-on-dark-bg);
828
- --link-color-hover: var(--kfw-color-text-on-dark-bg);
829
-
830
- text-decoration: underline;
831
- }
832
-
833
- .footer a:not([role="button"]):where(:hover, :focus, :active, [aria-current]:not([aria-current="false"])),
834
- .footer [role="link"]:where(:hover, :focus, :active, [aria-current]:not([aria-current="false"])) {
835
- text-decoration: none;
836
- }
837
-
838
985
  .footer > * {
839
986
  align-items: baseline;
840
987
  display: flex;
@@ -891,13 +1038,24 @@
891
1038
  width: 100%;
892
1039
  }
893
1040
 
894
- @media (--kfw-breakpoint-desktop) {
1041
+ @media (--kfw-breakpoint-mobile) {
895
1042
  .hero__bars {
896
- width: var(--hero-content-desktop-width);
897
- position: absolute;
898
- top: 4rem;
899
- left: 4rem;
900
- bottom: 4rem;
1043
+ display: none;
1044
+ }
1045
+ }
1046
+
1047
+ .hero__bars-desktop {
1048
+ display: none;
1049
+ width: var(--hero-content-desktop-width);
1050
+ position: absolute;
1051
+ top: 4rem;
1052
+ left: 4rem;
1053
+ bottom: 4rem;
1054
+ }
1055
+
1056
+ @media (--kfw-breakpoint-mobile) {
1057
+ .hero__bars-desktop {
1058
+ display: block;
901
1059
  }
902
1060
  }
903
1061
 
@@ -911,7 +1069,7 @@
911
1069
  background-color: var(--kfw-color-background-light-blue);
912
1070
  }
913
1071
 
914
- @media (--kfw-breakpoint-desktop) {
1072
+ @media (--kfw-breakpoint-mobile) {
915
1073
  .hero__title {
916
1074
  flex-direction: row;
917
1075
  position: absolute;
@@ -936,7 +1094,7 @@
936
1094
  }
937
1095
 
938
1096
  @layer variations {
939
- .bg-dark {
1097
+ :where(.bg-dark, .footer) {
940
1098
  --headline-color: var(--kfw-color-text-headline-on-dark-bg);
941
1099
  --kfw-focusring-outline-color: var(--kfw-color-background);
942
1100
 
@@ -944,20 +1102,26 @@
944
1102
  color: var(--kfw-color-text-on-dark-bg);
945
1103
  }
946
1104
 
947
- .bg-dark :where(a:not([role="button"])),
948
- .bg-dark [role="link"] {
1105
+ :where(.bg-dark, .footer) :where(a:not([role="button"]), [role="link"]) {
949
1106
  --link-color: var(--kfw-color-text-on-dark-bg);
950
1107
  --link-color-hover: var(--kfw-color-text-on-dark-bg);
951
1108
 
952
1109
  text-decoration: underline;
953
1110
  }
954
1111
 
955
- .bg-dark :where(a:not([role="button"])):is([aria-current]:not([aria-current="false"]), :hover, :active, :focus),
956
- .bg-dark [role="link"]:is([aria-current]:not([aria-current="false"]), :hover, :active, :focus) {
1112
+ :where(.bg-dark, .footer) :where(a:not([role="button"]), [role="link"]):is(:hover, :focus, :active) {
957
1113
  text-decoration: none;
958
1114
  }
959
1115
 
960
- .bg-dark .button--primary {
1116
+ :where(.bg-dark, .footer) :where([role="link"], a:not([role="button"])) .icon {
1117
+ filter: color-to-filter(var(--kfw-color-text-on-dark-bg));
1118
+ }
1119
+
1120
+ :where(.bg-dark, .footer) :where(button, [type="submit"], [type="reset"], [type="button"], [role="button"]) .icon {
1121
+ filter: color-to-filter(var(--kfw-color-text-on-dark-bg));
1122
+ }
1123
+
1124
+ :where(.bg-dark, .footer) :where(.button--primary, [type="submit"]) {
961
1125
  --button-color: var(--kfw-color-fn);
962
1126
  --button-bg: var(--kfw-color-text-on-dark-bg);
963
1127
  --button-border-color: var(--kfw-color-text-on-dark-bg);
@@ -966,7 +1130,11 @@
966
1130
  --button-border-color-hover: var(--kfw-color-text-on-dark-bg);
967
1131
  }
968
1132
 
969
- .bg-dark .button--secondary {
1133
+ :where(.bg-dark, .footer) :where(.button--primary, [type="submit"]) .icon {
1134
+ filter: color-to-filter(var(--kfw-color-fn));
1135
+ }
1136
+
1137
+ :where(.bg-dark, .footer) :where(.button--secondary, [type="reset"]) {
970
1138
  --button-color: var(--kfw-color-text-on-dark-bg);
971
1139
  --button-border-color: var(--kfw-color-text-on-dark-bg);
972
1140
  --button-bg-hover: var(--kfw-color-text-on-dark-bg);
@@ -974,7 +1142,15 @@
974
1142
  --button-border-color-hover: var(--kfw-color-text-on-dark-bg);
975
1143
  }
976
1144
 
977
- .bg-dark .button--tertiary {
1145
+ :where(.bg-dark, .footer) :where(.button--secondary, [type="reset"]) .icon {
1146
+ filter: color-to-filter(var(--kfw-color-text-on-dark-bg));
1147
+ }
1148
+
1149
+ :where(.bg-dark, .footer) :where(.button--secondary, [type="reset"]):is(:hover, :focus) .icon {
1150
+ filter: color-to-filter(var(--kfw-color-text));
1151
+ }
1152
+
1153
+ :where(.bg-dark, .footer) .button--tertiary {
978
1154
  --button-color: var(--kfw-color-text-on-dark-bg);
979
1155
  --button-color-hover: var(--kfw-color-text-on-dark-bg);
980
1156
  }
@@ -1,4 +1,4 @@
1
- /* Custom Media Queries generated from KfW Design Tokens v0.5.1 */
1
+ /* Custom Media Queries generated from KfW Design Tokens v0.5.4 */
2
2
 
3
3
  /* See: https://www.w3.org/TR/mediaqueries-5/#at-ruledef-custom-media */
4
4
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * KfW Design Tokens v0.5.1 | MPL-2.0 | https://github.com/openkfw/design-tokens
2
+ * KfW Design Tokens v0.5.5 | MPL-2.0 | https://github.com/openkfw/design-tokens
3
3
  */
4
4
 
5
5
  :root, :host, .kfw-theme--light { color-scheme: light; }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * KfW Design Tokens v0.5.1 | MPL-2.0 | https://github.com/openkfw/design-tokens
2
+ * KfW Design Tokens v0.5.5 | MPL-2.0 | https://github.com/openkfw/design-tokens
3
3
  */
4
4
 
5
5
  export const KfwBaseColorBlue100: {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * KfW Design Tokens v0.5.1 | MPL-2.0 | https://github.com/openkfw/design-tokens
2
+ * KfW Design Tokens v0.5.5 | MPL-2.0 | https://github.com/openkfw/design-tokens
3
3
  */
4
4
 
5
5
  export const KfwBaseColorBlue100 = {
@@ -1,5 +1,5 @@
1
1
 
2
- // KfW Design Tokens v0.5.1 | MPL-2.0 | https://github.com/openkfw/design-tokens
2
+ // KfW Design Tokens v0.5.5 | MPL-2.0 | https://github.com/openkfw/design-tokens
3
3
 
4
4
  $kfw-base-color-blue-100: #e9f5fb;
5
5
  $kfw-base-color-blue-400: #54b3e2;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * KfW Design Tokens v0.5.1 | MPL-2.0 | https://github.com/openkfw/design-tokens
2
+ * KfW Design Tokens v0.5.5 | MPL-2.0 | https://github.com/openkfw/design-tokens
3
3
  */
4
4
 
5
5
  :root, :host, .kfw-theme--light { color-scheme: light; }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * KfW Design Tokens v0.5.1 | MPL-2.0 | https://github.com/openkfw/design-tokens
2
+ * KfW Design Tokens v0.5.4 | MPL-2.0 | https://github.com/openkfw/design-tokens
3
3
  */
4
4
 
5
5
  export const KfwBaseColorBlue100: {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * KfW Design Tokens v0.5.1 | MPL-2.0 | https://github.com/openkfw/design-tokens
2
+ * KfW Design Tokens v0.5.4 | MPL-2.0 | https://github.com/openkfw/design-tokens
3
3
  */
4
4
 
5
5
  export const KfwBaseColorBlue100 = {
@@ -1,5 +1,5 @@
1
1
 
2
- // KfW Design Tokens v0.5.1 | MPL-2.0 | https://github.com/openkfw/design-tokens
2
+ // KfW Design Tokens v0.5.4 | MPL-2.0 | https://github.com/openkfw/design-tokens
3
3
 
4
4
  $kfw-base-color-blue-100: #e9f5fb;
5
5
  $kfw-base-color-blue-400: #54b3e2;
package/package.json CHANGED
@@ -1,15 +1,17 @@
1
1
  {
2
2
  "name": "@openkfw/design-tokens",
3
- "version": "0.5.3",
3
+ "version": "0.5.5",
4
4
  "description": "The source of truth for KfW-branded digital products.",
5
5
  "files": [
6
6
  "README.md",
7
+ "LICENSE",
7
8
  "output",
8
9
  "tokens/tokens.json",
9
10
  "tokens/gen-tokens.dark.json5",
11
+ "demo/dist/css/style.min.css",
10
12
  "demo/src/style.css",
11
13
  "demo/src/vendor/**.css",
12
- "demo/dist/css/style.min.css"
14
+ "demo/postcss.svg-load-plugin.ts"
13
15
  ],
14
16
  "scripts": {
15
17
  "start": "concurrently \"npm run watch:extended\" \"npm run watch\"",
@@ -39,21 +41,21 @@
39
41
  "node": ">= 22.0.0"
40
42
  },
41
43
  "devDependencies": {
42
- "@eslint/js": "^9.38.0",
43
- "@tsconfig/node22": "^22.0.2",
44
- "@types/lodash": "^4.17.20",
45
- "@types/node": "^22.18.10",
44
+ "@eslint/js": "^9.39.1",
45
+ "@tsconfig/node24": "^24.0.3",
46
+ "@types/lodash": "^4.17.21",
47
+ "@types/node": "^24.10.1",
46
48
  "concurrently": "^9.2.1",
47
49
  "deep-get-set-ts": "^1.1.2",
48
- "eslint": "^9.38.0",
50
+ "eslint": "^9.39.1",
49
51
  "json5": "^2.2.3",
50
52
  "jsoneditor-cli": "^1.1.0",
51
53
  "lodash": "4.17.21",
52
- "prettier": "^3.6.2",
54
+ "prettier": "^3.7.3",
53
55
  "style-dictionary": "^5.1.1",
54
- "tsx": "^4.20.6",
56
+ "tsx": "^4.21.0",
55
57
  "typescript": "^5.9.3",
56
- "typescript-eslint": "^8.46.2",
57
- "npm-check-updates": "^19.1.1"
58
+ "typescript-eslint": "^8.48.0",
59
+ "npm-check-updates": "^19.1.2"
58
60
  }
59
61
  }