{"version":3,"names":["checkActingOnBehalfOf","active","required","length","matchAnyWantedPattern","req","matchAllBehalfsToWanted","act","startsWith","checkActingType","includes","checkAuthnLevel","BaJwt","constructor","raw","this","_raw","ajwt","split","decodedJwt","decodeJwt","_payload","JSON","parse","payload","hasAtLeastAuthnLevel","a","effectiveAuthnLevel","hasMatchingActingOnBehalfOf","baforPrefixes","effectingActingOnBehalfOf","hasMatchingActingType","af","effectiveActingType","fulfills","ao","authnLevel","actingOnBehalfOf","actingType","expirationDate","exp","base64urlEncoded","base64NonUrlEncoded","replace","utf8BytesAsString","atob","utf8ByteArray","Uint8Array","from","m","codePointAt","TextDecoder","decode","OiamEvents","JwtUtil","parseBAJwt","tokenEventType","jwt","static","tokenEvent","detail","isValidJwt","parseGroupsToValidatedArray","valueFromToken","parsedGroups","groupsToCheck","push","map","group","slice","groupsToReturn","typeGuardGroupTypes","parseAoboToFachschluessel","aobo","fachschluessel","verfahren","objektTyp","schluesselTyp","schluessel","splitAobo","console","error","typeGuardVerfahrenTypes","typeGuardObjektTypes","typeGuardSchluesseltypTypes","value","getShouldBeIgnored","path","Array","isArray","buttons","filter","p","HTMLButtonElement","className","profileMenuCss","ProfileMenuStyle0","ProfileMenu","hostRef","kommtEventuellSpaeterDannwiederAusbauen","showMenuButton","showFlyout","undefined","niveau","userEmail","links","groups","handleTokenEvent","ev","jwtValidationResult","validateJwt","parseTokenAndSetValues","hideFlyout","closeFlyoutWhenTabbingOut","event","key","composedPath","flyout","el","shadowRoot","getElementById","handleClickEvent","shouldBeIgnored","handleKeyDown","_a","_c","_b","_d","authority","_e","_f","handleAuthorityNotFound","environmentToIssuer","get","componentDidLoad","oiamSendTokenEvent","emit","componentDidRender","button","querySelector","onButtonClick","showFlyoutContent","onLogoutClick","oiamLogoutEvent","onFreischaltenClick","oiamLoginEvent","onProfilWechselnClick","isAlreadyOnPage","window","location","href","preventDefault","forceProfileSelection","classList","add","remove","ariaExpanded","render","h","Host","class","getMenuEntry","getFlyOut","id","title","type","onClick","getHeading","getBronze","getSilver","getGold","headline","schluesselTypTitle","toLowerCase","getProfilFreischalten","getDivider","getKontoEinstellungen","getAbmelden","getZumProfil","getProfilBearbeiten","getProfilWechseln","getPostfaecher","getLeistungsPostfach","getVermittlungsPostfach","getPostfach","role"],"sources":["node_modules/@oiambk/oiam-profile-header-wc/node_modules/@websso/oiam-oauth-types/dist/mjs/acr-check.js","node_modules/@oiambk/oiam-profile-header-wc/node_modules/@websso/oiam-oauth-types/dist/mjs/bajwt.js","node_modules/@oiambk/oiam-profile-header-wc/node_modules/@websso/oiam-oauth-types/dist/mjs/oiam-events-enum.js","node_modules/@oiambk/oiam-profile-header-wc/dist/collection/util/jwt-util.js","node_modules/@oiambk/oiam-profile-header-wc/dist/collection/util/html-util.js","node_modules/@oiambk/oiam-profile-header-wc/dist/collection/components/profile-menu/profile-menu.css?tag=profile-menu&encapsulation=shadow","node_modules/@oiambk/oiam-profile-header-wc/dist/collection/components/profile-menu/profile-menu.js"],"sourcesContent":["/**\n * Compares the active acting-on-behalf-of with the required ones.\n * If `required` is nullish or empty, true is returned.\n * If `active` is nullish or empty, required must be nullish or empty as well.\n * If `required` is not empty, all the JWT's acting-on-behalf-of (normally just 1)\n * must match at least one of the given `required`.\n * @param baforPrefixes list of BAFOR prefixes in actingOnBehalfOf\n * @returns true if condition fulfilled\n */\nexport const checkActingOnBehalfOf = (active, required) => {\n if (!required || !required.length) {\n // Caller doesn't care for actingOnBehalfOf\n return true;\n }\n if (!active || active.length === 0) {\n // only fine as long as explicitly no BaforPattern wanted\n return required.length === 0;\n }\n let matchAnyWantedPattern = false;\n for (const req of required) {\n let matchAllBehalfsToWanted = true;\n for (const act of active) {\n matchAllBehalfsToWanted && (matchAllBehalfsToWanted = act.startsWith(req));\n }\n matchAnyWantedPattern || (matchAnyWantedPattern = matchAllBehalfsToWanted);\n }\n return matchAnyWantedPattern;\n};\n/**\n * Checks whether the active acting-type is listed in `required`.\n * If `required` is nullish, this check is skipped and true is returned.\n * If `required` is empty, `active` must be nullish.\n * @param active the active/actual/current acting-type of the JWT\n * @param required the acting-type to compare against\n * @returns true in case of a match\n */\nexport const checkActingType = (active, required) => {\n if (!required) {\n // caller appearently doesn't care.\n return true;\n }\n if (!active) {\n // No acting-type is only fine of explicitly none is wanted\n return required.length === 0;\n }\n return required.includes(active);\n};\n/**\n * Compare the actuve authn-level with `required` and return whether it is at least as high.\n * If no authn-level is required (`!required`), true is returned.\n * @param active the active/actual/current authentication level\n * @param required the required minimum authentication level\n * @returns true if at least this level is present\n */\nexport const checkAuthnLevel = (active, required) => {\n if (!required) {\n return true;\n }\n if (active == null) {\n return false;\n }\n if (active === required) {\n return true;\n }\n // this only works as long as the AuthnLevels' hierarchy corresponds to their alphabetic order\n return active >= required;\n};\n","import { checkActingOnBehalfOf, checkActingType, checkAuthnLevel, } from './acr-check.js';\nexport class BaJwt {\n constructor(raw) {\n this._raw = raw;\n const ajwt = raw.split('.');\n if (ajwt.length === 3) {\n const decodedJwt = this.decodeJwt(ajwt[1]);\n this._payload = JSON.parse(decodedJwt);\n }\n }\n get raw() {\n return this._raw;\n }\n get payload() {\n return this._payload;\n }\n /**\n * Compare the JWT's authn-level with `a` and return whether it is at least as high.\n * If no authn-level is required (`!a`), true is returned.\n * @param a the required minimum authentication level\n * @returns true if at least this level is present\n */\n hasAtLeastAuthnLevel(a) {\n return checkAuthnLevel(this.effectiveAuthnLevel(), a);\n }\n effectiveAuthnLevel() {\n return this._payload?.['authn-level'];\n }\n /**\n * Compares the JWT's acting-on-behalf-of with the given baforPatterns.\n * If baforPatterns is undefined/null, true is returned.\n * If baforPatterns is empty, the JWT must be silver/bronze with no or empty\n * acting-on-behalf-of, thus return true if acting-on-behalf-of is missing there\n * as well.\n * If baforPatterns is not empty, all the JWT's acting-on-behalf-of (normally just 1)\n * must match at least one of the given baforPatterns.\n * @param baforPrefixes list of BAFOR prefixes in actingOnBehalfOf\n * @returns true if condition fulfilled\n */\n hasMatchingActingOnBehalfOf(baforPrefixes) {\n return checkActingOnBehalfOf(this.effectingActingOnBehalfOf(), baforPrefixes);\n }\n effectingActingOnBehalfOf() {\n return this._payload?.['acting-on-behalf-of'];\n }\n /**\n * Checks whether the JWT's acting-type is listed in af.\n * If af is undefined, this check is skipped and true is returned.\n * If af is empty, the JWT must not have an acting-type (Bronze).\n * @param af the acting-type to compare against\n * @returns true in case of a match\n */\n hasMatchingActingType(af) {\n return checkActingType(this.effectiveActingType(), af);\n }\n fulfills(ao) {\n if (ao.authnLevel && !this.hasAtLeastAuthnLevel(ao.authnLevel)) {\n return false;\n }\n if (ao.actingOnBehalfOf && !this.hasMatchingActingOnBehalfOf(ao.actingOnBehalfOf)) {\n return false;\n }\n if (ao.actingType && !this.hasMatchingActingType(ao.actingType)) {\n return false;\n }\n return true;\n }\n /**\n * Return the expiration date as unix timestamp in seconds\n * (NumericDate in JWT speak).\n * Basically 1:1 the value `exp` from the JWT, except that 0 is returned when this\n * instance has been initialized with a malformed JWT.\n */\n get expirationDate() {\n return this._payload?.exp || 0;\n }\n effectiveActingType() {\n return this._payload?.['acting-type'];\n }\n decodeJwt(base64urlEncoded) {\n const base64NonUrlEncoded = base64urlEncoded\n .replace(/\\s+/g, '')\n .replace(/-/g, '+')\n .replace(/_/g, '/');\n const utf8BytesAsString = atob(base64NonUrlEncoded);\n const utf8ByteArray = Uint8Array.from(utf8BytesAsString, (m) => m.codePointAt(0) || 0);\n return new TextDecoder().decode(utf8ByteArray);\n }\n}\n","export var OiamEvents;\n(function (OiamEvents) {\n OiamEvents[\"LOADED\"] = \"oiamLoadedEvent\";\n OiamEvents[\"READYFORLOGIN\"] = \"oiamReadyForLoginEvent\";\n OiamEvents[\"SETCONFIG\"] = \"oiamSetConfigEvent\";\n OiamEvents[\"TOKEN\"] = \"oiamTokenEvent\";\n OiamEvents[\"SENDTOKEN\"] = \"oiamSendTokenEvent\";\n OiamEvents[\"DOLOGIN\"] = \"oiamLoginEvent\";\n OiamEvents[\"DOLOGOUT\"] = \"oiamLogoutEvent\";\n OiamEvents[\"ERROR\"] = \"oiamErrorEvent\";\n /**\n * @deprecated replaced by IDLESESSIONEXPIRATIONWARNING\n */\n OiamEvents[\"IDLESESSIONEXPIREWARNING\"] = \"oiamIdleSessionExpireWarnEvent\";\n OiamEvents[\"IDLESESSIONEXPIRATIONWARNING\"] = \"oiamIdleSessionExpirationWarnEvent\";\n /**\n * @deprecated replaced by IDLESESSIONEXPIRATION\n */\n OiamEvents[\"IDLESESSIONEXPIRED\"] = \"oiamIdleSessionExpiredEvent\";\n OiamEvents[\"IDLESESSIONEXPIRATION\"] = \"oiamIdleSessionExpirationEvent\";\n OiamEvents[\"MAXSESSIONEXPIRATIONWARNING\"] = \"oiamMaxSessionExpirationWarnEvent\";\n OiamEvents[\"MAXSESSIONEXPIRATION\"] = \"oiamMaxSessionExpirationEvent\";\n OiamEvents[\"CUSTOMSTATE\"] = \"oiamCustomStateEvent\";\n OiamEvents[\"SESSION\"] = \"oiamSessionEvent\";\n OiamEvents[\"SENDSESSION\"] = \"oiamSendSessionEvent\";\n})(OiamEvents || (OiamEvents = {}));\n","import { BaJwt } from \"@websso/oiam-oauth-types\";\nexport class JwtUtil {\n /**\n * Get the payload from a jwt-string\n * @param tokenEventType\n */\n static parseBAJwt(tokenEventType) {\n if (tokenEventType != null && tokenEventType.jwt != null) {\n return new BaJwt(tokenEventType.jwt);\n }\n return null;\n }\n /**\n * Checks if the tokenEvent has a valid token with jwt-version 2.9\n *\n * returns the result and optionally the jwt, if found.\n *\n * @param tokenEvent\n */\n static validateJwt = (tokenEvent) => {\n // if the token is empty, the user is not logged in yet\n if (tokenEvent.detail?.jwt) {\n const jwt = JwtUtil.parseBAJwt(tokenEvent.detail);\n if (jwt && jwt.payload && jwt.payload['jwt-version'] && !jwt.payload['jwt-version'].startsWith('2.4')) {\n return { isValidJwt: true, jwt: jwt };\n }\n }\n return { isValidJwt: false };\n };\n static parseGroupsToValidatedArray(valueFromToken) {\n const parsedGroups = valueFromToken ?? [];\n let groupsToCheck = [];\n if (typeof parsedGroups === 'string') {\n groupsToCheck.push(parsedGroups);\n }\n else {\n groupsToCheck.push(...parsedGroups);\n }\n // a group looks like this urn:barol:ubvonline:admin\n groupsToCheck = groupsToCheck.map((group) => group.split(':').slice(-1)[0]);\n const groupsToReturn = [];\n for (let group of groupsToCheck) {\n if (this.typeGuardGroupTypes(group)) {\n groupsToReturn.push(group);\n }\n }\n return groupsToReturn;\n }\n static parseAoboToFachschluessel(aobo) {\n // Aufbau eines aobo: urn:bafor:VERFAHREN:OBJEKTTYP:SCHLÃœSSELTYP:SCHLÃœSSEL\n const fachschluessel = {\n verfahren: '',\n objektTyp: '',\n schluesselTyp: '',\n schluessel: '',\n };\n if (aobo === '') {\n return fachschluessel;\n }\n const splitAobo = aobo.split(':');\n if (splitAobo.length != 6) {\n console.error('unexpected length of acting on behalf of', aobo);\n return fachschluessel;\n }\n if (this.typeGuardVerfahrenTypes(splitAobo[2])) {\n fachschluessel.verfahren = splitAobo[2];\n }\n if (this.typeGuardObjektTypes(splitAobo[3])) {\n fachschluessel.objektTyp = splitAobo[3];\n }\n if (this.typeGuardSchluesseltypTypes(splitAobo[4])) {\n fachschluessel.schluesselTyp = splitAobo[4];\n }\n fachschluessel.schluessel = splitAobo[5];\n return fachschluessel;\n }\n static typeGuardObjektTypes(value) {\n return value === 'person' || value === 'kindergeldfall' || value === 'betrieb' || value === 'partner';\n }\n static typeGuardGroupTypes(value) {\n return value === 'bevollmaechtigte' || value === 'admin';\n }\n static typeGuardVerfahrenTypes(value) {\n return value === 'step' || value === 'ubvonline' || value === 'pmventerprise' || value === 'kiwi';\n }\n static typeGuardSchluesseltypTypes(value) {\n return value === 'kundennummer' || value === 'kindergeldnummer' || value === 'partnerid' || value === 'mitarbeiterid';\n }\n}\n","/**\n * This solves a bug. Other Teams are closing their flyouts by creating an additional click on their menu-items.\n * We need to ignore these additional Clicks. Otherwise, our flyout opens and then instantly closes.\n * @param path\n */\nexport function getShouldBeIgnored(path) {\n if (!Array.isArray(path)) {\n return false;\n }\n const buttons = path.filter(p => {\n return (p instanceof HTMLButtonElement);\n });\n return buttons.length === 1 ? buttons[0].className.includes('collapsed') : false;\n}\n","@charset \"UTF-8\"; /*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _colors.scss */ /*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _helpers.scss */ /*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _design-tokens.scss */ /*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _dpl-variables.scss */ /*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _variables.scss */ /*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _bootstrap.scss */\n/*!\n * Bootstrap v5.3.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:Roboto,\"Helvetica Neue\",Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--bs-gradient:linear-gradient(180deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#020e25;--bs-body-color-rgb:2,14,37;--bs-body-bg:#f9fbfc;--bs-body-bg-rgb:249,251,252;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33,37,41,.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33,37,41,.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:none;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d42c80;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0,0,0,.175);--bs-border-radius:5px;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 5px 7px 0 rgba(0,0,0,.2),0 4px 24px 0 rgba(0,0,0,.08);--bs-box-shadow-sm:0 2px 4px 0 rgba(0,0,0,.16),0 4px 24px 0 rgba(0,0,0,.08);--bs-box-shadow-lg:0 12px 10px -2px rgba(0,0,0,.08),0 12px 24px 4px rgba(0,0,0,.08);--bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13,110,253,.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}hr{border:0;border-top:var(--bs-border-width) solid;color:inherit;margin:1.5rem 0;opacity:.25}h2,h4{color:var(--bs-heading-color);font-weight:700;line-height:1.2;margin-bottom:.75rem;margin-top:0}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}ul{margin-bottom:1rem;margin-top:0;padding-left:2rem}ul ul{margin-bottom:0}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:none}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;text-transform:none}[role=button]{cursor:pointer}[type=button],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{-webkit-appearance:button;font:inherit}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1280px;--bs-breakpoint-xxl:1400px}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.fade{transition:opacity .08s ease-in-out}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .24s ease-in-out}.overflow-visible{overflow:visible!important}.overflow-x-visible{overflow-x:visible!important}.overflow-y-visible{overflow-y:visible!important}.d-block{display:block!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.me-0{margin-right:0!important}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.rounded{border-radius:var(--bs-border-radius)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _fonts.scss */@font-face{font-display:swap;font-family:BA Icons;font-style:normal;src:url(../fonts/icons.woff?ac=7718) format(\"woff\"),url(../fonts/icons.ttf?ac=7718) format(\"truetype\"),url(../fonts/icons.svg?ac=7718#BAIcons) format(\"svg\")}@font-face{font-display:swap;font-family:Roboto Bold;font-style:normal;font-weight:700;src:url(../fonts/roboto-v20-latin-ext-700.eot);src:local(\"Roboto Bold\"),local(\"Roboto-Bold\"),url(../fonts/roboto-v20-latin-ext-700.eot?#iefix) format(\"embedded-opentype\"),url(../fonts/roboto-v20-latin-ext-700.woff2) format(\"woff2\"),url(../fonts/roboto-v20-latin-ext-700.woff) format(\"woff\"),url(../fonts/roboto-v20-latin-ext-700.ttf) format(\"truetype\"),url(../fonts/roboto-v20-latin-ext-700.svg#Roboto) format(\"svg\")}@font-face{font-display:swap;font-family:Roboto Condensed Bold;font-style:normal;font-weight:700;src:url(../fonts/roboto-condensed-v18-latin-ext-700.eot);src:local(\"Roboto Condensed Bold\"),local(\"RobotoCondensed-Bold\"),url(../fonts/roboto-condensed-v18-latin-ext-700.eot?#iefix) format(\"embedded-opentype\"),url(../fonts/roboto-condensed-v18-latin-ext-700.woff2) format(\"woff2\"),url(../fonts/roboto-condensed-v18-latin-ext-700.woff) format(\"woff\"),url(../fonts/roboto-condensed-v18-latin-ext-700.ttf) format(\"truetype\"),url(../fonts/roboto-condensed-v18-latin-ext-700.svg#RobotoCondensed) format(\"svg\")}\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _icons.scss */ /*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _icon_font_ba_icons.scss */.ba-header nav.ba-nav-meta ul>li>a:after,.ba-header nav.ba-nav-meta ul>li>a:before,.ba-header-element .ba-menu-entry:after,.ba-header-element .ba-menu-entry:before,.ba-icon:after,.ba-icon:before,.ba-link-down:after,.ba-link-down:before,.ba-link-icon:after,.ba-link-icon:before,.ba-link-up:after,.ba-link-up:before,.ba-linklist>li>a:not(.ba-icon):not([class*=ba-link-]):after,.ba-linklist>li>a:not(.ba-icon):not([class*=ba-link-]):before,a.ba-icon:after,a.ba-icon:before{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:BA Icons,sans-serif;font-style:normal;font-weight:400;line-height:1;text-decoration:none;text-rendering:auto;text-transform:none;vertical-align:middle}@media speech{.ba-header nav.ba-nav-meta ul>li>a:after,.ba-header nav.ba-nav-meta ul>li>a:before,.ba-header-element .ba-menu-entry:after,.ba-header-element .ba-menu-entry:before,.ba-icon:after,.ba-icon:before,.ba-link-down:after,.ba-link-down:before,.ba-link-icon:after,.ba-link-icon:before,.ba-link-up:after,.ba-link-up:before,.ba-linklist>li>a:not(.ba-icon):not([class*=ba-link-]):after,.ba-linklist>li>a:not(.ba-icon):not([class*=ba-link-]):before,a.ba-icon:after,a.ba-icon:before{display:none}}.ba-linklist>li>a:not(.ba-icon):not([class*=ba-link-]):before{content:\"\\f109\";content:\"\\f109\"/\"\"}.ba-icon-edit:before{content:\"\\f12a\";content:\"\\f12a\"/\"\"}.ba-header .ba-link-language:before{content:\"\\f139\";content:\"\\f139\"/\"\"}.ba-icon-home-full:before{content:\"\\f13f\";content:\"\\f13f\"/\"\"}.ba-icon-logout:before{content:\"\\f14d\";content:\"\\f14d\"/\"\"}.ba-icon-message:before{content:\"\\f152\";content:\"\\f152\"/\"\"}.ba-icon-plus:before{content:\"\\f15d\";content:\"\\f15d\"/\"\"}.ba-header .ba-link-language:after,.ba-link-down:after{content:\"\\f16a\";content:\"\\f16a\"/\"\"}.ba-link-up:after{content:\"\\f16b\";content:\"\\f16b\"/\"\"}.ba-icon-settings:before{content:\"\\f16c\";content:\"\\f16c\"/\"\"}.ba-header .ba-link-sign-language:before{content:\"\\f16d\";content:\"\\f16d\"/\"\"}.ba-header .ba-link-simple-language:before{content:\"\\f16e\";content:\"\\f16e\"/\"\"}.ba-icon-unvisible:before{content:\"\\f17b\";content:\"\\f17b\"/\"\"}.ba-header-element .ba-messages:before{content:\"\\f1a6\";content:\"\\f1a6\"/\"\"}.ba-header-element .ba-login:before,.ba-header-element .ba-profile:before{content:\"\\f1b3\";content:\"\\f1b3\"/\"\"}.ba-icon-change:before{content:\"\\f1d5\";content:\"\\f1d5\"/\"\"}\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _page.scss */:root{--ba-mobile-scroll-padding-top:58px;--ba-desktop-scroll-padding-top:96px}hr{border-bottom:1px solid rgba(2,14,37,.16);border-top:0;height:0;opacity:1}.disabled{cursor:not-allowed;opacity:.33}.disabled:hover{color:inherit;text-decoration:none}.disabled [disabled]{opacity:1}@media (-ms-high-contrast:active),(forced-colors:active),(prefers-contrast:more){[role=button]{color:ButtonText!important}}.ba-unhide-for-measure{display:block!important;visibility:hidden!important}\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _type.scss */.h2,.h4,h2,h4{font-family:Roboto Condensed Bold,Helvetica Neue,Arial,sans-serif;line-height:1.2;margin-bottom:1rem;margin-left:0;margin-right:0}.h2,h2{font-size:2.01125rem;margin-top:3.75rem}@media (min-width:768px){.h2,h2{margin-top:6rem}}.h4,h4{font-size:1.520625rem;margin-top:2.25rem}@media (min-width:768px){.h4,h4{margin-top:3rem}}:not(.container-fluid)>.h2:first-child,:not(.container-fluid)>.h4:first-child,:not(.container-fluid)>h2:first-child,:not(.container-fluid)>h4:first-child{margin-top:0}\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | globals.scss */ /*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _badge.scss */.ba-badge{background-image:linear-gradient(135deg,#ff0023,#b30920);border-radius:10px;color:#fff;display:block;font-family:Roboto Bold,Helvetica Neue,Arial,sans-serif;font-size:13px;height:19px;line-height:19px;min-width:19px;outline:1px solid transparent;padding:0 6px;text-align:center}.ba-badge .sr-only:before,.ba-badge:before{content:\"Â \";font-size:0}@media (-ms-high-contrast:active),(forced-colors:active),(prefers-contrast:more){.ba-badge{background:Buttonface}}\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _link.scss */a{font-size:1rem;line-height:1.5rem}a:focus,a:hover{text-decoration:underline}a,a:focus,a:hover,a:visited{color:#3f4859}a:active{color:#020e25}a.ba-icon{display:inline-block;padding-left:1.5rem;position:relative}a.ba-icon:before{font-size:1rem;left:0;position:absolute;top:.25rem}a.ba-icon.ba-link-down,a.ba-icon.ba-link-dropdown,a.ba-icon.ba-link-right,a.ba-icon.ba-link-up,a.ba-icon[class*=-after]{padding-left:0;padding-right:1.5rem}a.ba-icon.ba-link-down:before,a.ba-icon.ba-link-dropdown:before,a.ba-icon.ba-link-right:before,a.ba-icon.ba-link-up:before,a.ba-icon[class*=-after]:before{content:none}a.ba-icon.ba-link-down:after,a.ba-icon.ba-link-dropdown:after,a.ba-icon.ba-link-right:after,a.ba-icon.ba-link-up:after,a.ba-icon[class*=-after]:after{font-size:1rem;position:absolute;right:0;top:.25rem}.ba-link-icon{display:inline-block;padding-left:1.5rem;position:relative}.ba-link-icon:before{font-size:1rem;left:0;position:absolute;top:.25rem}.ba-link-icon.ba-link-down,.ba-link-icon.ba-link-up{padding-left:0;padding-right:1.5rem}.ba-link-icon.ba-link-down:before,.ba-link-icon.ba-link-up:before{content:none}.ba-link-icon.ba-link-down:after,.ba-link-icon.ba-link-up:after{font-size:1rem;position:absolute;right:0;top:.25rem}.ba-link-up{display:inline-block;padding-left:1.5rem;position:relative}.ba-link-up:before{font-size:1rem;left:0;position:absolute;top:.25rem}.ba-link-up.ba-link-down,.ba-link-up.ba-link-up{padding-left:0;padding-right:1.5rem}.ba-link-up.ba-link-down:before,.ba-link-up.ba-link-up:before{content:none}.ba-link-up.ba-link-down:after,.ba-link-up.ba-link-up:after{font-size:1rem;position:absolute;right:0;top:.25rem}.ba-link-down{display:inline-block;padding-left:1.5rem;position:relative}.ba-link-down:before{font-size:1rem;left:0;position:absolute;top:.25rem}.ba-link-down.ba-link-down,.ba-link-down.ba-link-up{padding-left:0;padding-right:1.5rem}.ba-link-down.ba-link-down:before,.ba-link-down.ba-link-up:before{content:none}.ba-link-down.ba-link-down:after,.ba-link-down.ba-link-up:after{font-size:1rem;position:absolute;right:0;top:.25rem}.ba-linklist{list-style:none;margin:-.375rem 0 1.125rem;padding:0;text-align:left;width:100%}.ba-linklist:last-child{margin-bottom:-.375rem}.ba-linklist>li{display:block;margin:0;padding:0}.ba-linklist>li>a{border-radius:5px;color:#020e25;display:block;margin:0 -12px;padding:6px 12px 6px 36px;position:relative;text-decoration:none;transition:background-color .08s ease-in-out}.ba-linklist>li>a:focus,.ba-linklist>li>a:hover{background-color:rgba(2,14,37,.08);text-decoration:none}@media (-ms-high-contrast:active),(forced-colors:active),(prefers-contrast:more){.ba-linklist>li>a:focus,.ba-linklist>li>a:hover{text-decoration:underline!important}}.ba-linklist>li>a:active{background-color:rgba(2,14,37,.16)}.ba-linklist>li>a:before{left:12px;position:absolute;top:.5625rem}.ba-linklist>li>a:not(.ba-icon):not([class*=ba-link-]):before{font-size:1rem;line-height:1;top:.625rem;transition:all .08s ease-in-out}\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _tabbar.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _header.scss */.ba-header{background-color:#f9fbfc;left:0;outline:1px solid transparent;transition:top .24s;width:100%;z-index:1000}@media (width <= 767px) and (orientation:portrait),(width <= 991px) and (orientation:landscape){.ba-header{position:fixed;top:0}.ba-header.ba-hidden{top:-53px}.ba-header.ba-hidden .ba-nav-main{box-shadow:none}}@media (width >= 768px) and (orientation:portrait),(width >= 992px) and (orientation:landscape){.ba-header{padding-top:16px;position:relative}@supports (position:sticky){.ba-header{position:sticky;top:-32px}}.ba-header.ba-hidden .ba-nav-meta ul{opacity:0}.ba-header.ba-hidden .ba-nav-meta:after{left:0}}.ba-header.ba-at-subheader:after{background:rgba(2,14,37,.16);bottom:0;content:\"\";display:block;height:1px;position:absolute;width:100%}.ba-header.ba-at-subheader .ba-nav-main{box-shadow:none}.ba-header .ba-logo{position:absolute;top:13px;width:auto;z-index:1}@supports (forced-color-adjust:none){@media (forced-colors:active){.ba-header .ba-logo{background:#fff!important;forced-color-adjust:none}}}@supports not (forced-color-adjust:none){@media (forced-colors:active) and (prefers-color-scheme:dark){.ba-header .ba-logo{background:ButtonText!important}}@media (forced-colors:active) and (prefers-color-scheme:light){.ba-header .ba-logo{background:Canvas!important}}}@supports (-moz-appearance:none){@media (forced-colors:active){.ba-header .ba-logo{background:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cpath style='fill:%23fff' d='M0 0h10000v10000H0z'/%3E%3C/svg%3E\")!important}}}@media (width >= 768px) and (orientation:portrait),(width >= 992px) and (orientation:landscape){.ba-header .ba-logo{top:48px;transition:top .24s}}.ba-header .ba-logo a{border-radius:5px;display:block;height:36px;overflow:hidden;width:215px;z-index:1}.ba-header .ba-logo a img{height:100%;width:216px}@media (width >= 768px) and (orientation:portrait),(width >= 992px) and (orientation:landscape){.ba-header .ba-logo a{height:43px;width:260px}.ba-header .ba-logo a img{height:100%;width:258.3px}}.ba-header nav.ba-nav-main ul.container-fluid,.ba-header nav.ba-nav-meta ul.container-fluid{display:flex;justify-content:flex-end;list-style:none;margin-bottom:0}.ba-header nav.ba-nav-meta{display:none}@media (width >= 768px) and (orientation:portrait),(width >= 992px) and (orientation:landscape){.ba-header nav.ba-nav-meta{display:block;height:20px;line-height:20px;position:relative;transition:height .24s}.ba-header nav.ba-nav-meta:after{background:#e70000 linear-gradient(90deg,#e70000 0,#b30920);border-top-left-radius:20px;bottom:0;content:\"\";left:24px;position:absolute;right:0;top:0;transition:left .24s;z-index:-1}}.ba-header nav.ba-nav-meta ul>li{margin-left:24px}.ba-header nav.ba-nav-meta ul>li>a{color:#fff;font-family:Roboto Bold,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:20px}.ba-header nav.ba-nav-meta ul>li>a:before{font-size:13px;margin:-2px 8px 0 0;text-decoration:none}.ba-header nav.ba-nav-meta ul>li>a:after{font-size:13px;margin:-2px 0 0 8px;text-decoration:none}.ba-header nav.ba-nav-meta .dropdown-menu{z-index:1002}.ba-header nav.ba-nav-main{background-color:#fff;border-top:3px solid #e70000;box-shadow:0 12px 10px -2px rgba(0,0,0,.08),0 12px 24px 4px rgba(0,0,0,.08)}@media (width >= 768px) and (orientation:portrait),(width >= 992px) and (orientation:landscape){.ba-header nav.ba-nav-main{border-top:0}}.ba-header nav.ba-nav-main .container-fluid{position:relative}.ba-header .ba-link-language:after{transition:transform .24s}.ba-header .ba-link-language[aria-expanded=true]:after{transform:rotateX(180deg)}@media (width <= 767px) and (orientation:portrait),(width <= 991px) and (orientation:landscape){.ba-header-element .ba-flyout{max-height:calc(100vh - 63px);overflow:auto}.ba-header-element.ba-hidden .ba-flyout{max-height:calc(100vh - 10px)}}.ba-header-element .ba-menu-entry{border:0;border-radius:5px;color:#000;display:block;font-family:Roboto Bold,Helvetica Neue,Arial,sans-serif;font-size:16px;height:40px;line-height:40px;margin:5px 0;outline:1px solid transparent;padding:0 12px;position:relative;transition:background-color .08s;width:44px}@media (width >= 768px) and (orientation:portrait),(width >= 992px) and (orientation:landscape){.ba-header-element .ba-menu-entry{font-size:18px;height:48px;line-height:48px;margin:12px 0;padding:0 16px;width:53px}}.ba-header-element .ba-menu-entry:focus{outline:3px solid transparent}.ba-header-element .ba-menu-entry:hover{background-color:rgba(2,14,37,.08);text-decoration:none}.ba-keyboard-mode:focus{background-color:rgba(2,14,37,.08)}.ba-header-element .ba-menu-entry:before{font-size:22px;left:11px;position:absolute;top:9px}@media (width >= 768px) and (orientation:portrait),(width >= 992px) and (orientation:landscape){.ba-header-element .ba-menu-entry:before{left:15px;top:13px}}.ba-header-element .ba-menu-entry .ba-title{display:block;overflow:hidden;width:0}.ba-header-element .ba-menu-entry .ba-badge{left:50%;position:absolute;top:0}@media (min-width:420px){.ba-header-element:not(.ba-user-logged-in) .ba-login{margin-right:12px}}@media (min-width:610px){.ba-header-element:not(.ba-user-logged-in) .ba-login{padding-left:49px;width:auto}.ba-header-element:not(.ba-user-logged-in) .ba-login .ba-title{width:auto}}.ba-header-element .ba-messages,.ba-header-element .ba-profile{background-color:rgba(2,14,37,.08);transition:background-color .08s}.ba-header-element .ba-messages:after,.ba-header-element .ba-profile:after{border:4px solid #fff;clip-path:polygon(50% 0,0 100%,100% 100%);content:\"\";height:0;opacity:1;position:absolute;right:50%;top:47px;transform:translateX(50%);transition:all .08s;width:24px;z-index:1001}@media (width >= 768px) and (orientation:portrait),(width >= 992px) and (orientation:landscape){.ba-header-element .ba-messages:after,.ba-header-element .ba-profile:after{top:62px}}.ba-header-element .ba-messages.collapsed,.ba-header-element .ba-profile.collapsed{background-color:transparent}.ba-header-element .ba-messages.collapsed:hover,.ba-header-element .ba-profile.collapsed:hover,.ba-keyboard-mode .ba-header-element .ba-messages.collapsed:focus,.ba-keyboard-mode .ba-header-element .ba-profile.collapsed:focus{background-color:rgba(2,14,37,.08)}.ba-header-element .ba-messages.collapsed:after,.ba-header-element .ba-profile.collapsed:after{display:none}.ba-header-element .ba-flyout-container{left:0;max-width:1280px;position:absolute;width:100%;z-index:1001}@media (min-width:768px){.ba-header-element .ba-flyout-container.ba-flyout-profile{left:auto;margin-left:-150px;transform:translateX(26.5px);width:300px}}@media (min-width:890px){.ba-header-element .ba-flyout-container.ba-flyout-profile{transform:translateX(55px)}}.ba-header-element .ba-flyout-collapse{box-shadow:0 12px 10px -2px rgba(0,0,0,.08),0 12px 24px 4px rgba(0,0,0,.08);padding:0;position:absolute;width:100%}.ba-header-element .ba-flyout{background-color:#fff;line-height:24px;margin-top:10px;outline:1px solid transparent;overflow:auto;padding:24px 12px;position:relative}@media (min-width:768px){.ba-header-element .ba-flyout{padding:24px}}.ba-header-element .ba-flyout h2{margin-bottom:0}.ba-header-element .ba-flyout h4{margin:0 0 12px}@media (min-width:768px){.ba-header-element .ba-flyout h4{margin:0}}.ba-header-element .ba-flyout hr{margin:5px 0}.ba-header-element .ba-flyout .ba-menu-container ul{list-style:none;margin:0;padding:0}.ba-header-element .ba-menu-container a:not(.ba-textlink){border-radius:5px;color:#020e25;display:block;line-height:24px;padding:6px 16px 5px;position:relative;transition:background-color .08s ease-in}.ba-header-element .ba-menu-container a:not(.ba-textlink):focus,.ba-header-element .ba-menu-container a:not(.ba-textlink):hover{background-color:rgba(2,14,37,.08);text-decoration:none;transition:background-color .08s ease-out}.ba-header-element .ba-menu-container a:not(.ba-textlink):active{background-color:rgba(2,14,37,.16)}.ba-header-element .ba-flyout-profile h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;-webkit-hyphens:none;hyphens:none;margin-bottom:0;overflow:hidden;word-break:break-all}.ba-header-element .ba-flyout-profile .ba-linklist{margin-top:0}.ba-header-element .ba-flyout-profile .ba-menu-container a{padding-left:34px}@media (width <= 767px) and (orientation:portrait),(width <= 991px) and (orientation:landscape){.ba-header-element .ba-flyout-profile .ba-menu-container a{border-radius:0;margin:0 -12px}}.ba-header-element .ba-flyout-profile .ba-menu-container a:before{top:10px}\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _loading.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _button.scss */button{color:#020e25;letter-spacing:inherit}\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _footer.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _form.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _dropdown.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _navbar.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _copytext.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _collapsible.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _responsive-picture.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _richtext-content.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _tile.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _modal.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _breadcrumb.scss */@keyframes disable-pointer-events{0%,99%{pointer-events:none}}\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _content-header.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _contact-infobox.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _alert.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _accordion.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _actionlist.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _banner.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _list.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _pagination.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _progress-nav.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _fileupload.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _datepicker.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _tooltip.scss */.ba-interactive{display:inline-block}\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _table.scss */\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _resultlist.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _range-slider.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _errorpages.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _slider.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _relation.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _button-row.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _subheader.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _social-links.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _testimonial.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _guideline.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _svg-data.scss */ /*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _svg-icons.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | _trust.scss */\n\n/*! @design/bapf-pattern-library v3.6.0 | 11.04.2024 | core.scss */","import { h, Host } from \"@stencil/core\";\nimport { JwtUtil } from \"../../util/jwt-util\";\nimport { environmentToIssuer, links } from \"../../data/links\";\nimport { getShouldBeIgnored } from \"../../util/html-util\";\nexport class ProfileMenu {\n constructor() {\n this.showMenuButton = false;\n this.showFlyout = false;\n this.actingType = undefined;\n this.niveau = undefined;\n this.userEmail = undefined;\n this.links = undefined;\n this.groups = [];\n this.fachschluessel = undefined;\n }\n flyout;\n button;\n kommtEventuellSpaeterDannwiederAusbauen = false;\n el;\n /**\n * Request a token event form the oiam-oauth-wc\n */\n oiamSendTokenEvent;\n /**\n * Communicate logout-intent to oiam-oauth-wc\n */\n oiamLogoutEvent;\n /**\n * Send login-Event to oiam-oauth-wc\n */\n oiamLoginEvent;\n handleTokenEvent(ev) {\n const jwtValidationResult = JwtUtil.validateJwt(ev);\n if (jwtValidationResult.isValidJwt) {\n this.parseTokenAndSetValues(jwtValidationResult.jwt);\n this.showMenuButton = true;\n }\n else {\n // hide flyout and flyout button if logged-out (idle timeout, reload from back-forward-cache etc.)\n // oiam-oauth-wc sends an oiamTokenEvent with empty jwt in that cases\n if (this.showFlyout) {\n this.hideFlyout();\n }\n this.showMenuButton = false;\n }\n }\n closeFlyoutWhenTabbingOut(event) {\n if (event.key !== 'Tab') {\n return;\n }\n const path = event.composedPath();\n const flyout = this.el.shadowRoot.getElementById('headerFlyoutProfile');\n if (!path.includes(flyout) && this.showFlyout) {\n this.hideFlyout();\n }\n }\n handleClickEvent(event) {\n const path = event.composedPath();\n // This solves a bug. Other Teams are closing their flyouts by creating an additional click on their menu-items.\n // We need to ignore these additional Clicks. Otherwise, our flyout opens and then instantly closes.\n const shouldBeIgnored = getShouldBeIgnored(path);\n if (shouldBeIgnored) {\n return;\n }\n if (!path.includes(this.el) && this.showFlyout) {\n this.hideFlyout();\n }\n }\n handleKeyDown(ev) {\n if (ev.key === 'Escape' && this.showFlyout) {\n this.hideFlyout();\n }\n }\n parseTokenAndSetValues(jwt) {\n this.actingType = jwt.payload['acting-type'] ?? '';\n let actingOnBehalfOf = jwt.payload['acting-on-behalf-of']?.[0] ?? '';\n this.userEmail = jwt.payload['preferred_username'] ?? '';\n this.groups = JwtUtil.parseGroupsToValidatedArray(jwt.payload['groups']);\n let authority = jwt.payload['iss'] ?? '';\n this.links = links[authority] ?? this.handleAuthorityNotFound(authority);\n if (!this.actingType) {\n this.niveau = 'bronze';\n }\n else if (!actingOnBehalfOf) {\n this.niveau = 'silver';\n }\n else {\n this.niveau = 'gold';\n }\n this.fachschluessel = JwtUtil.parseAoboToFachschluessel(actingOnBehalfOf);\n }\n handleAuthorityNotFound(authority) {\n if (authority.includes('sso.dev.ocp.webapp.idst.ibaintern.de')) {\n return links[environmentToIssuer.get('SINT')];\n }\n return links[environmentToIssuer.get('PROD')];\n }\n componentDidLoad() {\n this.oiamSendTokenEvent.emit();\n }\n componentDidRender() {\n this.button = this.el.shadowRoot.querySelector('#profile-menu-button');\n this.flyout = this.el.shadowRoot.querySelector('#headerFlyoutProfile');\n }\n onButtonClick() {\n if (this.showFlyout) {\n this.hideFlyout();\n }\n else {\n this.showFlyoutContent();\n }\n }\n onLogoutClick() {\n this.oiamLogoutEvent.emit();\n }\n onFreischaltenClick() {\n this.oiamLoginEvent.emit({ actingOnBehalfOf: ['urn:bafor:'] });\n }\n onProfilWechselnClick(event) {\n const isAlreadyOnPage = window.location.href.includes(this.links['zumProfil']);\n if (isAlreadyOnPage) {\n // Fixes a bug: Profile-page prevents execution of href-click.\n // Fix is to submit the login-event in that case\n event.preventDefault();\n this.oiamLoginEvent.emit({ forceProfileSelection: true });\n }\n }\n showFlyoutContent() {\n this.flyout.classList.add('collapsed');\n this.flyout.classList.remove('collapse');\n this.button.classList.add('collapse');\n this.button.classList.remove('collapsed');\n this.button.ariaExpanded = 'true';\n this.showFlyout = !this.showFlyout;\n }\n hideFlyout() {\n this.flyout.classList.remove('collapsed');\n this.flyout.classList.add('collapse');\n this.button.classList.add('collapsed');\n this.button.classList.remove('collapse');\n this.button.ariaExpanded = 'false';\n this.showFlyout = !this.showFlyout;\n }\n render() {\n if (this.showMenuButton) {\n return (h(Host, { class: 'd-block rounded' }, h(\"div\", { class: \"ba-header-element\" }, this.getMenuEntry(), this.getFlyOut())));\n }\n }\n getMenuEntry() {\n return (h(\"button\", { id: \"profile-menu-button\", class: \"ba-menu-entry ba-profile ba-login collapsed me-0\", title: this.actingType ? 'Profil' : 'Konto', type: \"button\", \"data-bs-toggle\": \"collapse\", onClick: () => this.onButtonClick(), \"data-bs-target\": \"#headerFlyoutProfile\", \"aria-expanded\": \"false\", \"aria-controls\": \"headerFlyoutProfile\" }, h(\"span\", { class: \"ba-title\" }, this.actingType ? 'Profil' : 'Konto')));\n }\n getFlyOut() {\n return (h(\"div\", { class: \"ba-flyout-container ba-flyout-profile\" }, h(\"div\", { id: \"headerFlyoutProfile\", class: \"ba-flyout-collapse collapse\", \"data-bs-parent\": \".ba-header\" }, h(\"div\", { class: \"ba-flyout ba-menu-container\", \"aria-labelledby\": \"headingProfil\" }, this.getHeading(), h(\"hr\", { \"aria-hidden\": \"true\" }), h(\"ul\", { class: \"ba-linklist\" }, this.niveau === 'bronze' ? this.getBronze() : null, this.niveau === 'silver' ? this.getSilver() : null, this.niveau === 'gold' ? this.getGold() : null)))));\n }\n getHeading() {\n let headline;\n if (this.niveau === 'gold') {\n let schluesselTypTitle;\n switch (this.fachschluessel.schluesselTyp) {\n case 'kundennummer':\n schluesselTypTitle = 'Kundennummer';\n break;\n case 'kindergeldnummer':\n schluesselTypTitle = 'Kindergeldnummer';\n break;\n case 'partnerid':\n schluesselTypTitle = 'Partnernummer';\n break;\n case 'mitarbeiterid':\n schluesselTypTitle = 'Kundennummer';\n }\n headline = `${schluesselTypTitle}:\\n${this.fachschluessel.schluessel}`;\n }\n else {\n headline = this.userEmail.toLowerCase();\n }\n return h(\"h2\", { class: \"h4\", id: \"headingProfil\" }, headline);\n }\n getBronze() {\n return ([\n this.getProfilFreischalten(),\n this.getDivider(),\n this.getKontoEinstellungen(),\n this.getAbmelden(),\n ]);\n }\n getSilver() {\n return ([\n this.getZumProfil(),\n this.getProfilBearbeiten(),\n this.getProfilWechseln(),\n this.getDivider(),\n this.getKontoEinstellungen(),\n this.getAbmelden(),\n ]);\n }\n getGold() {\n return [\n this.getZumProfil(),\n this.getProfilBearbeiten(),\n this.getProfilWechseln(),\n this.getPostfaecher(),\n this.getDivider(),\n this.getKontoEinstellungen(),\n this.getAbmelden(),\n ];\n }\n getPostfaecher() {\n return [\n this.fachschluessel.objektTyp === 'betrieb' ? ([\n this.getDivider(),\n this.groups.includes('admin') ? (this.getLeistungsPostfach()) : null,\n this.getVermittlungsPostfach(),\n ]) : null,\n this.fachschluessel.schluesselTyp === 'kundennummer' && this.fachschluessel.objektTyp !== 'betrieb' ? ([\n this.getDivider(),\n this.getLeistungsPostfach(),\n this.getVermittlungsPostfach(),\n ]) : null,\n this.kommtEventuellSpaeterDannwiederAusbauen && this.fachschluessel.schluesselTyp === 'kindergeldnummer' ? ([\n this.getDivider(),\n this.getPostfach(),\n ]) : null,\n ];\n }\n getPostfach() {\n return h(\"li\", null, h(\"a\", { href: this.links['postfach'], class: \"ba-link-icon ba-icon-message\" }, \"Postfach\"));\n }\n getLeistungsPostfach() {\n return h(\"li\", null, h(\"a\", { href: this.links['leistungsPostfach'], class: \"ba-link-icon ba-icon-message\" }, \"Leistungspostfach\"));\n }\n getVermittlungsPostfach() {\n return h(\"li\", null, h(\"a\", { href: this.links['vermittlungsPostfach'], class: \"ba-link-icon ba-icon-message\" }, \"Vermittlungspostfach\"));\n }\n getDivider() {\n return h(\"li\", { \"aria-hidden\": \"true\" }, h(\"hr\", null));\n }\n getProfilWechseln() {\n return h(\"li\", null, h(\"a\", { id: 'profileProfilWechseln', href: `${this.links['zumProfil']}?force-profile-selection=true`, class: \"ba-link-icon ba-icon-change\", role: 'button', onClick: (event) => this.onProfilWechselnClick(event) }, \"Profil wechseln\"));\n }\n getProfilBearbeiten() {\n return h(\"li\", null, h(\"a\", { href: this.links['profilBearbeiten'], class: \"ba-link-icon ba-icon-edit\" }, \"Profil bearbeiten\"));\n }\n getZumProfil() {\n return h(\"li\", null, h(\"a\", { href: this.links['zumProfil'], class: \"ba-link-icon ba-icon-home-full\" }, \"Zum Profil\"));\n }\n getProfilFreischalten() {\n return h(\"li\", null, h(\"a\", { id: 'profileProfilFreischalten', onClick: () => this.onFreischaltenClick(), href: \"javascript:void(0)\", class: \"ba-link-icon ba-icon-plus\" }, \"Profil freischalten\"));\n }\n getKontoEinstellungen() {\n return h(\"li\", null, h(\"a\", { id: 'profileKontoEinstellungen', href: this.links['kontoEinstellungen'], class: \"ba-link-icon ba-icon-settings\" }, \"Kontoeinstellungen\"));\n }\n getAbmelden() {\n return h(\"li\", null, h(\"a\", { id: 'profileLogout', onClick: () => this.onLogoutClick(), class: \"ba-link-icon ba-icon-logout\", href: \"javascript:void(0)\", role: 'button' }, \"Abmelden\"));\n }\n static get is() { return \"profile-menu\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"profile-menu.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"profile-menu.css\"]\n };\n }\n static get states() {\n return {\n \"showMenuButton\": {},\n \"showFlyout\": {},\n \"actingType\": {},\n \"niveau\": {},\n \"userEmail\": {},\n \"links\": {},\n \"groups\": {},\n \"fachschluessel\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"oiamSendTokenEvent\",\n \"name\": \"oiamSendTokenEvent\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Request a token event form the oiam-oauth-wc\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"oiamLogoutEvent\",\n \"name\": \"oiamLogoutEvent\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Communicate logout-intent to oiam-oauth-wc\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"oiamLoginEvent\",\n \"name\": \"oiamLoginEvent\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Send login-Event to oiam-oauth-wc\"\n },\n \"complexType\": {\n \"original\": \"{ forceProfileSelection?: true, actingOnBehalfOf?: string[] }\",\n \"resolved\": \"{ forceProfileSelection?: true; actingOnBehalfOf?: string[]; }\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"oiamTokenEvent\",\n \"method\": \"handleTokenEvent\",\n \"target\": \"window\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"keyup\",\n \"method\": \"closeFlyoutWhenTabbingOut\",\n \"target\": \"window\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"click\",\n \"method\": \"handleClickEvent\",\n \"target\": \"window\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"keydown\",\n \"method\": \"handleKeyDown\",\n \"target\": \"window\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n"],"mappings":"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","ignoreList":[]}