From be75b58f2a6e68bd414d862e388f4a8ac8678e30 Mon Sep 17 00:00:00 2001 From: Samuele Calamita Date: Fri, 5 Apr 2024 09:47:12 +0200 Subject: [PATCH 01/26] fix footer content --- dist/main/main.js | 4 +- dist/main/main.js.map | 2 +- .../dvag-m-n02-footer__data.json | 112 ------------------ .../dva-e-button/dva-e-button.template.d.ts | 2 +- .../dva-e-link/dva-e-link.template.d.ts | 2 +- 5 files changed, 5 insertions(+), 117 deletions(-) diff --git a/dist/main/main.js b/dist/main/main.js index 1a9018b..4e70d82 100644 --- a/dist/main/main.js +++ b/dist/main/main.js @@ -1,8 +1,8 @@ -import{s as P,x as o,T as B,j as k}from"../__chunks__/lit-element.XkUWx5ik.js";import{n as C,t as x}from"../__chunks__/property.0daVBkvz.js";import{o as p}from"../__chunks__/unsafe-html.tmuruS4o.js";import{f as E}from"../__chunks__/fetch.service.FjW5hVu3.js";import{r as d}from"../__chunks__/dva-e-icon.template.tppk8KWP.js";import"../__chunks__/dva-e-icon.JvN5hF7V.js";import"../__chunks__/dva-e-lazy-image.UCrOhMiV.js";import"../__chunks__/dvag-m-c11-accordion.rKKpSxDv.js";import{_ as T}from"../__chunks__/preload-helper.hlDPvxQM.js";import{r as y}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/component.module.D5fmAfIh.js";import"../__chunks__/index.module.BEmWgxQc.js";import"../__chunks__/LazyConnectService.yBR27czX.js";import"../__chunks__/eventTypes.voneREpA.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/mediaQueries.0eOxrCUs.js";import"../__chunks__/getSrcset.ehtWqR_R.js";import"../__chunks__/if-defined.JfW-uEqn.js";/** +import{s as C,x as r,T as P,j as y}from"../__chunks__/lit-element.XkUWx5ik.js";import{n as B,t as x}from"../__chunks__/property.0daVBkvz.js";import{o as p}from"../__chunks__/unsafe-html.tmuruS4o.js";import{f as E}from"../__chunks__/fetch.service.FjW5hVu3.js";import{r as d}from"../__chunks__/dva-e-icon.template.tppk8KWP.js";import"../__chunks__/dva-e-icon.JvN5hF7V.js";import"../__chunks__/dva-e-lazy-image.UCrOhMiV.js";import"../__chunks__/dvag-m-c11-accordion.rKKpSxDv.js";import{_ as T}from"../__chunks__/preload-helper.hlDPvxQM.js";import{r as k}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/component.module.D5fmAfIh.js";import"../__chunks__/index.module.BEmWgxQc.js";import"../__chunks__/LazyConnectService.yBR27czX.js";import"../__chunks__/eventTypes.voneREpA.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/mediaQueries.0eOxrCUs.js";import"../__chunks__/getSrcset.ehtWqR_R.js";import"../__chunks__/if-defined.JfW-uEqn.js";/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */function z(s){return C({...s,state:!0,attribute:!1})}function A({input:s,specifier:e,htmlTag:a}){return s.split(e).map((t,n)=>n%2===1?`<${a}>${t}`:t).join("")}var q=Object.defineProperty,D=Object.getOwnPropertyDescriptor,S=(s,e,a,t)=>{for(var n=t>1?void 0:t?D(e,a):e,i=s.length-1,l;i>=0;i--)(l=s[i])&&(n=(t?l(e,a,n):l(n))||n);return t&&n&&q(e,a,n),n};let f=class extends P{createRenderRoot(){return this}async firstUpdated(s){await this.fetchHeaderData()}async fetchHeaderData(){try{const s=await E.fetchJson("header.json",{cacheOptions:{cacheType:"runtime"}});this.headerData={leftCol:s.leftCol.data[0],rightCol:s.rightCol.data}}catch(s){console.error("HeaderComponent: ",s)}}render(){if(!this.headerData)return;const{leftCol:s,rightCol:e}=this.headerData,a=A({input:s.logoText,htmlTag:"strong",specifier:":::"}),t=p(a);return o``}};S([z()],f.prototype,"headerData",2);f=S([x("header-component")],f);function g(s){return s.toLowerCase().replace(/[^0-9a-z]/gi,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}class M{readBlockConfig(e){const a={};return e.querySelectorAll(":scope > div").forEach(t=>{if(t.children){const n=[...t.children];if(n[1]){const i=n[1],l=g(n[0].textContent??"");let c="";if(i.querySelector("a")){const r=[...i.querySelectorAll("a")];r.length===1?c=r[0].href:c=r.map(v=>v.href)}else if(i.querySelector("img")){const r=[...i.querySelectorAll("img")];r.length===1?c=r[0].src:c=r.map(v=>v.src)}else if(i.querySelector("p")){const r=[...i.querySelectorAll("p")];r.length===1?c=r[0].textContent:c=r.map(v=>v.textContent)}else c=t.children[1].textContent;a[l]=c}}}),a}decorateBlocks(e){e.querySelectorAll("div.section > div > div").forEach(this.decorateBlock)}decorateBlock(e){const a=e.classList[0];if(a){e.classList.add("block"),e.dataset.blockName=a;const t=e.parentElement;t==null||t.classList.add(`${a}-wrapper`);const n=e.closest(".section");n&&n.classList.add(`${a}-container`)}}}function F(s){return g(s).replace(/-([a-z])/g,e=>e[1].toUpperCase())}class I{constructor(e){this.blockService=e}init(e){this.transformSection(e)}transformSection(e){e.querySelectorAll(":scope > div").forEach(a=>{this.adjustMarkup(a),this.processSectionMetaData(a)})}processSectionMetaData(e){const a=e.querySelector("div.section-metadata");if(a){const t=this.blockService.readBlockConfig(a);Object.keys(t).forEach(n=>{n==="style"?t.style.split(",").filter(l=>l).map(l=>g(l.trim())).forEach(l=>e.classList.add(l)):e.dataset[F(n)]=t[n]}),a.parentElement&&a.parentElement.remove()}}adjustMarkup(e){const a=[];let t=!1;[...e.children].forEach(n=>{if(n.tagName==="DIV"||!t){const i=document.createElement("div");a.push(i),t=n.tagName!=="DIV",t&&i.classList.add("default-content-wrapper")}a[a.length-1].append(n)}),a.forEach(n=>e.append(n)),this.decorateImages(),e.classList.add("section"),e.dataset.sectionStatus="initialized",e.style.display="none"}decorateImages(){document.querySelectorAll(".default-content-wrapper picture").forEach(a=>{const t=a.parentElement;t&&t.classList.add("image","main")})}}const U=()=>o`
`,j=s=>s.label===void 0?"":o`${s.label}`,N=s=>s.iconID===void 0?"":o``,u=s=>s.shouldRender===!1?"":o`${j(s)} ${N(s)}`,G=()=>o``,K=[{headline:{label:"Unternehmen",link:"#"},items:[{label:"Über uns",link:"#"},{label:"Geschäftsleitung",link:"#"},{label:"Markenbotschafter",link:"#"},{label:"Struktur & Geschichte",link:"#"},{label:"Unternehmensbericht",link:"#"},{label:"Presseservice",link:"#"},{label:"Standorte",link:"#"},{label:"Gezielte und nachhaltige Hilfe",link:"#"}]},{headline:{label:"Beratung",link:"#"},items:[{label:"Unser Beratungsmodell",link:"#"},{label:"Leistungen für Privatkunden",link:"#"},{label:"Leistungen für Firmenkunden",link:"#"},{label:"Finanztipps",link:"#"},{label:"Produktpartner",link:"#"},{label:"Ansprechpartner finden",link:"#"},{label:"Nachhaltigkeit (EGS)",link:"#"}]},{headline:{label:"Erfahrungen & Bewertungen",link:"#"},items:[{label:"Kundenbewertungen",link:"#"},{label:"Zertifikate & Auszeichnungen",link:"#"}]},{headline:{label:"Karriere",link:"#"},items:[{label:"Karriere als selbstständiger Finanzcoach",link:"#"},{label:"Teamblog",link:"#"},{label:"Karriere in der Unternehmenszentrale",link:"#"}]},{headline:{label:"Unternehmen",link:"#"},items:[{label:"Über uns",link:"#"},{label:"Geschäftsleitung",link:"#"},{label:"Markenbotschafter",link:"#"},{label:"Struktur & Geschichte",link:"#"},{label:"Unternehmensbericht",link:"#"},{label:"Presseservice",link:"#"},{label:"Standorte",link:"#"},{label:"Gezielte und nachhaltige Hilfe",link:"#"}]},{headline:{label:"Beratung",link:"#"},items:[{label:"Unser Beratungsmodell",link:"#"},{label:"Leistungen für Privatkunden",link:"#"},{label:"Leistungen für Firmenkunden",link:"#"},{label:"Finanztipps",link:"#"},{label:"Produktpartner",link:"#"},{label:"Ansprechpartner finden",link:"#"},{label:"Nachhaltigkeit (EGS)",link:"#"}]},{headline:{label:"Erfahrungen & Bewertungen",link:"#"},items:[{label:"Kundenbewertungen",link:"#"},{label:"Zertifikate & Auszeichnungen",link:"#"}]},{headline:{label:"Karriere",link:"#"},items:[{label:"Karriere als selbstständiger Finanzcoach",link:"#"},{label:"Teamblog",link:"#"},{label:"Karriere in der Unternehmenszentrale",link:"#"}]}],H=[{icon:"dva-icon-instagram-24px"},{icon:"dva-icon-facebook-24px"},{icon:"dva-icon-tiktok-24px"},{icon:"dva-icon-linkedin-24px"},{icon:"dva-icon-xing-24px"},{icon:"dva-icon-youtube-24px"},{icon:"dva-icon-twitter-24px"}],$={navigationSections:K,socialLinks:H},R=()=>o``,O=()=>o`${$.navigationSections.map(s=>o`
`)}
`,V=(s=!1)=>o``;function b(s,e=document){const a=s&&s.includes(":")?"property":"name",n=[...e.head.querySelectorAll(`meta[${a}="${s}"]`)].map(i=>i.content).join(", ");return n.length?n:""}const W=()=>b("breadcrumb")!=="true"?B:o`
`,L=()=>{const s=document.querySelector("#main");return s?window.location.href==="about:srcdoc"&&s.classList.contains("sidekick-library"):!1},_=(s,e)=>{e.split(",").forEach(a=>{s.classList.add(g(a.trim()))})},Z={mainTsPath:"src/main.ts",mainScssPath:"src/styles/index.scss",iconsDirPath:"./public/icons",iconsTypesPath:"./src/icons.types.ts",fontsScssPath:"src/styles/fonts.scss",lazyStylesScssPath:"src/styles/lazy-styles.scss",sidekickLibraryStylesScssPath:"src/styles/sidekick-library-styles.scss"};function w(){return L()?window.parent.location:window.location}const m=class m{};m.unloaded="unloaded",m.loading="loading",m.loaded="loaded",m.error="error";let h=m;class J{constructor(e,a){this.sectionService=e,this.blockService=a,this.lcpBlocks=["article-stage","article-header","article-overview","vb-stage"],this.init=async()=>{this.setup(),await this.loadEager(),await this.loadLazy()},this.loadEager=async()=>{document.documentElement.lang="en",this.decorateTemplateAndTheme();const t=document.querySelector("main");if(t){this.sectionService.init(t),this.blockService.decorateBlocks(t),this.decorateDefaultContent(t),this.renderLayout(t),setTimeout(()=>{document.body.classList.add("show")},100),await this.waitForLCP();try{(window.innerWidth>=900||sessionStorage.getItem("fonts-loaded"))&&await this.loadFonts()}catch{}}},this.loadLazy=async()=>{const{lazyStylesScssPath:t,sidekickLibraryStylesScssPath:n,fontsScssPath:i}=Z;try{t&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`),n&&L()&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`),i&&await this.loadFonts(),await this.loadCSS(`${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,`${window.hlx.codeBasePath}/dist/styles/styles.css`),await this.loadBlocks()}catch(l){console.error("Load lazy error: ",l);try{await this.loadBlocks()}catch(c){console.error("Load blocks error: ",c)}}},this.loadBlocks=async()=>{const n=[...document.querySelectorAll(".section")].map(i=>this.loadBlock(i));await Promise.all(n)}}setup(){window.hlx=window.hlx||{},window.hlx.RUM_MASK_URL="full",window.hlx.codeBasePath="",window.hlx.lighthouse=new URLSearchParams(w().search).get("lighthouse")==="on";const e=document.querySelector('script[src$="/scripts/scripts.js"]');if(e)try{[window.hlx.codeBasePath]=new URL(e.src).pathname.split("/scripts/scripts.js")}catch(a){console.log(a)}}decorateDefaultContent(e){const a=e.querySelectorAll(".default-content-wrapper");a&&a.forEach(t=>{const n=o`
${p(t.innerHTML)}
`;t.innerHTML="",k(n,t)})}bodyTemplate(e){return o`
${U()} ${W()} ${p(e)} ${V()}
`}renderLayout(e){const a=e.innerHTML,t=document.querySelector("header"),n=document.querySelector("footer"),i=e,l=document.querySelector("body");l&&(k(this.bodyTemplate(a),l),n==null||n.remove(),t==null||t.remove(),i.remove())}decorateTemplateAndTheme(){const e=b("template");e&&_(document.body,e);const a=b("theme");a&&_(document.body,a)}collectBlocks(e){const a=[];return e.querySelectorAll("[data-block-name]").forEach(n=>{a.push({name:n.dataset.blockName,element:n})}),a}async loadBlockModules(e){if((e.element.dataset.blockStatus??h.unloaded)===h.unloaded){e.element.dataset.blockStatus=h.loading;try{const t=await T(()=>import(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.js`),__vite__mapDeps([]));t.default&&await t.default(e.element),e.element.dataset.blockStatus=h.loaded}catch(t){e.element.dataset.blockStatus=h.error,console.error("An error occurred during module import:",t)}}}async loadBlockStyles(e){try{await this.loadCSS(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.css`)}catch{console.error(`problem with block '${e.name}' loading styles`)}}showSection(e){e.style.removeProperty("display")}async loadFonts(){await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);try{w().hostname.includes("localhost")||sessionStorage.setItem("fonts-loaded","true")}catch{}}async loadCSS(e,a){return new Promise((t,n)=>{if(document.querySelector(`head > link[href="${e}"]`))t(!0);else{const i=document.createElement("link");if(i.rel="stylesheet",i.href=e,i.onload=t,i.onerror=n,a!==void 0){const l=document.querySelector(`head > link[href="${a}"]`);l&&l.before(i)}else document.head.append(i)}})}async waitForLCP(){const e=document.querySelector(".section");if(e){const n=this.collectBlocks(e).map(async i=>{this.lcpBlocks.includes(i.name)&&await Promise.all([this.loadBlockModules(i),this.loadBlockStyles(i)])});await Promise.all(n),this.showSection(e)}document.body.style.display=null;const a=document.querySelector("main img");await new Promise(t=>{a&&!a.complete?(a.setAttribute("loading","eager"),a.setAttribute("fetchpriority","high"),a.addEventListener("load",()=>t()),a.addEventListener("error",()=>t())):t()})}async loadBlock(e){const a=this.collectBlocks(e);if(!a.length){this.showSection(e);return}const t=[];for(const n of a)t.push(this.loadBlockModules(n),this.loadBlockStyles(n));await Promise.all(t),this.showSection(e)}}(async function(){const s=new M,e=new I(s);await new J(e,s).init()})(); + */function q(s){return B({...s,state:!0,attribute:!1})}function A({input:s,specifier:e,htmlTag:a}){return s.split(e).map((t,n)=>n%2===1?`<${a}>${t}`:t).join("")}var z=Object.defineProperty,D=Object.getOwnPropertyDescriptor,S=(s,e,a,t)=>{for(var n=t>1?void 0:t?D(e,a):e,i=s.length-1,o;i>=0;i--)(o=s[i])&&(n=(t?o(e,a,n):o(n))||n);return t&&n&&z(e,a,n),n};let f=class extends C{createRenderRoot(){return this}async firstUpdated(s){await this.fetchHeaderData()}async fetchHeaderData(){try{const s=await E.fetchJson("header.json",{cacheOptions:{cacheType:"runtime"}});this.headerData={leftCol:s.leftCol.data[0],rightCol:s.rightCol.data}}catch(s){console.error("HeaderComponent: ",s)}}render(){if(!this.headerData)return;const{leftCol:s,rightCol:e}=this.headerData,a=A({input:s.logoText,htmlTag:"strong",specifier:":::"}),t=p(a);return r``}};S([q()],f.prototype,"headerData",2);f=S([x("header-component")],f);function g(s){return s.toLowerCase().replace(/[^0-9a-z]/gi,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}class M{readBlockConfig(e){const a={};return e.querySelectorAll(":scope > div").forEach(t=>{if(t.children){const n=[...t.children];if(n[1]){const i=n[1],o=g(n[0].textContent??"");let c="";if(i.querySelector("a")){const l=[...i.querySelectorAll("a")];l.length===1?c=l[0].href:c=l.map(v=>v.href)}else if(i.querySelector("img")){const l=[...i.querySelectorAll("img")];l.length===1?c=l[0].src:c=l.map(v=>v.src)}else if(i.querySelector("p")){const l=[...i.querySelectorAll("p")];l.length===1?c=l[0].textContent:c=l.map(v=>v.textContent)}else c=t.children[1].textContent;a[o]=c}}}),a}decorateBlocks(e){e.querySelectorAll("div.section > div > div").forEach(this.decorateBlock)}decorateBlock(e){const a=e.classList[0];if(a){e.classList.add("block"),e.dataset.blockName=a;const t=e.parentElement;t==null||t.classList.add(`${a}-wrapper`);const n=e.closest(".section");n&&n.classList.add(`${a}-container`)}}}function I(s){return g(s).replace(/-([a-z])/g,e=>e[1].toUpperCase())}class F{constructor(e){this.blockService=e}init(e){this.transformSection(e)}transformSection(e){e.querySelectorAll(":scope > div").forEach(a=>{this.adjustMarkup(a),this.processSectionMetaData(a)})}processSectionMetaData(e){const a=e.querySelector("div.section-metadata");if(a){const t=this.blockService.readBlockConfig(a);Object.keys(t).forEach(n=>{n==="style"?t.style.split(",").filter(o=>o).map(o=>g(o.trim())).forEach(o=>e.classList.add(o)):e.dataset[I(n)]=t[n]}),a.parentElement&&a.parentElement.remove()}}adjustMarkup(e){const a=[];let t=!1;[...e.children].forEach(n=>{if(n.tagName==="DIV"||!t){const i=document.createElement("div");a.push(i),t=n.tagName!=="DIV",t&&i.classList.add("default-content-wrapper")}a[a.length-1].append(n)}),a.forEach(n=>e.append(n)),this.decorateImages(),e.classList.add("section"),e.dataset.sectionStatus="initialized",e.style.display="none"}decorateImages(){document.querySelectorAll(".default-content-wrapper picture").forEach(a=>{const t=a.parentElement;t&&t.classList.add("image","main")})}}const j=()=>r`
`,N=s=>s.label===void 0?"":r`${s.label}`,U=s=>s.iconID===void 0?"":r``,u=s=>s.shouldRender===!1?"":r`${N(s)} ${U(s)}`,H=()=>r``,R=[{headline:{label:"Unternehmen",link:"#"},items:[{label:"Über uns",link:"#"},{label:"Geschäftsleitung",link:"#"},{label:"Markenbotschafter",link:"#"},{label:"Struktur & Geschichte",link:"#"},{label:"Unternehmensbericht",link:"#"},{label:"Presseservice",link:"#"},{label:"Standorte",link:"#"},{label:"Gezielte und nachhaltige Hilfe",link:"#"}]},{headline:{label:"Beratung",link:"#"},items:[{label:"Unser Beratungsmodell",link:"#"},{label:"Leistungen für Privatkunden",link:"#"},{label:"Leistungen für Firmenkunden",link:"#"},{label:"Finanztipps",link:"#"},{label:"Produktpartner",link:"#"},{label:"Ansprechpartner finden",link:"#"},{label:"Nachhaltigkeit (EGS)",link:"#"}]},{headline:{label:"Erfahrungen & Bewertungen",link:"#"},items:[{label:"Kundenbewertungen",link:"#"},{label:"Zertifikate & Auszeichnungen",link:"#"}]},{headline:{label:"Karriere",link:"#"},items:[{label:"Karriere als selbstständiger Finanzcoach",link:"#"},{label:"Teamblog",link:"#"},{label:"Karriere in der Unternehmenszentrale",link:"#"}]}],O=[{icon:"dva-icon-instagram-24px"},{icon:"dva-icon-facebook-24px"},{icon:"dva-icon-tiktok-24px"},{icon:"dva-icon-linkedin-24px"},{icon:"dva-icon-xing-24px"},{icon:"dva-icon-youtube-24px"},{icon:"dva-icon-twitter-24px"}],$={navigationSections:R,socialLinks:O},V=()=>r``,G=()=>r`${$.navigationSections.map(s=>r`
`)}
`,K=(s=!1)=>r``;function b(s,e=document){const a=s&&s.includes(":")?"property":"name",n=[...e.head.querySelectorAll(`meta[${a}="${s}"]`)].map(i=>i.content).join(", ");return n.length?n:""}const W=()=>b("breadcrumb")!=="true"?P:r`
`,L=()=>{const s=document.querySelector("#main");return s?window.location.href==="about:srcdoc"&&s.classList.contains("sidekick-library"):!1},_=(s,e)=>{e.split(",").forEach(a=>{s.classList.add(g(a.trim()))})},J={mainTsPath:"src/main.ts",mainScssPath:"src/styles/index.scss",iconsDirPath:"./public/icons",iconsTypesPath:"./src/icons.types.ts",fontsScssPath:"src/styles/fonts.scss",lazyStylesScssPath:"src/styles/lazy-styles.scss",sidekickLibraryStylesScssPath:"src/styles/sidekick-library-styles.scss"};function w(){return L()?window.parent.location:window.location}const h=class h{};h.unloaded="unloaded",h.loading="loading",h.loaded="loaded",h.error="error";let m=h;class Z{constructor(e,a){this.sectionService=e,this.blockService=a,this.lcpBlocks=["article-stage","article-header","article-overview","vb-stage"],this.init=async()=>{this.setup(),await this.loadEager(),await this.loadLazy()},this.loadEager=async()=>{document.documentElement.lang="en",this.decorateTemplateAndTheme();const t=document.querySelector("main");if(t){this.sectionService.init(t),this.blockService.decorateBlocks(t),this.decorateDefaultContent(t),this.renderLayout(t),setTimeout(()=>{document.body.classList.add("show")},100),await this.waitForLCP();try{(window.innerWidth>=900||sessionStorage.getItem("fonts-loaded"))&&await this.loadFonts()}catch{}}},this.loadLazy=async()=>{const{lazyStylesScssPath:t,sidekickLibraryStylesScssPath:n,fontsScssPath:i}=J;try{t&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`),n&&L()&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`),i&&await this.loadFonts(),await this.loadCSS(`${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,`${window.hlx.codeBasePath}/dist/styles/styles.css`),await this.loadBlocks()}catch(o){console.error("Load lazy error: ",o);try{await this.loadBlocks()}catch(c){console.error("Load blocks error: ",c)}}},this.loadBlocks=async()=>{const n=[...document.querySelectorAll(".section")].map(i=>this.loadBlock(i));await Promise.all(n)}}setup(){window.hlx=window.hlx||{},window.hlx.RUM_MASK_URL="full",window.hlx.codeBasePath="",window.hlx.lighthouse=new URLSearchParams(w().search).get("lighthouse")==="on";const e=document.querySelector('script[src$="/scripts/scripts.js"]');if(e)try{[window.hlx.codeBasePath]=new URL(e.src).pathname.split("/scripts/scripts.js")}catch(a){console.log(a)}}decorateDefaultContent(e){const a=e.querySelectorAll(".default-content-wrapper");a&&a.forEach(t=>{const n=r`
${p(t.innerHTML)}
`;t.innerHTML="",y(n,t)})}bodyTemplate(e){return r`
${j()} ${W()} ${p(e)} ${K()}
`}renderLayout(e){const a=e.innerHTML,t=document.querySelector("header"),n=document.querySelector("footer"),i=e,o=document.querySelector("body");o&&(y(this.bodyTemplate(a),o),n==null||n.remove(),t==null||t.remove(),i.remove())}decorateTemplateAndTheme(){const e=b("template");e&&_(document.body,e);const a=b("theme");a&&_(document.body,a)}collectBlocks(e){const a=[];return e.querySelectorAll("[data-block-name]").forEach(n=>{a.push({name:n.dataset.blockName,element:n})}),a}async loadBlockModules(e){if((e.element.dataset.blockStatus??m.unloaded)===m.unloaded){e.element.dataset.blockStatus=m.loading;try{const t=await T(()=>import(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.js`),__vite__mapDeps([]));t.default&&await t.default(e.element),e.element.dataset.blockStatus=m.loaded}catch(t){e.element.dataset.blockStatus=m.error,console.error("An error occurred during module import:",t)}}}async loadBlockStyles(e){try{await this.loadCSS(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.css`)}catch{console.error(`problem with block '${e.name}' loading styles`)}}showSection(e){e.style.removeProperty("display")}async loadFonts(){await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);try{w().hostname.includes("localhost")||sessionStorage.setItem("fonts-loaded","true")}catch{}}async loadCSS(e,a){return new Promise((t,n)=>{if(document.querySelector(`head > link[href="${e}"]`))t(!0);else{const i=document.createElement("link");if(i.rel="stylesheet",i.href=e,i.onload=t,i.onerror=n,a!==void 0){const o=document.querySelector(`head > link[href="${a}"]`);o&&o.before(i)}else document.head.append(i)}})}async waitForLCP(){const e=document.querySelector(".section");if(e){const n=this.collectBlocks(e).map(async i=>{this.lcpBlocks.includes(i.name)&&await Promise.all([this.loadBlockModules(i),this.loadBlockStyles(i)])});await Promise.all(n),this.showSection(e)}document.body.style.display=null;const a=document.querySelector("main img");await new Promise(t=>{a&&!a.complete?(a.setAttribute("loading","eager"),a.setAttribute("fetchpriority","high"),a.addEventListener("load",()=>t()),a.addEventListener("error",()=>t())):t()})}async loadBlock(e){const a=this.collectBlocks(e);if(!a.length){this.showSection(e);return}const t=[];for(const n of a)t.push(this.loadBlockModules(n),this.loadBlockStyles(n));await Promise.all(t),this.showSection(e)}}(async function(){const s=new M,e=new F(s);await new Z(e,s).init()})(); function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { __vite__mapDeps.viteFileDeps = [] diff --git a/dist/main/main.js.map b/dist/main/main.js.map index bec358f..19b53b6 100644 --- a/dist/main/main.js.map +++ b/dist/main/main.js.map @@ -1 +1 @@ -{"version":3,"mappings":"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","names":["r","t","replaceBySpecifier","input","specifier","htmlTag","part","index","HeaderComponent","LitElement","_changedProperties","response","FetchService","error","leftCol","rightCol","logoText","logoTextHTML","unsafeHTML","html","item","renderIcon","__decorateClass","state","customElement","toClassName","name","BlockService","block","config","row","cols","col","value","as","a","imgs","img","ps","p","main","shortBlockName","blockWrapper","section","toCamelCase","g","SectionService","blockService","container","sectionMeta","meta","key","style","wrappers","defaultContent","e","wrapper","parentElement","headerTemplate","renderLabel","args","dvaLinkTemplate","renderFooterAwardsTemplate","renderLazyImage","renderFooterSocialLinksTemplate","data","socialLink","renderFooterNavigationTemplate","renderFooter","borderTop","getMetadata","doc","attr","metaElement","renderBreadcrumpNavigationTemplate","nothing","isSidekickLibraryActive","addClasses","element","classes","cssClass","getLocation","_Status","Status","MainService","sectionService","lazyStylesScssPath","sidekickLibraryStylesScssPath","fontsScssPath","err","SectionsPromises","scriptEl","defaultContentWrappers","template","render","children","edsHeader","edsFooter","edsMain","body","theme","blockMap","blockModule","__vitePreload","href","insertBefore","resolve","reject","link","before","firstSection","blockPromises","lcpCandidate","sectionsBlocks","loadingPromises"],"sources":["../../node_modules/@lit/reactive-element/decorators/state.js","../../src/utils/replaceBySpecifier.ts","../../src/components/header.ts","../../src/utils/toClassName.ts","../../src/services/block.service.ts","../../src/utils/toCamelCase.ts","../../src/services/section.service.ts","../../src/components/dvag-m-n01-header/dvag-m-n01-header.template.ts","../../src/components/dva-e-link/dva-e-link.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__awards.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__social-links.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__navigation.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts","../../src/utils/getMetadata.ts","../../src/components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts","../../src/sidekickHelpers/isSidekickLibraryActive.ts","../../src/utils/addClasses.ts","../../config.ts","../../src/sidekickHelpers/getLocation.ts","../../src/services/main.service.ts","../../src/main.ts"],"sourcesContent":["import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * Represents the structure of an object used to specify replacements in a string.\n *\n * @interface ReplaceBySpecifier\n * @property {string} input - The input string where replacements will be made.\n * @property {string} specifier - The specifier string to search for in the input.\n * @property {string} htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n */\ninterface ReplaceBySpecifier {\n input: string;\n specifier: string;\n htmlTag: string;\n}\n\n/**\n * Replaces occurrences of a specified specifier in a string with an HTML tag.\n *\n * @param {ReplaceBySpecifier} param - An object containing input string, specifier, and HTML tag.\n * @param {string} param.input - The input string where replacements will be made.\n * @param {string} param.specifier - The specifier string to search for in the input.\n * @param {string} param.htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n * @returns {string} - The modified string with replacements.\n *\n @example\n * // Example 1:\n * const result1 = replaceBySpecifier({\n * input: 'This is a test string with some test keywords.',\n * specifier: 'test',\n * htmlTag: 'strong'\n * });\n * console.log(result1);\n * // Output: 'This is a string with some keywords.'\n *\n * // Example 2:\n * const result2 = replaceBySpecifier({\n * input: 'Hello, world!',\n * specifier: ',',\n * htmlTag: 'span'\n * });\n * console.log(result2);\n * // Output: 'Hello world!'\n */\nexport function replaceBySpecifier({ input, specifier, htmlTag }: ReplaceBySpecifier): string {\n return input\n .split(specifier)\n .map((part: string, index: number): string => (index % 2 === 1 ? `<${htmlTag}>${part}` : part))\n .join(\"\");\n}\n","import { html, LitElement, PropertyValueMap } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\n\nimport { replaceBySpecifier } from \"../utils/replaceBySpecifier.ts\";\nimport FetchService from \"../services/fetch.service.ts\";\nimport { renderIcon } from \"./icon/dva-e-icon.template.ts\";\nimport { IconName } from \"../icons.types.ts\";\n\nexport interface HeaderResponseData {\n leftCol: LeftCol;\n rightCol: RightCol;\n}\n\nexport interface LeftCol {\n data: LeftColData[];\n}\n\nexport interface LeftColData {\n logoText: string;\n logoLink: string;\n}\n\nexport interface RightCol {\n data: RightColData[];\n}\n\nexport interface RightColData {\n socialIcon: IconName;\n socialLabel: string;\n socialLink: string;\n}\n\ninterface HeaderTemplateData {\n leftCol: LeftColData;\n rightCol: RightColData[];\n}\n\n@customElement(\"header-component\")\nexport class HeaderComponent extends LitElement {\n @state()\n headerData: HeaderTemplateData;\n\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n protected async firstUpdated(_changedProperties: PropertyValueMap | Map) {\n await this.fetchHeaderData();\n }\n\n async fetchHeaderData() {\n try {\n const response = await FetchService.fetchJson(\"header.json\", {\n cacheOptions: { cacheType: \"runtime\" },\n });\n this.headerData = { leftCol: response.leftCol.data[0], rightCol: response.rightCol.data };\n } catch (error) {\n console.error(\"HeaderComponent: \", error);\n }\n }\n\n render() {\n if (!this.headerData) return;\n const { leftCol, rightCol } = this.headerData;\n const logoText = replaceBySpecifier({ input: leftCol.logoText, htmlTag: \"strong\", specifier: \":::\" });\n const logoTextHTML = unsafeHTML(logoText);\n return html`\n ${logoTextHTML}\n \n `;\n }\n}\n","/**\n * Converts a string into a valid CSS class name.\n *\n * @param {string} name - The string to convert into a CSS class name.\n * @returns {string} The converted CSS class name.\n *\n * @example\n * // Example usage:\n * const inputString = 'Hello, World!';\n * const cssClassName = toClassName(inputString);\n * console.log(cssClassName); // Output: 'hello-world'\n */\nexport function toClassName(name: string): string {\n return name\n .toLowerCase()\n .replace(/[^0-9a-z]/gi, \"-\")\n .replace(/-+/g, \"-\")\n .replace(/^-|-$/g, \"\");\n}\n","import { toClassName } from \"../utils/toClassName\";\n\nexport class BlockService {\n /**\n * Extracts the config from a block.\n * @param {Element} block The block element\n * @returns {object} The block config\n */\n readBlockConfig(block: Element): Record {\n const config: Record = {};\n block.querySelectorAll(\":scope > div\").forEach(row => {\n if (row.children) {\n const cols = [...row.children];\n if (cols[1]) {\n const col = cols[1];\n const name = toClassName(cols[0].textContent ?? \"\");\n let value: any = \"\";\n if (col.querySelector(\"a\")) {\n const as = [...col.querySelectorAll(\"a\")];\n if (as.length === 1) {\n value = as[0].href;\n } else {\n value = as.map(a => a.href);\n }\n } else if (col.querySelector(\"img\")) {\n const imgs = [...col.querySelectorAll(\"img\")];\n if (imgs.length === 1) {\n value = imgs[0].src;\n } else {\n value = imgs.map(img => img.src);\n }\n } else if (col.querySelector(\"p\")) {\n const ps = [...col.querySelectorAll(\"p\")];\n if (ps.length === 1) {\n value = ps[0].textContent;\n } else {\n value = ps.map(p => p.textContent);\n }\n } else value = row.children[1].textContent;\n config[name] = value;\n }\n }\n });\n return config;\n }\n\n /**\n * Decorates all blocks in a container element.\n * @param {Element} main The container element\n */\n decorateBlocks(main: HTMLElement) {\n main.querySelectorAll(\"div.section > div > div\").forEach(this.decorateBlock);\n }\n\n /**\n * Decorates a block.\n * @param {Element} block The block element\n */\n private decorateBlock(block: HTMLElement) {\n const shortBlockName = block.classList[0];\n if (shortBlockName) {\n block.classList.add(\"block\");\n block.dataset.blockName = shortBlockName;\n const blockWrapper = block.parentElement;\n blockWrapper?.classList.add(`${shortBlockName}-wrapper`);\n const section = block.closest(\".section\");\n if (section) section.classList.add(`${shortBlockName}-container`);\n }\n }\n}\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Sanitizes a string for use as a JavaScript property name.\n *\n * @param {string} name - The unsanitized string.\n * @returns {string} - The camelCased name.\n *\n * @example\n * // Example usage:\n * const unsanitizedString = 'background-color';\n * const camelCasedName = toCamelCase(unsanitizedString);\n * console.log(camelCasedName); // Output: 'backgroundColor'\n */\nexport function toCamelCase(name: string): string {\n return toClassName(name).replace(/-([a-z])/g, (g: string) => g[1].toUpperCase());\n}\n","import { toCamelCase } from \"../utils/toCamelCase\";\nimport { toClassName } from \"../utils/toClassName\";\nimport { BlockService } from \"./block.service\";\n\nexport class SectionService {\n constructor(private blockService: BlockService) {}\n\n init(container: HTMLElement) {\n this.transformSection(container);\n }\n\n /**\n * Decorates all sections in a container element.\n * @param {Element} main The container element\n */\n private transformSection(main: HTMLElement) {\n main.querySelectorAll(\":scope > div\").forEach(section => {\n this.adjustMarkup(section);\n this.processSectionMetaData(section);\n });\n }\n\n private processSectionMetaData(section: HTMLElement) {\n // Process section metadata\n const sectionMeta = section.querySelector(\"div.section-metadata\");\n if (sectionMeta) {\n const meta = this.blockService.readBlockConfig(sectionMeta);\n Object.keys(meta).forEach(key => {\n if (key === \"style\") {\n const styles = meta.style\n .split(\",\")\n .filter((style: string) => style)\n .map((style: string) => toClassName(style.trim()));\n styles.forEach((style: string) => section.classList.add(style));\n } else {\n section.dataset[toCamelCase(key)] = meta[key];\n }\n });\n if (sectionMeta.parentElement) sectionMeta.parentElement.remove();\n }\n }\n\n private adjustMarkup(section: HTMLDivElement) {\n const wrappers: HTMLDivElement[] = [];\n let defaultContent = false;\n [...section.children].forEach(e => {\n if (e.tagName === \"DIV\" || !defaultContent) {\n const wrapper = document.createElement(\"div\");\n wrappers.push(wrapper);\n defaultContent = e.tagName !== \"DIV\";\n\n if (defaultContent) {\n wrapper.classList.add(\"default-content-wrapper\");\n }\n }\n wrappers[wrappers.length - 1].append(e);\n });\n\n wrappers.forEach(wrapper => section.append(wrapper));\n this.decorateImages();\n section.classList.add(\"section\");\n section.dataset.sectionStatus = \"initialized\";\n section.style.display = \"none\";\n }\n decorateImages() {\n const picture = document.querySelectorAll(\".default-content-wrapper picture\");\n picture.forEach(item => {\n const parentElement = item.parentElement;\n if (parentElement) {\n parentElement.classList.add(\"image\", \"main\");\n }\n });\n }\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\n\nexport const headerTemplate = () => {\n return html`\n \n \n
\n
\n \n
\n \n \n \n ${renderIcon(\"dva-icon-burger-24px\")}\n Menü\n \n
\n\n \n
\n \n
\n
\n `;\n};\n","import { html } from \"lit-html\";\n\nexport type DvaLinkTemplateArgs = {\n target: string;\n cssClasses?: string;\n newWindow?: boolean;\n label?: string;\n iconID?: string;\n shouldRender?: boolean;\n};\n\nconst renderLabel = (args: DvaLinkTemplateArgs) => {\n if (args.label === undefined) return \"\";\n\n return html` ${args.label} `;\n};\n\nconst renderIcon = (args: DvaLinkTemplateArgs) => {\n if (args.iconID === undefined) return \"\";\n\n return html` `;\n};\n\nexport const dvaLinkTemplate = (args: DvaLinkTemplateArgs) => {\n if (args.shouldRender === false) return \"\";\n return html`\n \n ${renderLabel(args)} ${renderIcon(args)}\n \n `;\n};\n","import { renderLazyImage } from \"Components/dva-e-lazy-image/dva-e-lazy-image.template\";\nimport { html } from \"lit-html\";\n\nexport const renderFooterAwardsTemplate = () => {\n return html`\n \n \n `;\n};\n","import { html } from \"lit-html\";\nimport { renderIcon } from \"Components/icon/dva-e-icon.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\nimport { IconName } from \"../../icons.types\";\n\nexport const renderFooterSocialLinksTemplate = () => {\n return html`\n \n\n \n `;\n};\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\n\nexport const renderFooterNavigationTemplate = () => {\n return html` \n ${data.navigationSections.map(section => {\n return html`
\n \n
\n
\n \n
\n
\n
`;\n })}\n
`;\n};\n","import { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport { renderFooterAwardsTemplate } from \"./dvag-m-n02-footer__awards.template\";\nimport { renderFooterSocialLinksTemplate } from \"./dvag-m-n02-footer__social-links.template\";\nimport { renderFooterNavigationTemplate } from \"./dvag-m-n02-footer__navigation.template\";\n\nexport const renderFooter = (borderTop = false) => {\n return html`\n \n
\n
\n
\n
${renderFooterNavigationTemplate()}
\n
\n
\n \n
${renderFooterAwardsTemplate()}
\n
${renderFooterSocialLinksTemplate()}
\n
\n
\n \n
\n `;\n};\n","/**\n * Retrieves the content of a specified metadata tag from the document head.\n *\n * @param {string} value - The name or property attribute value of the metadata tag.\n * @param {Document} [doc=document] - The document to search for the metadata tag (default is the current document).\n * @returns {string} - The content of the metadata tag, if found; otherwise, an empty string.\n *\n * @example\n * // Example 1:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('description');\n * console.log(metaContent);\n * // Output: 'This is a sample description.'\n *\n * @example\n * // Example 2:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('og:title', document);\n * console.log(metaContent);\n * // Output: 'Open Graph Title'\n */\nexport function getMetadata(value: string, doc: Document = document): string {\n const attr: \"property\" | \"name\" = value && value.includes(\":\") ? \"property\" : \"name\";\n const metaTags: HTMLMetaElement[] =\n ([...doc.head.querySelectorAll(`meta[${attr}=\"${value}\"]`)] as HTMLMetaElement[]) || [];\n const meta: string = metaTags.map((metaElement: HTMLMetaElement) => metaElement.content).join(\", \");\n return meta.length ? meta : \"\";\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { getMetadata } from \"Utils/getMetadata\";\nimport { nothing } from \"lit\";\nimport { html } from \"lit-html\";\n\nexport const renderBreadcrumpNavigationTemplate = () => {\n if (getMetadata(\"breadcrumb\") !== \"true\") return nothing;\n return html`\n
\n
\n
\n \n
\n
\n
\n `;\n};\n","/**\n * Verifies if the Sidekick Library Plugin is in use by checking if the page is running in an iframe with srcdoc\n * and if the main element has the sidekick-library class.\n * @returns {boolean} Wether the Sidekick Library Plugin is in use.\n */\nexport const isSidekickLibraryActive = (): boolean => {\n const main = document.querySelector(\"#main\");\n if (!main) return false;\n return window.location.href === \"about:srcdoc\" && main.classList.contains(\"sidekick-library\");\n};\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Adds CSS classes to an HTML element.\n *\n * @param {HTMLElement} element - The HTML element to which classes will be added.\n * @param {string} classes - A string containing CSS classes separated by commas.\n *\n * @example\n * const element = document.getElementById('myElement');\n * const classesToAdd = 'class1, class2, class3';\n * addClasses(element, classesToAdd);\n */\nexport const addClasses = (element: HTMLElement, classes: string): void => {\n classes.split(\",\").forEach((cssClass: string): void => {\n element.classList.add(toClassName(cssClass.trim()));\n });\n};\n","export interface Config {\n mainTsPath: string;\n mainScssPath: string;\n iconsDirPath: string;\n iconsTypesPath: string;\n fontsScssPath?: string;\n lazyStylesScssPath?: string;\n sidekickLibraryStylesScssPath?: string;\n}\n\nexport const config: Config = {\n mainTsPath: 'src/main.ts',\n mainScssPath: 'src/styles/index.scss',\n iconsDirPath: './public/icons',\n iconsTypesPath: './src/icons.types.ts',\n fontsScssPath: 'src/styles/fonts.scss',\n lazyStylesScssPath: 'src/styles/lazy-styles.scss',\n sidekickLibraryStylesScssPath: 'src/styles/sidekick-library-styles.scss',\n};\n","import { isSidekickLibraryActive } from \"./isSidekickLibraryActive\";\n\n/**\n * Returns the true origin of the current page in the browser.\n * If the page is running in an iframe with srcdoc, the query param is returned.\n * @returns {String} The query param of the current page or the query param of the block running in the library\n *\n * @example\n * const searchParams = new URLSearchParams(getLocation().search);\n *\n * @remarks\n * Needs to be used when the Sidekick Library Plugin is in use.\n */\nexport function getLocation(): Location {\n return isSidekickLibraryActive() ? window.parent.location : window.location;\n}\n","import { html, render } from \"lit-html\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\nimport { headerTemplate } from \"Components/dvag-m-n01-header/dvag-m-n01-header.template.ts\";\nimport { renderFooter } from \"Components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts\";\nimport { renderBreadcrumpNavigationTemplate } from \"Components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts\";\n\nimport { isSidekickLibraryActive } from \"../sidekickHelpers/isSidekickLibraryActive\";\nimport { addClasses } from \"../utils/addClasses\";\nimport { getMetadata } from \"../utils/getMetadata\";\nimport { BlockService } from \"./block.service\";\nimport { SectionService } from \"./section.service\";\nimport { config } from \"../../config.ts\";\nimport { getLocation } from \"../sidekickHelpers/getLocation.ts\";\n\ntype BlockMapping = {\n name: string;\n element: HTMLDivElement;\n};\n\ninterface LcpCandidate extends HTMLElement {\n complete: boolean;\n}\n\nclass Status {\n static unloaded = \"unloaded\";\n static loading = \"loading\";\n static loaded = \"loaded\";\n static error = \"error\";\n}\n\nexport class MainService {\n private lcpBlocks = [\"article-stage\", \"article-header\", \"article-overview\", \"vb-stage\"];\n\n constructor(private sectionService: SectionService, private blockService: BlockService) {}\n\n init = async () => {\n this.setup();\n await this.loadEager();\n await this.loadLazy();\n };\n\n /**\n * Setup block utils.\n */\n private setup() {\n window.hlx = window.hlx || {};\n window.hlx.RUM_MASK_URL = \"full\";\n window.hlx.codeBasePath = \"\";\n window.hlx.lighthouse = new URLSearchParams(getLocation().search).get(\"lighthouse\") === \"on\";\n\n const scriptEl = document.querySelector('script[src$=\"/scripts/scripts.js\"]') as HTMLScriptElement;\n if (scriptEl) {\n try {\n [window.hlx.codeBasePath] = new URL(scriptEl.src).pathname.split(\"/scripts/scripts.js\");\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n }\n }\n\n decorateDefaultContent(main: HTMLElement) {\n const defaultContentWrappers = main.querySelectorAll(\".default-content-wrapper\");\n if (!defaultContentWrappers) return;\n defaultContentWrappers.forEach((wrapper: HTMLElement) => {\n const template = html`\n
\n
\n
\n
\n ${unsafeHTML(wrapper.innerHTML)}\n
\n
\n
\n
\n `;\n wrapper.innerHTML = \"\";\n render(template, wrapper);\n });\n }\n\n private loadEager = async () => {\n document.documentElement.lang = \"en\";\n this.decorateTemplateAndTheme();\n const main = document.querySelector(\"main\");\n if (main) {\n this.sectionService.init(main);\n\n this.blockService.decorateBlocks(main);\n this.decorateDefaultContent(main);\n this.renderLayout(main);\n\n setTimeout(() => {\n document.body.classList.add(\"show\");\n }, 100);\n\n await this.waitForLCP();\n\n try {\n /* if desktop (proxy for fast connection) or fonts already loaded, load fonts.css */\n if (window.innerWidth >= 900 || sessionStorage.getItem(\"fonts-loaded\")) {\n await this.loadFonts();\n }\n } catch (e) {\n // do nothing\n }\n }\n };\n\n private bodyTemplate(children: string) {\n return html`
\n ${headerTemplate()} ${renderBreadcrumpNavigationTemplate()} ${unsafeHTML(children)} ${renderFooter()}\n
`;\n }\n\n private renderLayout(main: HTMLElement) {\n const children = main.innerHTML;\n const edsHeader = document.querySelector(\"header\");\n const edsFooter = document.querySelector(\"footer\");\n const edsMain = main;\n const body = document.querySelector(\"body\");\n if (body) {\n render(this.bodyTemplate(children), body);\n edsFooter?.remove();\n edsHeader?.remove();\n edsMain.remove();\n }\n }\n\n private loadLazy = async () => {\n const { lazyStylesScssPath, sidekickLibraryStylesScssPath, fontsScssPath } = config;\n try {\n if (lazyStylesScssPath) await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`);\n if (sidekickLibraryStylesScssPath && isSidekickLibraryActive()) {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`);\n }\n if (fontsScssPath) await this.loadFonts();\n await this.loadCSS(\n `${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,\n `${window.hlx.codeBasePath}/dist/styles/styles.css`,\n );\n await this.loadBlocks();\n } catch (error) {\n console.error(\"Load lazy error: \", error);\n try {\n await this.loadBlocks();\n } catch (err) {\n console.error(\"Load blocks error: \", err);\n }\n }\n };\n\n private decorateTemplateAndTheme() {\n const template = getMetadata(\"template\");\n if (template) addClasses(document.body, template);\n const theme = getMetadata(\"theme\");\n if (theme) addClasses(document.body, theme);\n }\n\n /**\n * Loads Blocks\n * by getting all sections and load every block in every section\n * and shows every section that is finished loading.\n */\n private loadBlocks = async () => {\n const sections = [...document.querySelectorAll(\".section\")];\n const SectionsPromises = sections.map(section => this.loadBlock(section));\n\n await Promise.all(SectionsPromises);\n };\n\n private collectBlocks(section: HTMLElement): BlockMapping[] {\n const blockMap: BlockMapping[] = [];\n const blocksElements = section.querySelectorAll(\"[data-block-name]\");\n\n blocksElements.forEach((block: HTMLDivElement) => {\n blockMap.push({\n name: block.dataset[\"blockName\"] as string,\n element: block,\n });\n });\n\n return blockMap;\n }\n\n private async loadBlockModules(block: BlockMapping) {\n const status = block.element.dataset.blockStatus ?? Status.unloaded;\n\n if (status === Status.unloaded) {\n block.element.dataset.blockStatus = Status.loading;\n\n try {\n const blockModule = await import(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.js`);\n\n if (blockModule.default) {\n await blockModule.default(block.element);\n }\n\n block.element.dataset.blockStatus = Status.loaded;\n } catch (error) {\n block.element.dataset.blockStatus = Status.error;\n console.error(\"An error occurred during module import:\", error);\n }\n }\n }\n\n async loadBlockStyles(block: BlockMapping) {\n try {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.css`);\n } catch (error) {\n console.error(`problem with block '${block.name}' loading styles`);\n }\n }\n\n private showSection(section: HTMLElement) {\n section.style.removeProperty(\"display\");\n }\n\n private async loadFonts() {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);\n try {\n if (!getLocation().hostname.includes(\"localhost\")) sessionStorage.setItem(\"fonts-loaded\", \"true\");\n } catch (e) {\n // do nothing\n }\n }\n\n private async loadCSS(href: string, insertBefore?: string) {\n return new Promise((resolve, reject) => {\n if (!document.querySelector(`head > link[href=\"${href}\"]`)) {\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = href;\n link.onload = resolve;\n link.onerror = reject;\n if (insertBefore !== undefined) {\n const before = document.querySelector(`head > link[href=\"${insertBefore}\"]`);\n if (before) before.before(link);\n } else {\n document.head.append(link);\n }\n } else {\n resolve(true);\n }\n });\n }\n\n private async waitForLCP() {\n /* Js Chunks should be loaded\n Old logic only looks after the first block\n New logic looks in the first section after lcp candidates,\n since we show ech section depending on if its blocks and modules are loaded */\n const firstSection: HTMLElement | null = document.querySelector(\".section\");\n\n if (firstSection) {\n const blocks = this.collectBlocks(firstSection);\n const blockPromises = blocks.map(async block => {\n const hasLCPBlock = this.lcpBlocks.includes(block.name);\n if (hasLCPBlock) await Promise.all([this.loadBlockModules(block), this.loadBlockStyles(block)]);\n });\n\n await Promise.all(blockPromises);\n this.showSection(firstSection);\n }\n\n // @ts-ignore\n document.body.style.display = null;\n const lcpCandidate = document.querySelector(\"main img\");\n\n await new Promise(resolve => {\n if (lcpCandidate && !lcpCandidate.complete) {\n lcpCandidate.setAttribute(\"loading\", \"eager\");\n lcpCandidate.setAttribute(\"fetchpriority\", \"high\");\n lcpCandidate.addEventListener(\"load\", () => resolve());\n lcpCandidate.addEventListener(\"error\", () => resolve());\n } else {\n resolve();\n }\n });\n }\n\n private async loadBlock(section: HTMLElement) {\n const sectionsBlocks: BlockMapping[] = this.collectBlocks(section);\n\n if (!sectionsBlocks.length) {\n this.showSection(section);\n return;\n }\n\n const loadingPromises: Promise[] = [];\n\n for (const block of sectionsBlocks) {\n loadingPromises.push(this.loadBlockModules(block), this.loadBlockStyles(block));\n }\n\n await Promise.all(loadingPromises);\n this.showSection(section);\n }\n}\n","import \"Components/header.ts\";\nimport \"Components/icon/dva-e-icon.ts\";\nimport \"Components/dva-e-lazy-image/dva-e-lazy-image.ts\";\nimport \"Services/fetch.service.ts\";\nimport \"Components/dvag-m-c11-accordion/dvag-m-c11-accordion.ts\";\nimport { ConsentManagementService } from \"Services/ConsentManagementService.ts\";\n\nimport { BlockService } from \"./services/block.service.ts\";\nimport { SectionService } from \"./services/section.service.ts\";\nimport { MainService } from \"./services/main.service.ts\";\n\n(async function () {\n // preloadLcpImageCandidate();\n const blockService = new BlockService();\n const sectionService = new SectionService(blockService);\n const main = new MainService(sectionService, blockService);\n await main.init();\n})();\n\ndeclare global {\n interface Window {\n hlx: {\n RUM_MASK_URL: string;\n codeBasePath: string;\n lighthouse: boolean;\n };\n Granite: any;\n _dvaConsentManagementService: ConsentManagementService;\n }\n}\n"],"file":"main/main.js"} \ No newline at end of file +{"version":3,"mappings":"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","names":["r","t","replaceBySpecifier","input","specifier","htmlTag","part","index","HeaderComponent","LitElement","_changedProperties","response","FetchService","error","leftCol","rightCol","logoText","logoTextHTML","unsafeHTML","html","item","renderIcon","__decorateClass","state","customElement","toClassName","name","BlockService","block","config","row","cols","col","value","as","a","imgs","img","ps","p","main","shortBlockName","blockWrapper","section","toCamelCase","g","SectionService","blockService","container","sectionMeta","meta","key","style","wrappers","defaultContent","e","wrapper","parentElement","headerTemplate","renderLabel","args","dvaLinkTemplate","renderFooterAwardsTemplate","renderLazyImage","renderFooterSocialLinksTemplate","data","socialLink","renderFooterNavigationTemplate","renderFooter","borderTop","getMetadata","doc","attr","metaElement","renderBreadcrumpNavigationTemplate","nothing","isSidekickLibraryActive","addClasses","element","classes","cssClass","getLocation","_Status","Status","MainService","sectionService","lazyStylesScssPath","sidekickLibraryStylesScssPath","fontsScssPath","err","SectionsPromises","scriptEl","defaultContentWrappers","template","render","children","edsHeader","edsFooter","edsMain","body","theme","blockMap","blockModule","__vitePreload","href","insertBefore","resolve","reject","link","before","firstSection","blockPromises","lcpCandidate","sectionsBlocks","loadingPromises"],"sources":["../../node_modules/@lit/reactive-element/decorators/state.js","../../src/utils/replaceBySpecifier.ts","../../src/components/header.ts","../../src/utils/toClassName.ts","../../src/services/block.service.ts","../../src/utils/toCamelCase.ts","../../src/services/section.service.ts","../../src/components/dvag-m-n01-header/dvag-m-n01-header.template.ts","../../src/components/dva-e-link/dva-e-link.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__awards.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__social-links.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__navigation.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts","../../src/utils/getMetadata.ts","../../src/components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts","../../src/sidekickHelpers/isSidekickLibraryActive.ts","../../src/utils/addClasses.ts","../../config.ts","../../src/sidekickHelpers/getLocation.ts","../../src/services/main.service.ts","../../src/main.ts"],"sourcesContent":["import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * Represents the structure of an object used to specify replacements in a string.\n *\n * @interface ReplaceBySpecifier\n * @property {string} input - The input string where replacements will be made.\n * @property {string} specifier - The specifier string to search for in the input.\n * @property {string} htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n */\ninterface ReplaceBySpecifier {\n input: string;\n specifier: string;\n htmlTag: string;\n}\n\n/**\n * Replaces occurrences of a specified specifier in a string with an HTML tag.\n *\n * @param {ReplaceBySpecifier} param - An object containing input string, specifier, and HTML tag.\n * @param {string} param.input - The input string where replacements will be made.\n * @param {string} param.specifier - The specifier string to search for in the input.\n * @param {string} param.htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n * @returns {string} - The modified string with replacements.\n *\n @example\n * // Example 1:\n * const result1 = replaceBySpecifier({\n * input: 'This is a test string with some test keywords.',\n * specifier: 'test',\n * htmlTag: 'strong'\n * });\n * console.log(result1);\n * // Output: 'This is a string with some keywords.'\n *\n * // Example 2:\n * const result2 = replaceBySpecifier({\n * input: 'Hello, world!',\n * specifier: ',',\n * htmlTag: 'span'\n * });\n * console.log(result2);\n * // Output: 'Hello world!'\n */\nexport function replaceBySpecifier({ input, specifier, htmlTag }: ReplaceBySpecifier): string {\n return input\n .split(specifier)\n .map((part: string, index: number): string => (index % 2 === 1 ? `<${htmlTag}>${part}` : part))\n .join(\"\");\n}\n","import { html, LitElement, PropertyValueMap } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\n\nimport { replaceBySpecifier } from \"../utils/replaceBySpecifier.ts\";\nimport FetchService from \"../services/fetch.service.ts\";\nimport { renderIcon } from \"./icon/dva-e-icon.template.ts\";\nimport { IconName } from \"../icons.types.ts\";\n\nexport interface HeaderResponseData {\n leftCol: LeftCol;\n rightCol: RightCol;\n}\n\nexport interface LeftCol {\n data: LeftColData[];\n}\n\nexport interface LeftColData {\n logoText: string;\n logoLink: string;\n}\n\nexport interface RightCol {\n data: RightColData[];\n}\n\nexport interface RightColData {\n socialIcon: IconName;\n socialLabel: string;\n socialLink: string;\n}\n\ninterface HeaderTemplateData {\n leftCol: LeftColData;\n rightCol: RightColData[];\n}\n\n@customElement(\"header-component\")\nexport class HeaderComponent extends LitElement {\n @state()\n headerData: HeaderTemplateData;\n\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n protected async firstUpdated(_changedProperties: PropertyValueMap | Map) {\n await this.fetchHeaderData();\n }\n\n async fetchHeaderData() {\n try {\n const response = await FetchService.fetchJson(\"header.json\", {\n cacheOptions: { cacheType: \"runtime\" },\n });\n this.headerData = { leftCol: response.leftCol.data[0], rightCol: response.rightCol.data };\n } catch (error) {\n console.error(\"HeaderComponent: \", error);\n }\n }\n\n render() {\n if (!this.headerData) return;\n const { leftCol, rightCol } = this.headerData;\n const logoText = replaceBySpecifier({ input: leftCol.logoText, htmlTag: \"strong\", specifier: \":::\" });\n const logoTextHTML = unsafeHTML(logoText);\n return html`\n ${logoTextHTML}\n \n `;\n }\n}\n","/**\n * Converts a string into a valid CSS class name.\n *\n * @param {string} name - The string to convert into a CSS class name.\n * @returns {string} The converted CSS class name.\n *\n * @example\n * // Example usage:\n * const inputString = 'Hello, World!';\n * const cssClassName = toClassName(inputString);\n * console.log(cssClassName); // Output: 'hello-world'\n */\nexport function toClassName(name: string): string {\n return name\n .toLowerCase()\n .replace(/[^0-9a-z]/gi, \"-\")\n .replace(/-+/g, \"-\")\n .replace(/^-|-$/g, \"\");\n}\n","import { toClassName } from \"../utils/toClassName\";\n\nexport class BlockService {\n /**\n * Extracts the config from a block.\n * @param {Element} block The block element\n * @returns {object} The block config\n */\n readBlockConfig(block: Element): Record {\n const config: Record = {};\n block.querySelectorAll(\":scope > div\").forEach(row => {\n if (row.children) {\n const cols = [...row.children];\n if (cols[1]) {\n const col = cols[1];\n const name = toClassName(cols[0].textContent ?? \"\");\n let value: any = \"\";\n if (col.querySelector(\"a\")) {\n const as = [...col.querySelectorAll(\"a\")];\n if (as.length === 1) {\n value = as[0].href;\n } else {\n value = as.map(a => a.href);\n }\n } else if (col.querySelector(\"img\")) {\n const imgs = [...col.querySelectorAll(\"img\")];\n if (imgs.length === 1) {\n value = imgs[0].src;\n } else {\n value = imgs.map(img => img.src);\n }\n } else if (col.querySelector(\"p\")) {\n const ps = [...col.querySelectorAll(\"p\")];\n if (ps.length === 1) {\n value = ps[0].textContent;\n } else {\n value = ps.map(p => p.textContent);\n }\n } else value = row.children[1].textContent;\n config[name] = value;\n }\n }\n });\n return config;\n }\n\n /**\n * Decorates all blocks in a container element.\n * @param {Element} main The container element\n */\n decorateBlocks(main: HTMLElement) {\n main.querySelectorAll(\"div.section > div > div\").forEach(this.decorateBlock);\n }\n\n /**\n * Decorates a block.\n * @param {Element} block The block element\n */\n private decorateBlock(block: HTMLElement) {\n const shortBlockName = block.classList[0];\n if (shortBlockName) {\n block.classList.add(\"block\");\n block.dataset.blockName = shortBlockName;\n const blockWrapper = block.parentElement;\n blockWrapper?.classList.add(`${shortBlockName}-wrapper`);\n const section = block.closest(\".section\");\n if (section) section.classList.add(`${shortBlockName}-container`);\n }\n }\n}\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Sanitizes a string for use as a JavaScript property name.\n *\n * @param {string} name - The unsanitized string.\n * @returns {string} - The camelCased name.\n *\n * @example\n * // Example usage:\n * const unsanitizedString = 'background-color';\n * const camelCasedName = toCamelCase(unsanitizedString);\n * console.log(camelCasedName); // Output: 'backgroundColor'\n */\nexport function toCamelCase(name: string): string {\n return toClassName(name).replace(/-([a-z])/g, (g: string) => g[1].toUpperCase());\n}\n","import { toCamelCase } from \"../utils/toCamelCase\";\nimport { toClassName } from \"../utils/toClassName\";\nimport { BlockService } from \"./block.service\";\n\nexport class SectionService {\n constructor(private blockService: BlockService) {}\n\n init(container: HTMLElement) {\n this.transformSection(container);\n }\n\n /**\n * Decorates all sections in a container element.\n * @param {Element} main The container element\n */\n private transformSection(main: HTMLElement) {\n main.querySelectorAll(\":scope > div\").forEach(section => {\n this.adjustMarkup(section);\n this.processSectionMetaData(section);\n });\n }\n\n private processSectionMetaData(section: HTMLElement) {\n // Process section metadata\n const sectionMeta = section.querySelector(\"div.section-metadata\");\n if (sectionMeta) {\n const meta = this.blockService.readBlockConfig(sectionMeta);\n Object.keys(meta).forEach(key => {\n if (key === \"style\") {\n const styles = meta.style\n .split(\",\")\n .filter((style: string) => style)\n .map((style: string) => toClassName(style.trim()));\n styles.forEach((style: string) => section.classList.add(style));\n } else {\n section.dataset[toCamelCase(key)] = meta[key];\n }\n });\n if (sectionMeta.parentElement) sectionMeta.parentElement.remove();\n }\n }\n\n private adjustMarkup(section: HTMLDivElement) {\n const wrappers: HTMLDivElement[] = [];\n let defaultContent = false;\n [...section.children].forEach(e => {\n if (e.tagName === \"DIV\" || !defaultContent) {\n const wrapper = document.createElement(\"div\");\n wrappers.push(wrapper);\n defaultContent = e.tagName !== \"DIV\";\n\n if (defaultContent) {\n wrapper.classList.add(\"default-content-wrapper\");\n }\n }\n wrappers[wrappers.length - 1].append(e);\n });\n\n wrappers.forEach(wrapper => section.append(wrapper));\n this.decorateImages();\n section.classList.add(\"section\");\n section.dataset.sectionStatus = \"initialized\";\n section.style.display = \"none\";\n }\n decorateImages() {\n const picture = document.querySelectorAll(\".default-content-wrapper picture\");\n picture.forEach(item => {\n const parentElement = item.parentElement;\n if (parentElement) {\n parentElement.classList.add(\"image\", \"main\");\n }\n });\n }\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\n\nexport const headerTemplate = () => {\n return html`\n \n \n
\n
\n \n
\n \n \n \n ${renderIcon(\"dva-icon-burger-24px\")}\n Menü\n \n
\n\n \n
\n \n
\n
\n `;\n};\n","import { html } from \"lit-html\";\n\nexport type DvaLinkTemplateArgs = {\n target: string;\n cssClasses?: string;\n newWindow?: boolean;\n label?: string;\n iconID?: string;\n shouldRender?: boolean;\n};\n\nconst renderLabel = (args: DvaLinkTemplateArgs) => {\n if (args.label === undefined) return \"\";\n\n return html` ${args.label} `;\n};\n\nconst renderIcon = (args: DvaLinkTemplateArgs) => {\n if (args.iconID === undefined) return \"\";\n\n return html` `;\n};\n\nexport const dvaLinkTemplate = (args: DvaLinkTemplateArgs) => {\n if (args.shouldRender === false) return \"\";\n return html`\n \n ${renderLabel(args)} ${renderIcon(args)}\n \n `;\n};\n","import { renderLazyImage } from \"Components/dva-e-lazy-image/dva-e-lazy-image.template\";\nimport { html } from \"lit-html\";\n\nexport const renderFooterAwardsTemplate = () => {\n return html`\n \n \n `;\n};\n","import { html } from \"lit-html\";\nimport { renderIcon } from \"Components/icon/dva-e-icon.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\nimport { IconName } from \"../../icons.types\";\n\nexport const renderFooterSocialLinksTemplate = () => {\n return html`\n \n\n \n `;\n};\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\n\nexport const renderFooterNavigationTemplate = () => {\n return html` \n ${data.navigationSections.map(section => {\n return html`
\n \n
\n
\n \n
\n
\n
`;\n })}\n
`;\n};\n","import { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport { renderFooterAwardsTemplate } from \"./dvag-m-n02-footer__awards.template\";\nimport { renderFooterSocialLinksTemplate } from \"./dvag-m-n02-footer__social-links.template\";\nimport { renderFooterNavigationTemplate } from \"./dvag-m-n02-footer__navigation.template\";\n\nexport const renderFooter = (borderTop = false) => {\n return html`\n \n
\n
\n
\n
${renderFooterNavigationTemplate()}
\n
\n
\n \n
${renderFooterAwardsTemplate()}
\n
${renderFooterSocialLinksTemplate()}
\n
\n
\n \n
\n `;\n};\n","/**\n * Retrieves the content of a specified metadata tag from the document head.\n *\n * @param {string} value - The name or property attribute value of the metadata tag.\n * @param {Document} [doc=document] - The document to search for the metadata tag (default is the current document).\n * @returns {string} - The content of the metadata tag, if found; otherwise, an empty string.\n *\n * @example\n * // Example 1:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('description');\n * console.log(metaContent);\n * // Output: 'This is a sample description.'\n *\n * @example\n * // Example 2:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('og:title', document);\n * console.log(metaContent);\n * // Output: 'Open Graph Title'\n */\nexport function getMetadata(value: string, doc: Document = document): string {\n const attr: \"property\" | \"name\" = value && value.includes(\":\") ? \"property\" : \"name\";\n const metaTags: HTMLMetaElement[] =\n ([...doc.head.querySelectorAll(`meta[${attr}=\"${value}\"]`)] as HTMLMetaElement[]) || [];\n const meta: string = metaTags.map((metaElement: HTMLMetaElement) => metaElement.content).join(\", \");\n return meta.length ? meta : \"\";\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { getMetadata } from \"Utils/getMetadata\";\nimport { nothing } from \"lit\";\nimport { html } from \"lit-html\";\n\nexport const renderBreadcrumpNavigationTemplate = () => {\n if (getMetadata(\"breadcrumb\") !== \"true\") return nothing;\n return html`\n
\n
\n
\n \n
\n
\n
\n `;\n};\n","/**\n * Verifies if the Sidekick Library Plugin is in use by checking if the page is running in an iframe with srcdoc\n * and if the main element has the sidekick-library class.\n * @returns {boolean} Wether the Sidekick Library Plugin is in use.\n */\nexport const isSidekickLibraryActive = (): boolean => {\n const main = document.querySelector(\"#main\");\n if (!main) return false;\n return window.location.href === \"about:srcdoc\" && main.classList.contains(\"sidekick-library\");\n};\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Adds CSS classes to an HTML element.\n *\n * @param {HTMLElement} element - The HTML element to which classes will be added.\n * @param {string} classes - A string containing CSS classes separated by commas.\n *\n * @example\n * const element = document.getElementById('myElement');\n * const classesToAdd = 'class1, class2, class3';\n * addClasses(element, classesToAdd);\n */\nexport const addClasses = (element: HTMLElement, classes: string): void => {\n classes.split(\",\").forEach((cssClass: string): void => {\n element.classList.add(toClassName(cssClass.trim()));\n });\n};\n","export interface Config {\n mainTsPath: string;\n mainScssPath: string;\n iconsDirPath: string;\n iconsTypesPath: string;\n fontsScssPath?: string;\n lazyStylesScssPath?: string;\n sidekickLibraryStylesScssPath?: string;\n}\n\nexport const config: Config = {\n mainTsPath: 'src/main.ts',\n mainScssPath: 'src/styles/index.scss',\n iconsDirPath: './public/icons',\n iconsTypesPath: './src/icons.types.ts',\n fontsScssPath: 'src/styles/fonts.scss',\n lazyStylesScssPath: 'src/styles/lazy-styles.scss',\n sidekickLibraryStylesScssPath: 'src/styles/sidekick-library-styles.scss',\n};\n","import { isSidekickLibraryActive } from \"./isSidekickLibraryActive\";\n\n/**\n * Returns the true origin of the current page in the browser.\n * If the page is running in an iframe with srcdoc, the query param is returned.\n * @returns {String} The query param of the current page or the query param of the block running in the library\n *\n * @example\n * const searchParams = new URLSearchParams(getLocation().search);\n *\n * @remarks\n * Needs to be used when the Sidekick Library Plugin is in use.\n */\nexport function getLocation(): Location {\n return isSidekickLibraryActive() ? window.parent.location : window.location;\n}\n","import { html, render } from \"lit-html\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\nimport { headerTemplate } from \"Components/dvag-m-n01-header/dvag-m-n01-header.template.ts\";\nimport { renderFooter } from \"Components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts\";\nimport { renderBreadcrumpNavigationTemplate } from \"Components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts\";\n\nimport { isSidekickLibraryActive } from \"../sidekickHelpers/isSidekickLibraryActive\";\nimport { addClasses } from \"../utils/addClasses\";\nimport { getMetadata } from \"../utils/getMetadata\";\nimport { BlockService } from \"./block.service\";\nimport { SectionService } from \"./section.service\";\nimport { config } from \"../../config.ts\";\nimport { getLocation } from \"../sidekickHelpers/getLocation.ts\";\n\ntype BlockMapping = {\n name: string;\n element: HTMLDivElement;\n};\n\ninterface LcpCandidate extends HTMLElement {\n complete: boolean;\n}\n\nclass Status {\n static unloaded = \"unloaded\";\n static loading = \"loading\";\n static loaded = \"loaded\";\n static error = \"error\";\n}\n\nexport class MainService {\n private lcpBlocks = [\"article-stage\", \"article-header\", \"article-overview\", \"vb-stage\"];\n\n constructor(private sectionService: SectionService, private blockService: BlockService) {}\n\n init = async () => {\n this.setup();\n await this.loadEager();\n await this.loadLazy();\n };\n\n /**\n * Setup block utils.\n */\n private setup() {\n window.hlx = window.hlx || {};\n window.hlx.RUM_MASK_URL = \"full\";\n window.hlx.codeBasePath = \"\";\n window.hlx.lighthouse = new URLSearchParams(getLocation().search).get(\"lighthouse\") === \"on\";\n\n const scriptEl = document.querySelector('script[src$=\"/scripts/scripts.js\"]') as HTMLScriptElement;\n if (scriptEl) {\n try {\n [window.hlx.codeBasePath] = new URL(scriptEl.src).pathname.split(\"/scripts/scripts.js\");\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n }\n }\n\n decorateDefaultContent(main: HTMLElement) {\n const defaultContentWrappers = main.querySelectorAll(\".default-content-wrapper\");\n if (!defaultContentWrappers) return;\n defaultContentWrappers.forEach((wrapper: HTMLElement) => {\n const template = html`\n
\n
\n
\n
\n ${unsafeHTML(wrapper.innerHTML)}\n
\n
\n
\n
\n `;\n wrapper.innerHTML = \"\";\n render(template, wrapper);\n });\n }\n\n private loadEager = async () => {\n document.documentElement.lang = \"en\";\n this.decorateTemplateAndTheme();\n const main = document.querySelector(\"main\");\n if (main) {\n this.sectionService.init(main);\n\n this.blockService.decorateBlocks(main);\n this.decorateDefaultContent(main);\n this.renderLayout(main);\n\n setTimeout(() => {\n document.body.classList.add(\"show\");\n }, 100);\n\n await this.waitForLCP();\n\n try {\n /* if desktop (proxy for fast connection) or fonts already loaded, load fonts.css */\n if (window.innerWidth >= 900 || sessionStorage.getItem(\"fonts-loaded\")) {\n await this.loadFonts();\n }\n } catch (e) {\n // do nothing\n }\n }\n };\n\n private bodyTemplate(children: string) {\n return html`
\n ${headerTemplate()} ${renderBreadcrumpNavigationTemplate()} ${unsafeHTML(children)} ${renderFooter()}\n
`;\n }\n\n private renderLayout(main: HTMLElement) {\n const children = main.innerHTML;\n const edsHeader = document.querySelector(\"header\");\n const edsFooter = document.querySelector(\"footer\");\n const edsMain = main;\n const body = document.querySelector(\"body\");\n if (body) {\n render(this.bodyTemplate(children), body);\n edsFooter?.remove();\n edsHeader?.remove();\n edsMain.remove();\n }\n }\n\n private loadLazy = async () => {\n const { lazyStylesScssPath, sidekickLibraryStylesScssPath, fontsScssPath } = config;\n try {\n if (lazyStylesScssPath) await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`);\n if (sidekickLibraryStylesScssPath && isSidekickLibraryActive()) {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`);\n }\n if (fontsScssPath) await this.loadFonts();\n await this.loadCSS(\n `${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,\n `${window.hlx.codeBasePath}/dist/styles/styles.css`,\n );\n await this.loadBlocks();\n } catch (error) {\n console.error(\"Load lazy error: \", error);\n try {\n await this.loadBlocks();\n } catch (err) {\n console.error(\"Load blocks error: \", err);\n }\n }\n };\n\n private decorateTemplateAndTheme() {\n const template = getMetadata(\"template\");\n if (template) addClasses(document.body, template);\n const theme = getMetadata(\"theme\");\n if (theme) addClasses(document.body, theme);\n }\n\n /**\n * Loads Blocks\n * by getting all sections and load every block in every section\n * and shows every section that is finished loading.\n */\n private loadBlocks = async () => {\n const sections = [...document.querySelectorAll(\".section\")];\n const SectionsPromises = sections.map(section => this.loadBlock(section));\n\n await Promise.all(SectionsPromises);\n };\n\n private collectBlocks(section: HTMLElement): BlockMapping[] {\n const blockMap: BlockMapping[] = [];\n const blocksElements = section.querySelectorAll(\"[data-block-name]\");\n\n blocksElements.forEach((block: HTMLDivElement) => {\n blockMap.push({\n name: block.dataset[\"blockName\"] as string,\n element: block,\n });\n });\n\n return blockMap;\n }\n\n private async loadBlockModules(block: BlockMapping) {\n const status = block.element.dataset.blockStatus ?? Status.unloaded;\n\n if (status === Status.unloaded) {\n block.element.dataset.blockStatus = Status.loading;\n\n try {\n const blockModule = await import(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.js`);\n\n if (blockModule.default) {\n await blockModule.default(block.element);\n }\n\n block.element.dataset.blockStatus = Status.loaded;\n } catch (error) {\n block.element.dataset.blockStatus = Status.error;\n console.error(\"An error occurred during module import:\", error);\n }\n }\n }\n\n async loadBlockStyles(block: BlockMapping) {\n try {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.css`);\n } catch (error) {\n console.error(`problem with block '${block.name}' loading styles`);\n }\n }\n\n private showSection(section: HTMLElement) {\n section.style.removeProperty(\"display\");\n }\n\n private async loadFonts() {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);\n try {\n if (!getLocation().hostname.includes(\"localhost\")) sessionStorage.setItem(\"fonts-loaded\", \"true\");\n } catch (e) {\n // do nothing\n }\n }\n\n private async loadCSS(href: string, insertBefore?: string) {\n return new Promise((resolve, reject) => {\n if (!document.querySelector(`head > link[href=\"${href}\"]`)) {\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = href;\n link.onload = resolve;\n link.onerror = reject;\n if (insertBefore !== undefined) {\n const before = document.querySelector(`head > link[href=\"${insertBefore}\"]`);\n if (before) before.before(link);\n } else {\n document.head.append(link);\n }\n } else {\n resolve(true);\n }\n });\n }\n\n private async waitForLCP() {\n /* Js Chunks should be loaded\n Old logic only looks after the first block\n New logic looks in the first section after lcp candidates,\n since we show ech section depending on if its blocks and modules are loaded */\n const firstSection: HTMLElement | null = document.querySelector(\".section\");\n\n if (firstSection) {\n const blocks = this.collectBlocks(firstSection);\n const blockPromises = blocks.map(async block => {\n const hasLCPBlock = this.lcpBlocks.includes(block.name);\n if (hasLCPBlock) await Promise.all([this.loadBlockModules(block), this.loadBlockStyles(block)]);\n });\n\n await Promise.all(blockPromises);\n this.showSection(firstSection);\n }\n\n // @ts-ignore\n document.body.style.display = null;\n const lcpCandidate = document.querySelector(\"main img\");\n\n await new Promise(resolve => {\n if (lcpCandidate && !lcpCandidate.complete) {\n lcpCandidate.setAttribute(\"loading\", \"eager\");\n lcpCandidate.setAttribute(\"fetchpriority\", \"high\");\n lcpCandidate.addEventListener(\"load\", () => resolve());\n lcpCandidate.addEventListener(\"error\", () => resolve());\n } else {\n resolve();\n }\n });\n }\n\n private async loadBlock(section: HTMLElement) {\n const sectionsBlocks: BlockMapping[] = this.collectBlocks(section);\n\n if (!sectionsBlocks.length) {\n this.showSection(section);\n return;\n }\n\n const loadingPromises: Promise[] = [];\n\n for (const block of sectionsBlocks) {\n loadingPromises.push(this.loadBlockModules(block), this.loadBlockStyles(block));\n }\n\n await Promise.all(loadingPromises);\n this.showSection(section);\n }\n}\n","import \"Components/header.ts\";\nimport \"Components/icon/dva-e-icon.ts\";\nimport \"Components/dva-e-lazy-image/dva-e-lazy-image.ts\";\nimport \"Services/fetch.service.ts\";\nimport \"Components/dvag-m-c11-accordion/dvag-m-c11-accordion.ts\";\nimport { ConsentManagementService } from \"Services/ConsentManagementService.ts\";\n\nimport { BlockService } from \"./services/block.service.ts\";\nimport { SectionService } from \"./services/section.service.ts\";\nimport { MainService } from \"./services/main.service.ts\";\n\n(async function () {\n // preloadLcpImageCandidate();\n const blockService = new BlockService();\n const sectionService = new SectionService(blockService);\n const main = new MainService(sectionService, blockService);\n await main.init();\n})();\n\ndeclare global {\n interface Window {\n hlx: {\n RUM_MASK_URL: string;\n codeBasePath: string;\n lighthouse: boolean;\n };\n Granite: any;\n _dvaConsentManagementService: ConsentManagementService;\n }\n}\n"],"file":"main/main.js"} \ No newline at end of file diff --git a/src/components/dvag-m-n02-footer/dvag-m-n02-footer__data.json b/src/components/dvag-m-n02-footer/dvag-m-n02-footer__data.json index 291d9c3..5175a15 100644 --- a/src/components/dvag-m-n02-footer/dvag-m-n02-footer__data.json +++ b/src/components/dvag-m-n02-footer/dvag-m-n02-footer__data.json @@ -92,118 +92,6 @@ } ] }, - { - "headline": { - "label": "Karriere", - "link": "#" - }, - "items": [ - { - "label": "Karriere als selbstständiger Finanzcoach", - "link": "#" - }, - { - "label": "Teamblog", - "link": "#" - }, - { - "label": "Karriere in der Unternehmenszentrale", - "link": "#" - } - ] - }, - { - "headline": { - "label": "Unternehmen", - "link": "#" - }, - "items": [ - { - "label": "Über uns", - "link": "#" - }, - { - "label": "Geschäftsleitung", - "link": "#" - }, - { - "label": "Markenbotschafter", - "link": "#" - }, - { - "label": "Struktur & Geschichte", - "link": "#" - }, - { - "label": "Unternehmensbericht", - "link": "#" - }, - { - "label": "Presseservice", - "link": "#" - }, - { - "label": "Standorte", - "link": "#" - }, - { - "label": "Gezielte und nachhaltige Hilfe", - "link": "#" - } - ] - }, - { - "headline": { - "label": "Beratung", - "link": "#" - }, - "items": [ - { - "label": "Unser Beratungsmodell", - "link": "#" - }, - { - "label": "Leistungen für Privatkunden", - "link": "#" - }, - { - "label": "Leistungen für Firmenkunden", - "link": "#" - }, - { - "label": "Finanztipps", - "link": "#" - }, - { - "label": "Produktpartner", - "link": "#" - }, - { - "label": "Ansprechpartner finden", - "link": "#" - }, - { - "label": "Nachhaltigkeit (EGS)", - "link": "#" - } - ] - }, - { - "headline": { - "label": "Erfahrungen & Bewertungen", - "link": "#" - }, - "items": [ - { - "label": "Kundenbewertungen", - "link": "#" - }, - { - "label": "Zertifikate & Auszeichnungen", - "link": "#" - } - ] - }, { "headline": { "label": "Karriere", diff --git a/types/src/components/dva-e-button/dva-e-button.template.d.ts b/types/src/components/dva-e-button/dva-e-button.template.d.ts index 7b3547e..8aa654b 100644 --- a/types/src/components/dva-e-button/dva-e-button.template.d.ts +++ b/types/src/components/dva-e-button/dva-e-button.template.d.ts @@ -10,4 +10,4 @@ export type DvaButtonTemplateArgs = { disabled?: boolean; onClick?: () => void; }; -export declare const dvaButtonTemplate: (args: DvaButtonTemplateArgs) => "" | import("lit-html").TemplateResult<1>; +export declare const dvaButtonTemplate: (args: DvaButtonTemplateArgs) => import("lit-html").TemplateResult<1> | ""; diff --git a/types/src/components/dva-e-link/dva-e-link.template.d.ts b/types/src/components/dva-e-link/dva-e-link.template.d.ts index 07734db..220cba3 100644 --- a/types/src/components/dva-e-link/dva-e-link.template.d.ts +++ b/types/src/components/dva-e-link/dva-e-link.template.d.ts @@ -6,4 +6,4 @@ export type DvaLinkTemplateArgs = { iconID?: string; shouldRender?: boolean; }; -export declare const dvaLinkTemplate: (args: DvaLinkTemplateArgs) => "" | import("lit-html").TemplateResult<1>; +export declare const dvaLinkTemplate: (args: DvaLinkTemplateArgs) => import("lit-html").TemplateResult<1> | ""; From 29db8675127963ccc362f178f880bc7a9f5aae93 Mon Sep 17 00:00:00 2001 From: Samuele Calamita Date: Fri, 5 Apr 2024 10:00:31 +0200 Subject: [PATCH 02/26] added article content styles --- dist/main/main.js | 4 +- dist/main/main.js.map | 2 +- dist/styles/styles.css | 2 +- .../dva-m-article-content.hbs | 78 +++++++++++++++++++ .../dva-m-article-content.md | 9 +++ .../dva-m-article-content.scss | 56 +++++++++++++ src/services/main.service.ts | 6 +- src/styles/index.scss | 2 +- 8 files changed, 153 insertions(+), 6 deletions(-) create mode 100644 src/components/dva-m-article-content/dva-m-article-content.hbs create mode 100644 src/components/dva-m-article-content/dva-m-article-content.md create mode 100644 src/components/dva-m-article-content/dva-m-article-content.scss diff --git a/dist/main/main.js b/dist/main/main.js index 4e70d82..6e77094 100644 --- a/dist/main/main.js +++ b/dist/main/main.js @@ -1,8 +1,8 @@ -import{s as C,x as r,T as P,j as y}from"../__chunks__/lit-element.XkUWx5ik.js";import{n as B,t as x}from"../__chunks__/property.0daVBkvz.js";import{o as p}from"../__chunks__/unsafe-html.tmuruS4o.js";import{f as E}from"../__chunks__/fetch.service.FjW5hVu3.js";import{r as d}from"../__chunks__/dva-e-icon.template.tppk8KWP.js";import"../__chunks__/dva-e-icon.JvN5hF7V.js";import"../__chunks__/dva-e-lazy-image.UCrOhMiV.js";import"../__chunks__/dvag-m-c11-accordion.rKKpSxDv.js";import{_ as T}from"../__chunks__/preload-helper.hlDPvxQM.js";import{r as k}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/component.module.D5fmAfIh.js";import"../__chunks__/index.module.BEmWgxQc.js";import"../__chunks__/LazyConnectService.yBR27czX.js";import"../__chunks__/eventTypes.voneREpA.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/mediaQueries.0eOxrCUs.js";import"../__chunks__/getSrcset.ehtWqR_R.js";import"../__chunks__/if-defined.JfW-uEqn.js";/** +import{s as C,x as r,T as P,j as y}from"../__chunks__/lit-element.XkUWx5ik.js";import{n as B,t as x}from"../__chunks__/property.0daVBkvz.js";import{o as g}from"../__chunks__/unsafe-html.tmuruS4o.js";import{f as E}from"../__chunks__/fetch.service.FjW5hVu3.js";import{r as d}from"../__chunks__/dva-e-icon.template.tppk8KWP.js";import"../__chunks__/dva-e-icon.JvN5hF7V.js";import"../__chunks__/dva-e-lazy-image.UCrOhMiV.js";import"../__chunks__/dvag-m-c11-accordion.rKKpSxDv.js";import{_ as T}from"../__chunks__/preload-helper.hlDPvxQM.js";import{r as k}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/component.module.D5fmAfIh.js";import"../__chunks__/index.module.BEmWgxQc.js";import"../__chunks__/LazyConnectService.yBR27czX.js";import"../__chunks__/eventTypes.voneREpA.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/mediaQueries.0eOxrCUs.js";import"../__chunks__/getSrcset.ehtWqR_R.js";import"../__chunks__/if-defined.JfW-uEqn.js";/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */function q(s){return B({...s,state:!0,attribute:!1})}function A({input:s,specifier:e,htmlTag:a}){return s.split(e).map((t,n)=>n%2===1?`<${a}>${t}`:t).join("")}var z=Object.defineProperty,D=Object.getOwnPropertyDescriptor,S=(s,e,a,t)=>{for(var n=t>1?void 0:t?D(e,a):e,i=s.length-1,o;i>=0;i--)(o=s[i])&&(n=(t?o(e,a,n):o(n))||n);return t&&n&&z(e,a,n),n};let f=class extends C{createRenderRoot(){return this}async firstUpdated(s){await this.fetchHeaderData()}async fetchHeaderData(){try{const s=await E.fetchJson("header.json",{cacheOptions:{cacheType:"runtime"}});this.headerData={leftCol:s.leftCol.data[0],rightCol:s.rightCol.data}}catch(s){console.error("HeaderComponent: ",s)}}render(){if(!this.headerData)return;const{leftCol:s,rightCol:e}=this.headerData,a=A({input:s.logoText,htmlTag:"strong",specifier:":::"}),t=p(a);return r``}};S([q()],f.prototype,"headerData",2);f=S([x("header-component")],f);function g(s){return s.toLowerCase().replace(/[^0-9a-z]/gi,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}class M{readBlockConfig(e){const a={};return e.querySelectorAll(":scope > div").forEach(t=>{if(t.children){const n=[...t.children];if(n[1]){const i=n[1],o=g(n[0].textContent??"");let c="";if(i.querySelector("a")){const l=[...i.querySelectorAll("a")];l.length===1?c=l[0].href:c=l.map(v=>v.href)}else if(i.querySelector("img")){const l=[...i.querySelectorAll("img")];l.length===1?c=l[0].src:c=l.map(v=>v.src)}else if(i.querySelector("p")){const l=[...i.querySelectorAll("p")];l.length===1?c=l[0].textContent:c=l.map(v=>v.textContent)}else c=t.children[1].textContent;a[o]=c}}}),a}decorateBlocks(e){e.querySelectorAll("div.section > div > div").forEach(this.decorateBlock)}decorateBlock(e){const a=e.classList[0];if(a){e.classList.add("block"),e.dataset.blockName=a;const t=e.parentElement;t==null||t.classList.add(`${a}-wrapper`);const n=e.closest(".section");n&&n.classList.add(`${a}-container`)}}}function I(s){return g(s).replace(/-([a-z])/g,e=>e[1].toUpperCase())}class F{constructor(e){this.blockService=e}init(e){this.transformSection(e)}transformSection(e){e.querySelectorAll(":scope > div").forEach(a=>{this.adjustMarkup(a),this.processSectionMetaData(a)})}processSectionMetaData(e){const a=e.querySelector("div.section-metadata");if(a){const t=this.blockService.readBlockConfig(a);Object.keys(t).forEach(n=>{n==="style"?t.style.split(",").filter(o=>o).map(o=>g(o.trim())).forEach(o=>e.classList.add(o)):e.dataset[I(n)]=t[n]}),a.parentElement&&a.parentElement.remove()}}adjustMarkup(e){const a=[];let t=!1;[...e.children].forEach(n=>{if(n.tagName==="DIV"||!t){const i=document.createElement("div");a.push(i),t=n.tagName!=="DIV",t&&i.classList.add("default-content-wrapper")}a[a.length-1].append(n)}),a.forEach(n=>e.append(n)),this.decorateImages(),e.classList.add("section"),e.dataset.sectionStatus="initialized",e.style.display="none"}decorateImages(){document.querySelectorAll(".default-content-wrapper picture").forEach(a=>{const t=a.parentElement;t&&t.classList.add("image","main")})}}const j=()=>r`
`,N=s=>s.label===void 0?"":r`${s.label}`,U=s=>s.iconID===void 0?"":r``,u=s=>s.shouldRender===!1?"":r`${N(s)} ${U(s)}`,H=()=>r``,R=[{headline:{label:"Unternehmen",link:"#"},items:[{label:"Über uns",link:"#"},{label:"Geschäftsleitung",link:"#"},{label:"Markenbotschafter",link:"#"},{label:"Struktur & Geschichte",link:"#"},{label:"Unternehmensbericht",link:"#"},{label:"Presseservice",link:"#"},{label:"Standorte",link:"#"},{label:"Gezielte und nachhaltige Hilfe",link:"#"}]},{headline:{label:"Beratung",link:"#"},items:[{label:"Unser Beratungsmodell",link:"#"},{label:"Leistungen für Privatkunden",link:"#"},{label:"Leistungen für Firmenkunden",link:"#"},{label:"Finanztipps",link:"#"},{label:"Produktpartner",link:"#"},{label:"Ansprechpartner finden",link:"#"},{label:"Nachhaltigkeit (EGS)",link:"#"}]},{headline:{label:"Erfahrungen & Bewertungen",link:"#"},items:[{label:"Kundenbewertungen",link:"#"},{label:"Zertifikate & Auszeichnungen",link:"#"}]},{headline:{label:"Karriere",link:"#"},items:[{label:"Karriere als selbstständiger Finanzcoach",link:"#"},{label:"Teamblog",link:"#"},{label:"Karriere in der Unternehmenszentrale",link:"#"}]}],O=[{icon:"dva-icon-instagram-24px"},{icon:"dva-icon-facebook-24px"},{icon:"dva-icon-tiktok-24px"},{icon:"dva-icon-linkedin-24px"},{icon:"dva-icon-xing-24px"},{icon:"dva-icon-youtube-24px"},{icon:"dva-icon-twitter-24px"}],$={navigationSections:R,socialLinks:O},V=()=>r``,G=()=>r`${$.navigationSections.map(s=>r`
`)}
`,K=(s=!1)=>r`
${G()}
${H()}
${V()}
`;function b(s,e=document){const a=s&&s.includes(":")?"property":"name",n=[...e.head.querySelectorAll(`meta[${a}="${s}"]`)].map(i=>i.content).join(", ");return n.length?n:""}const W=()=>b("breadcrumb")!=="true"?P:r`
`,L=()=>{const s=document.querySelector("#main");return s?window.location.href==="about:srcdoc"&&s.classList.contains("sidekick-library"):!1},_=(s,e)=>{e.split(",").forEach(a=>{s.classList.add(g(a.trim()))})},J={mainTsPath:"src/main.ts",mainScssPath:"src/styles/index.scss",iconsDirPath:"./public/icons",iconsTypesPath:"./src/icons.types.ts",fontsScssPath:"src/styles/fonts.scss",lazyStylesScssPath:"src/styles/lazy-styles.scss",sidekickLibraryStylesScssPath:"src/styles/sidekick-library-styles.scss"};function w(){return L()?window.parent.location:window.location}const h=class h{};h.unloaded="unloaded",h.loading="loading",h.loaded="loaded",h.error="error";let m=h;class Z{constructor(e,a){this.sectionService=e,this.blockService=a,this.lcpBlocks=["article-stage","article-header","article-overview","vb-stage"],this.init=async()=>{this.setup(),await this.loadEager(),await this.loadLazy()},this.loadEager=async()=>{document.documentElement.lang="en",this.decorateTemplateAndTheme();const t=document.querySelector("main");if(t){this.sectionService.init(t),this.blockService.decorateBlocks(t),this.decorateDefaultContent(t),this.renderLayout(t),setTimeout(()=>{document.body.classList.add("show")},100),await this.waitForLCP();try{(window.innerWidth>=900||sessionStorage.getItem("fonts-loaded"))&&await this.loadFonts()}catch{}}},this.loadLazy=async()=>{const{lazyStylesScssPath:t,sidekickLibraryStylesScssPath:n,fontsScssPath:i}=J;try{t&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`),n&&L()&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`),i&&await this.loadFonts(),await this.loadCSS(`${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,`${window.hlx.codeBasePath}/dist/styles/styles.css`),await this.loadBlocks()}catch(o){console.error("Load lazy error: ",o);try{await this.loadBlocks()}catch(c){console.error("Load blocks error: ",c)}}},this.loadBlocks=async()=>{const n=[...document.querySelectorAll(".section")].map(i=>this.loadBlock(i));await Promise.all(n)}}setup(){window.hlx=window.hlx||{},window.hlx.RUM_MASK_URL="full",window.hlx.codeBasePath="",window.hlx.lighthouse=new URLSearchParams(w().search).get("lighthouse")==="on";const e=document.querySelector('script[src$="/scripts/scripts.js"]');if(e)try{[window.hlx.codeBasePath]=new URL(e.src).pathname.split("/scripts/scripts.js")}catch(a){console.log(a)}}decorateDefaultContent(e){const a=e.querySelectorAll(".default-content-wrapper");a&&a.forEach(t=>{const n=r`
${p(t.innerHTML)}
`;t.innerHTML="",y(n,t)})}bodyTemplate(e){return r`
${j()} ${W()} ${p(e)} ${K()}
`}renderLayout(e){const a=e.innerHTML,t=document.querySelector("header"),n=document.querySelector("footer"),i=e,o=document.querySelector("body");o&&(y(this.bodyTemplate(a),o),n==null||n.remove(),t==null||t.remove(),i.remove())}decorateTemplateAndTheme(){const e=b("template");e&&_(document.body,e);const a=b("theme");a&&_(document.body,a)}collectBlocks(e){const a=[];return e.querySelectorAll("[data-block-name]").forEach(n=>{a.push({name:n.dataset.blockName,element:n})}),a}async loadBlockModules(e){if((e.element.dataset.blockStatus??m.unloaded)===m.unloaded){e.element.dataset.blockStatus=m.loading;try{const t=await T(()=>import(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.js`),__vite__mapDeps([]));t.default&&await t.default(e.element),e.element.dataset.blockStatus=m.loaded}catch(t){e.element.dataset.blockStatus=m.error,console.error("An error occurred during module import:",t)}}}async loadBlockStyles(e){try{await this.loadCSS(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.css`)}catch{console.error(`problem with block '${e.name}' loading styles`)}}showSection(e){e.style.removeProperty("display")}async loadFonts(){await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);try{w().hostname.includes("localhost")||sessionStorage.setItem("fonts-loaded","true")}catch{}}async loadCSS(e,a){return new Promise((t,n)=>{if(document.querySelector(`head > link[href="${e}"]`))t(!0);else{const i=document.createElement("link");if(i.rel="stylesheet",i.href=e,i.onload=t,i.onerror=n,a!==void 0){const o=document.querySelector(`head > link[href="${a}"]`);o&&o.before(i)}else document.head.append(i)}})}async waitForLCP(){const e=document.querySelector(".section");if(e){const n=this.collectBlocks(e).map(async i=>{this.lcpBlocks.includes(i.name)&&await Promise.all([this.loadBlockModules(i),this.loadBlockStyles(i)])});await Promise.all(n),this.showSection(e)}document.body.style.display=null;const a=document.querySelector("main img");await new Promise(t=>{a&&!a.complete?(a.setAttribute("loading","eager"),a.setAttribute("fetchpriority","high"),a.addEventListener("load",()=>t()),a.addEventListener("error",()=>t())):t()})}async loadBlock(e){const a=this.collectBlocks(e);if(!a.length){this.showSection(e);return}const t=[];for(const n of a)t.push(this.loadBlockModules(n),this.loadBlockStyles(n));await Promise.all(t),this.showSection(e)}}(async function(){const s=new M,e=new F(s);await new Z(e,s).init()})(); + */function q(s){return B({...s,state:!0,attribute:!1})}function A({input:s,specifier:e,htmlTag:a}){return s.split(e).map((t,n)=>n%2===1?`<${a}>${t}`:t).join("")}var z=Object.defineProperty,D=Object.getOwnPropertyDescriptor,S=(s,e,a,t)=>{for(var n=t>1?void 0:t?D(e,a):e,i=s.length-1,o;i>=0;i--)(o=s[i])&&(n=(t?o(e,a,n):o(n))||n);return t&&n&&z(e,a,n),n};let f=class extends C{createRenderRoot(){return this}async firstUpdated(s){await this.fetchHeaderData()}async fetchHeaderData(){try{const s=await E.fetchJson("header.json",{cacheOptions:{cacheType:"runtime"}});this.headerData={leftCol:s.leftCol.data[0],rightCol:s.rightCol.data}}catch(s){console.error("HeaderComponent: ",s)}}render(){if(!this.headerData)return;const{leftCol:s,rightCol:e}=this.headerData,a=A({input:s.logoText,htmlTag:"strong",specifier:":::"}),t=g(a);return r``}};S([q()],f.prototype,"headerData",2);f=S([x("header-component")],f);function p(s){return s.toLowerCase().replace(/[^0-9a-z]/gi,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}class M{readBlockConfig(e){const a={};return e.querySelectorAll(":scope > div").forEach(t=>{if(t.children){const n=[...t.children];if(n[1]){const i=n[1],o=p(n[0].textContent??"");let c="";if(i.querySelector("a")){const l=[...i.querySelectorAll("a")];l.length===1?c=l[0].href:c=l.map(v=>v.href)}else if(i.querySelector("img")){const l=[...i.querySelectorAll("img")];l.length===1?c=l[0].src:c=l.map(v=>v.src)}else if(i.querySelector("p")){const l=[...i.querySelectorAll("p")];l.length===1?c=l[0].textContent:c=l.map(v=>v.textContent)}else c=t.children[1].textContent;a[o]=c}}}),a}decorateBlocks(e){e.querySelectorAll("div.section > div > div").forEach(this.decorateBlock)}decorateBlock(e){const a=e.classList[0];if(a){e.classList.add("block"),e.dataset.blockName=a;const t=e.parentElement;t==null||t.classList.add(`${a}-wrapper`);const n=e.closest(".section");n&&n.classList.add(`${a}-container`)}}}function I(s){return p(s).replace(/-([a-z])/g,e=>e[1].toUpperCase())}class F{constructor(e){this.blockService=e}init(e){this.transformSection(e)}transformSection(e){e.querySelectorAll(":scope > div").forEach(a=>{this.adjustMarkup(a),this.processSectionMetaData(a)})}processSectionMetaData(e){const a=e.querySelector("div.section-metadata");if(a){const t=this.blockService.readBlockConfig(a);Object.keys(t).forEach(n=>{n==="style"?t.style.split(",").filter(o=>o).map(o=>p(o.trim())).forEach(o=>e.classList.add(o)):e.dataset[I(n)]=t[n]}),a.parentElement&&a.parentElement.remove()}}adjustMarkup(e){const a=[];let t=!1;[...e.children].forEach(n=>{if(n.tagName==="DIV"||!t){const i=document.createElement("div");a.push(i),t=n.tagName!=="DIV",t&&i.classList.add("default-content-wrapper")}a[a.length-1].append(n)}),a.forEach(n=>e.append(n)),this.decorateImages(),e.classList.add("section"),e.dataset.sectionStatus="initialized",e.style.display="none"}decorateImages(){document.querySelectorAll(".default-content-wrapper picture").forEach(a=>{const t=a.parentElement;t&&t.classList.add("image","main")})}}const j=()=>r`
`,N=s=>s.label===void 0?"":r`${s.label}`,U=s=>s.iconID===void 0?"":r``,u=s=>s.shouldRender===!1?"":r`${N(s)} ${U(s)}`,H=()=>r``,R=[{headline:{label:"Unternehmen",link:"#"},items:[{label:"Über uns",link:"#"},{label:"Geschäftsleitung",link:"#"},{label:"Markenbotschafter",link:"#"},{label:"Struktur & Geschichte",link:"#"},{label:"Unternehmensbericht",link:"#"},{label:"Presseservice",link:"#"},{label:"Standorte",link:"#"},{label:"Gezielte und nachhaltige Hilfe",link:"#"}]},{headline:{label:"Beratung",link:"#"},items:[{label:"Unser Beratungsmodell",link:"#"},{label:"Leistungen für Privatkunden",link:"#"},{label:"Leistungen für Firmenkunden",link:"#"},{label:"Finanztipps",link:"#"},{label:"Produktpartner",link:"#"},{label:"Ansprechpartner finden",link:"#"},{label:"Nachhaltigkeit (EGS)",link:"#"}]},{headline:{label:"Erfahrungen & Bewertungen",link:"#"},items:[{label:"Kundenbewertungen",link:"#"},{label:"Zertifikate & Auszeichnungen",link:"#"}]},{headline:{label:"Karriere",link:"#"},items:[{label:"Karriere als selbstständiger Finanzcoach",link:"#"},{label:"Teamblog",link:"#"},{label:"Karriere in der Unternehmenszentrale",link:"#"}]}],O=[{icon:"dva-icon-instagram-24px"},{icon:"dva-icon-facebook-24px"},{icon:"dva-icon-tiktok-24px"},{icon:"dva-icon-linkedin-24px"},{icon:"dva-icon-xing-24px"},{icon:"dva-icon-youtube-24px"},{icon:"dva-icon-twitter-24px"}],$={navigationSections:R,socialLinks:O},V=()=>r``,G=()=>r`${$.navigationSections.map(s=>r`
`)}
`,K=(s=!1)=>r`
${G()}
${H()}
${V()}
`;function b(s,e=document){const a=s&&s.includes(":")?"property":"name",n=[...e.head.querySelectorAll(`meta[${a}="${s}"]`)].map(i=>i.content).join(", ");return n.length?n:""}const W=()=>b("breadcrumb")!=="true"?P:r`
`,L=()=>{const s=document.querySelector("#main");return s?window.location.href==="about:srcdoc"&&s.classList.contains("sidekick-library"):!1},_=(s,e)=>{e.split(",").forEach(a=>{s.classList.add(p(a.trim()))})},J={mainTsPath:"src/main.ts",mainScssPath:"src/styles/index.scss",iconsDirPath:"./public/icons",iconsTypesPath:"./src/icons.types.ts",fontsScssPath:"src/styles/fonts.scss",lazyStylesScssPath:"src/styles/lazy-styles.scss",sidekickLibraryStylesScssPath:"src/styles/sidekick-library-styles.scss"};function w(){return L()?window.parent.location:window.location}const h=class h{};h.unloaded="unloaded",h.loading="loading",h.loaded="loaded",h.error="error";let m=h;class Z{constructor(e,a){this.sectionService=e,this.blockService=a,this.lcpBlocks=["article-stage","article-header","article-overview","vb-stage"],this.init=async()=>{this.setup(),await this.loadEager(),await this.loadLazy()},this.loadEager=async()=>{document.documentElement.lang="en",this.decorateTemplateAndTheme();const t=document.querySelector("main");if(t){this.sectionService.init(t),this.blockService.decorateBlocks(t),this.decorateDefaultContent(t),this.renderLayout(t),setTimeout(()=>{document.body.classList.add("show")},100),await this.waitForLCP();try{(window.innerWidth>=900||sessionStorage.getItem("fonts-loaded"))&&await this.loadFonts()}catch{}}},this.loadLazy=async()=>{const{lazyStylesScssPath:t,sidekickLibraryStylesScssPath:n,fontsScssPath:i}=J;try{t&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`),n&&L()&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`),i&&await this.loadFonts(),await this.loadCSS(`${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,`${window.hlx.codeBasePath}/dist/styles/styles.css`),await this.loadBlocks()}catch(o){console.error("Load lazy error: ",o);try{await this.loadBlocks()}catch(c){console.error("Load blocks error: ",c)}}},this.loadBlocks=async()=>{const n=[...document.querySelectorAll(".section")].map(i=>this.loadBlock(i));await Promise.all(n)}}setup(){window.hlx=window.hlx||{},window.hlx.RUM_MASK_URL="full",window.hlx.codeBasePath="",window.hlx.lighthouse=new URLSearchParams(w().search).get("lighthouse")==="on";const e=document.querySelector('script[src$="/scripts/scripts.js"]');if(e)try{[window.hlx.codeBasePath]=new URL(e.src).pathname.split("/scripts/scripts.js")}catch(a){console.log(a)}}decorateDefaultContent(e){const a=e.querySelectorAll(".default-content-wrapper");a&&a.forEach(t=>{const n=r`
${g(t.innerHTML)}
`;t.innerHTML="",y(n,t)})}bodyTemplate(e){return r`
${j()} ${W()} ${g(e)} ${K()}
`}renderLayout(e){const a=e.innerHTML,t=document.querySelector("header"),n=document.querySelector("footer"),i=e,o=document.querySelector("body");o&&(y(this.bodyTemplate(a),o),n==null||n.remove(),t==null||t.remove(),i.remove())}decorateTemplateAndTheme(){const e=b("template");e&&_(document.body,e);const a=b("theme");a&&_(document.body,a)}collectBlocks(e){const a=[];return e.querySelectorAll("[data-block-name]").forEach(n=>{a.push({name:n.dataset.blockName,element:n})}),a}async loadBlockModules(e){if((e.element.dataset.blockStatus??m.unloaded)===m.unloaded){e.element.dataset.blockStatus=m.loading;try{const t=await T(()=>import(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.js`),__vite__mapDeps([]));t.default&&await t.default(e.element),e.element.dataset.blockStatus=m.loaded}catch(t){e.element.dataset.blockStatus=m.error,console.error("An error occurred during module import:",t)}}}async loadBlockStyles(e){try{await this.loadCSS(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.css`)}catch{console.error(`problem with block '${e.name}' loading styles`)}}showSection(e){e.style.removeProperty("display")}async loadFonts(){await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);try{w().hostname.includes("localhost")||sessionStorage.setItem("fonts-loaded","true")}catch{}}async loadCSS(e,a){return new Promise((t,n)=>{if(document.querySelector(`head > link[href="${e}"]`))t(!0);else{const i=document.createElement("link");if(i.rel="stylesheet",i.href=e,i.onload=t,i.onerror=n,a!==void 0){const o=document.querySelector(`head > link[href="${a}"]`);o&&o.before(i)}else document.head.append(i)}})}async waitForLCP(){const e=document.querySelector(".section");if(e){const n=this.collectBlocks(e).map(async i=>{this.lcpBlocks.includes(i.name)&&await Promise.all([this.loadBlockModules(i),this.loadBlockStyles(i)])});await Promise.all(n),this.showSection(e)}document.body.style.display=null;const a=document.querySelector("main img");await new Promise(t=>{a&&!a.complete?(a.setAttribute("loading","eager"),a.setAttribute("fetchpriority","high"),a.addEventListener("load",()=>t()),a.addEventListener("error",()=>t())):t()})}async loadBlock(e){const a=this.collectBlocks(e);if(!a.length){this.showSection(e);return}const t=[];for(const n of a)t.push(this.loadBlockModules(n),this.loadBlockStyles(n));await Promise.all(t),this.showSection(e)}}(async function(){const s=new M,e=new F(s);await new Z(e,s).init()})(); function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { __vite__mapDeps.viteFileDeps = [] diff --git a/dist/main/main.js.map b/dist/main/main.js.map index 19b53b6..7454964 100644 --- a/dist/main/main.js.map +++ b/dist/main/main.js.map @@ -1 +1 @@ -{"version":3,"mappings":"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","names":["r","t","replaceBySpecifier","input","specifier","htmlTag","part","index","HeaderComponent","LitElement","_changedProperties","response","FetchService","error","leftCol","rightCol","logoText","logoTextHTML","unsafeHTML","html","item","renderIcon","__decorateClass","state","customElement","toClassName","name","BlockService","block","config","row","cols","col","value","as","a","imgs","img","ps","p","main","shortBlockName","blockWrapper","section","toCamelCase","g","SectionService","blockService","container","sectionMeta","meta","key","style","wrappers","defaultContent","e","wrapper","parentElement","headerTemplate","renderLabel","args","dvaLinkTemplate","renderFooterAwardsTemplate","renderLazyImage","renderFooterSocialLinksTemplate","data","socialLink","renderFooterNavigationTemplate","renderFooter","borderTop","getMetadata","doc","attr","metaElement","renderBreadcrumpNavigationTemplate","nothing","isSidekickLibraryActive","addClasses","element","classes","cssClass","getLocation","_Status","Status","MainService","sectionService","lazyStylesScssPath","sidekickLibraryStylesScssPath","fontsScssPath","err","SectionsPromises","scriptEl","defaultContentWrappers","template","render","children","edsHeader","edsFooter","edsMain","body","theme","blockMap","blockModule","__vitePreload","href","insertBefore","resolve","reject","link","before","firstSection","blockPromises","lcpCandidate","sectionsBlocks","loadingPromises"],"sources":["../../node_modules/@lit/reactive-element/decorators/state.js","../../src/utils/replaceBySpecifier.ts","../../src/components/header.ts","../../src/utils/toClassName.ts","../../src/services/block.service.ts","../../src/utils/toCamelCase.ts","../../src/services/section.service.ts","../../src/components/dvag-m-n01-header/dvag-m-n01-header.template.ts","../../src/components/dva-e-link/dva-e-link.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__awards.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__social-links.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__navigation.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts","../../src/utils/getMetadata.ts","../../src/components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts","../../src/sidekickHelpers/isSidekickLibraryActive.ts","../../src/utils/addClasses.ts","../../config.ts","../../src/sidekickHelpers/getLocation.ts","../../src/services/main.service.ts","../../src/main.ts"],"sourcesContent":["import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * Represents the structure of an object used to specify replacements in a string.\n *\n * @interface ReplaceBySpecifier\n * @property {string} input - The input string where replacements will be made.\n * @property {string} specifier - The specifier string to search for in the input.\n * @property {string} htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n */\ninterface ReplaceBySpecifier {\n input: string;\n specifier: string;\n htmlTag: string;\n}\n\n/**\n * Replaces occurrences of a specified specifier in a string with an HTML tag.\n *\n * @param {ReplaceBySpecifier} param - An object containing input string, specifier, and HTML tag.\n * @param {string} param.input - The input string where replacements will be made.\n * @param {string} param.specifier - The specifier string to search for in the input.\n * @param {string} param.htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n * @returns {string} - The modified string with replacements.\n *\n @example\n * // Example 1:\n * const result1 = replaceBySpecifier({\n * input: 'This is a test string with some test keywords.',\n * specifier: 'test',\n * htmlTag: 'strong'\n * });\n * console.log(result1);\n * // Output: 'This is a string with some keywords.'\n *\n * // Example 2:\n * const result2 = replaceBySpecifier({\n * input: 'Hello, world!',\n * specifier: ',',\n * htmlTag: 'span'\n * });\n * console.log(result2);\n * // Output: 'Hello world!'\n */\nexport function replaceBySpecifier({ input, specifier, htmlTag }: ReplaceBySpecifier): string {\n return input\n .split(specifier)\n .map((part: string, index: number): string => (index % 2 === 1 ? `<${htmlTag}>${part}` : part))\n .join(\"\");\n}\n","import { html, LitElement, PropertyValueMap } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\n\nimport { replaceBySpecifier } from \"../utils/replaceBySpecifier.ts\";\nimport FetchService from \"../services/fetch.service.ts\";\nimport { renderIcon } from \"./icon/dva-e-icon.template.ts\";\nimport { IconName } from \"../icons.types.ts\";\n\nexport interface HeaderResponseData {\n leftCol: LeftCol;\n rightCol: RightCol;\n}\n\nexport interface LeftCol {\n data: LeftColData[];\n}\n\nexport interface LeftColData {\n logoText: string;\n logoLink: string;\n}\n\nexport interface RightCol {\n data: RightColData[];\n}\n\nexport interface RightColData {\n socialIcon: IconName;\n socialLabel: string;\n socialLink: string;\n}\n\ninterface HeaderTemplateData {\n leftCol: LeftColData;\n rightCol: RightColData[];\n}\n\n@customElement(\"header-component\")\nexport class HeaderComponent extends LitElement {\n @state()\n headerData: HeaderTemplateData;\n\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n protected async firstUpdated(_changedProperties: PropertyValueMap | Map) {\n await this.fetchHeaderData();\n }\n\n async fetchHeaderData() {\n try {\n const response = await FetchService.fetchJson(\"header.json\", {\n cacheOptions: { cacheType: \"runtime\" },\n });\n this.headerData = { leftCol: response.leftCol.data[0], rightCol: response.rightCol.data };\n } catch (error) {\n console.error(\"HeaderComponent: \", error);\n }\n }\n\n render() {\n if (!this.headerData) return;\n const { leftCol, rightCol } = this.headerData;\n const logoText = replaceBySpecifier({ input: leftCol.logoText, htmlTag: \"strong\", specifier: \":::\" });\n const logoTextHTML = unsafeHTML(logoText);\n return html`\n ${logoTextHTML}\n \n `;\n }\n}\n","/**\n * Converts a string into a valid CSS class name.\n *\n * @param {string} name - The string to convert into a CSS class name.\n * @returns {string} The converted CSS class name.\n *\n * @example\n * // Example usage:\n * const inputString = 'Hello, World!';\n * const cssClassName = toClassName(inputString);\n * console.log(cssClassName); // Output: 'hello-world'\n */\nexport function toClassName(name: string): string {\n return name\n .toLowerCase()\n .replace(/[^0-9a-z]/gi, \"-\")\n .replace(/-+/g, \"-\")\n .replace(/^-|-$/g, \"\");\n}\n","import { toClassName } from \"../utils/toClassName\";\n\nexport class BlockService {\n /**\n * Extracts the config from a block.\n * @param {Element} block The block element\n * @returns {object} The block config\n */\n readBlockConfig(block: Element): Record {\n const config: Record = {};\n block.querySelectorAll(\":scope > div\").forEach(row => {\n if (row.children) {\n const cols = [...row.children];\n if (cols[1]) {\n const col = cols[1];\n const name = toClassName(cols[0].textContent ?? \"\");\n let value: any = \"\";\n if (col.querySelector(\"a\")) {\n const as = [...col.querySelectorAll(\"a\")];\n if (as.length === 1) {\n value = as[0].href;\n } else {\n value = as.map(a => a.href);\n }\n } else if (col.querySelector(\"img\")) {\n const imgs = [...col.querySelectorAll(\"img\")];\n if (imgs.length === 1) {\n value = imgs[0].src;\n } else {\n value = imgs.map(img => img.src);\n }\n } else if (col.querySelector(\"p\")) {\n const ps = [...col.querySelectorAll(\"p\")];\n if (ps.length === 1) {\n value = ps[0].textContent;\n } else {\n value = ps.map(p => p.textContent);\n }\n } else value = row.children[1].textContent;\n config[name] = value;\n }\n }\n });\n return config;\n }\n\n /**\n * Decorates all blocks in a container element.\n * @param {Element} main The container element\n */\n decorateBlocks(main: HTMLElement) {\n main.querySelectorAll(\"div.section > div > div\").forEach(this.decorateBlock);\n }\n\n /**\n * Decorates a block.\n * @param {Element} block The block element\n */\n private decorateBlock(block: HTMLElement) {\n const shortBlockName = block.classList[0];\n if (shortBlockName) {\n block.classList.add(\"block\");\n block.dataset.blockName = shortBlockName;\n const blockWrapper = block.parentElement;\n blockWrapper?.classList.add(`${shortBlockName}-wrapper`);\n const section = block.closest(\".section\");\n if (section) section.classList.add(`${shortBlockName}-container`);\n }\n }\n}\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Sanitizes a string for use as a JavaScript property name.\n *\n * @param {string} name - The unsanitized string.\n * @returns {string} - The camelCased name.\n *\n * @example\n * // Example usage:\n * const unsanitizedString = 'background-color';\n * const camelCasedName = toCamelCase(unsanitizedString);\n * console.log(camelCasedName); // Output: 'backgroundColor'\n */\nexport function toCamelCase(name: string): string {\n return toClassName(name).replace(/-([a-z])/g, (g: string) => g[1].toUpperCase());\n}\n","import { toCamelCase } from \"../utils/toCamelCase\";\nimport { toClassName } from \"../utils/toClassName\";\nimport { BlockService } from \"./block.service\";\n\nexport class SectionService {\n constructor(private blockService: BlockService) {}\n\n init(container: HTMLElement) {\n this.transformSection(container);\n }\n\n /**\n * Decorates all sections in a container element.\n * @param {Element} main The container element\n */\n private transformSection(main: HTMLElement) {\n main.querySelectorAll(\":scope > div\").forEach(section => {\n this.adjustMarkup(section);\n this.processSectionMetaData(section);\n });\n }\n\n private processSectionMetaData(section: HTMLElement) {\n // Process section metadata\n const sectionMeta = section.querySelector(\"div.section-metadata\");\n if (sectionMeta) {\n const meta = this.blockService.readBlockConfig(sectionMeta);\n Object.keys(meta).forEach(key => {\n if (key === \"style\") {\n const styles = meta.style\n .split(\",\")\n .filter((style: string) => style)\n .map((style: string) => toClassName(style.trim()));\n styles.forEach((style: string) => section.classList.add(style));\n } else {\n section.dataset[toCamelCase(key)] = meta[key];\n }\n });\n if (sectionMeta.parentElement) sectionMeta.parentElement.remove();\n }\n }\n\n private adjustMarkup(section: HTMLDivElement) {\n const wrappers: HTMLDivElement[] = [];\n let defaultContent = false;\n [...section.children].forEach(e => {\n if (e.tagName === \"DIV\" || !defaultContent) {\n const wrapper = document.createElement(\"div\");\n wrappers.push(wrapper);\n defaultContent = e.tagName !== \"DIV\";\n\n if (defaultContent) {\n wrapper.classList.add(\"default-content-wrapper\");\n }\n }\n wrappers[wrappers.length - 1].append(e);\n });\n\n wrappers.forEach(wrapper => section.append(wrapper));\n this.decorateImages();\n section.classList.add(\"section\");\n section.dataset.sectionStatus = \"initialized\";\n section.style.display = \"none\";\n }\n decorateImages() {\n const picture = document.querySelectorAll(\".default-content-wrapper picture\");\n picture.forEach(item => {\n const parentElement = item.parentElement;\n if (parentElement) {\n parentElement.classList.add(\"image\", \"main\");\n }\n });\n }\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\n\nexport const headerTemplate = () => {\n return html`\n \n \n
\n
\n \n
\n \n \n \n ${renderIcon(\"dva-icon-burger-24px\")}\n Menü\n \n
\n\n \n
\n \n
\n
\n `;\n};\n","import { html } from \"lit-html\";\n\nexport type DvaLinkTemplateArgs = {\n target: string;\n cssClasses?: string;\n newWindow?: boolean;\n label?: string;\n iconID?: string;\n shouldRender?: boolean;\n};\n\nconst renderLabel = (args: DvaLinkTemplateArgs) => {\n if (args.label === undefined) return \"\";\n\n return html` ${args.label} `;\n};\n\nconst renderIcon = (args: DvaLinkTemplateArgs) => {\n if (args.iconID === undefined) return \"\";\n\n return html` `;\n};\n\nexport const dvaLinkTemplate = (args: DvaLinkTemplateArgs) => {\n if (args.shouldRender === false) return \"\";\n return html`\n \n ${renderLabel(args)} ${renderIcon(args)}\n \n `;\n};\n","import { renderLazyImage } from \"Components/dva-e-lazy-image/dva-e-lazy-image.template\";\nimport { html } from \"lit-html\";\n\nexport const renderFooterAwardsTemplate = () => {\n return html`\n \n \n `;\n};\n","import { html } from \"lit-html\";\nimport { renderIcon } from \"Components/icon/dva-e-icon.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\nimport { IconName } from \"../../icons.types\";\n\nexport const renderFooterSocialLinksTemplate = () => {\n return html`\n \n\n \n `;\n};\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\n\nexport const renderFooterNavigationTemplate = () => {\n return html` \n ${data.navigationSections.map(section => {\n return html`
\n \n
\n
\n \n
\n
\n
`;\n })}\n
`;\n};\n","import { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport { renderFooterAwardsTemplate } from \"./dvag-m-n02-footer__awards.template\";\nimport { renderFooterSocialLinksTemplate } from \"./dvag-m-n02-footer__social-links.template\";\nimport { renderFooterNavigationTemplate } from \"./dvag-m-n02-footer__navigation.template\";\n\nexport const renderFooter = (borderTop = false) => {\n return html`\n \n
\n
\n
\n
${renderFooterNavigationTemplate()}
\n
\n
\n \n
${renderFooterAwardsTemplate()}
\n
${renderFooterSocialLinksTemplate()}
\n
\n
\n \n
\n `;\n};\n","/**\n * Retrieves the content of a specified metadata tag from the document head.\n *\n * @param {string} value - The name or property attribute value of the metadata tag.\n * @param {Document} [doc=document] - The document to search for the metadata tag (default is the current document).\n * @returns {string} - The content of the metadata tag, if found; otherwise, an empty string.\n *\n * @example\n * // Example 1:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('description');\n * console.log(metaContent);\n * // Output: 'This is a sample description.'\n *\n * @example\n * // Example 2:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('og:title', document);\n * console.log(metaContent);\n * // Output: 'Open Graph Title'\n */\nexport function getMetadata(value: string, doc: Document = document): string {\n const attr: \"property\" | \"name\" = value && value.includes(\":\") ? \"property\" : \"name\";\n const metaTags: HTMLMetaElement[] =\n ([...doc.head.querySelectorAll(`meta[${attr}=\"${value}\"]`)] as HTMLMetaElement[]) || [];\n const meta: string = metaTags.map((metaElement: HTMLMetaElement) => metaElement.content).join(\", \");\n return meta.length ? meta : \"\";\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { getMetadata } from \"Utils/getMetadata\";\nimport { nothing } from \"lit\";\nimport { html } from \"lit-html\";\n\nexport const renderBreadcrumpNavigationTemplate = () => {\n if (getMetadata(\"breadcrumb\") !== \"true\") return nothing;\n return html`\n
\n
\n
\n \n
\n
\n
\n `;\n};\n","/**\n * Verifies if the Sidekick Library Plugin is in use by checking if the page is running in an iframe with srcdoc\n * and if the main element has the sidekick-library class.\n * @returns {boolean} Wether the Sidekick Library Plugin is in use.\n */\nexport const isSidekickLibraryActive = (): boolean => {\n const main = document.querySelector(\"#main\");\n if (!main) return false;\n return window.location.href === \"about:srcdoc\" && main.classList.contains(\"sidekick-library\");\n};\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Adds CSS classes to an HTML element.\n *\n * @param {HTMLElement} element - The HTML element to which classes will be added.\n * @param {string} classes - A string containing CSS classes separated by commas.\n *\n * @example\n * const element = document.getElementById('myElement');\n * const classesToAdd = 'class1, class2, class3';\n * addClasses(element, classesToAdd);\n */\nexport const addClasses = (element: HTMLElement, classes: string): void => {\n classes.split(\",\").forEach((cssClass: string): void => {\n element.classList.add(toClassName(cssClass.trim()));\n });\n};\n","export interface Config {\n mainTsPath: string;\n mainScssPath: string;\n iconsDirPath: string;\n iconsTypesPath: string;\n fontsScssPath?: string;\n lazyStylesScssPath?: string;\n sidekickLibraryStylesScssPath?: string;\n}\n\nexport const config: Config = {\n mainTsPath: 'src/main.ts',\n mainScssPath: 'src/styles/index.scss',\n iconsDirPath: './public/icons',\n iconsTypesPath: './src/icons.types.ts',\n fontsScssPath: 'src/styles/fonts.scss',\n lazyStylesScssPath: 'src/styles/lazy-styles.scss',\n sidekickLibraryStylesScssPath: 'src/styles/sidekick-library-styles.scss',\n};\n","import { isSidekickLibraryActive } from \"./isSidekickLibraryActive\";\n\n/**\n * Returns the true origin of the current page in the browser.\n * If the page is running in an iframe with srcdoc, the query param is returned.\n * @returns {String} The query param of the current page or the query param of the block running in the library\n *\n * @example\n * const searchParams = new URLSearchParams(getLocation().search);\n *\n * @remarks\n * Needs to be used when the Sidekick Library Plugin is in use.\n */\nexport function getLocation(): Location {\n return isSidekickLibraryActive() ? window.parent.location : window.location;\n}\n","import { html, render } from \"lit-html\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\nimport { headerTemplate } from \"Components/dvag-m-n01-header/dvag-m-n01-header.template.ts\";\nimport { renderFooter } from \"Components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts\";\nimport { renderBreadcrumpNavigationTemplate } from \"Components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts\";\n\nimport { isSidekickLibraryActive } from \"../sidekickHelpers/isSidekickLibraryActive\";\nimport { addClasses } from \"../utils/addClasses\";\nimport { getMetadata } from \"../utils/getMetadata\";\nimport { BlockService } from \"./block.service\";\nimport { SectionService } from \"./section.service\";\nimport { config } from \"../../config.ts\";\nimport { getLocation } from \"../sidekickHelpers/getLocation.ts\";\n\ntype BlockMapping = {\n name: string;\n element: HTMLDivElement;\n};\n\ninterface LcpCandidate extends HTMLElement {\n complete: boolean;\n}\n\nclass Status {\n static unloaded = \"unloaded\";\n static loading = \"loading\";\n static loaded = \"loaded\";\n static error = \"error\";\n}\n\nexport class MainService {\n private lcpBlocks = [\"article-stage\", \"article-header\", \"article-overview\", \"vb-stage\"];\n\n constructor(private sectionService: SectionService, private blockService: BlockService) {}\n\n init = async () => {\n this.setup();\n await this.loadEager();\n await this.loadLazy();\n };\n\n /**\n * Setup block utils.\n */\n private setup() {\n window.hlx = window.hlx || {};\n window.hlx.RUM_MASK_URL = \"full\";\n window.hlx.codeBasePath = \"\";\n window.hlx.lighthouse = new URLSearchParams(getLocation().search).get(\"lighthouse\") === \"on\";\n\n const scriptEl = document.querySelector('script[src$=\"/scripts/scripts.js\"]') as HTMLScriptElement;\n if (scriptEl) {\n try {\n [window.hlx.codeBasePath] = new URL(scriptEl.src).pathname.split(\"/scripts/scripts.js\");\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n }\n }\n\n decorateDefaultContent(main: HTMLElement) {\n const defaultContentWrappers = main.querySelectorAll(\".default-content-wrapper\");\n if (!defaultContentWrappers) return;\n defaultContentWrappers.forEach((wrapper: HTMLElement) => {\n const template = html`\n
\n
\n
\n
\n ${unsafeHTML(wrapper.innerHTML)}\n
\n
\n
\n
\n `;\n wrapper.innerHTML = \"\";\n render(template, wrapper);\n });\n }\n\n private loadEager = async () => {\n document.documentElement.lang = \"en\";\n this.decorateTemplateAndTheme();\n const main = document.querySelector(\"main\");\n if (main) {\n this.sectionService.init(main);\n\n this.blockService.decorateBlocks(main);\n this.decorateDefaultContent(main);\n this.renderLayout(main);\n\n setTimeout(() => {\n document.body.classList.add(\"show\");\n }, 100);\n\n await this.waitForLCP();\n\n try {\n /* if desktop (proxy for fast connection) or fonts already loaded, load fonts.css */\n if (window.innerWidth >= 900 || sessionStorage.getItem(\"fonts-loaded\")) {\n await this.loadFonts();\n }\n } catch (e) {\n // do nothing\n }\n }\n };\n\n private bodyTemplate(children: string) {\n return html`
\n ${headerTemplate()} ${renderBreadcrumpNavigationTemplate()} ${unsafeHTML(children)} ${renderFooter()}\n
`;\n }\n\n private renderLayout(main: HTMLElement) {\n const children = main.innerHTML;\n const edsHeader = document.querySelector(\"header\");\n const edsFooter = document.querySelector(\"footer\");\n const edsMain = main;\n const body = document.querySelector(\"body\");\n if (body) {\n render(this.bodyTemplate(children), body);\n edsFooter?.remove();\n edsHeader?.remove();\n edsMain.remove();\n }\n }\n\n private loadLazy = async () => {\n const { lazyStylesScssPath, sidekickLibraryStylesScssPath, fontsScssPath } = config;\n try {\n if (lazyStylesScssPath) await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`);\n if (sidekickLibraryStylesScssPath && isSidekickLibraryActive()) {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`);\n }\n if (fontsScssPath) await this.loadFonts();\n await this.loadCSS(\n `${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,\n `${window.hlx.codeBasePath}/dist/styles/styles.css`,\n );\n await this.loadBlocks();\n } catch (error) {\n console.error(\"Load lazy error: \", error);\n try {\n await this.loadBlocks();\n } catch (err) {\n console.error(\"Load blocks error: \", err);\n }\n }\n };\n\n private decorateTemplateAndTheme() {\n const template = getMetadata(\"template\");\n if (template) addClasses(document.body, template);\n const theme = getMetadata(\"theme\");\n if (theme) addClasses(document.body, theme);\n }\n\n /**\n * Loads Blocks\n * by getting all sections and load every block in every section\n * and shows every section that is finished loading.\n */\n private loadBlocks = async () => {\n const sections = [...document.querySelectorAll(\".section\")];\n const SectionsPromises = sections.map(section => this.loadBlock(section));\n\n await Promise.all(SectionsPromises);\n };\n\n private collectBlocks(section: HTMLElement): BlockMapping[] {\n const blockMap: BlockMapping[] = [];\n const blocksElements = section.querySelectorAll(\"[data-block-name]\");\n\n blocksElements.forEach((block: HTMLDivElement) => {\n blockMap.push({\n name: block.dataset[\"blockName\"] as string,\n element: block,\n });\n });\n\n return blockMap;\n }\n\n private async loadBlockModules(block: BlockMapping) {\n const status = block.element.dataset.blockStatus ?? Status.unloaded;\n\n if (status === Status.unloaded) {\n block.element.dataset.blockStatus = Status.loading;\n\n try {\n const blockModule = await import(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.js`);\n\n if (blockModule.default) {\n await blockModule.default(block.element);\n }\n\n block.element.dataset.blockStatus = Status.loaded;\n } catch (error) {\n block.element.dataset.blockStatus = Status.error;\n console.error(\"An error occurred during module import:\", error);\n }\n }\n }\n\n async loadBlockStyles(block: BlockMapping) {\n try {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.css`);\n } catch (error) {\n console.error(`problem with block '${block.name}' loading styles`);\n }\n }\n\n private showSection(section: HTMLElement) {\n section.style.removeProperty(\"display\");\n }\n\n private async loadFonts() {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);\n try {\n if (!getLocation().hostname.includes(\"localhost\")) sessionStorage.setItem(\"fonts-loaded\", \"true\");\n } catch (e) {\n // do nothing\n }\n }\n\n private async loadCSS(href: string, insertBefore?: string) {\n return new Promise((resolve, reject) => {\n if (!document.querySelector(`head > link[href=\"${href}\"]`)) {\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = href;\n link.onload = resolve;\n link.onerror = reject;\n if (insertBefore !== undefined) {\n const before = document.querySelector(`head > link[href=\"${insertBefore}\"]`);\n if (before) before.before(link);\n } else {\n document.head.append(link);\n }\n } else {\n resolve(true);\n }\n });\n }\n\n private async waitForLCP() {\n /* Js Chunks should be loaded\n Old logic only looks after the first block\n New logic looks in the first section after lcp candidates,\n since we show ech section depending on if its blocks and modules are loaded */\n const firstSection: HTMLElement | null = document.querySelector(\".section\");\n\n if (firstSection) {\n const blocks = this.collectBlocks(firstSection);\n const blockPromises = blocks.map(async block => {\n const hasLCPBlock = this.lcpBlocks.includes(block.name);\n if (hasLCPBlock) await Promise.all([this.loadBlockModules(block), this.loadBlockStyles(block)]);\n });\n\n await Promise.all(blockPromises);\n this.showSection(firstSection);\n }\n\n // @ts-ignore\n document.body.style.display = null;\n const lcpCandidate = document.querySelector(\"main img\");\n\n await new Promise(resolve => {\n if (lcpCandidate && !lcpCandidate.complete) {\n lcpCandidate.setAttribute(\"loading\", \"eager\");\n lcpCandidate.setAttribute(\"fetchpriority\", \"high\");\n lcpCandidate.addEventListener(\"load\", () => resolve());\n lcpCandidate.addEventListener(\"error\", () => resolve());\n } else {\n resolve();\n }\n });\n }\n\n private async loadBlock(section: HTMLElement) {\n const sectionsBlocks: BlockMapping[] = this.collectBlocks(section);\n\n if (!sectionsBlocks.length) {\n this.showSection(section);\n return;\n }\n\n const loadingPromises: Promise[] = [];\n\n for (const block of sectionsBlocks) {\n loadingPromises.push(this.loadBlockModules(block), this.loadBlockStyles(block));\n }\n\n await Promise.all(loadingPromises);\n this.showSection(section);\n }\n}\n","import \"Components/header.ts\";\nimport \"Components/icon/dva-e-icon.ts\";\nimport \"Components/dva-e-lazy-image/dva-e-lazy-image.ts\";\nimport \"Services/fetch.service.ts\";\nimport \"Components/dvag-m-c11-accordion/dvag-m-c11-accordion.ts\";\nimport { ConsentManagementService } from \"Services/ConsentManagementService.ts\";\n\nimport { BlockService } from \"./services/block.service.ts\";\nimport { SectionService } from \"./services/section.service.ts\";\nimport { MainService } from \"./services/main.service.ts\";\n\n(async function () {\n // preloadLcpImageCandidate();\n const blockService = new BlockService();\n const sectionService = new SectionService(blockService);\n const main = new MainService(sectionService, blockService);\n await main.init();\n})();\n\ndeclare global {\n interface Window {\n hlx: {\n RUM_MASK_URL: string;\n codeBasePath: string;\n lighthouse: boolean;\n };\n Granite: any;\n _dvaConsentManagementService: ConsentManagementService;\n }\n}\n"],"file":"main/main.js"} \ No newline at end of file +{"version":3,"mappings":"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","names":["r","t","replaceBySpecifier","input","specifier","htmlTag","part","index","HeaderComponent","LitElement","_changedProperties","response","FetchService","error","leftCol","rightCol","logoText","logoTextHTML","unsafeHTML","html","item","renderIcon","__decorateClass","state","customElement","toClassName","name","BlockService","block","config","row","cols","col","value","as","a","imgs","img","ps","p","main","shortBlockName","blockWrapper","section","toCamelCase","g","SectionService","blockService","container","sectionMeta","meta","key","style","wrappers","defaultContent","e","wrapper","parentElement","headerTemplate","renderLabel","args","dvaLinkTemplate","renderFooterAwardsTemplate","renderLazyImage","renderFooterSocialLinksTemplate","data","socialLink","renderFooterNavigationTemplate","renderFooter","borderTop","getMetadata","doc","attr","metaElement","renderBreadcrumpNavigationTemplate","nothing","isSidekickLibraryActive","addClasses","element","classes","cssClass","getLocation","_Status","Status","MainService","sectionService","lazyStylesScssPath","sidekickLibraryStylesScssPath","fontsScssPath","err","SectionsPromises","scriptEl","defaultContentWrappers","template","render","children","edsHeader","edsFooter","edsMain","body","theme","blockMap","blockModule","__vitePreload","href","insertBefore","resolve","reject","link","before","firstSection","blockPromises","lcpCandidate","sectionsBlocks","loadingPromises"],"sources":["../../node_modules/@lit/reactive-element/decorators/state.js","../../src/utils/replaceBySpecifier.ts","../../src/components/header.ts","../../src/utils/toClassName.ts","../../src/services/block.service.ts","../../src/utils/toCamelCase.ts","../../src/services/section.service.ts","../../src/components/dvag-m-n01-header/dvag-m-n01-header.template.ts","../../src/components/dva-e-link/dva-e-link.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__awards.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__social-links.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__navigation.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts","../../src/utils/getMetadata.ts","../../src/components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts","../../src/sidekickHelpers/isSidekickLibraryActive.ts","../../src/utils/addClasses.ts","../../config.ts","../../src/sidekickHelpers/getLocation.ts","../../src/services/main.service.ts","../../src/main.ts"],"sourcesContent":["import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * Represents the structure of an object used to specify replacements in a string.\n *\n * @interface ReplaceBySpecifier\n * @property {string} input - The input string where replacements will be made.\n * @property {string} specifier - The specifier string to search for in the input.\n * @property {string} htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n */\ninterface ReplaceBySpecifier {\n input: string;\n specifier: string;\n htmlTag: string;\n}\n\n/**\n * Replaces occurrences of a specified specifier in a string with an HTML tag.\n *\n * @param {ReplaceBySpecifier} param - An object containing input string, specifier, and HTML tag.\n * @param {string} param.input - The input string where replacements will be made.\n * @param {string} param.specifier - The specifier string to search for in the input.\n * @param {string} param.htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n * @returns {string} - The modified string with replacements.\n *\n @example\n * // Example 1:\n * const result1 = replaceBySpecifier({\n * input: 'This is a test string with some test keywords.',\n * specifier: 'test',\n * htmlTag: 'strong'\n * });\n * console.log(result1);\n * // Output: 'This is a string with some keywords.'\n *\n * // Example 2:\n * const result2 = replaceBySpecifier({\n * input: 'Hello, world!',\n * specifier: ',',\n * htmlTag: 'span'\n * });\n * console.log(result2);\n * // Output: 'Hello world!'\n */\nexport function replaceBySpecifier({ input, specifier, htmlTag }: ReplaceBySpecifier): string {\n return input\n .split(specifier)\n .map((part: string, index: number): string => (index % 2 === 1 ? `<${htmlTag}>${part}` : part))\n .join(\"\");\n}\n","import { html, LitElement, PropertyValueMap } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\n\nimport { replaceBySpecifier } from \"../utils/replaceBySpecifier.ts\";\nimport FetchService from \"../services/fetch.service.ts\";\nimport { renderIcon } from \"./icon/dva-e-icon.template.ts\";\nimport { IconName } from \"../icons.types.ts\";\n\nexport interface HeaderResponseData {\n leftCol: LeftCol;\n rightCol: RightCol;\n}\n\nexport interface LeftCol {\n data: LeftColData[];\n}\n\nexport interface LeftColData {\n logoText: string;\n logoLink: string;\n}\n\nexport interface RightCol {\n data: RightColData[];\n}\n\nexport interface RightColData {\n socialIcon: IconName;\n socialLabel: string;\n socialLink: string;\n}\n\ninterface HeaderTemplateData {\n leftCol: LeftColData;\n rightCol: RightColData[];\n}\n\n@customElement(\"header-component\")\nexport class HeaderComponent extends LitElement {\n @state()\n headerData: HeaderTemplateData;\n\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n protected async firstUpdated(_changedProperties: PropertyValueMap | Map) {\n await this.fetchHeaderData();\n }\n\n async fetchHeaderData() {\n try {\n const response = await FetchService.fetchJson(\"header.json\", {\n cacheOptions: { cacheType: \"runtime\" },\n });\n this.headerData = { leftCol: response.leftCol.data[0], rightCol: response.rightCol.data };\n } catch (error) {\n console.error(\"HeaderComponent: \", error);\n }\n }\n\n render() {\n if (!this.headerData) return;\n const { leftCol, rightCol } = this.headerData;\n const logoText = replaceBySpecifier({ input: leftCol.logoText, htmlTag: \"strong\", specifier: \":::\" });\n const logoTextHTML = unsafeHTML(logoText);\n return html`\n ${logoTextHTML}\n \n `;\n }\n}\n","/**\n * Converts a string into a valid CSS class name.\n *\n * @param {string} name - The string to convert into a CSS class name.\n * @returns {string} The converted CSS class name.\n *\n * @example\n * // Example usage:\n * const inputString = 'Hello, World!';\n * const cssClassName = toClassName(inputString);\n * console.log(cssClassName); // Output: 'hello-world'\n */\nexport function toClassName(name: string): string {\n return name\n .toLowerCase()\n .replace(/[^0-9a-z]/gi, \"-\")\n .replace(/-+/g, \"-\")\n .replace(/^-|-$/g, \"\");\n}\n","import { toClassName } from \"../utils/toClassName\";\n\nexport class BlockService {\n /**\n * Extracts the config from a block.\n * @param {Element} block The block element\n * @returns {object} The block config\n */\n readBlockConfig(block: Element): Record {\n const config: Record = {};\n block.querySelectorAll(\":scope > div\").forEach(row => {\n if (row.children) {\n const cols = [...row.children];\n if (cols[1]) {\n const col = cols[1];\n const name = toClassName(cols[0].textContent ?? \"\");\n let value: any = \"\";\n if (col.querySelector(\"a\")) {\n const as = [...col.querySelectorAll(\"a\")];\n if (as.length === 1) {\n value = as[0].href;\n } else {\n value = as.map(a => a.href);\n }\n } else if (col.querySelector(\"img\")) {\n const imgs = [...col.querySelectorAll(\"img\")];\n if (imgs.length === 1) {\n value = imgs[0].src;\n } else {\n value = imgs.map(img => img.src);\n }\n } else if (col.querySelector(\"p\")) {\n const ps = [...col.querySelectorAll(\"p\")];\n if (ps.length === 1) {\n value = ps[0].textContent;\n } else {\n value = ps.map(p => p.textContent);\n }\n } else value = row.children[1].textContent;\n config[name] = value;\n }\n }\n });\n return config;\n }\n\n /**\n * Decorates all blocks in a container element.\n * @param {Element} main The container element\n */\n decorateBlocks(main: HTMLElement) {\n main.querySelectorAll(\"div.section > div > div\").forEach(this.decorateBlock);\n }\n\n /**\n * Decorates a block.\n * @param {Element} block The block element\n */\n private decorateBlock(block: HTMLElement) {\n const shortBlockName = block.classList[0];\n if (shortBlockName) {\n block.classList.add(\"block\");\n block.dataset.blockName = shortBlockName;\n const blockWrapper = block.parentElement;\n blockWrapper?.classList.add(`${shortBlockName}-wrapper`);\n const section = block.closest(\".section\");\n if (section) section.classList.add(`${shortBlockName}-container`);\n }\n }\n}\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Sanitizes a string for use as a JavaScript property name.\n *\n * @param {string} name - The unsanitized string.\n * @returns {string} - The camelCased name.\n *\n * @example\n * // Example usage:\n * const unsanitizedString = 'background-color';\n * const camelCasedName = toCamelCase(unsanitizedString);\n * console.log(camelCasedName); // Output: 'backgroundColor'\n */\nexport function toCamelCase(name: string): string {\n return toClassName(name).replace(/-([a-z])/g, (g: string) => g[1].toUpperCase());\n}\n","import { toCamelCase } from \"../utils/toCamelCase\";\nimport { toClassName } from \"../utils/toClassName\";\nimport { BlockService } from \"./block.service\";\n\nexport class SectionService {\n constructor(private blockService: BlockService) {}\n\n init(container: HTMLElement) {\n this.transformSection(container);\n }\n\n /**\n * Decorates all sections in a container element.\n * @param {Element} main The container element\n */\n private transformSection(main: HTMLElement) {\n main.querySelectorAll(\":scope > div\").forEach(section => {\n this.adjustMarkup(section);\n this.processSectionMetaData(section);\n });\n }\n\n private processSectionMetaData(section: HTMLElement) {\n // Process section metadata\n const sectionMeta = section.querySelector(\"div.section-metadata\");\n if (sectionMeta) {\n const meta = this.blockService.readBlockConfig(sectionMeta);\n Object.keys(meta).forEach(key => {\n if (key === \"style\") {\n const styles = meta.style\n .split(\",\")\n .filter((style: string) => style)\n .map((style: string) => toClassName(style.trim()));\n styles.forEach((style: string) => section.classList.add(style));\n } else {\n section.dataset[toCamelCase(key)] = meta[key];\n }\n });\n if (sectionMeta.parentElement) sectionMeta.parentElement.remove();\n }\n }\n\n private adjustMarkup(section: HTMLDivElement) {\n const wrappers: HTMLDivElement[] = [];\n let defaultContent = false;\n [...section.children].forEach(e => {\n if (e.tagName === \"DIV\" || !defaultContent) {\n const wrapper = document.createElement(\"div\");\n wrappers.push(wrapper);\n defaultContent = e.tagName !== \"DIV\";\n\n if (defaultContent) {\n wrapper.classList.add(\"default-content-wrapper\");\n }\n }\n wrappers[wrappers.length - 1].append(e);\n });\n\n wrappers.forEach(wrapper => section.append(wrapper));\n this.decorateImages();\n section.classList.add(\"section\");\n section.dataset.sectionStatus = \"initialized\";\n section.style.display = \"none\";\n }\n decorateImages() {\n const picture = document.querySelectorAll(\".default-content-wrapper picture\");\n picture.forEach(item => {\n const parentElement = item.parentElement;\n if (parentElement) {\n parentElement.classList.add(\"image\", \"main\");\n }\n });\n }\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\n\nexport const headerTemplate = () => {\n return html`\n \n \n
\n
\n \n
\n \n \n \n ${renderIcon(\"dva-icon-burger-24px\")}\n Menü\n \n
\n\n \n
\n \n
\n
\n `;\n};\n","import { html } from \"lit-html\";\n\nexport type DvaLinkTemplateArgs = {\n target: string;\n cssClasses?: string;\n newWindow?: boolean;\n label?: string;\n iconID?: string;\n shouldRender?: boolean;\n};\n\nconst renderLabel = (args: DvaLinkTemplateArgs) => {\n if (args.label === undefined) return \"\";\n\n return html` ${args.label} `;\n};\n\nconst renderIcon = (args: DvaLinkTemplateArgs) => {\n if (args.iconID === undefined) return \"\";\n\n return html` `;\n};\n\nexport const dvaLinkTemplate = (args: DvaLinkTemplateArgs) => {\n if (args.shouldRender === false) return \"\";\n return html`\n \n ${renderLabel(args)} ${renderIcon(args)}\n \n `;\n};\n","import { renderLazyImage } from \"Components/dva-e-lazy-image/dva-e-lazy-image.template\";\nimport { html } from \"lit-html\";\n\nexport const renderFooterAwardsTemplate = () => {\n return html`\n \n \n `;\n};\n","import { html } from \"lit-html\";\nimport { renderIcon } from \"Components/icon/dva-e-icon.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\nimport { IconName } from \"../../icons.types\";\n\nexport const renderFooterSocialLinksTemplate = () => {\n return html`\n \n\n \n `;\n};\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\n\nexport const renderFooterNavigationTemplate = () => {\n return html` \n ${data.navigationSections.map(section => {\n return html`
\n \n
\n
\n \n
\n
\n
`;\n })}\n
`;\n};\n","import { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport { renderFooterAwardsTemplate } from \"./dvag-m-n02-footer__awards.template\";\nimport { renderFooterSocialLinksTemplate } from \"./dvag-m-n02-footer__social-links.template\";\nimport { renderFooterNavigationTemplate } from \"./dvag-m-n02-footer__navigation.template\";\n\nexport const renderFooter = (borderTop = false) => {\n return html`\n \n
\n
\n
\n
${renderFooterNavigationTemplate()}
\n
\n
\n \n
${renderFooterAwardsTemplate()}
\n
${renderFooterSocialLinksTemplate()}
\n
\n
\n \n
\n `;\n};\n","/**\n * Retrieves the content of a specified metadata tag from the document head.\n *\n * @param {string} value - The name or property attribute value of the metadata tag.\n * @param {Document} [doc=document] - The document to search for the metadata tag (default is the current document).\n * @returns {string} - The content of the metadata tag, if found; otherwise, an empty string.\n *\n * @example\n * // Example 1:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('description');\n * console.log(metaContent);\n * // Output: 'This is a sample description.'\n *\n * @example\n * // Example 2:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('og:title', document);\n * console.log(metaContent);\n * // Output: 'Open Graph Title'\n */\nexport function getMetadata(value: string, doc: Document = document): string {\n const attr: \"property\" | \"name\" = value && value.includes(\":\") ? \"property\" : \"name\";\n const metaTags: HTMLMetaElement[] =\n ([...doc.head.querySelectorAll(`meta[${attr}=\"${value}\"]`)] as HTMLMetaElement[]) || [];\n const meta: string = metaTags.map((metaElement: HTMLMetaElement) => metaElement.content).join(\", \");\n return meta.length ? meta : \"\";\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { getMetadata } from \"Utils/getMetadata\";\nimport { nothing } from \"lit\";\nimport { html } from \"lit-html\";\n\nexport const renderBreadcrumpNavigationTemplate = () => {\n if (getMetadata(\"breadcrumb\") !== \"true\") return nothing;\n return html`\n
\n
\n
\n \n
\n
\n
\n `;\n};\n","/**\n * Verifies if the Sidekick Library Plugin is in use by checking if the page is running in an iframe with srcdoc\n * and if the main element has the sidekick-library class.\n * @returns {boolean} Wether the Sidekick Library Plugin is in use.\n */\nexport const isSidekickLibraryActive = (): boolean => {\n const main = document.querySelector(\"#main\");\n if (!main) return false;\n return window.location.href === \"about:srcdoc\" && main.classList.contains(\"sidekick-library\");\n};\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Adds CSS classes to an HTML element.\n *\n * @param {HTMLElement} element - The HTML element to which classes will be added.\n * @param {string} classes - A string containing CSS classes separated by commas.\n *\n * @example\n * const element = document.getElementById('myElement');\n * const classesToAdd = 'class1, class2, class3';\n * addClasses(element, classesToAdd);\n */\nexport const addClasses = (element: HTMLElement, classes: string): void => {\n classes.split(\",\").forEach((cssClass: string): void => {\n element.classList.add(toClassName(cssClass.trim()));\n });\n};\n","export interface Config {\n mainTsPath: string;\n mainScssPath: string;\n iconsDirPath: string;\n iconsTypesPath: string;\n fontsScssPath?: string;\n lazyStylesScssPath?: string;\n sidekickLibraryStylesScssPath?: string;\n}\n\nexport const config: Config = {\n mainTsPath: 'src/main.ts',\n mainScssPath: 'src/styles/index.scss',\n iconsDirPath: './public/icons',\n iconsTypesPath: './src/icons.types.ts',\n fontsScssPath: 'src/styles/fonts.scss',\n lazyStylesScssPath: 'src/styles/lazy-styles.scss',\n sidekickLibraryStylesScssPath: 'src/styles/sidekick-library-styles.scss',\n};\n","import { isSidekickLibraryActive } from \"./isSidekickLibraryActive\";\n\n/**\n * Returns the true origin of the current page in the browser.\n * If the page is running in an iframe with srcdoc, the query param is returned.\n * @returns {String} The query param of the current page or the query param of the block running in the library\n *\n * @example\n * const searchParams = new URLSearchParams(getLocation().search);\n *\n * @remarks\n * Needs to be used when the Sidekick Library Plugin is in use.\n */\nexport function getLocation(): Location {\n return isSidekickLibraryActive() ? window.parent.location : window.location;\n}\n","import { html, render } from \"lit-html\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\nimport { headerTemplate } from \"Components/dvag-m-n01-header/dvag-m-n01-header.template.ts\";\nimport { renderFooter } from \"Components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts\";\nimport { renderBreadcrumpNavigationTemplate } from \"Components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts\";\n\nimport { isSidekickLibraryActive } from \"../sidekickHelpers/isSidekickLibraryActive\";\nimport { addClasses } from \"../utils/addClasses\";\nimport { getMetadata } from \"../utils/getMetadata\";\nimport { BlockService } from \"./block.service\";\nimport { SectionService } from \"./section.service\";\nimport { config } from \"../../config.ts\";\nimport { getLocation } from \"../sidekickHelpers/getLocation.ts\";\n\ntype BlockMapping = {\n name: string;\n element: HTMLDivElement;\n};\n\ninterface LcpCandidate extends HTMLElement {\n complete: boolean;\n}\n\nclass Status {\n static unloaded = \"unloaded\";\n static loading = \"loading\";\n static loaded = \"loaded\";\n static error = \"error\";\n}\n\nexport class MainService {\n private lcpBlocks = [\"article-stage\", \"article-header\", \"article-overview\", \"vb-stage\"];\n\n constructor(private sectionService: SectionService, private blockService: BlockService) {}\n\n init = async () => {\n this.setup();\n await this.loadEager();\n await this.loadLazy();\n };\n\n /**\n * Setup block utils.\n */\n private setup() {\n window.hlx = window.hlx || {};\n window.hlx.RUM_MASK_URL = \"full\";\n window.hlx.codeBasePath = \"\";\n window.hlx.lighthouse = new URLSearchParams(getLocation().search).get(\"lighthouse\") === \"on\";\n\n const scriptEl = document.querySelector('script[src$=\"/scripts/scripts.js\"]') as HTMLScriptElement;\n if (scriptEl) {\n try {\n [window.hlx.codeBasePath] = new URL(scriptEl.src).pathname.split(\"/scripts/scripts.js\");\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n }\n }\n\n decorateDefaultContent(main: HTMLElement) {\n const defaultContentWrappers = main.querySelectorAll(\".default-content-wrapper\");\n if (!defaultContentWrappers) return;\n defaultContentWrappers.forEach((wrapper: HTMLElement) => {\n const template = html`\n
\n
\n
\n
\n ${unsafeHTML(wrapper.innerHTML)}\n
\n
\n
\n
\n `;\n wrapper.innerHTML = \"\";\n render(template, wrapper);\n });\n }\n\n private loadEager = async () => {\n document.documentElement.lang = \"en\";\n this.decorateTemplateAndTheme();\n const main = document.querySelector(\"main\");\n if (main) {\n this.sectionService.init(main);\n\n this.blockService.decorateBlocks(main);\n this.decorateDefaultContent(main);\n this.renderLayout(main);\n\n setTimeout(() => {\n document.body.classList.add(\"show\");\n }, 100);\n\n await this.waitForLCP();\n\n try {\n /* if desktop (proxy for fast connection) or fonts already loaded, load fonts.css */\n if (window.innerWidth >= 900 || sessionStorage.getItem(\"fonts-loaded\")) {\n await this.loadFonts();\n }\n } catch (e) {\n // do nothing\n }\n }\n };\n\n private bodyTemplate(children: string) {\n return html`
\n
\n
\n ${headerTemplate()} ${renderBreadcrumpNavigationTemplate()} ${unsafeHTML(children)} ${renderFooter()}\n
\n
\n
`;\n }\n\n private renderLayout(main: HTMLElement) {\n const children = main.innerHTML;\n const edsHeader = document.querySelector(\"header\");\n const edsFooter = document.querySelector(\"footer\");\n const edsMain = main;\n const body = document.querySelector(\"body\");\n if (body) {\n render(this.bodyTemplate(children), body);\n edsFooter?.remove();\n edsHeader?.remove();\n edsMain.remove();\n }\n }\n\n private loadLazy = async () => {\n const { lazyStylesScssPath, sidekickLibraryStylesScssPath, fontsScssPath } = config;\n try {\n if (lazyStylesScssPath) await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`);\n if (sidekickLibraryStylesScssPath && isSidekickLibraryActive()) {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`);\n }\n if (fontsScssPath) await this.loadFonts();\n await this.loadCSS(\n `${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,\n `${window.hlx.codeBasePath}/dist/styles/styles.css`,\n );\n await this.loadBlocks();\n } catch (error) {\n console.error(\"Load lazy error: \", error);\n try {\n await this.loadBlocks();\n } catch (err) {\n console.error(\"Load blocks error: \", err);\n }\n }\n };\n\n private decorateTemplateAndTheme() {\n const template = getMetadata(\"template\");\n if (template) addClasses(document.body, template);\n const theme = getMetadata(\"theme\");\n if (theme) addClasses(document.body, theme);\n }\n\n /**\n * Loads Blocks\n * by getting all sections and load every block in every section\n * and shows every section that is finished loading.\n */\n private loadBlocks = async () => {\n const sections = [...document.querySelectorAll(\".section\")];\n const SectionsPromises = sections.map(section => this.loadBlock(section));\n\n await Promise.all(SectionsPromises);\n };\n\n private collectBlocks(section: HTMLElement): BlockMapping[] {\n const blockMap: BlockMapping[] = [];\n const blocksElements = section.querySelectorAll(\"[data-block-name]\");\n\n blocksElements.forEach((block: HTMLDivElement) => {\n blockMap.push({\n name: block.dataset[\"blockName\"] as string,\n element: block,\n });\n });\n\n return blockMap;\n }\n\n private async loadBlockModules(block: BlockMapping) {\n const status = block.element.dataset.blockStatus ?? Status.unloaded;\n\n if (status === Status.unloaded) {\n block.element.dataset.blockStatus = Status.loading;\n\n try {\n const blockModule = await import(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.js`);\n\n if (blockModule.default) {\n await blockModule.default(block.element);\n }\n\n block.element.dataset.blockStatus = Status.loaded;\n } catch (error) {\n block.element.dataset.blockStatus = Status.error;\n console.error(\"An error occurred during module import:\", error);\n }\n }\n }\n\n async loadBlockStyles(block: BlockMapping) {\n try {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.css`);\n } catch (error) {\n console.error(`problem with block '${block.name}' loading styles`);\n }\n }\n\n private showSection(section: HTMLElement) {\n section.style.removeProperty(\"display\");\n }\n\n private async loadFonts() {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);\n try {\n if (!getLocation().hostname.includes(\"localhost\")) sessionStorage.setItem(\"fonts-loaded\", \"true\");\n } catch (e) {\n // do nothing\n }\n }\n\n private async loadCSS(href: string, insertBefore?: string) {\n return new Promise((resolve, reject) => {\n if (!document.querySelector(`head > link[href=\"${href}\"]`)) {\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = href;\n link.onload = resolve;\n link.onerror = reject;\n if (insertBefore !== undefined) {\n const before = document.querySelector(`head > link[href=\"${insertBefore}\"]`);\n if (before) before.before(link);\n } else {\n document.head.append(link);\n }\n } else {\n resolve(true);\n }\n });\n }\n\n private async waitForLCP() {\n /* Js Chunks should be loaded\n Old logic only looks after the first block\n New logic looks in the first section after lcp candidates,\n since we show ech section depending on if its blocks and modules are loaded */\n const firstSection: HTMLElement | null = document.querySelector(\".section\");\n\n if (firstSection) {\n const blocks = this.collectBlocks(firstSection);\n const blockPromises = blocks.map(async block => {\n const hasLCPBlock = this.lcpBlocks.includes(block.name);\n if (hasLCPBlock) await Promise.all([this.loadBlockModules(block), this.loadBlockStyles(block)]);\n });\n\n await Promise.all(blockPromises);\n this.showSection(firstSection);\n }\n\n // @ts-ignore\n document.body.style.display = null;\n const lcpCandidate = document.querySelector(\"main img\");\n\n await new Promise(resolve => {\n if (lcpCandidate && !lcpCandidate.complete) {\n lcpCandidate.setAttribute(\"loading\", \"eager\");\n lcpCandidate.setAttribute(\"fetchpriority\", \"high\");\n lcpCandidate.addEventListener(\"load\", () => resolve());\n lcpCandidate.addEventListener(\"error\", () => resolve());\n } else {\n resolve();\n }\n });\n }\n\n private async loadBlock(section: HTMLElement) {\n const sectionsBlocks: BlockMapping[] = this.collectBlocks(section);\n\n if (!sectionsBlocks.length) {\n this.showSection(section);\n return;\n }\n\n const loadingPromises: Promise[] = [];\n\n for (const block of sectionsBlocks) {\n loadingPromises.push(this.loadBlockModules(block), this.loadBlockStyles(block));\n }\n\n await Promise.all(loadingPromises);\n this.showSection(section);\n }\n}\n","import \"Components/header.ts\";\nimport \"Components/icon/dva-e-icon.ts\";\nimport \"Components/dva-e-lazy-image/dva-e-lazy-image.ts\";\nimport \"Services/fetch.service.ts\";\nimport \"Components/dvag-m-c11-accordion/dvag-m-c11-accordion.ts\";\nimport { ConsentManagementService } from \"Services/ConsentManagementService.ts\";\n\nimport { BlockService } from \"./services/block.service.ts\";\nimport { SectionService } from \"./services/section.service.ts\";\nimport { MainService } from \"./services/main.service.ts\";\n\n(async function () {\n // preloadLcpImageCandidate();\n const blockService = new BlockService();\n const sectionService = new SectionService(blockService);\n const main = new MainService(sectionService, blockService);\n await main.init();\n})();\n\ndeclare global {\n interface Window {\n hlx: {\n RUM_MASK_URL: string;\n codeBasePath: string;\n lighthouse: boolean;\n };\n Granite: any;\n _dvaConsentManagementService: ConsentManagementService;\n }\n}\n"],"file":"main/main.js"} \ No newline at end of file diff --git a/dist/styles/styles.css b/dist/styles/styles.css index 873ad76..5330701 100644 --- a/dist/styles/styles.css +++ b/dist/styles/styles.css @@ -1 +1 @@ -.dvag-m-n01-navigation__item-link--level-2,.dvag-m-n01-header__burger-label,.dvag-m-n01-header__header-navigation-link,.dvag-m-n02-footer__navigation .dva-e-link,.dvag-m-c01e-teaser__cta,.dva-e-button__label,.dva-type-bold,.dva-type-200-bold-italic,.dva-type-200-bold,.dva-type-400-bold-italic,.dvag-m-n01-header__vb-link,.dvag-m-n01-header__vb-name,.dvag-m-lottie-slider-slide__subheadline,.dvag-m-c01e-teaser-overlay__vb-name,.dva-type-400-bold,.dva-type-500-bold-italic,.dvag-m-n01-navigation__item-link--optional,.dvag-m-n01-navigation__header-button,.dvag-m-c04-vb-stage__rating-label,.dvag-m-c11-accordion__toggle,.dvag-m-c01e-teaser-overlay__rating-category,.dva-type-500-bold,.dva-type-550-bold-italic,.dvag-m-lottie-slider-slide__headline,.dvag-m-c04-vb-stage__vb-info,.dva-type-550-bold,.dva-type-700-bold-italic,.dva-type-700-bold,.dva-type-750-bold-italic,.dvag-m-n01-navigation__level-2-headline,.dvag-m-n01-navigation__item-link,.dva-type-750-bold,.dva-type-800-bold-italic,.dva-type-800-bold,.dva-type-850-bold-italic,.dvag-m-n03-vb-footer__headline,.dvag-m-c04-vb-stage__vb-name,.dva-type-850-bold,.dva-type-900-bold-italic,.dvag-m-section-header__headline,.dva-type-900-bold,.dva-type-950-bold-italic,.dva-type-950-bold,.dva-type-975-bold-italic,.dva-type-975-bold{font-weight:700}.dva-type-light,.dva-type-200-light-italic,.dva-type-200-light,.dva-type-400-light-italic,.dva-type-400-light,.dva-type-500-light-italic,.dva-type-500-light,.dva-type-550-light-italic,.dva-type-550-light,.dva-type-700-light-italic,.dva-type-700-light,.dva-type-750-light-italic,.dva-type-750-light,.dva-type-800-light-italic,.dva-type-800-light,.dva-type-850-light-italic,.dva-type-850-light,.dva-type-900-light-italic,.dvag-h-headline--regular .dvag-m-section-header__headline,.dva-type-900-light,.dva-type-950-light-italic,.dva-type-950-light,.dva-type-975-light-italic,.dva-type-975-light{font-weight:300}.dva-type-italic,.dva-type-200-italic,.dva-type-200-light-italic,.dva-type-200-bold-italic,.dva-type-400-italic,.dva-type-400-light-italic,.dva-type-400-bold-italic,.dva-type-500-italic,.dva-type-500-light-italic,.dva-type-500-bold-italic,.dva-type-550-italic,.dva-type-550-light-italic,.dva-type-550-bold-italic,.dva-type-700-italic,.dva-type-700-light-italic,.dva-type-700-bold-italic,.dva-type-750-italic,.dva-type-750-light-italic,.dva-type-750-bold-italic,.dva-type-800-italic,.dva-type-800-light-italic,.dva-type-800-bold-italic,.dva-type-850-italic,.dva-type-850-light-italic,.dva-type-850-bold-italic,.dva-type-900-italic,.dva-type-900-light-italic,.dva-type-900-bold-italic,.dva-type-950-italic,.dva-type-950-light-italic,.dva-type-950-bold-italic,.dva-type-975-italic,.dva-type-975-light-italic,.dva-type-975-bold-italic{font-style:italic}.dva-type-975,.dva-type-975-italic,.dva-type-975-light-italic,.dva-type-975-light,.dva-type-975-bold-italic,.dva-type-975-bold{margin:0;font-family:dvag-type,sans-serif;font-size:3rem;line-height:1.25}@media (min-width: 1024px){.dva-type-975,.dva-type-975-italic,.dva-type-975-light-italic,.dva-type-975-light,.dva-type-975-bold-italic,.dva-type-975-bold{font-size:4rem}}.dva-type-950,.dva-type-950-italic,.dva-type-950-light-italic,.dva-type-950-light,.dva-type-950-bold-italic,.dva-type-950-bold{margin:0 0 24px;font-family:dvag-type,sans-serif;font-size:2.375rem;line-height:1.28}@media (min-width: 1024px){.dva-type-950,.dva-type-950-italic,.dva-type-950-light-italic,.dva-type-950-light,.dva-type-950-bold-italic,.dva-type-950-bold{margin:0 0 32px;font-size:3.5rem}}.dva-type-900,.dva-type-900-italic,.dva-type-900-light-italic,.dvag-h-headline--regular .dvag-m-section-header__headline,.dva-type-900-light,.dva-type-900-bold-italic,.dvag-m-section-header__headline,.dva-type-900-bold{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:2rem;line-height:1.27}@media (min-width: 1024px){.dva-type-900,.dva-type-900-italic,.dva-type-900-light-italic,.dvag-h-headline--regular .dvag-m-section-header__headline,.dva-type-900-light,.dva-type-900-bold-italic,.dvag-m-section-header__headline,.dva-type-900-bold{margin:0 0 32px;font-size:2.75rem}}.dva-type-850,.dva-type-850-italic,.dva-type-850-light-italic,.dva-type-850-light,.dva-type-850-bold-italic,.dvag-m-n03-vb-footer__headline,.dvag-m-c04-vb-stage__vb-name,.dva-type-850-bold{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.75rem;line-height:1.35}@media (min-width: 1024px){.dva-type-850,.dva-type-850-italic,.dva-type-850-light-italic,.dva-type-850-light,.dva-type-850-bold-italic,.dvag-m-n03-vb-footer__headline,.dvag-m-c04-vb-stage__vb-name,.dva-type-850-bold{margin:0 0 24px;font-size:2.5rem}}.dvag-m-c01e-teaser-overlay__headline,.dva-type-800,.dva-type-800-italic,.dva-type-800-light-italic,.dva-type-800-light,.dva-type-800-bold-italic,.dva-type-800-bold{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.5rem;line-height:1.42}@media (min-width: 1024px){.dvag-m-c01e-teaser-overlay__headline,.dva-type-800,.dva-type-800-italic,.dva-type-800-light-italic,.dva-type-800-light,.dva-type-800-bold-italic,.dva-type-800-bold{margin:0 0 24px;font-size:1.75rem}}.dva-type-750,.dva-type-750-italic,.dva-type-750-light-italic,.dva-type-750-light,.dva-type-750-bold-italic,.dvag-m-n01-navigation__level-2-headline,.dvag-m-n01-navigation__item-link,.dva-type-750-bold{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.5rem;line-height:1.33}.dvag-m-n03-vb-footer__topline,.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__toggle-label,.dvag-m-n02-footer__headline,.dvag-m-c01e-teaser__headline,.dvag-m-section-header__subheadline,.dva-type-700,.dva-type-700-italic,.dva-type-700-light-italic,.dva-type-700-light,.dva-type-700-bold-italic,.dva-type-700-bold{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.25rem;line-height:1.4}.dvag-m-n01-navigation__teaser-headline,.dva-type-550,.dva-type-550-italic,.dva-type-550-light-italic,.dva-type-550-light,.dva-type-550-bold-italic,.dvag-m-lottie-slider-slide__headline,.dvag-m-c04-vb-stage__vb-info,.dva-type-550-bold{margin:0;font-family:dvag-type,sans-serif;font-size:1.125rem;line-height:1.44}.dvag-m-n01-navigation__level-2-subheadline,.dvag-m-n01-navigation__item-link--language-switch,.dvag-m-n01-navigation__item-link--secondary,.dvag-m-n01-navigation__item-link--level-2,.dvag-m-c04-vb-stage__rating-link,.dvag-m-c11-accordion__toggle-label,.dvag-m-c01e-teaser-overlay__text,.dvag-m-c01e-teaser .dvag-m-c01e-teaser__text,.dvag-m-section-header__text,.dva-e-button--rebrush .dva-e-button__label,body,.dva-type-500,.dva-type-500-italic,.dva-type-500-light-italic,.dva-type-500-light,.dva-type-500-bold-italic,.dvag-m-n01-navigation__item-link--optional,.dvag-m-n01-navigation__header-button,.dvag-m-c04-vb-stage__rating-label,.dvag-m-c11-accordion__toggle,.dvag-m-c01e-teaser-overlay__rating-category,.dva-type-500-bold{margin:0;font-family:dvag-type,sans-serif;font-size:1rem;line-height:1.5}.dvag-m-n01-navigation__item-rating-label,.dvag-m-n01-header__vb-subheadline,.dvag-m-n02-footer__copyright,.dvag-m-c01e-teaser-overlay__vb-label,.dvag-m-c01e-teaser-overlay__customer-label,.dvag-m-c01e-teaser-overlay__customer-name,.dvag-m-c01e-teaser-overlay__customer-info,.dvag-m-c01e-teaser__customer-label,.dvag-m-c01e-teaser__footer,.dva-type-400,.dva-type-400-italic,.dva-type-400-light-italic,.dva-type-400-light,.dva-type-400-bold-italic,.dvag-m-n01-header__vb-link,.dvag-m-n01-header__vb-name,.dvag-m-lottie-slider-slide__subheadline,.dvag-m-c01e-teaser-overlay__vb-name,.dva-type-400-bold{margin:0;font-family:dvag-type,sans-serif;font-size:.875rem;line-height:1.57}.dvag-m-c01e-teaser-overlay .dvag-m-c01e-teaser-overlay__rating-label,.dvag-m-c01e-teaser .dvag-m-c01e-teaser__rating-label,.dva-m-breadcrump-navigation__label,.dva-type-200,.dva-type-200-italic,.dva-type-200-light-italic,.dva-type-200-light,.dva-type-200-bold-italic,.dva-type-200-bold{margin:0;font-family:dvag-type,sans-serif;font-size:.75rem;line-height:1.5}.dvag-h-padding-bottom--none .dvag-m-c07-rating-teaser-slider,.dvag-h-padding-bottom--none .dvag-h-component-padding-bottom,.dvag-h-padding-bottom--none .dvag-m-c07-rating-teaser-slider .dvag-m-skewed-box__content,.dvag-h-padding-bottom--none .dvag-h-component-padding-bottom .dvag-m-skewed-box__content{padding-bottom:0}.dvag-h-padding-top--none .dvag-m-c07-rating-teaser-slider,.dvag-h-padding-top--none .dvag-h-component-padding-top,.dvag-h-padding-top--none .dvag-m-c07-rating-teaser-slider .dvag-m-skewed-box__content,.dvag-h-padding-top--none .dvag-h-component-padding-top .dvag-m-skewed-box__content{padding-top:0}.dvag-e-b09-vignette,.dvag-m-c01e-teaser-overlay__image-wrapper{overflow:hidden;flex-shrink:0;border:1px solid #ccc;border-radius:100%}.dvag-e-b09-vignette .dva-e-lazy-image,.dvag-m-c01e-teaser-overlay__image-wrapper .dva-e-lazy-image{background-color:#fff}.dva-e-button--rebrush.dva-e-button--white{color:#c8aa22;background:#fff}.dva-e-button--rebrush.dva-e-button--white:hover{color:#786614!important;background:#fff!important}.dva-e-button--rebrush.dva-e-button--white:hover .dva-e-icon{color:#786614;fill:#786614}.dva-e-button--rebrush.dva-e-button--white:active{background:#f4eed2}.dva-e-button--rebrush.dva-e-button--white:active .dva-e-button__background:after{background:#f4eed2}.dva-e-button--rebrush.dva-e-button--white:before{border:2px solid #fff}.dva-e-button--rebrush.dva-e-button--white .dva-e-button__background:after{background:#f9f6e9}.dvag-m-c08-barcomponent,.dvag-m-c04-vb-stage,.dvag-m-c07-rating-teaser-slider,.dvag-m-skew-component,.dvag-h-component-margin,.dvag-h-component-margin-bottom{margin-bottom:40px}.dvag-h-margin-none .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--none .dvag-m-c08-barcomponent,.dvag-h-margin-none .dvag-m-c04-vb-stage,.dvag-h-margin-none .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-none .dvag-m-skew-component,.dvag-h-margin-none .dvag-h-component-margin,.dvag-h-margin-none .dvag-h-component-margin-bottom,.dvag-h-margin-bottom--none .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--none .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--none .dvag-m-skew-component,.dvag-h-margin-bottom--none .dvag-h-component-margin,.dvag-h-margin-bottom--none .dvag-h-component-margin-bottom{margin-bottom:0}.dvag-h-margin-bottom--default .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--default .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--default .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--default .dvag-m-skew-component,.dvag-h-margin-bottom--default .dvag-h-component-margin,.dvag-h-margin-bottom--default .dvag-h-component-margin-bottom{margin-bottom:40px}@media (min-width: 760px){.dvag-m-c08-barcomponent,.dvag-m-c04-vb-stage,.dvag-m-c07-rating-teaser-slider,.dvag-m-skew-component,.dvag-h-component-margin,.dvag-h-component-margin-bottom{margin-bottom:64px}.dvag-h-margin-none .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--none .dvag-m-c08-barcomponent,.dvag-h-margin-none .dvag-m-c04-vb-stage,.dvag-h-margin-none .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-none .dvag-m-skew-component,.dvag-h-margin-none .dvag-h-component-margin,.dvag-h-margin-none .dvag-h-component-margin-bottom,.dvag-h-margin-bottom--none .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--none .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--none .dvag-m-skew-component,.dvag-h-margin-bottom--none .dvag-h-component-margin,.dvag-h-margin-bottom--none .dvag-h-component-margin-bottom{margin-bottom:0}.dvag-h-margin-small .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--small .dvag-m-c08-barcomponent,.dvag-h-margin-small .dvag-m-c04-vb-stage,.dvag-h-margin-small .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-small .dvag-m-skew-component,.dvag-h-margin-small .dvag-h-component-margin,.dvag-h-margin-small .dvag-h-component-margin-bottom,.dvag-h-margin-bottom--small .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--small .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--small .dvag-m-skew-component,.dvag-h-margin-bottom--small .dvag-h-component-margin,.dvag-h-margin-bottom--small .dvag-h-component-margin-bottom{margin-bottom:40px}.dvag-h-margin-medium .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--medium .dvag-m-c08-barcomponent,.dvag-h-margin-medium .dvag-m-c04-vb-stage,.dvag-h-margin-medium .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-medium .dvag-m-skew-component,.dvag-h-margin-medium .dvag-h-component-margin,.dvag-h-margin-medium .dvag-h-component-margin-bottom,.dvag-h-margin-bottom--medium .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--medium .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--medium .dvag-m-skew-component,.dvag-h-margin-bottom--medium .dvag-h-component-margin,.dvag-h-margin-bottom--medium .dvag-h-component-margin-bottom,.dvag-h-margin-large .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--large .dvag-m-c08-barcomponent,.dvag-h-margin-large .dvag-m-c04-vb-stage,.dvag-h-margin-large .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-large .dvag-m-skew-component,.dvag-h-margin-large .dvag-h-component-margin,.dvag-h-margin-large .dvag-h-component-margin-bottom,.dvag-h-margin-bottom--large .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--large .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--large .dvag-m-skew-component,.dvag-h-margin-bottom--large .dvag-h-component-margin,.dvag-h-margin-bottom--large .dvag-h-component-margin-bottom{margin-bottom:64px}.dvag-h-margin-bottom--default .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--default .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--default .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--default .dvag-m-skew-component,.dvag-h-margin-bottom--default .dvag-h-component-margin,.dvag-h-margin-bottom--default .dvag-h-component-margin-bottom{margin-bottom:40px}}@media (min-width: 1024px){.dvag-m-c08-barcomponent .dvag-h-margin-none,.dvag-h-margin-bottom--none .dvag-m-c08-barcomponent,.dvag-m-c04-vb-stage .dvag-h-margin-none,.dvag-m-c07-rating-teaser-slider .dvag-h-margin-none,.dvag-m-skew-component .dvag-h-margin-none,.dvag-h-component-margin .dvag-h-margin-none,.dvag-h-component-margin-bottom .dvag-h-margin-none,.dvag-h-margin-bottom--none .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--none .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--none .dvag-m-skew-component,.dvag-h-margin-bottom--none .dvag-h-component-margin,.dvag-h-margin-bottom--none .dvag-h-component-margin-bottom{margin-bottom:0}.dvag-m-c08-barcomponent .dvag-h-margin-small,.dvag-h-margin-bottom--small .dvag-m-c08-barcomponent,.dvag-m-c04-vb-stage .dvag-h-margin-small,.dvag-m-c07-rating-teaser-slider .dvag-h-margin-small,.dvag-m-skew-component .dvag-h-margin-small,.dvag-h-component-margin .dvag-h-margin-small,.dvag-h-component-margin-bottom .dvag-h-margin-small,.dvag-h-margin-bottom--small .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--small .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--small .dvag-m-skew-component,.dvag-h-margin-bottom--small .dvag-h-component-margin,.dvag-h-margin-bottom--small .dvag-h-component-margin-bottom{margin-bottom:40px}.dvag-m-c08-barcomponent .dvag-h-margin-medium,.dvag-h-margin-bottom--medium .dvag-m-c08-barcomponent,.dvag-m-c04-vb-stage .dvag-h-margin-medium,.dvag-m-c07-rating-teaser-slider .dvag-h-margin-medium,.dvag-m-skew-component .dvag-h-margin-medium,.dvag-h-component-margin .dvag-h-margin-medium,.dvag-h-component-margin-bottom .dvag-h-margin-medium,.dvag-h-margin-bottom--medium .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--medium .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--medium .dvag-m-skew-component,.dvag-h-margin-bottom--medium .dvag-h-component-margin,.dvag-h-margin-bottom--medium .dvag-h-component-margin-bottom{margin-bottom:64px}.dvag-m-c08-barcomponent .dvag-h-margin-large,.dvag-h-margin-bottom--large .dvag-m-c08-barcomponent,.dvag-m-c04-vb-stage .dvag-h-margin-large,.dvag-m-c07-rating-teaser-slider .dvag-h-margin-large,.dvag-m-skew-component .dvag-h-margin-large,.dvag-h-component-margin .dvag-h-margin-large,.dvag-h-component-margin-bottom .dvag-h-margin-large,.dvag-h-margin-bottom--large .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--large .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--large .dvag-m-skew-component,.dvag-h-margin-bottom--large .dvag-h-component-margin,.dvag-h-margin-bottom--large .dvag-h-component-margin-bottom{margin-bottom:96px}.dvag-h-margin-bottom--default .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--default .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--default .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--default .dvag-m-skew-component,.dvag-h-margin-bottom--default .dvag-h-component-margin,.dvag-h-margin-bottom--default .dvag-h-component-margin-bottom{margin-bottom:40px}}.dvag-m-c07-rating-teaser-slider,.dvag-m-skew-component,.dvag-h-component-margin-top{margin-top:0}@media (min-width: 760px){.dvag-h-margin-top--none .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--none .dvag-m-skew-component,.dvag-h-margin-top--none .dvag-h-component-margin-top{margin-top:0}.dvag-h-margin-top--small .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--small .dvag-m-skew-component,.dvag-h-margin-top--small .dvag-h-component-margin-top{margin-top:40px}.dvag-h-margin-top--medium .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--medium .dvag-m-skew-component,.dvag-h-margin-top--medium .dvag-h-component-margin-top,.dvag-h-margin-top--large .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--large .dvag-m-skew-component,.dvag-h-margin-top--large .dvag-h-component-margin-top{margin-top:64px}}@media (min-width: 1024px){.dvag-h-margin-top--none .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--none .dvag-m-skew-component,.dvag-h-margin-top--none .dvag-h-component-margin-top{margin-top:0}.dvag-h-margin-top--small .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--small .dvag-m-skew-component,.dvag-h-margin-top--small .dvag-h-component-margin-top{margin-top:40px}.dvag-h-margin-top--medium .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--medium .dvag-m-skew-component,.dvag-h-margin-top--medium .dvag-h-component-margin-top{margin-top:64px}.dvag-h-margin-top--large .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--large .dvag-m-skew-component,.dvag-h-margin-top--large .dvag-h-component-margin-top{margin-top:96px}}.dvag-m-lottie-slider__grid-wrapper,.dvag-m-c04-vb-stage__vb-content,.dvag-m-c04-vb-stage__vb-image,.dvag-m-c28-content-container,.dvag-m-c07-rating-teaser-slider__grid-wrapper,.dvag-m-skew-component .dvag-m-skewed-box__content,.dva-grid,.dvag-grid{width:100%;padding:0 16px}@media (min-width: 476px){.dvag-m-lottie-slider__grid-wrapper,.dvag-m-c04-vb-stage__vb-content,.dvag-m-c04-vb-stage__vb-image,.dvag-m-c28-content-container,.dvag-m-c07-rating-teaser-slider__grid-wrapper,.dvag-m-skew-component .dvag-m-skewed-box__content,.dva-grid,.dvag-grid{padding:0 24px}}@media (min-width: 760px){.dvag-m-lottie-slider__grid-wrapper,.dvag-m-c04-vb-stage__vb-content,.dvag-m-c04-vb-stage__vb-image,.dvag-m-c28-content-container,.dvag-m-c07-rating-teaser-slider__grid-wrapper,.dvag-m-skew-component .dvag-m-skewed-box__content,.dva-grid,.dvag-grid{padding:0 32px}}@media (min-width: 1280px){.dvag-m-lottie-slider__grid-wrapper,.dvag-m-c04-vb-stage__vb-content,.dvag-m-c04-vb-stage__vb-image,.dvag-m-c28-content-container,.dvag-m-c07-rating-teaser-slider__grid-wrapper,.dvag-m-skew-component .dvag-m-skewed-box__content,.dva-grid,.dvag-grid{max-width:1460px;padding:0 40px;margin:0 auto}}.dva-grid-row,.dvag-grid-row{display:flex;min-width:100%;flex-wrap:wrap;margin:0 -8px}@media (min-width: 476px){.dva-grid-row,.dvag-grid-row{margin:0 -8px}}@media (min-width: 760px){.dva-grid-row,.dvag-grid-row{margin:0 -12px}}@media (min-width: 1024px){.dva-grid-row,.dvag-grid-row{margin:0 -12px}}@media (min-width: 1280px){.dva-grid-row,.dvag-grid-row{margin:0 -12px}}.dva-grid-row .dva-grid-col--centered,.dvag-grid-row .dva-grid-col--centered,.dva-grid-row .dvag-grid-col--centered,.dvag-grid-row .dvag-grid-col--centered{margin:0 auto}.dva-grid-col-1-1,.dvag-grid-col-1-1{margin:0 8px;flex-basis:calc(100% / 12 - 16px);max-width:calc(100% / 12 - 16px)}@media (min-width: 476px){.dva-grid-col-1-1,.dvag-grid-col-1-1{max-width:calc(100% / 12 - 16px);flex-basis:calc(100% / 12 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-1,.dvag-grid-col-1-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-1,.dvag-grid-col-1-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-1,.dvag-grid-col-1-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}.dva-grid-col-1-2,.dvag-grid-col-1-2{margin:0 8px;flex-basis:calc(100% / 6 - 16px);max-width:calc(100% / 6 - 16px)}@media (min-width: 476px){.dva-grid-col-1-2,.dvag-grid-col-1-2{max-width:calc(100% / 6 - 16px);flex-basis:calc(100% / 6 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-2,.dvag-grid-col-1-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-2,.dvag-grid-col-1-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-2,.dvag-grid-col-1-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}.dva-grid-col-1-3,.dvag-grid-col-1-3{margin:0 8px;flex-basis:calc(25% - 16px);max-width:calc(25% - 16px)}@media (min-width: 476px){.dva-grid-col-1-3,.dvag-grid-col-1-3{max-width:calc(25% - 16px);flex-basis:calc(25% - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-3,.dvag-grid-col-1-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-3,.dvag-grid-col-1-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-3,.dvag-grid-col-1-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}.dva-grid-col-1-4,.dvag-grid-col-1-4{margin:0 8px;flex-basis:calc(100% / 3 - 16px);max-width:calc(100% / 3 - 16px)}@media (min-width: 476px){.dva-grid-col-1-4,.dvag-grid-col-1-4{max-width:calc(100% / 3 - 16px);flex-basis:calc(100% / 3 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-4,.dvag-grid-col-1-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-4,.dvag-grid-col-1-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-4,.dvag-grid-col-1-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}.dva-grid-col-1-5,.dvag-grid-col-1-5{margin:0 8px;flex-basis:calc(100% / 2.4 - 16px);max-width:calc(100% / 2.4 - 16px)}@media (min-width: 476px){.dva-grid-col-1-5,.dvag-grid-col-1-5{max-width:calc(100% / 2.4 - 16px);flex-basis:calc(100% / 2.4 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-5,.dvag-grid-col-1-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-5,.dvag-grid-col-1-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-5,.dvag-grid-col-1-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}.dva-grid-col-1-6,.dvag-grid-col-1-6{margin:0 8px;flex-basis:calc(50% - 16px);max-width:calc(50% - 16px)}@media (min-width: 476px){.dva-grid-col-1-6,.dvag-grid-col-1-6{max-width:calc(50% - 16px);flex-basis:calc(50% - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-6,.dvag-grid-col-1-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-6,.dvag-grid-col-1-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-6,.dvag-grid-col-1-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}.dva-grid-col-1-7,.dvag-grid-col-1-7{margin:0 8px;flex-basis:calc(100% / 1.7142857143 - 16px);max-width:calc(100% / 1.7142857143 - 16px)}@media (min-width: 476px){.dva-grid-col-1-7,.dvag-grid-col-1-7{max-width:calc(100% / 1.7142857143 - 16px);flex-basis:calc(100% / 1.7142857143 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-7,.dvag-grid-col-1-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-7,.dvag-grid-col-1-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-7,.dvag-grid-col-1-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}.dva-grid-col-1-8,.dvag-grid-col-1-8{margin:0 8px;flex-basis:calc(100% / 1.5 - 16px);max-width:calc(100% / 1.5 - 16px)}@media (min-width: 476px){.dva-grid-col-1-8,.dvag-grid-col-1-8{max-width:calc(100% / 1.5 - 16px);flex-basis:calc(100% / 1.5 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-8,.dvag-grid-col-1-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-8,.dvag-grid-col-1-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-8,.dvag-grid-col-1-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}.dvag-m-basic-slider__scroll-bar,.dvag-e-progress-bar{flex-basis:calc((100% + 16px) / 12 * 8 - 16px);max-width:calc((100% + 16px) / 12 * 8 - 16px)}@media (min-width: 476px){.dvag-m-basic-slider__scroll-bar,.dvag-e-progress-bar{flex-basis:calc((100% + 16px) / 12 * 8 - 16px);max-width:calc((100% + 16px) / 12 * 8 - 16px)}}@media (min-width: 760px){.dvag-m-basic-slider__scroll-bar,.dvag-e-progress-bar{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 1024px){.dvag-m-basic-slider__scroll-bar,.dvag-e-progress-bar{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 1280px){.dvag-m-basic-slider__scroll-bar,.dvag-e-progress-bar{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}.dva-grid-col-1-9,.dvag-grid-col-1-9{margin:0 8px;flex-basis:calc(100% / 1.3333333333 - 16px);max-width:calc(100% / 1.3333333333 - 16px)}@media (min-width: 476px){.dva-grid-col-1-9,.dvag-grid-col-1-9{max-width:calc(100% / 1.3333333333 - 16px);flex-basis:calc(100% / 1.3333333333 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-9,.dvag-grid-col-1-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-9,.dvag-grid-col-1-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-9,.dvag-grid-col-1-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}.dva-grid-col-1-10,.dvag-grid-col-1-10{margin:0 8px;flex-basis:calc(100% / 1.2 - 16px);max-width:calc(100% / 1.2 - 16px)}@media (min-width: 476px){.dva-grid-col-1-10,.dvag-grid-col-1-10{max-width:calc(100% / 1.2 - 16px);flex-basis:calc(100% / 1.2 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-10,.dvag-grid-col-1-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-10,.dvag-grid-col-1-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-10,.dvag-grid-col-1-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}.dva-grid-col-1-11,.dvag-grid-col-1-11{margin:0 8px;flex-basis:calc(100% / 1.0909090909 - 16px);max-width:calc(100% / 1.0909090909 - 16px)}@media (min-width: 476px){.dva-grid-col-1-11,.dvag-grid-col-1-11{max-width:calc(100% / 1.0909090909 - 16px);flex-basis:calc(100% / 1.0909090909 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-11,.dvag-grid-col-1-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-11,.dvag-grid-col-1-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-11,.dvag-grid-col-1-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}.dvag-m-lottie-slider .dvag-m-basic-slider{flex-basis:calc((100% + 16px) / 12 * 11 - 16px);max-width:calc((100% + 16px) / 12 * 11 - 16px)}@media (min-width: 476px){.dvag-m-lottie-slider .dvag-m-basic-slider{flex-basis:calc((100% + 16px) / 12 * 11 - 16px);max-width:calc((100% + 16px) / 12 * 11 - 16px)}}@media (min-width: 760px){.dvag-m-lottie-slider .dvag-m-basic-slider{flex-basis:calc((100% + 24px) / 12 * 11 - 24px);max-width:calc((100% + 24px) / 12 * 11 - 24px)}}@media (min-width: 1024px){.dvag-m-lottie-slider .dvag-m-basic-slider{flex-basis:calc((100% + 24px) / 12 * 11 - 24px);max-width:calc((100% + 24px) / 12 * 11 - 24px)}}@media (min-width: 1280px){.dvag-m-lottie-slider .dvag-m-basic-slider{flex-basis:calc((100% + 24px) / 12 * 11 - 24px);max-width:calc((100% + 24px) / 12 * 11 - 24px)}}.dva-grid-col-1-12,.dvag-grid-col-1-12{margin:0 8px;flex-basis:calc(100% - 16px);max-width:calc(100% - 16px)}@media (min-width: 476px){.dva-grid-col-1-12,.dvag-grid-col-1-12{max-width:calc(100% - 16px);flex-basis:calc(100% - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-12,.dvag-grid-col-1-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-12,.dvag-grid-col-1-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-12,.dvag-grid-col-1-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}.dvag-m-lottie-slider__animation-box,.dvag-m-basic-overlay__inner-content,.dvag-m-c04-vb-stage__vb-inner-content,.dvag-m-c04-vb-stage__vb-image-wrapper,.dvag-m-c28-content-container__content-wrapper,.dvag-m-c07-rating-teaser-slider__button-wrapper,.dvag-h-header--left-aligned .dvag-m-section-header,.dvag-m-section-header{flex-basis:calc((100% + 16px)*1 - 16px);max-width:calc((100% + 16px)*1 - 16px)}@media (min-width: 476px){.dvag-m-lottie-slider__animation-box,.dvag-m-basic-overlay__inner-content,.dvag-m-c04-vb-stage__vb-inner-content,.dvag-m-c04-vb-stage__vb-image-wrapper,.dvag-m-c28-content-container__content-wrapper,.dvag-m-c07-rating-teaser-slider__button-wrapper,.dvag-h-header--left-aligned .dvag-m-section-header,.dvag-m-section-header{flex-basis:calc((100% + 16px)*1 - 16px);max-width:calc((100% + 16px)*1 - 16px)}}@media (min-width: 760px){.dvag-m-lottie-slider__animation-box,.dvag-m-basic-overlay__inner-content,.dvag-m-c04-vb-stage__vb-inner-content,.dvag-m-c04-vb-stage__vb-image-wrapper,.dvag-m-c28-content-container__content-wrapper,.dvag-m-c07-rating-teaser-slider__button-wrapper,.dvag-h-header--left-aligned .dvag-m-section-header,.dvag-m-section-header{flex-basis:calc((100% + 24px)*1 - 24px);max-width:calc((100% + 24px)*1 - 24px)}}@media (min-width: 1024px){.dvag-m-lottie-slider__animation-box,.dvag-m-basic-overlay__inner-content,.dvag-m-c04-vb-stage__vb-inner-content,.dvag-m-c04-vb-stage__vb-image-wrapper,.dvag-m-c28-content-container__content-wrapper,.dvag-m-c07-rating-teaser-slider__button-wrapper,.dvag-h-header--left-aligned .dvag-m-section-header,.dvag-m-section-header{flex-basis:calc((100% + 24px)*1 - 24px);max-width:calc((100% + 24px)*1 - 24px)}}@media (min-width: 1280px){.dvag-m-lottie-slider__animation-box,.dvag-m-basic-overlay__inner-content,.dvag-m-c04-vb-stage__vb-inner-content,.dvag-m-c04-vb-stage__vb-image-wrapper,.dvag-m-c28-content-container__content-wrapper,.dvag-m-c07-rating-teaser-slider__button-wrapper,.dvag-h-header--left-aligned .dvag-m-section-header,.dvag-m-section-header{flex-basis:calc((100% + 24px)*1 - 24px);max-width:calc((100% + 24px)*1 - 24px)}}.dva-grid-offset-1-0,.dvag-grid-offset-1-0{margin-left:8px}@media (min-width: 476px){.dva-grid-offset-1-0,.dvag-grid-offset-1-0{margin-left:8px}}@media (min-width: 760px){.dva-grid-offset-1-0,.dvag-grid-offset-1-0{margin-left:12px}}@media (min-width: 1024px){.dva-grid-offset-1-0,.dvag-grid-offset-1-0{margin-left:12px}}@media (min-width: 1280px){.dva-grid-offset-1-0,.dvag-grid-offset-1-0{margin-left:12px}}.dva-grid-offset-1-1,.dvag-grid-offset-1-1{margin-left:calc(100% / 12 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-1,.dvag-grid-offset-1-1{margin-left:calc(100% / 12 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-1,.dvag-grid-offset-1-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-1,.dvag-grid-offset-1-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-1,.dvag-grid-offset-1-1{margin-left:calc(100% / 12 + 12px)}}.dvag-m-lottie-slider .dvag-m-basic-slider{margin-left:calc((100% + 16px) / 12 * 1)}@media (min-width: 476px){.dvag-m-lottie-slider .dvag-m-basic-slider{margin-left:calc((100% + 16px) / 12 * 1)}}@media (min-width: 760px){.dvag-m-lottie-slider .dvag-m-basic-slider{margin-left:calc((100% + 24px) / 12 * 1)}}@media (min-width: 1024px){.dvag-m-lottie-slider .dvag-m-basic-slider{margin-left:calc((100% + 24px) / 12 * 1)}}@media (min-width: 1280px){.dvag-m-lottie-slider .dvag-m-basic-slider{margin-left:calc((100% + 24px) / 12 * 1)}}.dva-grid-offset-1-2,.dvag-grid-offset-1-2{margin-left:calc(100% / 6 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-2,.dvag-grid-offset-1-2{margin-left:calc(100% / 6 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-2,.dvag-grid-offset-1-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-2,.dvag-grid-offset-1-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-2,.dvag-grid-offset-1-2{margin-left:calc(100% / 6 + 12px)}}.dvag-m-basic-slider__scroll-bar{margin-left:calc((100% + 16px) / 12 * 2)}@media (min-width: 476px){.dvag-m-basic-slider__scroll-bar{margin-left:calc((100% + 16px) / 12 * 2)}}@media (min-width: 760px){.dvag-m-basic-slider__scroll-bar{margin-left:calc((100% + 24px) / 12 * 2)}}@media (min-width: 1024px){.dvag-m-basic-slider__scroll-bar{margin-left:calc((100% + 24px) / 12 * 2)}}@media (min-width: 1280px){.dvag-m-basic-slider__scroll-bar{margin-left:calc((100% + 24px) / 12 * 2)}}.dva-grid-offset-1-3,.dvag-grid-offset-1-3{margin-left:calc(25% + 8px)}@media (min-width: 476px){.dva-grid-offset-1-3,.dvag-grid-offset-1-3{margin-left:calc(25% + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-3,.dvag-grid-offset-1-3{margin-left:calc(25% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-3,.dvag-grid-offset-1-3{margin-left:calc(25% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-3,.dvag-grid-offset-1-3{margin-left:calc(25% + 12px)}}.dva-grid-offset-1-4,.dvag-grid-offset-1-4{margin-left:calc(100% / 3 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-4,.dvag-grid-offset-1-4{margin-left:calc(100% / 3 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-4,.dvag-grid-offset-1-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-4,.dvag-grid-offset-1-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-4,.dvag-grid-offset-1-4{margin-left:calc(100% / 3 + 12px)}}.dva-grid-offset-1-5,.dvag-grid-offset-1-5{margin-left:calc(100% / 2.4 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-5,.dvag-grid-offset-1-5{margin-left:calc(100% / 2.4 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-5,.dvag-grid-offset-1-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-5,.dvag-grid-offset-1-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-5,.dvag-grid-offset-1-5{margin-left:calc(100% / 2.4 + 12px)}}.dva-grid-offset-1-6,.dvag-grid-offset-1-6{margin-left:calc(50% + 8px)}@media (min-width: 476px){.dva-grid-offset-1-6,.dvag-grid-offset-1-6{margin-left:calc(50% + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-6,.dvag-grid-offset-1-6{margin-left:calc(50% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-6,.dvag-grid-offset-1-6{margin-left:calc(50% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-6,.dvag-grid-offset-1-6{margin-left:calc(50% + 12px)}}.dva-grid-offset-1-7,.dvag-grid-offset-1-7{margin-left:calc(100% / 1.7142857143 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-7,.dvag-grid-offset-1-7{margin-left:calc(100% / 1.7142857143 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-7,.dvag-grid-offset-1-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-7,.dvag-grid-offset-1-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-7,.dvag-grid-offset-1-7{margin-left:calc(100% / 1.7142857143 + 12px)}}.dva-grid-offset-1-8,.dvag-grid-offset-1-8{margin-left:calc(100% / 1.5 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-8,.dvag-grid-offset-1-8{margin-left:calc(100% / 1.5 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-8,.dvag-grid-offset-1-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-8,.dvag-grid-offset-1-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-8,.dvag-grid-offset-1-8{margin-left:calc(100% / 1.5 + 12px)}}.dva-grid-offset-1-9,.dvag-grid-offset-1-9{margin-left:calc(100% / 1.3333333333 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-9,.dvag-grid-offset-1-9{margin-left:calc(100% / 1.3333333333 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-9,.dvag-grid-offset-1-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-9,.dvag-grid-offset-1-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-9,.dvag-grid-offset-1-9{margin-left:calc(100% / 1.3333333333 + 12px)}}.dva-grid-offset-1-10,.dvag-grid-offset-1-10{margin-left:calc(100% / 1.2 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-10,.dvag-grid-offset-1-10{margin-left:calc(100% / 1.2 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-10,.dvag-grid-offset-1-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-10,.dvag-grid-offset-1-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-10,.dvag-grid-offset-1-10{margin-left:calc(100% / 1.2 + 12px)}}.dva-grid-offset-1-11,.dvag-grid-offset-1-11{margin-left:calc(100% / 1.0909090909 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-11,.dvag-grid-offset-1-11{margin-left:calc(100% / 1.0909090909 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-11,.dvag-grid-offset-1-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-11,.dvag-grid-offset-1-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-11,.dvag-grid-offset-1-11{margin-left:calc(100% / 1.0909090909 + 12px)}}.dva-grid-offset-1-12,.dvag-grid-offset-1-12{margin-left:calc(100% + 8px)}@media (min-width: 476px){.dva-grid-offset-1-12,.dvag-grid-offset-1-12{margin-left:calc(100% + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-12,.dvag-grid-offset-1-12{margin-left:calc(100% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-12,.dvag-grid-offset-1-12{margin-left:calc(100% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-12,.dvag-grid-offset-1-12{margin-left:calc(100% + 12px)}}.dva-grid-order-1-1,.dvag-grid-order-1-1{order:1}.dva-grid-order-1-2,.dvag-grid-order-1-2{order:2}.dva-grid-order-1-3,.dvag-grid-order-1-3{order:3}.dva-grid-order-1-4,.dvag-grid-order-1-4{order:4}.dva-grid-order-1-5,.dvag-grid-order-1-5{order:5}.dva-grid-order-1-6,.dvag-grid-order-1-6{order:6}.dva-grid-order-1-7,.dvag-grid-order-1-7{order:7}.dva-grid-order-1-8,.dvag-grid-order-1-8{order:8}.dva-grid-order-1-9,.dvag-grid-order-1-9{order:9}.dva-grid-order-1-10,.dvag-grid-order-1-10{order:10}.dva-grid-order-1-11,.dvag-grid-order-1-11{order:11}.dva-grid-order-1-12,.dvag-grid-order-1-12{order:12}.dva-grid-order-1-first,.dvag-grid-order-1-first{order:-1}.dva-grid-order-1-last,.dvag-grid-order-1-last{order:13}@media (min-width: 476px){.dva-grid-col-2-1,.dvag-grid-col-2-1{max-width:calc(100% / 12 - 16px);flex-basis:calc(100% / 12 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-1,.dvag-grid-col-2-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-1,.dvag-grid-col-2-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-1,.dvag-grid-col-2-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-2,.dvag-grid-col-2-2{max-width:calc(100% / 6 - 16px);flex-basis:calc(100% / 6 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-2,.dvag-grid-col-2-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-2,.dvag-grid-col-2-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-2,.dvag-grid-col-2-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-3,.dvag-grid-col-2-3{max-width:calc(25% - 16px);flex-basis:calc(25% - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-3,.dvag-grid-col-2-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-3,.dvag-grid-col-2-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-3,.dvag-grid-col-2-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-4,.dvag-grid-col-2-4{max-width:calc(100% / 3 - 16px);flex-basis:calc(100% / 3 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-4,.dvag-grid-col-2-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-4,.dvag-grid-col-2-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-4,.dvag-grid-col-2-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-5,.dvag-grid-col-2-5{max-width:calc(100% / 2.4 - 16px);flex-basis:calc(100% / 2.4 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-5,.dvag-grid-col-2-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-5,.dvag-grid-col-2-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-5,.dvag-grid-col-2-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-6,.dvag-grid-col-2-6{max-width:calc(50% - 16px);flex-basis:calc(50% - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-6,.dvag-grid-col-2-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-6,.dvag-grid-col-2-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-6,.dvag-grid-col-2-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-7,.dvag-grid-col-2-7{max-width:calc(100% / 1.7142857143 - 16px);flex-basis:calc(100% / 1.7142857143 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-7,.dvag-grid-col-2-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-7,.dvag-grid-col-2-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-7,.dvag-grid-col-2-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-8,.dvag-grid-col-2-8{max-width:calc(100% / 1.5 - 16px);flex-basis:calc(100% / 1.5 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-8,.dvag-grid-col-2-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-8,.dvag-grid-col-2-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-8,.dvag-grid-col-2-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-9,.dvag-grid-col-2-9{max-width:calc(100% / 1.3333333333 - 16px);flex-basis:calc(100% / 1.3333333333 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-9,.dvag-grid-col-2-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-9,.dvag-grid-col-2-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-9,.dvag-grid-col-2-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-10,.dvag-grid-col-2-10{max-width:calc(100% / 1.2 - 16px);flex-basis:calc(100% / 1.2 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-10,.dvag-grid-col-2-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-10,.dvag-grid-col-2-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-10,.dvag-grid-col-2-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-11,.dvag-grid-col-2-11{max-width:calc(100% / 1.0909090909 - 16px);flex-basis:calc(100% / 1.0909090909 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-11,.dvag-grid-col-2-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-11,.dvag-grid-col-2-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-11,.dvag-grid-col-2-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-12,.dvag-grid-col-2-12{max-width:calc(100% - 16px);flex-basis:calc(100% - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-12,.dvag-grid-col-2-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-12,.dvag-grid-col-2-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-12,.dvag-grid-col-2-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-offset-2-0,.dvag-grid-offset-2-0{margin-left:8px}}@media (min-width: 760px){.dva-grid-offset-2-0,.dvag-grid-offset-2-0{margin-left:12px}}@media (min-width: 1024px){.dva-grid-offset-2-0,.dvag-grid-offset-2-0{margin-left:12px}}@media (min-width: 1280px){.dva-grid-offset-2-0,.dvag-grid-offset-2-0{margin-left:12px}}@media (min-width: 476px){.dva-grid-offset-2-1,.dvag-grid-offset-2-1{margin-left:calc(100% / 12 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-1,.dvag-grid-offset-2-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-1,.dvag-grid-offset-2-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-1,.dvag-grid-offset-2-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-2,.dvag-grid-offset-2-2{margin-left:calc(100% / 6 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-2,.dvag-grid-offset-2-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-2,.dvag-grid-offset-2-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-2,.dvag-grid-offset-2-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-3,.dvag-grid-offset-2-3{margin-left:calc(25% + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-3,.dvag-grid-offset-2-3{margin-left:calc(25% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-3,.dvag-grid-offset-2-3{margin-left:calc(25% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-3,.dvag-grid-offset-2-3{margin-left:calc(25% + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-4,.dvag-grid-offset-2-4{margin-left:calc(100% / 3 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-4,.dvag-grid-offset-2-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-4,.dvag-grid-offset-2-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-4,.dvag-grid-offset-2-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-5,.dvag-grid-offset-2-5{margin-left:calc(100% / 2.4 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-5,.dvag-grid-offset-2-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-5,.dvag-grid-offset-2-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-5,.dvag-grid-offset-2-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-6,.dvag-grid-offset-2-6{margin-left:calc(50% + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-6,.dvag-grid-offset-2-6{margin-left:calc(50% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-6,.dvag-grid-offset-2-6{margin-left:calc(50% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-6,.dvag-grid-offset-2-6{margin-left:calc(50% + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-7,.dvag-grid-offset-2-7{margin-left:calc(100% / 1.7142857143 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-7,.dvag-grid-offset-2-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-7,.dvag-grid-offset-2-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-7,.dvag-grid-offset-2-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-8,.dvag-grid-offset-2-8{margin-left:calc(100% / 1.5 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-8,.dvag-grid-offset-2-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-8,.dvag-grid-offset-2-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-8,.dvag-grid-offset-2-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-9,.dvag-grid-offset-2-9{margin-left:calc(100% / 1.3333333333 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-9,.dvag-grid-offset-2-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-9,.dvag-grid-offset-2-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-9,.dvag-grid-offset-2-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-10,.dvag-grid-offset-2-10{margin-left:calc(100% / 1.2 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-10,.dvag-grid-offset-2-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-10,.dvag-grid-offset-2-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-10,.dvag-grid-offset-2-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-11,.dvag-grid-offset-2-11{margin-left:calc(100% / 1.0909090909 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-11,.dvag-grid-offset-2-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-11,.dvag-grid-offset-2-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-11,.dvag-grid-offset-2-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-12,.dvag-grid-offset-2-12{margin-left:calc(100% + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-12,.dvag-grid-offset-2-12{margin-left:calc(100% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-12,.dvag-grid-offset-2-12{margin-left:calc(100% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-12,.dvag-grid-offset-2-12{margin-left:calc(100% + 12px)}}@media (min-width: 476px){.dva-grid-order-2-1,.dvag-grid-order-2-1{order:1}}@media (min-width: 476px){.dva-grid-order-2-2,.dvag-grid-order-2-2{order:2}}@media (min-width: 476px){.dva-grid-order-2-3,.dvag-grid-order-2-3{order:3}}@media (min-width: 476px){.dva-grid-order-2-4,.dvag-grid-order-2-4{order:4}}@media (min-width: 476px){.dva-grid-order-2-5,.dvag-grid-order-2-5{order:5}}@media (min-width: 476px){.dva-grid-order-2-6,.dvag-grid-order-2-6{order:6}}@media (min-width: 476px){.dva-grid-order-2-7,.dvag-grid-order-2-7{order:7}}@media (min-width: 476px){.dva-grid-order-2-8,.dvag-grid-order-2-8{order:8}}@media (min-width: 476px){.dva-grid-order-2-9,.dvag-grid-order-2-9{order:9}}@media (min-width: 476px){.dva-grid-order-2-10,.dvag-grid-order-2-10{order:10}}@media (min-width: 476px){.dva-grid-order-2-11,.dvag-grid-order-2-11{order:11}}@media (min-width: 476px){.dva-grid-order-2-12,.dvag-grid-order-2-12{order:12}}@media (min-width: 476px){.dva-grid-order-2-first,.dvag-grid-order-2-first{order:-1}}@media (min-width: 476px){.dva-grid-order-2-last,.dvag-grid-order-2-last{order:13}}@media (min-width: 760px){.dva-grid-col-3-1,.dvag-grid-col-3-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-1,.dvag-grid-col-3-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-1,.dvag-grid-col-3-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-2,.dvag-grid-col-3-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-2,.dvag-grid-col-3-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-2,.dvag-grid-col-3-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-3,.dvag-grid-col-3-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-3,.dvag-grid-col-3-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-3,.dvag-grid-col-3-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-4,.dvag-grid-col-3-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-4,.dvag-grid-col-3-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-4,.dvag-grid-col-3-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-5,.dvag-grid-col-3-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-5,.dvag-grid-col-3-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-5,.dvag-grid-col-3-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-6,.dvag-grid-col-3-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-6,.dvag-grid-col-3-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-6,.dvag-grid-col-3-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-7,.dvag-grid-col-3-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-7,.dvag-grid-col-3-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-7,.dvag-grid-col-3-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-8,.dvag-grid-col-3-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-8,.dvag-grid-col-3-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-8,.dvag-grid-col-3-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 760px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 1024px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 1280px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 760px){.dva-grid-col-3-9,.dvag-grid-col-3-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-9,.dvag-grid-col-3-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-9,.dvag-grid-col-3-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-10,.dvag-grid-col-3-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-10,.dvag-grid-col-3-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-10,.dvag-grid-col-3-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 760px){.dvag-m-basic-overlay__inner-content,.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper,.dvag-m-c28-content-container--10-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px) / 12 * 10 - 24px);max-width:calc((100% + 24px) / 12 * 10 - 24px)}}@media (min-width: 1024px){.dvag-m-basic-overlay__inner-content,.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper,.dvag-m-c28-content-container--10-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px) / 12 * 10 - 24px);max-width:calc((100% + 24px) / 12 * 10 - 24px)}}@media (min-width: 1280px){.dvag-m-basic-overlay__inner-content,.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper,.dvag-m-c28-content-container--10-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px) / 12 * 10 - 24px);max-width:calc((100% + 24px) / 12 * 10 - 24px)}}@media (min-width: 760px){.dva-grid-col-3-11,.dvag-grid-col-3-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-11,.dvag-grid-col-3-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-11,.dvag-grid-col-3-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-12,.dvag-grid-col-3-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-12,.dvag-grid-col-3-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-12,.dvag-grid-col-3-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-offset-3-0,.dvag-grid-offset-3-0{margin-left:12px}}@media (min-width: 1024px){.dva-grid-offset-3-0,.dvag-grid-offset-3-0{margin-left:12px}}@media (min-width: 1280px){.dva-grid-offset-3-0,.dvag-grid-offset-3-0{margin-left:12px}}@media (min-width: 760px){.dva-grid-offset-3-1,.dvag-grid-offset-3-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-1,.dvag-grid-offset-3-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-1,.dvag-grid-offset-3-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 760px){.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper,.dvag-m-c28-content-container--10-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px) / 12 * 1)}}@media (min-width: 1024px){.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper,.dvag-m-c28-content-container--10-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px) / 12 * 1)}}@media (min-width: 1280px){.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper,.dvag-m-c28-content-container--10-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px) / 12 * 1)}}@media (min-width: 760px){.dva-grid-offset-3-2,.dvag-grid-offset-3-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-2,.dvag-grid-offset-3-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-2,.dvag-grid-offset-3-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 760px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px) / 12 * 2)}}@media (min-width: 1024px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px) / 12 * 2)}}@media (min-width: 1280px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px) / 12 * 2)}}@media (min-width: 760px){.dva-grid-offset-3-3,.dvag-grid-offset-3-3{margin-left:calc(25% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-3,.dvag-grid-offset-3-3{margin-left:calc(25% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-3,.dvag-grid-offset-3-3{margin-left:calc(25% + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-4,.dvag-grid-offset-3-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-4,.dvag-grid-offset-3-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-4,.dvag-grid-offset-3-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-5,.dvag-grid-offset-3-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-5,.dvag-grid-offset-3-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-5,.dvag-grid-offset-3-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-6,.dvag-grid-offset-3-6{margin-left:calc(50% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-6,.dvag-grid-offset-3-6{margin-left:calc(50% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-6,.dvag-grid-offset-3-6{margin-left:calc(50% + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-7,.dvag-grid-offset-3-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-7,.dvag-grid-offset-3-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-7,.dvag-grid-offset-3-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-8,.dvag-grid-offset-3-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-8,.dvag-grid-offset-3-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-8,.dvag-grid-offset-3-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-9,.dvag-grid-offset-3-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-9,.dvag-grid-offset-3-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-9,.dvag-grid-offset-3-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-10,.dvag-grid-offset-3-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-10,.dvag-grid-offset-3-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-10,.dvag-grid-offset-3-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-11,.dvag-grid-offset-3-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-11,.dvag-grid-offset-3-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-11,.dvag-grid-offset-3-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-12,.dvag-grid-offset-3-12{margin-left:calc(100% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-12,.dvag-grid-offset-3-12{margin-left:calc(100% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-12,.dvag-grid-offset-3-12{margin-left:calc(100% + 12px)}}@media (min-width: 760px){.dva-grid-order-3-1,.dvag-grid-order-3-1{order:1}}@media (min-width: 760px){.dva-grid-order-3-2,.dvag-grid-order-3-2{order:2}}@media (min-width: 760px){.dva-grid-order-3-3,.dvag-grid-order-3-3{order:3}}@media (min-width: 760px){.dva-grid-order-3-4,.dvag-grid-order-3-4{order:4}}@media (min-width: 760px){.dva-grid-order-3-5,.dvag-grid-order-3-5{order:5}}@media (min-width: 760px){.dva-grid-order-3-6,.dvag-grid-order-3-6{order:6}}@media (min-width: 760px){.dva-grid-order-3-7,.dvag-grid-order-3-7{order:7}}@media (min-width: 760px){.dva-grid-order-3-8,.dvag-grid-order-3-8{order:8}}@media (min-width: 760px){.dva-grid-order-3-9,.dvag-grid-order-3-9{order:9}}@media (min-width: 760px){.dva-grid-order-3-10,.dvag-grid-order-3-10{order:10}}@media (min-width: 760px){.dva-grid-order-3-11,.dvag-grid-order-3-11{order:11}}@media (min-width: 760px){.dva-grid-order-3-12,.dvag-grid-order-3-12{order:12}}@media (min-width: 760px){.dva-grid-order-3-first,.dvag-grid-order-3-first{order:-1}}@media (min-width: 760px){.dva-grid-order-3-last,.dvag-grid-order-3-last{order:13}}@media (min-width: 1024px){.dva-grid-col-4-1,.dvag-grid-col-4-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-1,.dvag-grid-col-4-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-2,.dvag-grid-col-4-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-2,.dvag-grid-col-4-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-3,.dvag-grid-col-4-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-3,.dvag-grid-col-4-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-4,.dvag-grid-col-4-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-4,.dvag-grid-col-4-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-5,.dvag-grid-col-4-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-5,.dvag-grid-col-4-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-6,.dvag-grid-col-4-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-6,.dvag-grid-col-4-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1024px){.dvag-m-c04-vb-stage__vb-inner-content,.dvag-m-c04-vb-stage__vb-image-wrapper,.dvag-e-progress-bar{flex-basis:calc((100% + 24px)/2 - 24px);max-width:calc((100% + 24px)/2 - 24px)}}@media (min-width: 1280px){.dvag-m-c04-vb-stage__vb-inner-content,.dvag-m-c04-vb-stage__vb-image-wrapper,.dvag-e-progress-bar{flex-basis:calc((100% + 24px)/2 - 24px);max-width:calc((100% + 24px)/2 - 24px)}}@media (min-width: 1024px){.dva-grid-col-4-7,.dvag-grid-col-4-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-7,.dvag-grid-col-4-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-8,.dvag-grid-col-4-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-8,.dvag-grid-col-4-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1024px){.dvag-m-lottie-slider__animation-box,.dvag-m-basic-overlay__inner-content,.dvag-h-header--left-aligned .dvag-m-section-header{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 1280px){.dvag-m-lottie-slider__animation-box,.dvag-m-basic-overlay__inner-content,.dvag-h-header--left-aligned .dvag-m-section-header{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 1024px){.dva-grid-col-4-9,.dvag-grid-col-4-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-9,.dvag-grid-col-4-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-10,.dvag-grid-col-4-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-10,.dvag-grid-col-4-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1024px){.dvag-m-lottie-slider .dvag-m-basic-slider,.dvag-m-section-header{flex-basis:calc((100% + 24px) / 12 * 10 - 24px);max-width:calc((100% + 24px) / 12 * 10 - 24px)}}@media (min-width: 1280px){.dvag-m-lottie-slider .dvag-m-basic-slider,.dvag-m-section-header{flex-basis:calc((100% + 24px) / 12 * 10 - 24px);max-width:calc((100% + 24px) / 12 * 10 - 24px)}}@media (min-width: 1024px){.dva-grid-col-4-11,.dvag-grid-col-4-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-11,.dvag-grid-col-4-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-12,.dvag-grid-col-4-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-12,.dvag-grid-col-4-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1024px){.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__vb-inner-content{flex-basis:calc((100% + 24px)*1 - 24px);max-width:calc((100% + 24px)*1 - 24px)}}@media (min-width: 1280px){.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__vb-inner-content{flex-basis:calc((100% + 24px)*1 - 24px);max-width:calc((100% + 24px)*1 - 24px)}}@media (min-width: 1024px){.dva-grid-offset-4-0,.dvag-grid-offset-4-0{margin-left:12px}}@media (min-width: 1280px){.dva-grid-offset-4-0,.dvag-grid-offset-4-0{margin-left:12px}}@media (min-width: 1024px){.dvag-h-header--left-aligned .dvag-m-section-header{margin-left:0}}@media (min-width: 1280px){.dvag-h-header--left-aligned .dvag-m-section-header{margin-left:0}}@media (min-width: 1024px){.dva-grid-offset-4-1,.dvag-grid-offset-4-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-1,.dvag-grid-offset-4-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1024px){.dvag-m-section-header{margin-left:calc((100% + 24px) / 12 * 1)}}@media (min-width: 1280px){.dvag-m-section-header{margin-left:calc((100% + 24px) / 12 * 1)}}@media (min-width: 1024px){.dva-grid-offset-4-2,.dvag-grid-offset-4-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-2,.dvag-grid-offset-4-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-3,.dvag-grid-offset-4-3{margin-left:calc(25% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-3,.dvag-grid-offset-4-3{margin-left:calc(25% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-4,.dvag-grid-offset-4-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-4,.dvag-grid-offset-4-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-5,.dvag-grid-offset-4-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-5,.dvag-grid-offset-4-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-6,.dvag-grid-offset-4-6{margin-left:calc(50% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-6,.dvag-grid-offset-4-6{margin-left:calc(50% + 12px)}}@media (min-width: 1024px){.dvag-m-c04-vb-stage__vb-image-wrapper{margin-left:calc((100% + 24px)/2)}}@media (min-width: 1280px){.dvag-m-c04-vb-stage__vb-image-wrapper{margin-left:calc((100% + 24px)/2)}}@media (min-width: 1024px){.dva-grid-offset-4-7,.dvag-grid-offset-4-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-7,.dvag-grid-offset-4-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-8,.dvag-grid-offset-4-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-8,.dvag-grid-offset-4-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-9,.dvag-grid-offset-4-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-9,.dvag-grid-offset-4-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-10,.dvag-grid-offset-4-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-10,.dvag-grid-offset-4-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-11,.dvag-grid-offset-4-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-11,.dvag-grid-offset-4-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-12,.dvag-grid-offset-4-12{margin-left:calc(100% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-12,.dvag-grid-offset-4-12{margin-left:calc(100% + 12px)}}@media (min-width: 1024px){.dva-grid-order-4-1,.dvag-grid-order-4-1{order:1}}@media (min-width: 1024px){.dva-grid-order-4-2,.dvag-grid-order-4-2{order:2}}@media (min-width: 1024px){.dva-grid-order-4-3,.dvag-grid-order-4-3{order:3}}@media (min-width: 1024px){.dva-grid-order-4-4,.dvag-grid-order-4-4{order:4}}@media (min-width: 1024px){.dva-grid-order-4-5,.dvag-grid-order-4-5{order:5}}@media (min-width: 1024px){.dva-grid-order-4-6,.dvag-grid-order-4-6{order:6}}@media (min-width: 1024px){.dva-grid-order-4-7,.dvag-grid-order-4-7{order:7}}@media (min-width: 1024px){.dva-grid-order-4-8,.dvag-grid-order-4-8{order:8}}@media (min-width: 1024px){.dva-grid-order-4-9,.dvag-grid-order-4-9{order:9}}@media (min-width: 1024px){.dva-grid-order-4-10,.dvag-grid-order-4-10{order:10}}@media (min-width: 1024px){.dva-grid-order-4-11,.dvag-grid-order-4-11{order:11}}@media (min-width: 1024px){.dva-grid-order-4-12,.dvag-grid-order-4-12{order:12}}@media (min-width: 1024px){.dva-grid-order-4-first,.dvag-grid-order-4-first{order:-1}}@media (min-width: 1024px){.dva-grid-order-4-last,.dvag-grid-order-4-last{order:13}}@media (min-width: 1280px){.dva-grid-col-5-1,.dvag-grid-col-5-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-2,.dvag-grid-col-5-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-3,.dvag-grid-col-5-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-4,.dvag-grid-col-5-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-5,.dvag-grid-col-5-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-6,.dvag-grid-col-5-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1280px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px)/2 - 24px);max-width:calc((100% + 24px)/2 - 24px)}}@media (min-width: 1280px){.dva-grid-col-5-7,.dvag-grid-col-5-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-8,.dvag-grid-col-5-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1280px){.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 1280px){.dva-grid-col-5-9,.dvag-grid-col-5-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-10,.dvag-grid-col-5-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-11,.dvag-grid-col-5-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-12,.dvag-grid-col-5-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-offset-5-0,.dvag-grid-offset-5-0{margin-left:12px}}@media (min-width: 1280px){.dva-grid-offset-5-1,.dvag-grid-offset-5-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-2,.dvag-grid-offset-5-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1280px){.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px) / 12 * 2)}}@media (min-width: 1280px){.dva-grid-offset-5-3,.dvag-grid-offset-5-3{margin-left:calc(25% + 12px)}}@media (min-width: 1280px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px)/4)}}@media (min-width: 1280px){.dva-grid-offset-5-4,.dvag-grid-offset-5-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-5,.dvag-grid-offset-5-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-6,.dvag-grid-offset-5-6{margin-left:calc(50% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-7,.dvag-grid-offset-5-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-8,.dvag-grid-offset-5-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-9,.dvag-grid-offset-5-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-10,.dvag-grid-offset-5-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-11,.dvag-grid-offset-5-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-12,.dvag-grid-offset-5-12{margin-left:calc(100% + 12px)}}@media (min-width: 1280px){.dva-grid-order-5-1,.dvag-grid-order-5-1{order:1}}@media (min-width: 1280px){.dva-grid-order-5-2,.dvag-grid-order-5-2{order:2}}@media (min-width: 1280px){.dva-grid-order-5-3,.dvag-grid-order-5-3{order:3}}@media (min-width: 1280px){.dva-grid-order-5-4,.dvag-grid-order-5-4{order:4}}@media (min-width: 1280px){.dva-grid-order-5-5,.dvag-grid-order-5-5{order:5}}@media (min-width: 1280px){.dva-grid-order-5-6,.dvag-grid-order-5-6{order:6}}@media (min-width: 1280px){.dva-grid-order-5-7,.dvag-grid-order-5-7{order:7}}@media (min-width: 1280px){.dva-grid-order-5-8,.dvag-grid-order-5-8{order:8}}@media (min-width: 1280px){.dva-grid-order-5-9,.dvag-grid-order-5-9{order:9}}@media (min-width: 1280px){.dva-grid-order-5-10,.dvag-grid-order-5-10{order:10}}@media (min-width: 1280px){.dva-grid-order-5-11,.dvag-grid-order-5-11{order:11}}@media (min-width: 1280px){.dva-grid-order-5-12,.dvag-grid-order-5-12{order:12}}@media (min-width: 1280px){.dva-grid-order-5-first,.dvag-grid-order-5-first{order:-1}}@media (min-width: 1280px){.dva-grid-order-5-last,.dvag-grid-order-5-last{order:13}}.dva-type-975,.dva-type-975-bold,.dva-type-975-bold-italic,.dva-type-975-light,.dva-type-975-light-italic,.dva-type-975-italic{margin:0;font-family:dvag-type,sans-serif;font-size:3rem;line-height:1.25}@media (min-width: 1024px){.dva-type-975,.dva-type-975-bold,.dva-type-975-bold-italic,.dva-type-975-light,.dva-type-975-light-italic,.dva-type-975-italic{font-size:4rem}}.dva-type-950,.dva-type-950-bold,.dva-type-950-bold-italic,.dva-type-950-light,.dva-type-950-light-italic,.dva-type-950-italic{margin:0 0 24px;font-family:dvag-type,sans-serif;font-size:2.375rem;line-height:1.28}@media (min-width: 1024px){.dva-type-950,.dva-type-950-bold,.dva-type-950-bold-italic,.dva-type-950-light,.dva-type-950-light-italic,.dva-type-950-italic{margin:0 0 32px;font-size:3.5rem}}.dva-type-900,.dvag-m-section-header__headline,.dva-type-900-bold,.dva-type-900-bold-italic,.dvag-h-headline--regular .dvag-m-section-header__headline,.dva-type-900-light,.dva-type-900-light-italic,.dva-type-900-italic{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:2rem;line-height:1.27}@media (min-width: 1024px){.dva-type-900,.dvag-m-section-header__headline,.dva-type-900-bold,.dva-type-900-bold-italic,.dvag-h-headline--regular .dvag-m-section-header__headline,.dva-type-900-light,.dva-type-900-light-italic,.dva-type-900-italic{margin:0 0 32px;font-size:2.75rem}}.dva-type-850,.dvag-m-n03-vb-footer__headline,.dvag-m-c04-vb-stage__vb-name,.dva-type-850-bold,.dva-type-850-bold-italic,.dva-type-850-light,.dva-type-850-light-italic,.dva-type-850-italic{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.75rem;line-height:1.35}@media (min-width: 1024px){.dva-type-850,.dvag-m-n03-vb-footer__headline,.dvag-m-c04-vb-stage__vb-name,.dva-type-850-bold,.dva-type-850-bold-italic,.dva-type-850-light,.dva-type-850-light-italic,.dva-type-850-italic{margin:0 0 24px;font-size:2.5rem}}.dvag-m-c01e-teaser-overlay__headline,.dva-type-800,.dva-type-800-bold,.dva-type-800-bold-italic,.dva-type-800-light,.dva-type-800-light-italic,.dva-type-800-italic{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.5rem;line-height:1.42}@media (min-width: 1024px){.dvag-m-c01e-teaser-overlay__headline,.dva-type-800,.dva-type-800-bold,.dva-type-800-bold-italic,.dva-type-800-light,.dva-type-800-light-italic,.dva-type-800-italic{margin:0 0 24px;font-size:1.75rem}}.dva-type-750,.dvag-m-n01-navigation__level-2-headline,.dvag-m-n01-navigation__item-link,.dva-type-750-bold,.dva-type-750-bold-italic,.dva-type-750-light,.dva-type-750-light-italic,.dva-type-750-italic{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.5rem;line-height:1.33}.dvag-m-n03-vb-footer__topline,.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__toggle-label,.dvag-m-n02-footer__headline,.dvag-m-c01e-teaser__headline,.dvag-m-section-header__subheadline,.dva-type-700,.dva-type-700-bold,.dva-type-700-bold-italic,.dva-type-700-light,.dva-type-700-light-italic,.dva-type-700-italic{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.25rem;line-height:1.4}.dvag-m-n01-navigation__teaser-headline,.dva-type-550,.dvag-m-lottie-slider-slide__headline,.dvag-m-c04-vb-stage__vb-info,.dva-type-550-bold,.dva-type-550-bold-italic,.dva-type-550-light,.dva-type-550-light-italic,.dva-type-550-italic{margin:0;font-family:dvag-type,sans-serif;font-size:1.125rem;line-height:1.44}.dvag-m-n01-navigation__level-2-subheadline,.dvag-m-n01-navigation__item-link--language-switch,.dvag-m-n01-navigation__item-link--secondary,.dvag-m-n01-navigation__item-link--level-2,.dvag-m-c04-vb-stage__rating-link,.dvag-m-c11-accordion__toggle-label,.dvag-m-c01e-teaser-overlay__text,.dvag-m-c01e-teaser .dvag-m-c01e-teaser__text,.dvag-m-section-header__text,.dva-e-button--rebrush .dva-e-button__label,body,.dva-type-500,.dvag-m-n01-navigation__item-link--optional,.dvag-m-n01-navigation__header-button,.dvag-m-c04-vb-stage__rating-label,.dvag-m-c11-accordion__toggle,.dvag-m-c01e-teaser-overlay__rating-category,.dva-type-500-bold,.dva-type-500-bold-italic,.dva-type-500-light,.dva-type-500-light-italic,.dva-type-500-italic{margin:0;font-family:dvag-type,sans-serif;font-size:1rem;line-height:1.5}.dvag-m-n01-navigation__item-rating-label,.dvag-m-n01-header__vb-subheadline,.dvag-m-n02-footer__copyright,.dvag-m-c01e-teaser-overlay__vb-label,.dvag-m-c01e-teaser-overlay__customer-label,.dvag-m-c01e-teaser-overlay__customer-name,.dvag-m-c01e-teaser-overlay__customer-info,.dvag-m-c01e-teaser__customer-label,.dvag-m-c01e-teaser__footer,.dva-type-400,.dvag-m-n01-header__vb-link,.dvag-m-n01-header__vb-name,.dvag-m-lottie-slider-slide__subheadline,.dvag-m-c01e-teaser-overlay__vb-name,.dva-type-400-bold,.dva-type-400-bold-italic,.dva-type-400-light,.dva-type-400-light-italic,.dva-type-400-italic{margin:0;font-family:dvag-type,sans-serif;font-size:.875rem;line-height:1.57}.dvag-m-c01e-teaser-overlay .dvag-m-c01e-teaser-overlay__rating-label,.dvag-m-c01e-teaser .dvag-m-c01e-teaser__rating-label,.dva-m-breadcrump-navigation__label,.dva-type-200,.dva-type-200-bold,.dva-type-200-bold-italic,.dva-type-200-light,.dva-type-200-light-italic,.dva-type-200-italic{margin:0;font-family:dvag-type,sans-serif;font-size:.75rem;line-height:1.5}@font-face{font-family:dvag-type;font-weight:300;font-style:normal;font-display:swap;src:url(../fonts/dvag-type/woff2/DVAGType_W_Lt.woff2) format("woff2"),url(../fonts/dvag-type/woff/DVAGType_W_Lt.woff) format("woff")}@font-face{font-family:dvag-type;font-weight:300;font-style:italic;font-display:swap;src:url(../fonts/dvag-type/woff2/DVAGType_W_LtIt.woff2) format("woff2"),url(../fonts/dvag-type/woff/DVAGType_W_LtIt.woff) format("woff")}@font-face{font-family:dvag-type;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/dvag-type/woff2/DVAGType_W_Rg.woff2) format("woff2"),url(../fonts/dvag-type/woff/DVAGType_W_Rg.woff) format("woff")}@font-face{font-family:dvag-type;font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/dvag-type/woff2/DVAGType_W_It.woff2) format("woff2"),url(../fonts/dvag-type/woff/DVAGType_W_It.woff) format("woff")}@font-face{font-family:dvag-type;font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/dvag-type/woff2/DVAGType_W_Bd.woff2) format("woff2"),url(../fonts/dvag-type/woff/DVAGType_W_Bd.woff) format("woff")}@font-face{font-family:dvag-type;font-weight:700;font-style:italic;font-display:swap;src:url(../fonts/dvag-type/woff2/DVAGType_W_BdIt.woff2) format("woff2"),url(../fonts/dvag-type/woff/DVAGType_W_BdIt.woff) format("woff")}.dvag-m-n01-navigation__item-link--level-2,.dvag-m-n01-header__burger-label,.dvag-m-n01-header__header-navigation-link,.dvag-m-n02-footer__navigation .dva-e-link,.dvag-m-c01e-teaser__cta,.dva-e-button__label,.dva-type-bold,.dva-type-975-bold,.dva-type-975-bold-italic,.dva-type-950-bold,.dva-type-950-bold-italic,.dvag-m-section-header__headline,.dva-type-900-bold,.dva-type-900-bold-italic,.dvag-m-n03-vb-footer__headline,.dvag-m-c04-vb-stage__vb-name,.dva-type-850-bold,.dva-type-850-bold-italic,.dva-type-800-bold,.dva-type-800-bold-italic,.dvag-m-n01-navigation__level-2-headline,.dvag-m-n01-navigation__item-link,.dva-type-750-bold,.dva-type-750-bold-italic,.dva-type-700-bold,.dva-type-700-bold-italic,.dvag-m-lottie-slider-slide__headline,.dvag-m-c04-vb-stage__vb-info,.dva-type-550-bold,.dva-type-550-bold-italic,.dvag-m-n01-navigation__item-link--optional,.dvag-m-n01-navigation__header-button,.dvag-m-c04-vb-stage__rating-label,.dvag-m-c11-accordion__toggle,.dvag-m-c01e-teaser-overlay__rating-category,.dva-type-500-bold,.dva-type-500-bold-italic,.dvag-m-n01-header__vb-link,.dvag-m-n01-header__vb-name,.dvag-m-lottie-slider-slide__subheadline,.dvag-m-c01e-teaser-overlay__vb-name,.dva-type-400-bold,.dva-type-400-bold-italic,.dva-type-200-bold,.dva-type-200-bold-italic{font-weight:700}.dvag-m-n01-navigation__level-2-subheadline,.dvag-m-n01-navigation__item-rating-label,.dvag-m-n01-navigation__item-link--language-switch,.dvag-m-n01-navigation__item-link--secondary,.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__toggle-label,.dvag-m-section-header__subheadline,.dva-type-regular{font-weight:400}.dva-type-light,.dva-type-975-light,.dva-type-975-light-italic,.dva-type-950-light,.dva-type-950-light-italic,.dvag-h-headline--regular .dvag-m-section-header__headline,.dva-type-900-light,.dva-type-900-light-italic,.dva-type-850-light,.dva-type-850-light-italic,.dva-type-800-light,.dva-type-800-light-italic,.dva-type-750-light,.dva-type-750-light-italic,.dva-type-700-light,.dva-type-700-light-italic,.dva-type-550-light,.dva-type-550-light-italic,.dva-type-500-light,.dva-type-500-light-italic,.dva-type-400-light,.dva-type-400-light-italic,.dva-type-200-light,.dva-type-200-light-italic{font-weight:300}.dva-type-italic,.dva-type-975-bold-italic,.dva-type-975-light-italic,.dva-type-975-italic,.dva-type-950-bold-italic,.dva-type-950-light-italic,.dva-type-950-italic,.dva-type-900-bold-italic,.dva-type-900-light-italic,.dva-type-900-italic,.dva-type-850-bold-italic,.dva-type-850-light-italic,.dva-type-850-italic,.dva-type-800-bold-italic,.dva-type-800-light-italic,.dva-type-800-italic,.dva-type-750-bold-italic,.dva-type-750-light-italic,.dva-type-750-italic,.dva-type-700-bold-italic,.dva-type-700-light-italic,.dva-type-700-italic,.dva-type-550-bold-italic,.dva-type-550-light-italic,.dva-type-550-italic,.dva-type-500-bold-italic,.dva-type-500-light-italic,.dva-type-500-italic,.dva-type-400-bold-italic,.dva-type-400-light-italic,.dva-type-400-italic,.dva-type-200-bold-italic,.dva-type-200-light-italic,.dva-type-200-italic{font-style:italic}@-webkit-keyframes loading-animation{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes loading-animation{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes loading-animation{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-animation{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loadingShimmer{0%{left:-40%}to{left:140%}}@keyframes shimmer-loading-animation{0%{background-position:100%}to{background-position:0}}@keyframes dvaFadeIn{0%{opacity:0}to{opacity:1}}@keyframes white-pulse-animation{0%{box-shadow:0 0 #ffffffb3}66%{box-shadow:0 0 0 20px #0000}to{box-shadow:0 0 0 20px #0000}}@keyframes gold-pulse-animation{0%{box-shadow:0 0 #c8aa22b3}66%{box-shadow:0 0 0 20px #0000}to{box-shadow:0 0 0 20px #0000}}.dvag-m-n01-navigation__group-list,.dvag-m-n01-header__header-navigation-list,.dvag-m-n02-footer__list{padding:0;margin:0;list-style-type:none}.dvag-m-n03-vb-footer__contact-link,.dvag-m-section-header__text a,.dva-m-breadcrump-navigation__link,.dva-e-link{position:relative;top:1px;display:inline-flex;align-items:center;vertical-align:bottom;color:#c8aa22;text-decoration:none;transition:color .3s ease-in-out}@media (hover: hover) and (pointer: fine){.dvag-m-n03-vb-footer__contact-link:hover,.dvag-m-section-header__text a:hover,.dva-m-breadcrump-navigation__link:hover,.dva-e-link:hover{text-decoration:none;color:#786614}.dvag-m-n03-vb-footer__contact-link:hover:before,.dvag-m-section-header__text a:hover:before,.dva-m-breadcrump-navigation__link:hover:before,.dva-e-link:hover:before{content:"";position:absolute;top:0;bottom:-2px;left:0;display:block;width:100%;border-bottom:2px solid #786614;animation:dva-link-border__animation .3s 1 ease-in-out}}.dvag-h-keyboard-focus .dvag-m-n03-vb-footer__contact-link:focus,.dvag-h-keyboard-focus .dvag-m-section-header__text a:focus,.dvag-m-section-header__text .dvag-h-keyboard-focus a:focus,.dvag-h-keyboard-focus .dva-m-breadcrump-navigation__link:focus,.dvag-h-keyboard-focus .dva-e-link:focus{outline:none;text-decoration:none}.dvag-h-keyboard-focus .dvag-m-n03-vb-footer__contact-link:focus:after,.dvag-h-keyboard-focus .dvag-m-section-header__text a:focus:after,.dvag-m-section-header__text .dvag-h-keyboard-focus a:focus:after,.dvag-h-keyboard-focus .dva-m-breadcrump-navigation__link:focus:after,.dvag-h-keyboard-focus .dva-e-link:focus:after{content:"";position:absolute;top:0;right:0;bottom:-2px;left:0;display:block;width:100%;border-bottom:2px solid #c8aa22}.dvag-m-n03-vb-footer__contact-link:active:after,.dvag-m-section-header__text a:active:after,.dva-m-breadcrump-navigation__link:active:after,.dva-e-link:active:after{content:none}.dvag-m-n03-vb-footer__contact-link .dva-e-icon,.dvag-m-section-header__text a .dva-e-icon,.dva-m-breadcrump-navigation__link .dva-e-icon,.dva-e-link .dva-e-icon{display:flex;width:12px;height:12px;margin:0 0 0 5px;color:inherit;fill:currentColor}html *{box-sizing:border-box}html{--fixed-header-height: 72px;scroll-padding-top:var(--fixed-header-height)}body{display:block;margin:0;color:#4d4d4d;background-color:#d9d9d9;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}body.dvag-configurator{background-color:#e6e6e6}body.dva-state-cookie-overlay-open{overflow:hidden;height:100%}body.dvag-state-hidden-overflow{position:fixed;overflow-y:hidden;width:100%}.dva-page{width:100%;max-width:1460px;margin:var(--fixed-header-height) auto 0;background:#fff}.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(2n)>*{background-color:#f2f2f2}.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(2n)>* .dvag-m-skewed-box__content{background-color:#f2f2f2}.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(2n)>* .dva-h-skew--in,.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(2n)>* .dva-h-skew--out{color:#f2f2f2;background-color:#fff}.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(odd)>*{background-color:#fff}.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(odd)>* .dvag-m-skewed-box__content{background-color:#fff}.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(odd)>* .dva-h-skew--in,.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(odd)>* .dva-h-skew--out{color:#fff;background-color:#f2f2f2}.dva-page--configurator{overflow-y:hidden;background-color:#e6e6e6}@media (min-width: 1024px){.dva-page--configurator{overflow:visible}}.dva-page--configurator .dva-page-content{top:80px}@media (min-width: 1024px){.dva-page--configurator .dva-page-content{top:96px}}.dva-page-content{position:relative}.dva-m-section{padding-top:50px;padding-bottom:50px}@media (min-width: 1024px){.dva-m-section{padding-top:60px;padding-bottom:60px}}@media (min-width: 1280px){.dva-m-section{padding-top:80px;padding-bottom:80px}}.dva-m-section--grey-bg{background:#f2f2f2}.dva-e-external-link:after{content:"";position:relative;display:inline-block;width:.8em;height:.8em;margin-top:.1em;margin-right:.2em;margin-left:.3em;background-image:url(data:image/svg+xml;chartset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%22%20height%3D%22100%22%20fill%3D%22%23424242%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cpath%20d%3D%22M80.92%2051.272c-3.508%200-6.355%202.85-6.355%206.35v27c0%201.466-1.19%202.656-2.65%202.656H15.378c-1.467%200-2.658-1.19-2.658-2.657V28.096c0-1.467%201.19-2.658%202.658-2.658h26.99c3.518%200%206.365-2.847%206.365-6.354%200-3.52-2.847-6.36-6.365-6.36h-26.99C6.9%2012.722.005%2019.612.005%2028.094V84.62C.005%2093.103%206.9%20100%2015.378%20100h56.537c8.467%200%2015.365-6.898%2015.365-15.38V57.624c0-3.5-2.846-6.35-6.36-6.35%22%2F%3E%3Cpath%20d%3D%22M84.622%200H58.264c-3.508%200-6.354%202.854-6.354%206.36s2.846%206.355%206.354%206.355H78.29L36.095%2054.922c-2.483%202.483-2.483%206.506%200%208.99%201.234%201.233%202.868%201.858%204.49%201.858%201.628%200%203.258-.625%204.5-1.86L87.28%2021.72v20.01c0%203.516%202.846%206.362%206.36%206.362%203.508%200%206.354-2.846%206.354-6.36V15.37C99.994%206.893%2093.104%200%2084.622%200%22%2F%3E%3C%2Fsvg%3E);background-position:center center;background-repeat:no-repeat;background-size:contain}.dvag-h-text--hidden-on-mq1-3{height:100%}.dva-legacy-breadcrumb__link{color:#c8aa22}.dva-legacy-breadcrumb__link:hover{color:#666}.dva-l-article .article-text h3,.dva-l-article .text-wrapper h3{margin-bottom:25px}.dva-l-article .article-text h3+p,.dva-l-article .article-text h3+ol,.dva-l-article .article-text h3+ul,.dva-l-article .article-text h3+.article-text,.dva-l-article .text-wrapper h3+p,.dva-l-article .text-wrapper h3+ol,.dva-l-article .text-wrapper h3+ul,.dva-l-article .text-wrapper h3+.article-text{margin-top:0}.infographic-wrapper{width:auto;height:auto;margin:0}.article-cta a{position:absolute}.dva-h-preload{display:block}.dva-h-preload__16-9{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9{padding-bottom:0}.dva-h-preload__21-9{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9{padding-bottom:0}.dva-h-preload__4-3{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3{padding-bottom:0}.dva-h-preload__1-1{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1{padding-bottom:0}@media (min-width: 0) and (max-width: 476px){.dva-h-preload__16-9--mq-1{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-1{padding-bottom:0}}@media (min-width: 0) and (max-width: 476px){.dva-h-preload__21-9--mq-1{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-1{padding-bottom:0}}@media (min-width: 0) and (max-width: 476px){.dva-h-preload__4-3--mq-1{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-1{padding-bottom:0}}@media (min-width: 0) and (max-width: 476px){.dva-h-preload__1-1--mq-1{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-1{padding-bottom:0}}@media (min-width: 0) and (max-width: 760px){.dva-h-preload__16-9--mq-1-2{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-1-2{padding-bottom:0}}@media (min-width: 0) and (max-width: 760px){.dva-h-preload__21-9--mq-1-2{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-1-2{padding-bottom:0}}@media (min-width: 0) and (max-width: 760px){.dva-h-preload__4-3--mq-1-2{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-1-2{padding-bottom:0}}@media (min-width: 0) and (max-width: 760px){.dva-h-preload__1-1--mq-1-2{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-1-2{padding-bottom:0}}@media (min-width: 0) and (max-width: 1024px){.dva-h-preload__16-9--mq-1-3{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-1-3{padding-bottom:0}}@media (min-width: 0) and (max-width: 1024px){.dva-h-preload__21-9--mq-1-3{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-1-3{padding-bottom:0}}@media (min-width: 0) and (max-width: 1024px){.dva-h-preload__4-3--mq-1-3{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-1-3{padding-bottom:0}}@media (min-width: 0) and (max-width: 1024px){.dva-h-preload__1-1--mq-1-3{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-1-3{padding-bottom:0}}@media (min-width: 0) and (max-width: 1280px){.dva-h-preload__16-9--mq-1-4{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-1-4{padding-bottom:0}}@media (min-width: 0) and (max-width: 1280px){.dva-h-preload__21-9--mq-1-4{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-1-4{padding-bottom:0}}@media (min-width: 0) and (max-width: 1280px){.dva-h-preload__4-3--mq-1-4{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-1-4{padding-bottom:0}}@media (min-width: 0) and (max-width: 1280px){.dva-h-preload__1-1--mq-1-4{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-1-4{padding-bottom:0}}@media (min-width: 0){.dva-h-preload__16-9--mq-1-5{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-1-5{padding-bottom:0}.dva-h-preload__16-9--mq-1-and-up{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-1-and-up{padding-bottom:0}}@media (min-width: 0){.dva-h-preload__21-9--mq-1-5{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-1-5{padding-bottom:0}.dva-h-preload__21-9--mq-1-and-up{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-1-and-up{padding-bottom:0}}@media (min-width: 0){.dva-h-preload__4-3--mq-1-5{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-1-5{padding-bottom:0}.dva-h-preload__4-3--mq-1-and-up{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-1-and-up{padding-bottom:0}}@media (min-width: 0){.dva-h-preload__1-1--mq-1-5{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-1-5{padding-bottom:0}.dva-h-preload__1-1--mq-1-and-up{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-1-and-up{padding-bottom:0}}@media (min-width: 477px) and (max-width: 760px){.dva-h-preload__16-9--mq-2{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-2{padding-bottom:0}}@media (min-width: 477px) and (max-width: 760px){.dva-h-preload__21-9--mq-2{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-2{padding-bottom:0}}@media (min-width: 477px) and (max-width: 760px){.dva-h-preload__4-3--mq-2{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-2{padding-bottom:0}}@media (min-width: 477px) and (max-width: 760px){.dva-h-preload__1-1--mq-2{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-2{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1024px){.dva-h-preload__16-9--mq-2-3{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-2-3{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1024px){.dva-h-preload__21-9--mq-2-3{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-2-3{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1024px){.dva-h-preload__4-3--mq-2-3{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-2-3{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1024px){.dva-h-preload__1-1--mq-2-3{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-2-3{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1280px){.dva-h-preload__16-9--mq-2-4{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-2-4{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1280px){.dva-h-preload__21-9--mq-2-4{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-2-4{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1280px){.dva-h-preload__4-3--mq-2-4{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-2-4{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1280px){.dva-h-preload__1-1--mq-2-4{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-2-4{padding-bottom:0}}@media (min-width: 477px){.dva-h-preload__16-9--mq-2-5{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-2-5{padding-bottom:0}.dva-h-preload__16-9--mq-2-and-up{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-2-and-up{padding-bottom:0}}@media (min-width: 477px){.dva-h-preload__21-9--mq-2-5{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-2-5{padding-bottom:0}.dva-h-preload__21-9--mq-2-and-up{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-2-and-up{padding-bottom:0}}@media (min-width: 477px){.dva-h-preload__4-3--mq-2-5{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-2-5{padding-bottom:0}.dva-h-preload__4-3--mq-2-and-up{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-2-and-up{padding-bottom:0}}@media (min-width: 477px){.dva-h-preload__1-1--mq-2-5{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-2-5{padding-bottom:0}.dva-h-preload__1-1--mq-2-and-up{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-2-and-up{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1024px){.dva-h-preload__16-9--mq-3{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-3{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1024px){.dva-h-preload__21-9--mq-3{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-3{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1024px){.dva-h-preload__4-3--mq-3{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-3{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1024px){.dva-h-preload__1-1--mq-3{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-3{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1280px){.dva-h-preload__16-9--mq-3-4{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-3-4{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1280px){.dva-h-preload__21-9--mq-3-4{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-3-4{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1280px){.dva-h-preload__4-3--mq-3-4{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-3-4{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1280px){.dva-h-preload__1-1--mq-3-4{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-3-4{padding-bottom:0}}@media (min-width: 761px){.dva-h-preload__16-9--mq-3-5{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-3-5{padding-bottom:0}.dva-h-preload__16-9--mq-3-and-up{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-3-and-up{padding-bottom:0}}@media (min-width: 761px){.dva-h-preload__21-9--mq-3-5{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-3-5{padding-bottom:0}.dva-h-preload__21-9--mq-3-and-up{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-3-and-up{padding-bottom:0}}@media (min-width: 761px){.dva-h-preload__4-3--mq-3-5{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-3-5{padding-bottom:0}.dva-h-preload__4-3--mq-3-and-up{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-3-and-up{padding-bottom:0}}@media (min-width: 761px){.dva-h-preload__1-1--mq-3-5{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-3-5{padding-bottom:0}.dva-h-preload__1-1--mq-3-and-up{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-3-and-up{padding-bottom:0}}@media (min-width: 1025px) and (max-width: 1280px){.dva-h-preload__16-9--mq-4{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-4{padding-bottom:0}}@media (min-width: 1025px) and (max-width: 1280px){.dva-h-preload__21-9--mq-4{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-4{padding-bottom:0}}@media (min-width: 1025px) and (max-width: 1280px){.dva-h-preload__4-3--mq-4{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-4{padding-bottom:0}}@media (min-width: 1025px) and (max-width: 1280px){.dva-h-preload__1-1--mq-4{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-4{padding-bottom:0}}@media (min-width: 1025px){.dva-h-preload__16-9--mq-4-5{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-4-5{padding-bottom:0}.dva-h-preload__16-9--mq-4-and-up{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-4-and-up{padding-bottom:0}}@media (min-width: 1025px){.dva-h-preload__21-9--mq-4-5{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-4-5{padding-bottom:0}.dva-h-preload__21-9--mq-4-and-up{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-4-and-up{padding-bottom:0}}@media (min-width: 1025px){.dva-h-preload__4-3--mq-4-5{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-4-5{padding-bottom:0}.dva-h-preload__4-3--mq-4-and-up{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-4-and-up{padding-bottom:0}}@media (min-width: 1025px){.dva-h-preload__1-1--mq-4-5{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-4-5{padding-bottom:0}.dva-h-preload__1-1--mq-4-and-up{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-4-and-up{padding-bottom:0}}@media (min-width: 1281px){.dva-h-preload__16-9--mq-5{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-5{padding-bottom:0}}@media (min-width: 1281px){.dva-h-preload__21-9--mq-5{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-5{padding-bottom:0}}@media (min-width: 1281px){.dva-h-preload__4-3--mq-5{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-5{padding-bottom:0}}@media (min-width: 1281px){.dva-h-preload__1-1--mq-5{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-5{padding-bottom:0}}.dva-h-skew--out,.dvag-h-skew--out,.dva-h-skew--in,.dvag-h-skew--in{position:relative;overflow:hidden;width:100%;height:0;padding-bottom:8.7489%}.dva-h-skew--out:after,.dvag-h-skew--out:after,.dva-h-skew--in:after,.dvag-h-skew--in:after{content:"";position:absolute;transform:skewY(-5deg);transform-origin:top left;width:100%;height:0;padding-bottom:8.7489%;background:currentColor}.dva-h-skew--in:after,.dvag-h-skew--in:after{top:100%}.dva-h-skew--out:after,.dvag-h-skew--out:after{top:0}.dva-m-skewed-box__content{padding:.01px}.dvag-m-skew-component .dva-h-skew--in,.dvag-m-skew-component .dvag-h-skew--in{display:none;color:#f2f2f2}.dvag-h-skew--top .dvag-m-skew-component .dva-h-skew--in,.dvag-h-skew--top .dvag-m-skew-component .dvag-h-skew--in{display:block}.dvag-m-skew-component .dva-h-skew--out,.dvag-m-skew-component .dvag-h-skew--out{display:none;color:#f2f2f2}.dvag-h-skew--bottom .dvag-m-skew-component .dva-h-skew--out,.dvag-h-skew--bottom .dvag-m-skew-component .dvag-h-skew--out{display:block}.dvag-m-skew-component .dvag-m-skewed-box__content{padding-top:40px;padding-bottom:40px}.dvag-h-background--grey .dvag-m-skew-component .dvag-m-skewed-box__content{background-color:#f2f2f2}.dvag-m-skew-component .dvag-m-skewed-box__content>div:last-child{margin-bottom:0}.dvag-m-teaser-slider{margin-bottom:40px}.dvag-m-teaser-slider .dvag-m-basic-slider__slides{display:flex;align-items:stretch;justify-content:flex-start;scroll-padding-left:16px}@media (min-width: 476px){.dvag-m-teaser-slider .dvag-m-basic-slider__slides{scroll-padding-left:24px}}@media (min-width: 760px){.dvag-m-teaser-slider .dvag-m-basic-slider__slides{scroll-padding-left:32px}}@media (min-width: 1024px){.dvag-m-teaser-slider .dvag-m-basic-slider__slides{scroll-padding-left:40px}}@media (min-width: 1280px){.dvag-m-teaser-slider .dvag-m-basic-slider__slides{max-width:1380px;margin:0 auto;scroll-padding-left:0}}.dvag-m-teaser-slider .dvag-m-basic-slider__slide{flex-basis:284px;margin:0 8px}@media (min-width: 1280px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide{flex-basis:calc((100% - 48px) / 3);margin:0 12px}}.dvag-m-teaser-slider .dvag-m-basic-slider__slide:first-of-type{margin-left:16px}@media (min-width: 476px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide:first-of-type{margin-left:24px}}@media (min-width: 760px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide:first-of-type{margin-left:32px}}@media (min-width: 1280px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide:first-of-type{margin-left:0}}.dvag-m-teaser-slider .dvag-m-basic-slider__slide:last-of-type{position:relative}@media (min-width: 1280px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide:last-of-type{margin-right:0}}.dvag-m-teaser-slider .dvag-m-basic-slider__slide:last-of-type:after{content:"";position:absolute;right:-16px;display:block;width:16px;height:1px}@media (min-width: 476px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide:last-of-type:after{right:-24px;width:24px}}@media (min-width: 760px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide:last-of-type:after{right:-32px;width:32px}}@media (min-width: 1280px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide:last-of-type:after{display:none}}.dva-e-button{display:inline-flex;align-items:center;justify-content:center;padding:22px 30px;border:1px solid #c8aa22;border-radius:4px;color:#fff;background:#c8aa22;text-decoration:none;cursor:pointer;-webkit-transition:.3s background,.3s color,.3s border;-moz-transition:.3s background,.3s color,.3s border;transition:.3s background,.3s color,.3s border}@media (hover: hover) and (pointer: fine){.dva-e-button:hover{color:#c8aa22;background:#fff}}.has-path-cookie .dva-e-button.show-if-path-cookie{display:flex!important}.button-list-item .dva-e-button{max-height:56px;width:100%}.dva-e-button--full-width{width:100%;justify-content:center}.dvag-h-keyboard-focus .dva-e-button:focus{box-shadow:none!important}.dva-e-button:disabled{border-color:#999;color:#fff!important;background:#999;opacity:.6}.dva-e-button__label{margin-top:1px;color:inherit;text-align:center;pointer-events:none}.dva-e-button__icon{z-index:2;display:none;width:20px;height:20px;color:inherit;pointer-events:none;fill:currentColor;-webkit-transition:.3s fill;-moz-transition:.3s fill;transition:.3s fill}.dva-e-button--icon-right .dva-e-button__icon{display:flex;margin-left:5px}.dva-e-button--icon-only{padding:10px}.dva-e-button--icon-only .dva-e-button__label{display:none}.dva-e-button--icon-only .dva-e-button__icon{display:flex;width:20px;height:20px}.dva-e-button--white{position:relative;color:#c8aa22;background:#fff}.dva-e-button--white:hover{color:#786614}.dva-e-button--white:active{background:#f4eed2}.dva-e-button--white:before{border:2px solid #fff}.dvag-h-keyboard-focus .dva-e-button:focus,.dva-e-button:hover{border:1px solid #c8aa22!important;color:#c8aa22;background:#fff;text-decoration:none}.dva-e-button--secondary{color:#c8aa22;background:transparent}@media (hover: hover) and (pointer: fine){.dva-e-button--secondary:hover{color:#fff;background:#c8aa22}}.dvag-h-keyboard-focus .dva-e-button--secondary:focus{color:#fff;background:#c8aa22}.dva-e-button--secondary:disabled{border-color:#666;color:#666!important;background:transparent}.dva-e-button--inline{padding:0;border:none;color:#c8aa22;background:transparent}.dva-e-button--inline .dva-e-button__label{margin-top:0;text-align:left;text-transform:none}.dva-e-button--inline .dva-e-button__icon{width:12px;height:12px}.dvag-h-keyboard-focus .dva-e-button--inline:focus,.dva-e-button--inline:hover{border:none!important;color:#786614!important;background:transparent!important}.dva-e-button--inline:disabled{border:none!important;background:transparent!important}.dva-e-button--rebrush{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:24px 32px;border:none;border-radius:2px;color:#fff;background:#c8aa22;text-decoration:none;cursor:pointer;transition:color .3s ease-in-out}@media (hover: hover) and (pointer: fine){.dva-e-button--rebrush:hover{border:none!important;color:#fff;background:#c8aa22}.dva-e-button--rebrush:hover .dva-e-button__background:after{transform:skew(-5deg) scaleX(1)}.dva-e-button--rebrush:hover .dva-e-icon{color:#fff;fill:#fff}}.dva-e-button--rebrush[disabled]{border-color:#ccc;color:#fff;background:#ccc;pointer-events:none}.dva-e-button--rebrush:active{background:#50440d}.dva-e-button--rebrush:before{content:"";position:absolute;top:-4px;left:-4px;width:calc(100% + 4px);height:calc(100% + 4px);border:2px solid #c8aa22;border-radius:4px;opacity:0;transition:opacity .3s ease-in-out}.dvag-h-keyboard-focus .dva-e-button--rebrush:focus{border:none!important;outline:0;color:#c8aa22}.dvag-h-keyboard-focus .dva-e-button--rebrush:focus:before{opacity:1}.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button{border:2px solid #c8aa22;color:#c8aa22;background:#fff;transition:border .3s ease-in-out,color .3s ease-in-out}@media (hover: hover) and (pointer: fine){.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button:hover{border:2px solid #786614!important;color:#786614!important;background-color:#fff!important}.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button:hover .dva-e-icon{color:#786614;fill:#786614}}.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button:active{background:#f4eed2}.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button:active .dva-e-button__background:after{background:#f4eed2}.dvag-h-keyboard-focus .dva-e-button--rebrush.dva-e-button--secondary.dva-e-button:focus{border:2px solid #c8aa22!important;background:#fff}.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button[disabled]{border-color:#ccc;color:#ccc;background:#fff;pointer-events:none}.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button:before{top:-5px;left:-5px;width:calc(100% + 6px);height:calc(100% + 6px);border:2px solid #c8aa22}.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button .dva-e-button__background:after{background:#f9f6e9}.dva-e-button--rebrush.dva-e-button--icon-only{width:48px;height:48px;padding:12px 0 12px 12px}.dva-e-button--rebrush.dva-e-button--icon-only .dva-e-icon{width:24px;height:24px}.dva-e-button--rebrush .dva-e-button__background{position:absolute;top:0;left:0;display:block;overflow:hidden;width:100%;height:100%;border-radius:2px}.dva-e-button--rebrush .dva-e-button__background:after{content:"";position:absolute;top:0;left:0;transform:skew(-5deg) scaleX(0);transform-origin:top left;width:150%;height:100%;background:#786614;transition:transform 0s ease-in-out,transform .3s ease-in-out,background .3s ease-in-out}.dva-e-button--rebrush:active .dva-e-button--rebrush .dva-e-button__background:after{background:#50440d}.dva-e-button--rebrush.dva-e-button--small{padding:16px 24px}.dva-e-button--rebrush .dva-e-icon{z-index:1;display:inline-flex;width:24px;height:24px;flex-shrink:0;margin-right:12px;color:inherit}.dva-e-button--rebrush .dva-e-icon--loading{display:none;margin-right:0;margin-left:12px}.dva-state-loading>.dva-e-button--rebrush .dva-e-icon{display:none}.dva-state-loading>.dva-e-button--rebrush .dva-e-icon--loading{display:flex}.dva-e-button--icon-only .dva-e-button--rebrush .dva-e-icon{margin-right:0}.dva-e-button--rebrush .dva-e-button__label{position:relative;z-index:2;margin:0}.button-list .dva-e-button--rebrush{width:100%}.dva-e-rating-star{display:flex;width:35px;height:35px;color:#c8aa22;opacity:.3;transition:opacity .3s ease-in-out;fill:#c8aa22}.dva-e-rating-star--half,.dva-e-rating-star--full{opacity:1}.dva-e-loading-layer{position:relative;overflow:hidden;background:#f2f2f2}.dva-e-loading-layer.dva-state-loaded{overflow:inherit;background:transparent}.dva-e-lazy-image{position:relative;display:block;overflow:hidden}.dva-e-lazy-image--placeholder{background:#666}.dva-e-lazy-image__placeholder-content{position:absolute;top:0;left:0;display:flex;width:100%;height:100%;align-items:center;justify-content:center}.dva-e-lazy-image__placeholder-icon{width:20%;height:auto}.dva-e-lazy-image[aspect-ratio="21:9"]{padding-bottom:42.8571428571%}.dva-e-lazy-image[aspect-ratio="16:9"]{padding-bottom:56.25%}.dva-e-lazy-image[aspect-ratio="4:3"]{padding-bottom:75%}.dva-e-lazy-image[aspect-ratio="3:2"]{padding-bottom:66.6666666667%}.dva-e-lazy-image[aspect-ratio="1:1"]{padding-bottom:100%}.dva-e-lazy-image[aspect-ratio="2:3"]{padding-bottom:150%}.dva-e-lazy-image[aspect-ratio="4:5"]{padding-bottom:125%}.dva-e-lazy-image.dva-state-initialized{padding-bottom:0}.dva-e-lazy-image.dva-state-loaded{background:transparent}@keyframes dva-link-border__animation{0%{width:0}to{width:100%}}@media (hover: hover) and (pointer: fine){.dvag-h-link-inside:hover .dva-e-link{color:#fff}.dvag-h-link-inside:hover .dva-e-link:before{content:"";position:absolute;top:0;bottom:-2px;left:0;display:block;width:100%;border-bottom:2px solid #fff;animation:dva-link-border__animation .3s 1 ease-in-out}}.dvag-e-progress-bar{display:block;height:4px;margin:0 auto 24px;background-color:#ccc}.dvag-e-progress-bar__progress-indicator{width:0;height:4px;background-color:#c8aa22;transition-property:width}.dvag-e-overlay-toggle{cursor:pointer}.dva-m-rating-box{display:flex;flex-direction:column}.dva-m-rating-box__ratingstar-wrapper{display:flex;justify-content:space-between}.dva-m-rating-box .dvag-e-form-field__error{display:none}.dva-m-rating-box[edit-mode=true]{color:#c8aa22;cursor:pointer}.dva-m-rating-box[edit-mode=true].dva-state-error{color:#f5e9eb}.dva-m-rating-box[edit-mode=true].dva-state-error .dva-e-rating-star{opacity:1}.dva-m-rating-box[edit-mode=true].dva-state-error .dvag-e-form-field__error{display:flex}.dva-m-rating-box[edit-mode=true]:hover{color:#c8aa22}.dva-m-rating-box[edit-mode=true]:hover .dva-e-rating-star{opacity:1}.dva-m-rating-box[edit-mode=true] .dva-e-rating-star{color:inherit;fill:currentColor}.dva-m-rating-box[edit-mode=true] .dva-e-rating-star:hover~.dva-e-rating-star{opacity:.3}.dva-m-breadcrump-navigation{display:none}@media (min-width: 1280px){.dva-m-breadcrump-navigation{display:block}}.dva-m-breadcrump-navigation__list{display:flex;flex-wrap:wrap;padding:16px 0;margin:0;list-style-type:none}.dva-m-breadcrump-navigation__item{display:flex;align-items:center}.dva-m-breadcrump-navigation__item:last-of-type{margin-right:0}.dva-m-breadcrump-navigation__item:last-of-type .dva-e-icon{display:none}.dva-m-breadcrump-navigation__label{overflow:hidden;max-width:350px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.dva-m-breadcrump-navigation .dva-e-icon{display:flex;width:12px;height:12px;margin:0 5px;fill:#decc7a}.dvag-m-c08-barcomponent .dvag-grid-col-1-12>div:not(.dvag-m-c01b-teaser){height:100%}.dvag-m-basic-slider{position:relative;display:block}.dvag-m-basic-slider.dva-state-dragging{cursor:grabbing}.dvag-m-basic-slider__slides{display:flex;overflow-x:scroll;overflow-y:hidden;align-items:flex-start;justify-content:flex-start;scroll-snap-type:x mandatory!important;-ms-overflow-style:none;scrollbar-width:none}@supports (scroll-snap-stop: always){.dva-state-dragging>.dvag-m-basic-slider__slides{scroll-snap-type:none!important}}.dvag-m-basic-slider.dva-state-inactive .dvag-m-basic-slider__slides{justify-content:center}.dvag-m-basic-slider__slides::-webkit-scrollbar{display:none}.dvag-m-basic-slider__slide{flex-shrink:0;scroll-snap-align:start;scroll-snap-stop:always}.dvag-m-basic-slider__nav-button{position:absolute;top:calc(50% - 40px);display:flex;width:64px;height:64px;align-items:center;justify-content:center;padding:0;border-radius:0;color:#fff;opacity:0;transition:opacity .3s ease-in-out,background .3s ease-in-out;pointer-events:none}@media (min-width: 1024px){.dvag-m-basic-slider:hover .dvag-m-basic-slider__nav-button.dva-state-visible,.dvag-h-keyboard-focus .dvag-m-basic-slider__nav-button:focus{opacity:1;pointer-events:all}}.dvag-m-basic-slider__nav-button--prev{left:24px}.dvag-m-basic-slider__nav-button--next{right:24px}.dvag-m-basic-slider__nav-button .dva-e-icon{width:24px;height:24px;margin:0;fill:currentColor}.dvag-m-basic-slider__nav-button .dva-e-button__background{border-radius:0}.dvag-m-basic-slider__scroll-bar{position:relative;width:100%;height:4px;border-radius:4px;margin-top:24px;background:#d9d9d9}@media (min-width: 1280px){.dvag-m-basic-slider__scroll-bar{margin-top:32px}}.dvag-m-basic-slider.dva-state-inactive .dvag-m-basic-slider__scroll-bar{visibility:hidden}.dvag-m-basic-slider__scroll-indicator{position:absolute;top:0;left:0;height:4px;min-height:4px;padding:0;border:none;border-radius:2px;background:#c8aa22}.dvag-m-basic-slider__scroll-indicator:hover,.dva-state-dragging .dvag-m-basic-slider__scroll-indicator{top:-3px;height:10px;cursor:grabbing}.dvag-m-basic-slider__scroll-indicator:active,.dvag-m-basic-slider__scroll-indicator:focus{outline:0}.dvag-m-section-header{display:flex;flex-direction:column;align-items:center}.dvag-h-header--left-aligned .dvag-m-section-header{align-items:flex-start}.dvag-m-section-header__subheadline{margin-bottom:16px;color:#666;text-align:center}.dvag-h-header--left-aligned .dvag-m-section-header__subheadline{text-align:left}.dvag-m-section-header__headline{margin-bottom:40px;color:#4d4d4d;text-align:center}.dvag-h-header--left-aligned .dvag-m-section-header__headline{text-align:left}.dvag-h-headline--regular .dvag-m-section-header__headline{margin-bottom:40px}.dvag-m-section-header__text{margin-bottom:40px;color:#4d4d4d;text-align:center}.dvag-h-header--left-aligned .dvag-m-section-header__text{text-align:left}.dvag-m-section-header__text p{margin:0}.dvag-m-section-header .dvag-m-section-header__headline+.dvag-m-section-header__text{margin-top:-24px}.dvag-m-c01e-teaser{display:flex;flex-direction:column;padding:16px;margin:8px;background-color:#fff;box-shadow:0 0 8px #00000029}.dvag-m-c01e-teaser__content{padding-bottom:12px}.dvag-m-c01e-teaser__rating-wrapper{display:flex;align-items:center;justify-content:flex-start;margin-bottom:8px}.dvag-m-c01e-teaser__main-rating{width:120px;min-height:20px}.dvag-m-c01e-teaser .dvag-m-c01e-teaser__rating-label{margin:3px 0 0 8px;color:gray}.dvag-m-c01e-teaser__headline{display:-webkit-box;overflow:hidden;margin:0 0 12px;color:#333;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dvag-m-c01e-teaser .dvag-m-c01e-teaser__text{display:-webkit-box;overflow:hidden;margin:0 0 12px;color:#333;-webkit-box-orient:vertical;-webkit-line-clamp:5}@media (min-width: 1280px){.dvag-m-c01e-teaser .dvag-m-c01e-teaser__text{-webkit-line-clamp:4}}.dvag-m-c01e-teaser__full-text{display:none}.dvag-m-c01e-teaser__cta .dva-e-icon{width:24px;height:24px;margin-left:12px}.dvag-m-c01e-teaser__footer{padding-top:12px;border-top:1px solid #d9d9d9}.dvag-m-c01e-teaser__customer-label{color:gray}.dvag-m-c01e-teaser .dvag-m-c01e-teaser__customer-name{margin:0;color:#333}.dvag-m-c01e-teaser .dvag-m-c01e-teaser__customer-info{margin:0;color:gray}.dvag-m-c01e-teaser-overlay{position:fixed;top:0;left:0;display:none;width:100%;height:100%;align-items:center;justify-content:center;background:#4d4d4de6;opacity:0;transition:opacity .3s ease-in-out}.dvag-m-c01e-teaser-overlay.dva-state-active{z-index:800;display:flex;overflow:hidden}.dvag-m-c01e-teaser-overlay.dva-state-animating{opacity:1}.dvag-m-c01e-teaser-overlay__content-wrapper{position:relative;overflow:hidden;width:100%;max-height:100dvh;background:#fff;box-shadow:0 0 8px #00000029;-webkit-overflow-scrolling:touch}.dvag-m-c01e-teaser-overlay__sticky-header{position:sticky;z-index:2;top:0;left:0;display:flex;width:100%;height:56px;align-items:center;justify-content:flex-start;margin:0;background-color:#fff}.dvag-m-c01e-teaser-overlay .dvag-m-basic-overlay__close{position:absolute;top:16px;right:16px;width:24px;height:24px;padding:0;cursor:pointer;transition:fill .3s ease-in-out;fill:#c8aa22}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay .dvag-m-basic-overlay__close{top:24px;right:32px}}.dvag-m-c01e-teaser-overlay .dvag-m-basic-overlay__close:hover{fill:#786614}.dvag-m-c01e-teaser-overlay__scrollable-content{overflow:auto;height:calc(100% - 56px);max-height:inherit;padding:0 16px}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__scrollable-content{padding:0 32px}}.dvag-m-c01e-teaser-overlay__rating-wrapper{display:flex;align-items:center;justify-content:flex-start;padding:0 0 12px}.dvag-m-c01e-teaser-overlay__main-rating{width:120px;min-height:20px}.dvag-m-c01e-teaser-overlay .dvag-m-c01e-teaser-overlay__rating-label{margin:3px 0 0 8px;color:gray}.dvag-m-c01e-teaser-overlay__headline{margin:0 0 12px;color:#333}.dvag-m-c01e-teaser-overlay__text{margin:0 0 24px;color:#333}.dvag-m-c01e-teaser-overlay__ratings{width:100%;max-width:340px;margin:0 0 24px}.dvag-m-c01e-teaser-overlay__rating-row{display:flex;flex-direction:column;margin:0 0 24px}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__rating-row{max-width:340px;flex-direction:row;justify-content:space-between;margin:0 0 9px}}.dvag-m-c01e-teaser-overlay__rating-row:last-of-type{margin:0}.dvag-m-c01e-teaser-overlay__rating-category{margin-bottom:4px;color:#333}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__rating-category{margin-bottom:0}}.dvag-m-c01e-teaser-overlay__rating-value{margin:0}.dvag-m-c01e-teaser-overlay__sub-rating{width:120px}.dvag-m-c01e-teaser-overlay__sub-rating .dva-e-rating-star{width:22px;height:22px}.dvag-m-c01e-teaser-overlay__footer{display:flex;flex-direction:column;padding-top:24px;border-top:1px solid #d9d9d9;margin:24px 0}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__footer{flex-direction:row;justify-content:space-between}}.dvag-m-c01e-teaser-overlay__vb-wrapper{display:flex;align-items:center;margin-bottom:24px}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__vb-wrapper{margin-bottom:0}}.dvag-m-c01e-teaser-overlay__vb-wrapper,.dvag-m-c01e-teaser-overlay__customer-wrapper{width:100%}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__vb-wrapper,.dvag-m-c01e-teaser-overlay__customer-wrapper{width:calc(50% - 12px)}}.dvag-m-c01e-teaser-overlay__image-wrapper{width:60px;height:60px;margin-right:8px}.dvag-m-c01e-teaser-overlay__vb-name{color:#c8aa22}.dvag-m-c01e-teaser-overlay__vb-label,.dvag-m-c01e-teaser-overlay__customer-label,.dvag-m-c01e-teaser-overlay__customer-name,.dvag-m-c01e-teaser-overlay__customer-info{color:gray}.dvag-m-c01e-teaser-overlay .dvag-m-c01e-teaser-overlay__vb-label{margin:0}.dvag-m-c01e-teaser-overlay .dvag-m-c01e-teaser-overlay__customer-name{margin:0;color:#333}.dvag-m-c01e-teaser-overlay .dvag-m-c01e-teaser-overlay__customer-info{margin:0}.dvag-m-c01e-teaser-overlay__navigation{display:flex;justify-content:space-between;padding:24px;border-top:1px solid #d9d9d9;margin:0}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__navigation{padding:24px 0 32px}}.dvag-m-c01e-teaser-overlay__nav-btn{-webkit-user-select:none;user-select:none}.dvag-m-c01e-teaser-overlay__nav-btn.dva-state-hidden{opacity:0;pointer-events:none}@media (max-width: 759px){.dvag-m-c01e-teaser-overlay__nav-btn .dva-e-button__label{display:none}}.dvag-m-c01e-teaser-overlay__nav-btn .dva-e-button__icon{display:flex}@media (max-width: 759px){.dvag-m-c01e-teaser-overlay__nav-btn .dva-e-button__icon{margin:0}}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__nav-btn--next .dva-e-button__icon{margin-right:0;margin-left:12px}}.dvag-m-c07-rating-teaser-slider{display:block}.dvag-m-c07-rating-teaser-slider .dvag-m-skewed-box__content{padding-right:0;padding-left:0}.dvag-m-c07-rating-teaser-slider .dvag-m-basic-slider__slide{flex-basis:284px;margin:0 4px}@media (min-width: 1280px){.dvag-m-c07-rating-teaser-slider .dvag-m-basic-slider__slide{flex-basis:calc((100% - 16px) / 3)}}.dvag-m-c07-rating-teaser-slider .dvag-m-c01e-teaser{min-height:405px;max-height:405px}@media (min-width: 1280px){.dvag-m-c07-rating-teaser-slider .dvag-m-c01e-teaser{min-height:379px;max-height:379px}}.dvag-m-c07-rating-teaser-slider .dvag-m-c01e-teaser__content{flex-grow:1}.dvag-m-c07-rating-teaser-slider__button-wrapper{display:flex;flex-direction:column}@media (min-width: 760px){.dvag-m-c07-rating-teaser-slider__button-wrapper{flex-direction:row;align-items:stretch;justify-content:center}}.dvag-m-c07-rating-teaser-slider__button-wrapper .dva-e-button{flex-basis:100%}@media (min-width: 760px){.dvag-m-c07-rating-teaser-slider__button-wrapper .dva-e-button:only-child{flex-basis:auto}}@media (min-width: 1280px){.dvag-m-c07-rating-teaser-slider__button-wrapper .dva-e-button{flex-basis:auto}}.dvag-m-c07-rating-teaser-slider__button-wrapper .dva-e-button:not(:first-child){margin-top:16px}@media (min-width: 760px){.dvag-m-c07-rating-teaser-slider__button-wrapper .dva-e-button:not(:first-child){margin-top:0;margin-left:24px}}.dvag-m-c07-rating-teaser-slider__button-wrapper .dva-e-button.dva-state-hidden{margin:0}@media (min-width: 760px){.dvag-m-c07-rating-teaser-slider__button-wrapper .dva-e-button.dva-state-hidden{margin:0}}.dvag-m-c11-accordion{position:relative;display:block}.dvag-m-c11-accordion__block{position:relative;overflow:hidden;border-bottom:1px solid #d9d9d9}.dvag-m-c11-accordion__toggle{width:100%;padding:0;border:none;color:#c8aa22;background:none;text-align:left;transition:color .3s ease-in-out}@media (hover: hover) and (pointer: fine){.dvag-m-c11-accordion__toggle:hover{color:#c8aa22!important;background:none!important;cursor:pointer}}html:not(.touchevents) .dvag-m-c11-accordion__toggle:hover{color:#c8aa22!important;background:none!important}.dvag-m-c11-accordion__toggle:focus{outline:none;box-shadow:none}.dvag-m-c11-accordion__toggle:disabled{border:none!important;color:#ccc;cursor:not-allowed}.dva-h-keyboard-focus .dvag-m-c11-accordion__toggle:focus{position:relative;outline:none}.dva-h-keyboard-focus .dvag-m-c11-accordion__toggle:focus:after{content:"";position:absolute;bottom:2px;width:100%;height:0;border-bottom:1px solid #c8aa22}.dvag-m-c11-accordion__toggle-icon{position:absolute;top:4px;right:0;display:flex;width:16px;height:16px;padding:0;border:none;margin:22px 0;transition:color .2s ease-in-out,transform .2s ease-in-out;fill:#c8aa22}:hover .dvag-m-c11-accordion__toggle-icon{background:none;fill:currentColor}.dva-state-active .dvag-m-c11-accordion__toggle-icon{transform:rotate(180deg)}.dvag-m-c11-accordion__toggle-label{display:block;padding:20px 40px 20px 0;color:inherit;text-decoration:none;text-transform:none}.dvag-m-c11-accordion__content{transform:translateY(50px);display:block;overflow:hidden;max-height:0;visibility:hidden;opacity:0;transition:transform .3s ease-in-out,opacity .2s ease-in-out,visibility .4s ease-in-out,max-height .2s ease-in-out}.dva-state-active>.dvag-m-c11-accordion__content{transform:translateY(0);overflow:visible;max-height:var(--accordion-content-height);visibility:visible;opacity:1}.dvag-m-c11-accordion__content-wrapper{padding:0 0 12px}.dvag-m-c04-vb-stage{position:relative;display:block}.dvag-m-c04-vb-stage__background-wrapper{position:absolute;top:0;left:0;overflow:hidden;width:100%;height:100%}.dvag-m-c04-vb-stage__background-image{width:auto;height:100%}.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__background-image{width:100%}.dvag-m-c04-vb-stage__background-video{width:auto;height:100%}.dvag-m-c04-vb-stage__background-video .dva-e-lazy-video__video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.dvag-m-c04-vb-stage__skewed-box{position:absolute;bottom:0;left:0;width:100%;height:85%}@media (min-width: 1280px){.dvag-m-c04-vb-stage__skewed-box{height:75%}}.dvag-m-c04-vb-stage__skewed-box .dva-h-skew--in{color:#c8aa22;opacity:.8}.dvag-m-c04-vb-stage__skewed-box .dva-m-skewed-box__content{height:100%;background-color:#c8aa22;opacity:.8}.dvag-m-c04-vb-stage__skewed-box .dva-h-skew--out{display:none}.dvag-m-c04-vb-stage__content-wrapper{position:relative}.dvag-m-c04-vb-stage__vb-content{background-color:#fff}@media (min-width: 1024px){.dvag-m-c04-vb-stage__vb-content{position:absolute;top:auto;bottom:0;display:flex;align-items:flex-end;background-color:transparent}}.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__vb-content{position:relative;background-color:transparent}.dvag-m-c04-vb-stage__vb-inner-content{display:flex;flex-direction:column;align-items:center;padding-top:24px;padding-bottom:40px;color:#4d4d4d}@media (min-width: 1024px){.dvag-m-c04-vb-stage__vb-inner-content{align-items:flex-start;justify-content:center;padding-top:30px;color:#fff;background-color:transparent}}@media (min-width: 1280px){.dvag-m-c04-vb-stage__vb-inner-content{padding-bottom:40px}}.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__vb-inner-content{align-items:center;padding-top:calc(8.7489% + 70px);padding-bottom:40px;color:#fff}@media (min-width: 1280px){.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__vb-inner-content{padding-top:calc(8.7489% + 105px)}}.dvag-m-c04-vb-stage__rating-wrapper{display:flex;flex-direction:column;align-items:center;margin:0 0 16px;text-align:center}@media (min-width: 1024px){.dvag-m-c04-vb-stage__rating-wrapper{align-items:flex-start;margin:0 0 24px;text-align:left}}.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__rating-wrapper{align-items:center}.dvag-m-c04-vb-stage__rating-wrapper .dva-m-rating-box{justify-content:flex-start;margin-bottom:4px}.dvag-m-c04-vb-stage__rating-wrapper .dva-e-rating-star{width:30px;height:30px;margin-left:5px;color:#c8aa22;fill:#c8aa22}@media (min-width: 1024px){.dvag-m-c04-vb-stage__rating-wrapper .dva-e-rating-star{color:#fff;fill:#fff}}.dvag-m-c04-vb-stage__rating-wrapper .dva-e-rating-star:first-of-type{margin-left:0}.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__rating-wrapper .dva-e-rating-star{color:#fff;fill:#fff}.dvag-m-c04-vb-stage__rating-label{color:#c8aa22}@media (min-width: 1024px){.dvag-m-c04-vb-stage__rating-label{color:#fff}}.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__rating-label{color:#fff}.dvag-m-c04-vb-stage__rating-link{position:relative;padding-left:12px;color:#c8aa22;text-decoration:underline}@media (min-width: 1024px){.dvag-m-c04-vb-stage__rating-link{color:#fff}}.dvag-m-c04-vb-stage__rating-link:before{content:" | ";position:absolute;top:0;left:0;margin:0 5px}.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__rating-link{color:#fff}.dvag-m-c04-vb-stage__vb-name{margin:0 0 16px;text-align:center}@media (min-width: 1024px){.dvag-m-c04-vb-stage__vb-name{text-align:left}}.dvag-m-c04-vb-stage__vb-info{margin:0;text-align:center}@media (min-width: 1024px){.dvag-m-c04-vb-stage__vb-info{text-align:left}}.dvag-m-c04-vb-stage__vb-title{margin:0;text-align:center}@media (min-width: 1024px){.dvag-m-c04-vb-stage__vb-title{text-align:left}}.dvag-m-c04-vb-stage__cta{width:100%;flex-basis:100%;margin-top:16px}@media (min-width: 760px){.dvag-m-c04-vb-stage__cta{width:auto;flex-basis:auto}}.dvag-m-c04-vb-stage__cta .dva-e-button__label{order:3}.dvag-m-basic-overlay{position:fixed;top:0;left:0;display:none;width:100%;height:100%;background:#4d4d4de6;opacity:0;transition:opacity .3s ease-in-out}.dvag-m-basic-overlay.dva-state-active{z-index:800;display:block}.dvag-m-basic-overlay.dva-state-animating{opacity:1}.dvag-m-basic-overlay.dvag-m-basic-overlay--lightbox .dvag-m-basic-overlay__inner-content{display:flex;align-items:center;justify-content:center;background:none}.dvag-m-basic-overlay__close.dva-e-button{position:absolute;z-index:1;top:16px;right:16px;width:48px;height:48px;min-height:auto;padding:12px;border:1px solid transparent!important;border-radius:2px;color:#fff;background-color:transparent}.dvag-m-basic-overlay__close.dva-e-button:hover{background:#fff3}.dvag-m-basic-overlay__close.dva-e-button:focus{border:1px solid #fff!important;background-color:transparent}.dvag-m-basic-overlay__close.dva-e-button:active{background:#fff6}.dvag-m-basic-overlay__content{display:flex;height:100%;max-height:100vh;align-items:center;justify-content:center}.dvag-m-basic-overlay__inner-content{position:relative;overflow:hidden;height:calc(100% - 32px);margin:16px auto;background-color:#fff}@media (min-width: 476px){.dvag-m-basic-overlay__inner-content{height:calc(100% - 48px);margin:24px auto}}@media (min-width: 760px){.dvag-m-basic-overlay__inner-content{height:calc(100% - 80px);margin:40px auto}}@media (min-width: 1024px){.dvag-m-lottie-slider .dvag-m-basic-slider{max-width:100%;padding-left:calc(16.66667% + 2px);margin-left:0}}@media (min-width: 1024px) and (max-width: 1279px){.dvag-m-lottie-slider .dvag-m-basic-slider__slides{scroll-padding-left:24px}}@media (min-width: 1280px){.dvag-m-lottie-slider .dvag-m-basic-slider__slides{margin-left:30px;scroll-padding-left:0}}.dvag-m-lottie-slider .dvag-m-basic-slider__slide{flex-basis:80%;opacity:.3;transition:opacity 1s}@media (min-width: 1024px){.dvag-m-lottie-slider .dvag-m-basic-slider__slide{flex-basis:60%}}.dvag-m-lottie-slider .dvag-m-basic-slider__slide.dva-state-active{opacity:1}.dvag-m-lottie-slider .dvag-m-basic-slider__slide:last-of-type:after{left:100%;width:20%}@media (min-width: 1024px){.dvag-m-lottie-slider .dvag-m-basic-slider__slide:last-of-type:after{width:calc(60% + 12px)}}@media (min-width: 1280px){.dvag-m-lottie-slider .dvag-m-basic-slider__slide:last-of-type:after{display:block;width:calc(60% + 45px)}}.dvag-m-lottie-slider__animation-box{margin:0 auto 24px;aspect-ratio:16/9}.dvag-m-lottie-slider-slide__subheadline{margin:0 0 16px;color:gray}.dvag-m-lottie-slider-slide__headline{margin:0 0 8px;color:#4d4d4d}.dvag-m-n02-footer{max-width:1460px;padding-top:16px;margin:0 auto;background:#fff}@media (min-width: 760px){.dvag-m-n02-footer{padding-top:28px}}.dvag-m-n02-footer--border-top{border-top:1px solid #d9d9d9}.dvag-m-n02-footer__headline{margin-bottom:20px;color:#404040}.dvag-m-n02-footer__navigation{margin-bottom:40px}@media (min-width: 760px){.dvag-m-n02-footer__navigation{margin-bottom:48px}}@media (min-width: 1024px){.dvag-m-n02-footer__navigation{display:flex;flex-flow:row wrap;gap:48px 24px}}@media (min-width: 1024px){.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__block{width:calc(25% - 18px);border-bottom:none}}@media (min-width: 1024px){.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__toggle{cursor:default}}@media (min-width: 1024px){.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__toggle-icon{display:none}}.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__toggle-label{margin:0}@media (min-width: 1024px){.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__toggle-label{color:#404040}}@media (min-width: 1024px){.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__content{transform:translateY(0);overflow:visible;max-height:100%;visibility:visible;opacity:1;transition:none}}.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__content-wrapper{padding:0 0 16px}@media (min-width: 1024px){.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__content-wrapper{padding:0}}.dvag-m-n02-footer__list{display:flex;flex-direction:column;padding:0 0 4px;gap:16px}.dvag-m-n02-footer__social-links{display:flex;flex-flow:row wrap;margin-bottom:48px;gap:16px}.dvag-m-n02-footer__social-link{width:48px;height:48px;flex-shrink:0}.dvag-m-n02-footer__social-link .dva-e-icon{width:24px;height:24px}.dvag-h-keyboard-focus .dvag-m-n02-footer__social-link:focus,.dvag-m-n02-footer__social-link:hover{border:2px solid #a0881b;color:#a0881b;background:#f9f6e9}.dvag-m-n02-footer__social-link:active{border:2px solid #50440d;color:#50440d;background:#f9f6e9}.dvag-m-n02-footer__awards{display:flex;flex-flow:row wrap;margin-bottom:40px;gap:40px}@media (min-width: 760px){.dvag-m-n02-footer__awards{margin-bottom:48px;gap:60px}}@media (min-width: 1024px){.dvag-m-n02-footer__awards{gap:40px}}@media (min-width: 1280px){.dvag-m-n02-footer__awards{gap:60px}}.dvag-m-n02-footer__award-image{width:auto;height:140px}.dvag-m-n02-footer .dvag-h-skew--in{color:#666}.dvag-m-n02-footer .dvag-m-skewed-box__content{background:#666}.dvag-m-n02-footer__legal-links{display:flex;flex-direction:column;margin-top:32px;gap:16px}@media (min-width: 760px){.dvag-m-n02-footer__legal-links{flex-direction:row;align-items:center;justify-content:flex-end;margin-top:0}}.dvag-m-n02-footer__legal-link{color:#fff}.dvag-h-keyboard-focus .dvag-m-n02-footer__legal-link:focus,.dvag-m-n02-footer__legal-link:hover,.dvag-m-n02-footer__legal-link:active{color:#fff}.dvag-h-keyboard-focus .dvag-m-n02-footer__legal-link:focus:before,.dvag-m-n02-footer__legal-link:hover:before,.dvag-m-n02-footer__legal-link:active:before{border-bottom-color:#fff}.dvag-m-n02-footer__copyright{display:flex;margin:32px 0;color:#999}@media (min-width: 760px){.dvag-m-n02-footer__copyright{justify-content:flex-end;margin:16px 0}}.dvag-m-n03-vb-footer__contact-section{padding:0;border-top:1px solid #ccc}@media (min-width: 1024px){.dvag-m-n03-vb-footer__contact-section{display:flex;flex-direction:row-reverse}}.dvag-m-n03-vb-footer__vb-infos{flex-basis:100%;padding:32px 16px 48px}@media (min-width: 476px){.dvag-m-n03-vb-footer__vb-infos{padding:32px 24px 48px}}@media (min-width: 760px){.dvag-m-n03-vb-footer__vb-infos{padding:32px 32px 48px}}@media (min-width: 1024px){.dvag-m-n03-vb-footer__vb-infos{flex-basis:calc(50% - 12px);padding:54px 32px 48px calc(8.33333% - 4px)}}@media (min-width: 1280px){.dvag-m-n03-vb-footer__vb-infos{padding-right:40px}}.dvag-m-n03-vb-footer__topline{margin:0 0 12px;color:#404040}.dvag-m-n03-vb-footer__headline{margin:0 0 20px;color:#4d4d4d}.dvag-m-n03-vb-footer__direction{margin:0 0 20px;color:#404040}.dvag-m-n03-vb-footer__address{display:flex;flex-direction:column;margin:0 0 20px;color:#404040}.dvag-m-n03-vb-footer__contact-ctas{display:flex;flex-flow:row wrap;align-items:flex-start;justify-content:flex-start;margin:0 0 16px;gap:16px}@media (min-width: 1024px){.dvag-m-n03-vb-footer__contact-ctas{display:none}}.dvag-m-n03-vb-footer__contact-links{display:none}@media (min-width: 1024px){.dvag-m-n03-vb-footer__contact-links{display:flex;flex-direction:column;margin:0 0 20px}}.dvag-m-n03-vb-footer__contact-row{display:flex;justify-content:flex-start}.dvag-m-n03-vb-footer__contact-type{min-width:78px}.dvag-m-n03-vb-footer__overlay-cta{margin:0 0 48px}@media (min-width: 1024px){.dvag-m-n03-vb-footer__overlay-cta{margin:0 0 64px}}.dvag-m-n03-vb-footer__social-items{display:flex;flex-flow:row wrap;align-items:flex-start;justify-content:flex-start;margin:8px 0 0;gap:16px}.dvag-m-n03-vb-footer__google-maps{position:relative;height:0;flex-basis:100%;padding-bottom:100%}@media (min-width: 1024px){.dvag-m-n03-vb-footer__google-maps{height:auto;flex-basis:calc(50% - 12px);padding-bottom:0;margin-right:24px}}.dvag-m-n03-vb-footer__google-maps .dva-e-lazy-image{width:100%}.dvag-m-n03-vb-footer .dvag-e-google-map{position:absolute;width:100%;height:100%}.dvag-m-n01-header{position:fixed;z-index:100;top:0;display:flex;overflow:hidden;width:100%;max-width:1460px;height:72px;align-items:center;justify-content:space-between;padding:0 16px;margin:0 auto;background:#fff;box-shadow:0 4px #00000008;gap:16px}@media (min-width: 760px){.dvag-m-n01-header{padding:0 40px}}.dvag-m-n01-header__logo-wrapper{display:flex;align-items:center;justify-content:flex-start}.dvag-m-n01-header__logo-mobile{display:flex;width:32px;height:32px;opacity:1;transition:opacity .3s ease-in-out;pointer-events:all}@media (min-width: 760px){.dvag-m-n01-header__logo-mobile{display:none}}.dvag-m-n01-header__logo-mobile .dva-e-icon{width:32px;height:32px}.dvag-m-n01-header__logo-desktop{display:none}@media (min-width: 760px){.dvag-m-n01-header__logo-desktop{display:flex;width:180px;height:41px;opacity:1;transition:opacity .3s ease-in-out;pointer-events:all}}.dvag-m-n01-header__logo-desktop .dva-e-icon{width:180px;height:41px}.dvag-m-n01-header__vb-info{position:relative;left:-32px;transform:translateY(-100%);display:flex;min-width:155px;height:72px;flex-direction:column;align-items:flex-start;justify-content:center;margin:0;transition:transform .3s ease-in-out;pointer-events:none}@media (min-width: 760px){.dvag-m-n01-header__vb-info{left:-180px;min-width:180px}}.dvag-m-n01-header__vb-info.dva-state-visible{transform:translateY(13%);pointer-events:all}.dvag-m-n01-header__vb-info.dva-state-hidden{display:none}.dvag-m-n01-header__vb-info .dvag-m-skew-component{min-width:100%;height:100%;margin:0}.dvag-m-n01-header__vb-info .dvag-m-skewed-box__content{display:flex;min-width:155px;height:72px;flex-direction:column;align-items:flex-start;justify-content:center;padding:0;background:#fff}@media (min-width: 760px){.dvag-m-n01-header__vb-info .dvag-m-skewed-box__content{min-width:180px}}.dvag-m-n01-header__vb-info .dvag-h-skew--out{display:block;color:#fff}.dvag-m-n01-header__vb-subheadline{display:none;margin:0;color:#404040}@media (min-width: 476px){.dvag-m-n01-header__vb-subheadline{display:flex}}.dvag-m-n01-header__vb-name,.dvag-m-n01-header__vb-link{margin:0;color:#404040;text-wrap:balance}.dvag-m-n01-header__menu-wrapper{display:flex;align-items:center;justify-content:center}@media (min-width: 760px){.dvag-m-n01-header__menu-wrapper{gap:24px}}.dvag-m-n01-header__header-navigation-wrapper{display:flex;flex-direction:row;flex-grow:1;align-items:center;justify-content:flex-end}.dvag-m-n01-header__header-navigation-list{display:none}@media (min-width: 760px){.dvag-m-n01-header__header-navigation-list{display:flex;overflow:hidden;height:72px;flex-flow:row;flex-wrap:wrap;justify-content:flex-end;gap:20px}}.dvag-m-n01-header__header-navigation-link{display:flex;height:72px;align-items:center;justify-content:center;padding:0 12px;border-bottom:2px solid #fff;color:#404040;text-decoration:none;cursor:pointer;transition:background-color .3s ease-in-out,border-color .3s ease-in-out}@media (hover: hover) and (pointer: fine){.dvag-m-n01-header__header-navigation-link:hover{border-bottom:2px solid #c8aa22;background-color:#f2f2f2}}.dvag-h-keyboard-focus .dvag-m-n01-header__header-navigation-link:focus{border-bottom:2px solid #c8aa22;outline:none;background-color:#f2f2f2}.dvag-m-n01-header__cta.dva-e-button--small{padding:6px 12px}@media (min-width: 760px){.dvag-m-n01-header__cta.dva-e-button--small{padding:12px 24px}}.dvag-m-n01-header__cta.dva-e-button--small .dva-e-icon{display:none}@media (min-width: 760px){.dvag-m-n01-header__cta.dva-e-button--small .dva-e-icon{display:inline-flex}}.dvag-m-n01-header__burger-menu{display:flex;height:72px;align-items:center;justify-content:center;padding:0 12px;border-bottom:2px solid #fff;color:#404040;transition:background-color .3s ease-in-out,border-color .3s ease-in-out}@media (hover: hover) and (pointer: fine){.dvag-m-n01-header__burger-menu:hover{border-bottom:2px solid #c8aa22;background-color:#f2f2f2}}.dvag-h-keyboard-focus .dvag-m-n01-header__burger-menu:focus{border-bottom:2px solid #c8aa22;outline:none;background-color:#f2f2f2}.dvag-m-n01-header__burger-menu:active{border-bottom:2px solid #fff;background-color:#fff}.dvag-m-n01-header__burger-menu .dva-e-icon{width:24px;height:24px;fill:currentColor}.dvag-m-n01-header__burger-label{display:none}@media (min-width: 760px){.dvag-m-n01-header__burger-label{display:flex;margin-left:6px}}.dvag-m-n01-header__navigation-wrapper{position:fixed;z-index:1002;display:flex;overflow:hidden;height:var(--app-height);flex-direction:row-reverse;pointer-events:none;top:0;right:0;bottom:0;left:0}.dvag-m-n01-navigation{position:absolute;z-index:700;top:0;right:0;bottom:0;transform:translate(100%);display:none;overflow-x:hidden;overflow-y:auto;width:100%;height:var(--app-height);background-color:#fff;transition:transform .3s ease-in-out;pointer-events:all;-webkit-overflow-scrolling:touch}@media (min-width: 760px){.dvag-m-n01-navigation{width:476px}}.dvag-m-n01-navigation.dva-state-open{display:block}.dvag-m-n01-navigation.dva-state-visible{transform:translate(0)}.dvag-m-n01-navigation.dvag-m-n01-navigation--level-2-open{overflow-y:hidden}.dvag-m-n01-navigation__content-wrapper{position:relative}.dvag-m-n01-navigation__header{position:sticky;z-index:702;top:0;left:0;display:flex;width:100%;flex-direction:row;align-items:center;justify-content:space-between;padding:24px 16px 16px;background:#fff}@media (min-width: 760px){.dvag-m-n01-navigation__header{padding:24px 24px 16px}}.dvag-m-n01-navigation__header:after{content:"";position:absolute;bottom:0;left:16px;width:calc(100% - 32px);height:1px;background-color:#ccc}@media (min-width: 760px){.dvag-m-n01-navigation__header:after{left:24px;width:calc(100% - 48px)}}.dvag-m-n01-navigation__header-button{display:flex;align-self:flex-end;padding:4px;border:1px solid transparent;border-radius:2px;color:#404040;transition:border .3s ease-in-out,background .3s ease-in-out,color .3s ease-in-out}@media (hover: hover) and (pointer: fine){.dvag-m-n01-navigation__header-button:hover{color:#333;background-color:#f9f6e9;cursor:pointer}.dvag-m-n01-navigation__header-button:hover:before{content:none}}.dvag-m-n01-navigation__header-button .dva-e-icon{width:24px;height:24px;margin-right:12px}.dvag-m-n01-navigation__header-button:focus{border:1px solid #404040;color:#333}.dvag-m-n01-navigation__header-button:focus:before{content:none}.dvag-m-n01-navigation__header-button:active{color:#000;background-color:#f4eed2}.dvag-m-n01-navigation__header-button--back{display:flex;opacity:0;transition:opacity .3s ease-in-out;pointer-events:none}.dvag-m-n01-navigation__header-button--back.dva-state-visible{opacity:1;pointer-events:all}.dvag-m-n01-navigation__content{padding:24px 0}.dvag-m-n01-navigation__cta.dva-e-button--small{width:calc(100% - 32px);margin:0 16px 24px}@media (min-width: 760px){.dvag-m-n01-navigation__cta.dva-e-button--small{width:calc(100% - 48px);margin:0 24px 24px}}.dvag-m-n01-navigation__group-list--secondary{margin-bottom:16px}.dvag-m-n01-navigation__group-list--language-switch{position:relative;padding-top:16px;margin-bottom:8px}.dvag-m-n01-navigation__group-list--language-switch:before{content:"";position:absolute;top:0;left:16px;width:calc(100% - 32px);height:1px;background-color:#d9d9d9}@media (min-width: 760px){.dvag-m-n01-navigation__group-list--language-switch:before{left:24px;width:calc(100% - 48px)}}.dvag-m-n01-navigation__item{display:block;padding:0 16px}@media (min-width: 760px){.dvag-m-n01-navigation__item{padding:0 24px}}.dvag-m-n01-navigation__item--secondary{padding:0;margin:8px 16px}@media (min-width: 760px){.dvag-m-n01-navigation__item--secondary{margin:8px 24px}}.dvag-m-n01-navigation__item--optional{padding:0;margin:8px 0}.dvag-m-n01-navigation__item--language-switch{display:inline-block;padding:0;margin:8px 24px 8px 16px}@media (min-width: 760px){.dvag-m-n01-navigation__item--language-switch{margin:8px 24px}}.dvag-m-n01-navigation__item-link{display:flex;flex-direction:column;padding:24px 16px 24px 14px;border-left:2px solid transparent;margin:0;transition:border-color .3s,background-color .3s}@media (hover: hover) and (pointer: fine){.dvag-m-n01-navigation__item-link:hover{border-left-color:#c8aa22;background-color:#f2f2f2;cursor:pointer}}.dvag-m-n01-navigation__item-link:focus{border-left-color:#c8aa22;background-color:#f2f2f2}.dvag-m-n01-navigation__item-link:active,.dvag-m-n01-navigation__item-link.dva-state-active{border-left-color:#c8aa22}.dvag-m-n01-navigation__item-link--level-2{padding:16px 16px 16px 14px}.dvag-m-n01-navigation__item-link--secondary,.dvag-m-n01-navigation__item-link--optional{padding:4px 16px 4px 14px}@media (hover: hover) and (pointer: fine){.dvag-m-n01-navigation__item-link--optional:hover{background-color:#fff}}.dvag-m-n01-navigation__item-link--optional:focus{background-color:#fff}.dvag-m-n01-navigation__item-link--language-switch{flex-direction:row;align-items:center;padding:8px 16px 8px 14px}.dvag-m-n01-navigation__item-link--language-switch .dva-e-icon{width:18px;height:18px;margin-right:8px}.dvag-m-n01-navigation__item-rating-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;margin-top:4px}.dvag-m-n01-navigation__item-rating-wrapper .dva-m-rating-box{gap:2px}.dvag-m-n01-navigation__item-rating-wrapper .dva-e-rating-star{width:16px;height:16px;color:#c8aa22;fill:#c8aa22}.dvag-m-n01-navigation__item-rating-label{margin:0 0 0 8px;color:gray}.dvag-m-n01-navigation__teaser-area{padding:24px 16px;margin-top:16px;margin-bottom:16px;background:#f2f2f2}@media (min-width: 760px){.dvag-m-n01-navigation__teaser-area{padding:24px}}.dvag-m-n01-navigation__teaser-headline{margin:0 0 24px;color:#666}.dvag-m-n01-navigation .dvag-m-c01a-teaser{padding-bottom:12px;border-bottom:1px solid #ccc}.dvag-m-n01-navigation__level-2{position:absolute;z-index:701;top:calc(var(--nav-scroll-height) + 74px);right:0;bottom:0;transform:translate(100%);display:none;overflow-x:hidden;overflow-y:scroll;width:100%;height:calc(var(--app-height) - 74px);background-color:#fff;transition:transform .3s ease-in-out;pointer-events:all;-webkit-overflow-scrolling:touch}@media (min-width: 760px){.dvag-m-n01-navigation__level-2{top:calc(var(--nav-scroll-height) + 74px);width:476px;height:100%}}.dvag-m-n01-navigation__level-2.dva-state-open{display:block}.dvag-m-n01-navigation__level-2.dva-state-visible{transform:translate(0)}.dvag-m-n01-navigation__level-2-headline{margin:24px 16px 4px;color:gray}@media (min-width: 760px){.dvag-m-n01-navigation__level-2-headline{margin:24px 24px 4px}}.dvag-m-n01-navigation__level-2-subheadline{margin:0 16px 32px;color:gray}@media (min-width: 760px){.dvag-m-n01-navigation__level-2-subheadline{margin:0 24px 32px}}.dvag-m-n01-navigation-lock{position:fixed;z-index:699;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;background:#4d4d4de6;opacity:0;transition:opacity .3s ease-in-out;pointer-events:none}.dvag-state-navigation-open .dvag-m-n01-navigation-lock{opacity:1;pointer-events:all} +@charset "UTF-8";.dvag-m-n01-navigation__item-link--level-2,.dvag-m-n01-header__burger-label,.dvag-m-n01-header__header-navigation-link,.dvag-m-n02-footer__navigation .dva-e-link,.dvag-m-c01e-teaser__cta,.dva-e-button__label,.dva-type-bold,.dva-type-200-bold-italic,.dva-type-200-bold,.dva-type-400-bold-italic,.dvag-m-n01-header__vb-link,.dvag-m-n01-header__vb-name,.dvag-m-lottie-slider-slide__subheadline,.dvag-m-c01e-teaser-overlay__vb-name,.dva-type-400-bold,.dva-type-500-bold-italic,.dvag-m-n01-navigation__item-link--optional,.dvag-m-n01-navigation__header-button,.dvag-m-c04-vb-stage__rating-label,.dvag-m-c11-accordion__toggle,.dvag-m-c01e-teaser-overlay__rating-category,.dva-type-500-bold,.dva-type-550-bold-italic,.dvag-m-lottie-slider-slide__headline,.dvag-m-c04-vb-stage__vb-info,.dva-type-550-bold,.dva-type-700-bold-italic,.dva-type-700-bold,.dva-type-750-bold-italic,.dvag-m-n01-navigation__level-2-headline,.dvag-m-n01-navigation__item-link,.dva-type-750-bold,.dva-type-800-bold-italic,.dva-type-800-bold,.dva-type-850-bold-italic,.dvag-m-n03-vb-footer__headline,.dvag-m-c04-vb-stage__vb-name,.dva-type-850-bold,.dva-type-900-bold-italic,.dvag-m-section-header__headline,.dva-type-900-bold,.dva-type-950-bold-italic,.dva-type-950-bold,.dva-type-975-bold-italic,.dva-type-975-bold{font-weight:700}.dva-type-light,.dva-type-200-light-italic,.dva-type-200-light,.dva-type-400-light-italic,.dva-type-400-light,.dva-type-500-light-italic,.dva-type-500-light,.dva-type-550-light-italic,.dva-type-550-light,.dva-type-700-light-italic,.dva-type-700-light,.dva-type-750-light-italic,.dva-type-750-light,.dva-type-800-light-italic,.dva-type-800-light,.dva-type-850-light-italic,.dva-type-850-light,.dva-type-900-light-italic,.dvag-h-headline--regular .dvag-m-section-header__headline,.dva-type-900-light,.dva-type-950-light-italic,.dva-type-950-light,.dva-type-975-light-italic,.dva-type-975-light{font-weight:300}.dva-type-italic,.dva-type-200-italic,.dva-type-200-light-italic,.dva-type-200-bold-italic,.dva-type-400-italic,.dva-type-400-light-italic,.dva-type-400-bold-italic,.dva-type-500-italic,.dva-type-500-light-italic,.dva-type-500-bold-italic,.dva-type-550-italic,.dva-type-550-light-italic,.dva-type-550-bold-italic,.dva-type-700-italic,.dva-type-700-light-italic,.dva-type-700-bold-italic,.dva-m-article-content blockquote,.dva-type-750-italic,.dva-type-750-light-italic,.dva-type-750-bold-italic,.dva-type-800-italic,.dva-type-800-light-italic,.dva-type-800-bold-italic,.dva-type-850-italic,.dva-type-850-light-italic,.dva-type-850-bold-italic,.dva-type-900-italic,.dva-type-900-light-italic,.dva-type-900-bold-italic,.dva-type-950-italic,.dva-type-950-light-italic,.dva-type-950-bold-italic,.dva-type-975-italic,.dva-type-975-light-italic,.dva-type-975-bold-italic{font-style:italic}.dva-type-975,.dva-type-975-italic,.dva-type-975-light-italic,.dva-type-975-light,.dva-type-975-bold-italic,.dva-type-975-bold{margin:0;font-family:dvag-type,sans-serif;font-size:3rem;line-height:1.25}@media (min-width: 1024px){.dva-type-975,.dva-type-975-italic,.dva-type-975-light-italic,.dva-type-975-light,.dva-type-975-bold-italic,.dva-type-975-bold{font-size:4rem}}.dva-type-950,.dva-type-950-italic,.dva-type-950-light-italic,.dva-type-950-light,.dva-type-950-bold-italic,.dva-type-950-bold{margin:0 0 24px;font-family:dvag-type,sans-serif;font-size:2.375rem;line-height:1.28}@media (min-width: 1024px){.dva-type-950,.dva-type-950-italic,.dva-type-950-light-italic,.dva-type-950-light,.dva-type-950-bold-italic,.dva-type-950-bold{margin:0 0 32px;font-size:3.5rem}}.dva-type-900,.dva-type-900-italic,.dva-type-900-light-italic,.dvag-h-headline--regular .dvag-m-section-header__headline,.dva-type-900-light,.dva-type-900-bold-italic,.dvag-m-section-header__headline,.dva-type-900-bold{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:2rem;line-height:1.27}@media (min-width: 1024px){.dva-type-900,.dva-type-900-italic,.dva-type-900-light-italic,.dvag-h-headline--regular .dvag-m-section-header__headline,.dva-type-900-light,.dva-type-900-bold-italic,.dvag-m-section-header__headline,.dva-type-900-bold{margin:0 0 32px;font-size:2.75rem}}.dva-type-850,.dva-type-850-italic,.dva-type-850-light-italic,.dva-type-850-light,.dva-type-850-bold-italic,.dvag-m-n03-vb-footer__headline,.dvag-m-c04-vb-stage__vb-name,.dva-type-850-bold{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.75rem;line-height:1.35}@media (min-width: 1024px){.dva-type-850,.dva-type-850-italic,.dva-type-850-light-italic,.dva-type-850-light,.dva-type-850-bold-italic,.dvag-m-n03-vb-footer__headline,.dvag-m-c04-vb-stage__vb-name,.dva-type-850-bold{margin:0 0 24px;font-size:2.5rem}}.dvag-m-c01e-teaser-overlay__headline,.dva-type-800,.dva-type-800-italic,.dva-type-800-light-italic,.dva-type-800-light,.dva-type-800-bold-italic,.dva-type-800-bold{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.5rem;line-height:1.42}@media (min-width: 1024px){.dvag-m-c01e-teaser-overlay__headline,.dva-type-800,.dva-type-800-italic,.dva-type-800-light-italic,.dva-type-800-light,.dva-type-800-bold-italic,.dva-type-800-bold{margin:0 0 24px;font-size:1.75rem}}.dva-type-750,.dva-m-article-content blockquote,.dva-type-750-italic,.dva-type-750-light-italic,.dva-type-750-light,.dva-type-750-bold-italic,.dvag-m-n01-navigation__level-2-headline,.dvag-m-n01-navigation__item-link,.dva-type-750-bold{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.5rem;line-height:1.33}.dvag-m-n03-vb-footer__topline,.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__toggle-label,.dvag-m-n02-footer__headline,.dvag-m-c01e-teaser__headline,.dvag-m-section-header__subheadline,.dva-type-700,.dva-type-700-italic,.dva-type-700-light-italic,.dva-type-700-light,.dva-type-700-bold-italic,.dva-type-700-bold{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.25rem;line-height:1.4}.dvag-m-n01-navigation__teaser-headline,.dva-type-550,.dva-type-550-italic,.dva-type-550-light-italic,.dva-type-550-light,.dva-type-550-bold-italic,.dvag-m-lottie-slider-slide__headline,.dvag-m-c04-vb-stage__vb-info,.dva-type-550-bold{margin:0;font-family:dvag-type,sans-serif;font-size:1.125rem;line-height:1.44}.dvag-m-n01-navigation__level-2-subheadline,.dvag-m-n01-navigation__item-link--language-switch,.dvag-m-n01-navigation__item-link--secondary,.dvag-m-n01-navigation__item-link--level-2,.dvag-m-c04-vb-stage__rating-link,.dvag-m-c11-accordion__toggle-label,.dvag-m-c01e-teaser-overlay__text,.dvag-m-c01e-teaser .dvag-m-c01e-teaser__text,.dvag-m-section-header__text,.dva-e-button--rebrush .dva-e-button__label,body,.dva-type-500,.dva-type-500-italic,.dva-type-500-light-italic,.dva-type-500-light,.dva-type-500-bold-italic,.dvag-m-n01-navigation__item-link--optional,.dvag-m-n01-navigation__header-button,.dvag-m-c04-vb-stage__rating-label,.dvag-m-c11-accordion__toggle,.dvag-m-c01e-teaser-overlay__rating-category,.dva-type-500-bold{margin:0;font-family:dvag-type,sans-serif;font-size:1rem;line-height:1.5}.dvag-m-n01-navigation__item-rating-label,.dvag-m-n01-header__vb-subheadline,.dvag-m-n02-footer__copyright,.dvag-m-c01e-teaser-overlay__vb-label,.dvag-m-c01e-teaser-overlay__customer-label,.dvag-m-c01e-teaser-overlay__customer-name,.dvag-m-c01e-teaser-overlay__customer-info,.dvag-m-c01e-teaser__customer-label,.dvag-m-c01e-teaser__footer,.dva-m-article-content blockquote cite,.dva-type-400,.dva-type-400-italic,.dva-type-400-light-italic,.dva-type-400-light,.dva-type-400-bold-italic,.dvag-m-n01-header__vb-link,.dvag-m-n01-header__vb-name,.dvag-m-lottie-slider-slide__subheadline,.dvag-m-c01e-teaser-overlay__vb-name,.dva-type-400-bold{margin:0;font-family:dvag-type,sans-serif;font-size:.875rem;line-height:1.57}.dvag-m-c01e-teaser-overlay .dvag-m-c01e-teaser-overlay__rating-label,.dvag-m-c01e-teaser .dvag-m-c01e-teaser__rating-label,.dva-m-article-content figure figcaption,.dva-m-breadcrump-navigation__label,.dva-type-200,.dva-type-200-italic,.dva-type-200-light-italic,.dva-type-200-light,.dva-type-200-bold-italic,.dva-type-200-bold{margin:0;font-family:dvag-type,sans-serif;font-size:.75rem;line-height:1.5}.dvag-h-padding-bottom--none .dvag-m-c07-rating-teaser-slider,.dvag-h-padding-bottom--none .dvag-h-component-padding-bottom,.dvag-h-padding-bottom--none .dvag-m-c07-rating-teaser-slider .dvag-m-skewed-box__content,.dvag-h-padding-bottom--none .dvag-h-component-padding-bottom .dvag-m-skewed-box__content{padding-bottom:0}.dvag-h-padding-top--none .dvag-m-c07-rating-teaser-slider,.dvag-h-padding-top--none .dvag-h-component-padding-top,.dvag-h-padding-top--none .dvag-m-c07-rating-teaser-slider .dvag-m-skewed-box__content,.dvag-h-padding-top--none .dvag-h-component-padding-top .dvag-m-skewed-box__content{padding-top:0}.dvag-e-b09-vignette,.dvag-m-c01e-teaser-overlay__image-wrapper{overflow:hidden;flex-shrink:0;border:1px solid #ccc;border-radius:100%}.dvag-e-b09-vignette .dva-e-lazy-image,.dvag-m-c01e-teaser-overlay__image-wrapper .dva-e-lazy-image{background-color:#fff}.dva-e-button--rebrush.dva-e-button--white{color:#c8aa22;background:#fff}.dva-e-button--rebrush.dva-e-button--white:hover{color:#786614!important;background:#fff!important}.dva-e-button--rebrush.dva-e-button--white:hover .dva-e-icon{color:#786614;fill:#786614}.dva-e-button--rebrush.dva-e-button--white:active{background:#f4eed2}.dva-e-button--rebrush.dva-e-button--white:active .dva-e-button__background:after{background:#f4eed2}.dva-e-button--rebrush.dva-e-button--white:before{border:2px solid #fff}.dva-e-button--rebrush.dva-e-button--white .dva-e-button__background:after{background:#f9f6e9}.dvag-m-c08-barcomponent,.dvag-m-c04-vb-stage,.dvag-m-c07-rating-teaser-slider,.dvag-m-skew-component,.dvag-h-component-margin,.dvag-h-component-margin-bottom{margin-bottom:40px}.dvag-h-margin-none .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--none .dvag-m-c08-barcomponent,.dvag-h-margin-none .dvag-m-c04-vb-stage,.dvag-h-margin-none .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-none .dvag-m-skew-component,.dvag-h-margin-none .dvag-h-component-margin,.dvag-h-margin-none .dvag-h-component-margin-bottom,.dvag-h-margin-bottom--none .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--none .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--none .dvag-m-skew-component,.dvag-h-margin-bottom--none .dvag-h-component-margin,.dvag-h-margin-bottom--none .dvag-h-component-margin-bottom{margin-bottom:0}.dvag-h-margin-bottom--default .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--default .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--default .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--default .dvag-m-skew-component,.dvag-h-margin-bottom--default .dvag-h-component-margin,.dvag-h-margin-bottom--default .dvag-h-component-margin-bottom{margin-bottom:40px}@media (min-width: 760px){.dvag-m-c08-barcomponent,.dvag-m-c04-vb-stage,.dvag-m-c07-rating-teaser-slider,.dvag-m-skew-component,.dvag-h-component-margin,.dvag-h-component-margin-bottom{margin-bottom:64px}.dvag-h-margin-none .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--none .dvag-m-c08-barcomponent,.dvag-h-margin-none .dvag-m-c04-vb-stage,.dvag-h-margin-none .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-none .dvag-m-skew-component,.dvag-h-margin-none .dvag-h-component-margin,.dvag-h-margin-none .dvag-h-component-margin-bottom,.dvag-h-margin-bottom--none .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--none .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--none .dvag-m-skew-component,.dvag-h-margin-bottom--none .dvag-h-component-margin,.dvag-h-margin-bottom--none .dvag-h-component-margin-bottom{margin-bottom:0}.dvag-h-margin-small .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--small .dvag-m-c08-barcomponent,.dvag-h-margin-small .dvag-m-c04-vb-stage,.dvag-h-margin-small .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-small .dvag-m-skew-component,.dvag-h-margin-small .dvag-h-component-margin,.dvag-h-margin-small .dvag-h-component-margin-bottom,.dvag-h-margin-bottom--small .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--small .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--small .dvag-m-skew-component,.dvag-h-margin-bottom--small .dvag-h-component-margin,.dvag-h-margin-bottom--small .dvag-h-component-margin-bottom{margin-bottom:40px}.dvag-h-margin-medium .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--medium .dvag-m-c08-barcomponent,.dvag-h-margin-medium .dvag-m-c04-vb-stage,.dvag-h-margin-medium .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-medium .dvag-m-skew-component,.dvag-h-margin-medium .dvag-h-component-margin,.dvag-h-margin-medium .dvag-h-component-margin-bottom,.dvag-h-margin-bottom--medium .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--medium .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--medium .dvag-m-skew-component,.dvag-h-margin-bottom--medium .dvag-h-component-margin,.dvag-h-margin-bottom--medium .dvag-h-component-margin-bottom,.dvag-h-margin-large .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--large .dvag-m-c08-barcomponent,.dvag-h-margin-large .dvag-m-c04-vb-stage,.dvag-h-margin-large .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-large .dvag-m-skew-component,.dvag-h-margin-large .dvag-h-component-margin,.dvag-h-margin-large .dvag-h-component-margin-bottom,.dvag-h-margin-bottom--large .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--large .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--large .dvag-m-skew-component,.dvag-h-margin-bottom--large .dvag-h-component-margin,.dvag-h-margin-bottom--large .dvag-h-component-margin-bottom{margin-bottom:64px}.dvag-h-margin-bottom--default .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--default .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--default .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--default .dvag-m-skew-component,.dvag-h-margin-bottom--default .dvag-h-component-margin,.dvag-h-margin-bottom--default .dvag-h-component-margin-bottom{margin-bottom:40px}}@media (min-width: 1024px){.dvag-m-c08-barcomponent .dvag-h-margin-none,.dvag-h-margin-bottom--none .dvag-m-c08-barcomponent,.dvag-m-c04-vb-stage .dvag-h-margin-none,.dvag-m-c07-rating-teaser-slider .dvag-h-margin-none,.dvag-m-skew-component .dvag-h-margin-none,.dvag-h-component-margin .dvag-h-margin-none,.dvag-h-component-margin-bottom .dvag-h-margin-none,.dvag-h-margin-bottom--none .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--none .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--none .dvag-m-skew-component,.dvag-h-margin-bottom--none .dvag-h-component-margin,.dvag-h-margin-bottom--none .dvag-h-component-margin-bottom{margin-bottom:0}.dvag-m-c08-barcomponent .dvag-h-margin-small,.dvag-h-margin-bottom--small .dvag-m-c08-barcomponent,.dvag-m-c04-vb-stage .dvag-h-margin-small,.dvag-m-c07-rating-teaser-slider .dvag-h-margin-small,.dvag-m-skew-component .dvag-h-margin-small,.dvag-h-component-margin .dvag-h-margin-small,.dvag-h-component-margin-bottom .dvag-h-margin-small,.dvag-h-margin-bottom--small .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--small .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--small .dvag-m-skew-component,.dvag-h-margin-bottom--small .dvag-h-component-margin,.dvag-h-margin-bottom--small .dvag-h-component-margin-bottom{margin-bottom:40px}.dvag-m-c08-barcomponent .dvag-h-margin-medium,.dvag-h-margin-bottom--medium .dvag-m-c08-barcomponent,.dvag-m-c04-vb-stage .dvag-h-margin-medium,.dvag-m-c07-rating-teaser-slider .dvag-h-margin-medium,.dvag-m-skew-component .dvag-h-margin-medium,.dvag-h-component-margin .dvag-h-margin-medium,.dvag-h-component-margin-bottom .dvag-h-margin-medium,.dvag-h-margin-bottom--medium .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--medium .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--medium .dvag-m-skew-component,.dvag-h-margin-bottom--medium .dvag-h-component-margin,.dvag-h-margin-bottom--medium .dvag-h-component-margin-bottom{margin-bottom:64px}.dvag-m-c08-barcomponent .dvag-h-margin-large,.dvag-h-margin-bottom--large .dvag-m-c08-barcomponent,.dvag-m-c04-vb-stage .dvag-h-margin-large,.dvag-m-c07-rating-teaser-slider .dvag-h-margin-large,.dvag-m-skew-component .dvag-h-margin-large,.dvag-h-component-margin .dvag-h-margin-large,.dvag-h-component-margin-bottom .dvag-h-margin-large,.dvag-h-margin-bottom--large .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--large .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--large .dvag-m-skew-component,.dvag-h-margin-bottom--large .dvag-h-component-margin,.dvag-h-margin-bottom--large .dvag-h-component-margin-bottom{margin-bottom:96px}.dvag-h-margin-bottom--default .dvag-m-c08-barcomponent,.dvag-h-margin-bottom--default .dvag-m-c04-vb-stage,.dvag-h-margin-bottom--default .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-bottom--default .dvag-m-skew-component,.dvag-h-margin-bottom--default .dvag-h-component-margin,.dvag-h-margin-bottom--default .dvag-h-component-margin-bottom{margin-bottom:40px}}.dvag-m-c07-rating-teaser-slider,.dvag-m-skew-component,.dvag-h-component-margin-top{margin-top:0}@media (min-width: 760px){.dvag-h-margin-top--none .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--none .dvag-m-skew-component,.dvag-h-margin-top--none .dvag-h-component-margin-top{margin-top:0}.dvag-h-margin-top--small .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--small .dvag-m-skew-component,.dvag-h-margin-top--small .dvag-h-component-margin-top{margin-top:40px}.dvag-h-margin-top--medium .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--medium .dvag-m-skew-component,.dvag-h-margin-top--medium .dvag-h-component-margin-top,.dvag-h-margin-top--large .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--large .dvag-m-skew-component,.dvag-h-margin-top--large .dvag-h-component-margin-top{margin-top:64px}}@media (min-width: 1024px){.dvag-h-margin-top--none .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--none .dvag-m-skew-component,.dvag-h-margin-top--none .dvag-h-component-margin-top{margin-top:0}.dvag-h-margin-top--small .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--small .dvag-m-skew-component,.dvag-h-margin-top--small .dvag-h-component-margin-top{margin-top:40px}.dvag-h-margin-top--medium .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--medium .dvag-m-skew-component,.dvag-h-margin-top--medium .dvag-h-component-margin-top{margin-top:64px}.dvag-h-margin-top--large .dvag-m-c07-rating-teaser-slider,.dvag-h-margin-top--large .dvag-m-skew-component,.dvag-h-margin-top--large .dvag-h-component-margin-top{margin-top:96px}}.dvag-m-lottie-slider__grid-wrapper,.dvag-m-c04-vb-stage__vb-content,.dvag-m-c04-vb-stage__vb-image,.dvag-m-c28-content-container,.dvag-m-c07-rating-teaser-slider__grid-wrapper,.dvag-m-skew-component .dvag-m-skewed-box__content,.dva-grid,.dvag-grid{width:100%;padding:0 16px}@media (min-width: 476px){.dvag-m-lottie-slider__grid-wrapper,.dvag-m-c04-vb-stage__vb-content,.dvag-m-c04-vb-stage__vb-image,.dvag-m-c28-content-container,.dvag-m-c07-rating-teaser-slider__grid-wrapper,.dvag-m-skew-component .dvag-m-skewed-box__content,.dva-grid,.dvag-grid{padding:0 24px}}@media (min-width: 760px){.dvag-m-lottie-slider__grid-wrapper,.dvag-m-c04-vb-stage__vb-content,.dvag-m-c04-vb-stage__vb-image,.dvag-m-c28-content-container,.dvag-m-c07-rating-teaser-slider__grid-wrapper,.dvag-m-skew-component .dvag-m-skewed-box__content,.dva-grid,.dvag-grid{padding:0 32px}}@media (min-width: 1280px){.dvag-m-lottie-slider__grid-wrapper,.dvag-m-c04-vb-stage__vb-content,.dvag-m-c04-vb-stage__vb-image,.dvag-m-c28-content-container,.dvag-m-c07-rating-teaser-slider__grid-wrapper,.dvag-m-skew-component .dvag-m-skewed-box__content,.dva-grid,.dvag-grid{max-width:1460px;padding:0 40px;margin:0 auto}}.dva-grid-row,.dvag-grid-row{display:flex;min-width:100%;flex-wrap:wrap;margin:0 -8px}@media (min-width: 476px){.dva-grid-row,.dvag-grid-row{margin:0 -8px}}@media (min-width: 760px){.dva-grid-row,.dvag-grid-row{margin:0 -12px}}@media (min-width: 1024px){.dva-grid-row,.dvag-grid-row{margin:0 -12px}}@media (min-width: 1280px){.dva-grid-row,.dvag-grid-row{margin:0 -12px}}.dva-grid-row .dva-grid-col--centered,.dvag-grid-row .dva-grid-col--centered,.dva-grid-row .dvag-grid-col--centered,.dvag-grid-row .dvag-grid-col--centered{margin:0 auto}.dva-grid-col-1-1,.dvag-grid-col-1-1{margin:0 8px;flex-basis:calc(100% / 12 - 16px);max-width:calc(100% / 12 - 16px)}@media (min-width: 476px){.dva-grid-col-1-1,.dvag-grid-col-1-1{max-width:calc(100% / 12 - 16px);flex-basis:calc(100% / 12 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-1,.dvag-grid-col-1-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-1,.dvag-grid-col-1-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-1,.dvag-grid-col-1-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}.dva-grid-col-1-2,.dvag-grid-col-1-2{margin:0 8px;flex-basis:calc(100% / 6 - 16px);max-width:calc(100% / 6 - 16px)}@media (min-width: 476px){.dva-grid-col-1-2,.dvag-grid-col-1-2{max-width:calc(100% / 6 - 16px);flex-basis:calc(100% / 6 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-2,.dvag-grid-col-1-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-2,.dvag-grid-col-1-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-2,.dvag-grid-col-1-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}.dva-grid-col-1-3,.dvag-grid-col-1-3{margin:0 8px;flex-basis:calc(25% - 16px);max-width:calc(25% - 16px)}@media (min-width: 476px){.dva-grid-col-1-3,.dvag-grid-col-1-3{max-width:calc(25% - 16px);flex-basis:calc(25% - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-3,.dvag-grid-col-1-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-3,.dvag-grid-col-1-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-3,.dvag-grid-col-1-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}.dva-grid-col-1-4,.dvag-grid-col-1-4{margin:0 8px;flex-basis:calc(100% / 3 - 16px);max-width:calc(100% / 3 - 16px)}@media (min-width: 476px){.dva-grid-col-1-4,.dvag-grid-col-1-4{max-width:calc(100% / 3 - 16px);flex-basis:calc(100% / 3 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-4,.dvag-grid-col-1-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-4,.dvag-grid-col-1-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-4,.dvag-grid-col-1-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}.dva-grid-col-1-5,.dvag-grid-col-1-5{margin:0 8px;flex-basis:calc(100% / 2.4 - 16px);max-width:calc(100% / 2.4 - 16px)}@media (min-width: 476px){.dva-grid-col-1-5,.dvag-grid-col-1-5{max-width:calc(100% / 2.4 - 16px);flex-basis:calc(100% / 2.4 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-5,.dvag-grid-col-1-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-5,.dvag-grid-col-1-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-5,.dvag-grid-col-1-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}.dva-grid-col-1-6,.dvag-grid-col-1-6{margin:0 8px;flex-basis:calc(50% - 16px);max-width:calc(50% - 16px)}@media (min-width: 476px){.dva-grid-col-1-6,.dvag-grid-col-1-6{max-width:calc(50% - 16px);flex-basis:calc(50% - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-6,.dvag-grid-col-1-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-6,.dvag-grid-col-1-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-6,.dvag-grid-col-1-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}.dva-grid-col-1-7,.dvag-grid-col-1-7{margin:0 8px;flex-basis:calc(100% / 1.7142857143 - 16px);max-width:calc(100% / 1.7142857143 - 16px)}@media (min-width: 476px){.dva-grid-col-1-7,.dvag-grid-col-1-7{max-width:calc(100% / 1.7142857143 - 16px);flex-basis:calc(100% / 1.7142857143 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-7,.dvag-grid-col-1-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-7,.dvag-grid-col-1-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-7,.dvag-grid-col-1-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}.dva-grid-col-1-8,.dvag-grid-col-1-8{margin:0 8px;flex-basis:calc(100% / 1.5 - 16px);max-width:calc(100% / 1.5 - 16px)}@media (min-width: 476px){.dva-grid-col-1-8,.dvag-grid-col-1-8{max-width:calc(100% / 1.5 - 16px);flex-basis:calc(100% / 1.5 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-8,.dvag-grid-col-1-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-8,.dvag-grid-col-1-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-8,.dvag-grid-col-1-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}.dvag-m-basic-slider__scroll-bar,.dvag-e-progress-bar{flex-basis:calc((100% + 16px) / 12 * 8 - 16px);max-width:calc((100% + 16px) / 12 * 8 - 16px)}@media (min-width: 476px){.dvag-m-basic-slider__scroll-bar,.dvag-e-progress-bar{flex-basis:calc((100% + 16px) / 12 * 8 - 16px);max-width:calc((100% + 16px) / 12 * 8 - 16px)}}@media (min-width: 760px){.dvag-m-basic-slider__scroll-bar,.dvag-e-progress-bar{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 1024px){.dvag-m-basic-slider__scroll-bar,.dvag-e-progress-bar{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 1280px){.dvag-m-basic-slider__scroll-bar,.dvag-e-progress-bar{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}.dva-grid-col-1-9,.dvag-grid-col-1-9{margin:0 8px;flex-basis:calc(100% / 1.3333333333 - 16px);max-width:calc(100% / 1.3333333333 - 16px)}@media (min-width: 476px){.dva-grid-col-1-9,.dvag-grid-col-1-9{max-width:calc(100% / 1.3333333333 - 16px);flex-basis:calc(100% / 1.3333333333 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-9,.dvag-grid-col-1-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-9,.dvag-grid-col-1-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-9,.dvag-grid-col-1-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}.dva-grid-col-1-10,.dvag-grid-col-1-10{margin:0 8px;flex-basis:calc(100% / 1.2 - 16px);max-width:calc(100% / 1.2 - 16px)}@media (min-width: 476px){.dva-grid-col-1-10,.dvag-grid-col-1-10{max-width:calc(100% / 1.2 - 16px);flex-basis:calc(100% / 1.2 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-10,.dvag-grid-col-1-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-10,.dvag-grid-col-1-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-10,.dvag-grid-col-1-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}.dva-grid-col-1-11,.dvag-grid-col-1-11{margin:0 8px;flex-basis:calc(100% / 1.0909090909 - 16px);max-width:calc(100% / 1.0909090909 - 16px)}@media (min-width: 476px){.dva-grid-col-1-11,.dvag-grid-col-1-11{max-width:calc(100% / 1.0909090909 - 16px);flex-basis:calc(100% / 1.0909090909 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-11,.dvag-grid-col-1-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-11,.dvag-grid-col-1-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-11,.dvag-grid-col-1-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}.dvag-m-lottie-slider .dvag-m-basic-slider{flex-basis:calc((100% + 16px) / 12 * 11 - 16px);max-width:calc((100% + 16px) / 12 * 11 - 16px)}@media (min-width: 476px){.dvag-m-lottie-slider .dvag-m-basic-slider{flex-basis:calc((100% + 16px) / 12 * 11 - 16px);max-width:calc((100% + 16px) / 12 * 11 - 16px)}}@media (min-width: 760px){.dvag-m-lottie-slider .dvag-m-basic-slider{flex-basis:calc((100% + 24px) / 12 * 11 - 24px);max-width:calc((100% + 24px) / 12 * 11 - 24px)}}@media (min-width: 1024px){.dvag-m-lottie-slider .dvag-m-basic-slider{flex-basis:calc((100% + 24px) / 12 * 11 - 24px);max-width:calc((100% + 24px) / 12 * 11 - 24px)}}@media (min-width: 1280px){.dvag-m-lottie-slider .dvag-m-basic-slider{flex-basis:calc((100% + 24px) / 12 * 11 - 24px);max-width:calc((100% + 24px) / 12 * 11 - 24px)}}.dva-grid-col-1-12,.dvag-grid-col-1-12{margin:0 8px;flex-basis:calc(100% - 16px);max-width:calc(100% - 16px)}@media (min-width: 476px){.dva-grid-col-1-12,.dvag-grid-col-1-12{max-width:calc(100% - 16px);flex-basis:calc(100% - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-1-12,.dvag-grid-col-1-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-1-12,.dvag-grid-col-1-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-1-12,.dvag-grid-col-1-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}.dvag-m-lottie-slider__animation-box,.dvag-m-basic-overlay__inner-content,.dvag-m-c04-vb-stage__vb-inner-content,.dvag-m-c04-vb-stage__vb-image-wrapper,.dvag-m-c28-content-container__content-wrapper,.dvag-m-c07-rating-teaser-slider__button-wrapper,.dvag-h-header--left-aligned .dvag-m-section-header,.dvag-m-section-header{flex-basis:calc((100% + 16px)*1 - 16px);max-width:calc((100% + 16px)*1 - 16px)}@media (min-width: 476px){.dvag-m-lottie-slider__animation-box,.dvag-m-basic-overlay__inner-content,.dvag-m-c04-vb-stage__vb-inner-content,.dvag-m-c04-vb-stage__vb-image-wrapper,.dvag-m-c28-content-container__content-wrapper,.dvag-m-c07-rating-teaser-slider__button-wrapper,.dvag-h-header--left-aligned .dvag-m-section-header,.dvag-m-section-header{flex-basis:calc((100% + 16px)*1 - 16px);max-width:calc((100% + 16px)*1 - 16px)}}@media (min-width: 760px){.dvag-m-lottie-slider__animation-box,.dvag-m-basic-overlay__inner-content,.dvag-m-c04-vb-stage__vb-inner-content,.dvag-m-c04-vb-stage__vb-image-wrapper,.dvag-m-c28-content-container__content-wrapper,.dvag-m-c07-rating-teaser-slider__button-wrapper,.dvag-h-header--left-aligned .dvag-m-section-header,.dvag-m-section-header{flex-basis:calc((100% + 24px)*1 - 24px);max-width:calc((100% + 24px)*1 - 24px)}}@media (min-width: 1024px){.dvag-m-lottie-slider__animation-box,.dvag-m-basic-overlay__inner-content,.dvag-m-c04-vb-stage__vb-inner-content,.dvag-m-c04-vb-stage__vb-image-wrapper,.dvag-m-c28-content-container__content-wrapper,.dvag-m-c07-rating-teaser-slider__button-wrapper,.dvag-h-header--left-aligned .dvag-m-section-header,.dvag-m-section-header{flex-basis:calc((100% + 24px)*1 - 24px);max-width:calc((100% + 24px)*1 - 24px)}}@media (min-width: 1280px){.dvag-m-lottie-slider__animation-box,.dvag-m-basic-overlay__inner-content,.dvag-m-c04-vb-stage__vb-inner-content,.dvag-m-c04-vb-stage__vb-image-wrapper,.dvag-m-c28-content-container__content-wrapper,.dvag-m-c07-rating-teaser-slider__button-wrapper,.dvag-h-header--left-aligned .dvag-m-section-header,.dvag-m-section-header{flex-basis:calc((100% + 24px)*1 - 24px);max-width:calc((100% + 24px)*1 - 24px)}}.dva-grid-offset-1-0,.dvag-grid-offset-1-0{margin-left:8px}@media (min-width: 476px){.dva-grid-offset-1-0,.dvag-grid-offset-1-0{margin-left:8px}}@media (min-width: 760px){.dva-grid-offset-1-0,.dvag-grid-offset-1-0{margin-left:12px}}@media (min-width: 1024px){.dva-grid-offset-1-0,.dvag-grid-offset-1-0{margin-left:12px}}@media (min-width: 1280px){.dva-grid-offset-1-0,.dvag-grid-offset-1-0{margin-left:12px}}.dva-grid-offset-1-1,.dvag-grid-offset-1-1{margin-left:calc(100% / 12 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-1,.dvag-grid-offset-1-1{margin-left:calc(100% / 12 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-1,.dvag-grid-offset-1-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-1,.dvag-grid-offset-1-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-1,.dvag-grid-offset-1-1{margin-left:calc(100% / 12 + 12px)}}.dvag-m-lottie-slider .dvag-m-basic-slider{margin-left:calc((100% + 16px) / 12 * 1)}@media (min-width: 476px){.dvag-m-lottie-slider .dvag-m-basic-slider{margin-left:calc((100% + 16px) / 12 * 1)}}@media (min-width: 760px){.dvag-m-lottie-slider .dvag-m-basic-slider{margin-left:calc((100% + 24px) / 12 * 1)}}@media (min-width: 1024px){.dvag-m-lottie-slider .dvag-m-basic-slider{margin-left:calc((100% + 24px) / 12 * 1)}}@media (min-width: 1280px){.dvag-m-lottie-slider .dvag-m-basic-slider{margin-left:calc((100% + 24px) / 12 * 1)}}.dva-grid-offset-1-2,.dvag-grid-offset-1-2{margin-left:calc(100% / 6 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-2,.dvag-grid-offset-1-2{margin-left:calc(100% / 6 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-2,.dvag-grid-offset-1-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-2,.dvag-grid-offset-1-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-2,.dvag-grid-offset-1-2{margin-left:calc(100% / 6 + 12px)}}.dvag-m-basic-slider__scroll-bar{margin-left:calc((100% + 16px) / 12 * 2)}@media (min-width: 476px){.dvag-m-basic-slider__scroll-bar{margin-left:calc((100% + 16px) / 12 * 2)}}@media (min-width: 760px){.dvag-m-basic-slider__scroll-bar{margin-left:calc((100% + 24px) / 12 * 2)}}@media (min-width: 1024px){.dvag-m-basic-slider__scroll-bar{margin-left:calc((100% + 24px) / 12 * 2)}}@media (min-width: 1280px){.dvag-m-basic-slider__scroll-bar{margin-left:calc((100% + 24px) / 12 * 2)}}.dva-grid-offset-1-3,.dvag-grid-offset-1-3{margin-left:calc(25% + 8px)}@media (min-width: 476px){.dva-grid-offset-1-3,.dvag-grid-offset-1-3{margin-left:calc(25% + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-3,.dvag-grid-offset-1-3{margin-left:calc(25% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-3,.dvag-grid-offset-1-3{margin-left:calc(25% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-3,.dvag-grid-offset-1-3{margin-left:calc(25% + 12px)}}.dva-grid-offset-1-4,.dvag-grid-offset-1-4{margin-left:calc(100% / 3 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-4,.dvag-grid-offset-1-4{margin-left:calc(100% / 3 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-4,.dvag-grid-offset-1-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-4,.dvag-grid-offset-1-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-4,.dvag-grid-offset-1-4{margin-left:calc(100% / 3 + 12px)}}.dva-grid-offset-1-5,.dvag-grid-offset-1-5{margin-left:calc(100% / 2.4 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-5,.dvag-grid-offset-1-5{margin-left:calc(100% / 2.4 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-5,.dvag-grid-offset-1-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-5,.dvag-grid-offset-1-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-5,.dvag-grid-offset-1-5{margin-left:calc(100% / 2.4 + 12px)}}.dva-grid-offset-1-6,.dvag-grid-offset-1-6{margin-left:calc(50% + 8px)}@media (min-width: 476px){.dva-grid-offset-1-6,.dvag-grid-offset-1-6{margin-left:calc(50% + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-6,.dvag-grid-offset-1-6{margin-left:calc(50% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-6,.dvag-grid-offset-1-6{margin-left:calc(50% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-6,.dvag-grid-offset-1-6{margin-left:calc(50% + 12px)}}.dva-grid-offset-1-7,.dvag-grid-offset-1-7{margin-left:calc(100% / 1.7142857143 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-7,.dvag-grid-offset-1-7{margin-left:calc(100% / 1.7142857143 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-7,.dvag-grid-offset-1-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-7,.dvag-grid-offset-1-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-7,.dvag-grid-offset-1-7{margin-left:calc(100% / 1.7142857143 + 12px)}}.dva-grid-offset-1-8,.dvag-grid-offset-1-8{margin-left:calc(100% / 1.5 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-8,.dvag-grid-offset-1-8{margin-left:calc(100% / 1.5 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-8,.dvag-grid-offset-1-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-8,.dvag-grid-offset-1-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-8,.dvag-grid-offset-1-8{margin-left:calc(100% / 1.5 + 12px)}}.dva-grid-offset-1-9,.dvag-grid-offset-1-9{margin-left:calc(100% / 1.3333333333 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-9,.dvag-grid-offset-1-9{margin-left:calc(100% / 1.3333333333 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-9,.dvag-grid-offset-1-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-9,.dvag-grid-offset-1-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-9,.dvag-grid-offset-1-9{margin-left:calc(100% / 1.3333333333 + 12px)}}.dva-grid-offset-1-10,.dvag-grid-offset-1-10{margin-left:calc(100% / 1.2 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-10,.dvag-grid-offset-1-10{margin-left:calc(100% / 1.2 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-10,.dvag-grid-offset-1-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-10,.dvag-grid-offset-1-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-10,.dvag-grid-offset-1-10{margin-left:calc(100% / 1.2 + 12px)}}.dva-grid-offset-1-11,.dvag-grid-offset-1-11{margin-left:calc(100% / 1.0909090909 + 8px)}@media (min-width: 476px){.dva-grid-offset-1-11,.dvag-grid-offset-1-11{margin-left:calc(100% / 1.0909090909 + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-11,.dvag-grid-offset-1-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-11,.dvag-grid-offset-1-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-11,.dvag-grid-offset-1-11{margin-left:calc(100% / 1.0909090909 + 12px)}}.dva-grid-offset-1-12,.dvag-grid-offset-1-12{margin-left:calc(100% + 8px)}@media (min-width: 476px){.dva-grid-offset-1-12,.dvag-grid-offset-1-12{margin-left:calc(100% + 8px)}}@media (min-width: 760px){.dva-grid-offset-1-12,.dvag-grid-offset-1-12{margin-left:calc(100% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-1-12,.dvag-grid-offset-1-12{margin-left:calc(100% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-1-12,.dvag-grid-offset-1-12{margin-left:calc(100% + 12px)}}.dva-grid-order-1-1,.dvag-grid-order-1-1{order:1}.dva-grid-order-1-2,.dvag-grid-order-1-2{order:2}.dva-grid-order-1-3,.dvag-grid-order-1-3{order:3}.dva-grid-order-1-4,.dvag-grid-order-1-4{order:4}.dva-grid-order-1-5,.dvag-grid-order-1-5{order:5}.dva-grid-order-1-6,.dvag-grid-order-1-6{order:6}.dva-grid-order-1-7,.dvag-grid-order-1-7{order:7}.dva-grid-order-1-8,.dvag-grid-order-1-8{order:8}.dva-grid-order-1-9,.dvag-grid-order-1-9{order:9}.dva-grid-order-1-10,.dvag-grid-order-1-10{order:10}.dva-grid-order-1-11,.dvag-grid-order-1-11{order:11}.dva-grid-order-1-12,.dvag-grid-order-1-12{order:12}.dva-grid-order-1-first,.dvag-grid-order-1-first{order:-1}.dva-grid-order-1-last,.dvag-grid-order-1-last{order:13}@media (min-width: 476px){.dva-grid-col-2-1,.dvag-grid-col-2-1{max-width:calc(100% / 12 - 16px);flex-basis:calc(100% / 12 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-1,.dvag-grid-col-2-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-1,.dvag-grid-col-2-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-1,.dvag-grid-col-2-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-2,.dvag-grid-col-2-2{max-width:calc(100% / 6 - 16px);flex-basis:calc(100% / 6 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-2,.dvag-grid-col-2-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-2,.dvag-grid-col-2-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-2,.dvag-grid-col-2-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-3,.dvag-grid-col-2-3{max-width:calc(25% - 16px);flex-basis:calc(25% - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-3,.dvag-grid-col-2-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-3,.dvag-grid-col-2-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-3,.dvag-grid-col-2-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-4,.dvag-grid-col-2-4{max-width:calc(100% / 3 - 16px);flex-basis:calc(100% / 3 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-4,.dvag-grid-col-2-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-4,.dvag-grid-col-2-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-4,.dvag-grid-col-2-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-5,.dvag-grid-col-2-5{max-width:calc(100% / 2.4 - 16px);flex-basis:calc(100% / 2.4 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-5,.dvag-grid-col-2-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-5,.dvag-grid-col-2-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-5,.dvag-grid-col-2-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-6,.dvag-grid-col-2-6{max-width:calc(50% - 16px);flex-basis:calc(50% - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-6,.dvag-grid-col-2-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-6,.dvag-grid-col-2-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-6,.dvag-grid-col-2-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-7,.dvag-grid-col-2-7{max-width:calc(100% / 1.7142857143 - 16px);flex-basis:calc(100% / 1.7142857143 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-7,.dvag-grid-col-2-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-7,.dvag-grid-col-2-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-7,.dvag-grid-col-2-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-8,.dvag-grid-col-2-8{max-width:calc(100% / 1.5 - 16px);flex-basis:calc(100% / 1.5 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-8,.dvag-grid-col-2-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-8,.dvag-grid-col-2-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-8,.dvag-grid-col-2-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-9,.dvag-grid-col-2-9{max-width:calc(100% / 1.3333333333 - 16px);flex-basis:calc(100% / 1.3333333333 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-9,.dvag-grid-col-2-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-9,.dvag-grid-col-2-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-9,.dvag-grid-col-2-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-10,.dvag-grid-col-2-10{max-width:calc(100% / 1.2 - 16px);flex-basis:calc(100% / 1.2 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-10,.dvag-grid-col-2-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-10,.dvag-grid-col-2-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-10,.dvag-grid-col-2-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-11,.dvag-grid-col-2-11{max-width:calc(100% / 1.0909090909 - 16px);flex-basis:calc(100% / 1.0909090909 - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-11,.dvag-grid-col-2-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-11,.dvag-grid-col-2-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-11,.dvag-grid-col-2-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-col-2-12,.dvag-grid-col-2-12{max-width:calc(100% - 16px);flex-basis:calc(100% - 16px);margin:0 8px}}@media (min-width: 760px){.dva-grid-col-2-12,.dvag-grid-col-2-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-2-12,.dvag-grid-col-2-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-2-12,.dvag-grid-col-2-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 476px){.dva-grid-offset-2-0,.dvag-grid-offset-2-0{margin-left:8px}}@media (min-width: 760px){.dva-grid-offset-2-0,.dvag-grid-offset-2-0{margin-left:12px}}@media (min-width: 1024px){.dva-grid-offset-2-0,.dvag-grid-offset-2-0{margin-left:12px}}@media (min-width: 1280px){.dva-grid-offset-2-0,.dvag-grid-offset-2-0{margin-left:12px}}@media (min-width: 476px){.dva-grid-offset-2-1,.dvag-grid-offset-2-1{margin-left:calc(100% / 12 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-1,.dvag-grid-offset-2-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-1,.dvag-grid-offset-2-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-1,.dvag-grid-offset-2-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-2,.dvag-grid-offset-2-2{margin-left:calc(100% / 6 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-2,.dvag-grid-offset-2-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-2,.dvag-grid-offset-2-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-2,.dvag-grid-offset-2-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-3,.dvag-grid-offset-2-3{margin-left:calc(25% + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-3,.dvag-grid-offset-2-3{margin-left:calc(25% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-3,.dvag-grid-offset-2-3{margin-left:calc(25% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-3,.dvag-grid-offset-2-3{margin-left:calc(25% + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-4,.dvag-grid-offset-2-4{margin-left:calc(100% / 3 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-4,.dvag-grid-offset-2-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-4,.dvag-grid-offset-2-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-4,.dvag-grid-offset-2-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-5,.dvag-grid-offset-2-5{margin-left:calc(100% / 2.4 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-5,.dvag-grid-offset-2-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-5,.dvag-grid-offset-2-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-5,.dvag-grid-offset-2-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-6,.dvag-grid-offset-2-6{margin-left:calc(50% + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-6,.dvag-grid-offset-2-6{margin-left:calc(50% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-6,.dvag-grid-offset-2-6{margin-left:calc(50% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-6,.dvag-grid-offset-2-6{margin-left:calc(50% + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-7,.dvag-grid-offset-2-7{margin-left:calc(100% / 1.7142857143 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-7,.dvag-grid-offset-2-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-7,.dvag-grid-offset-2-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-7,.dvag-grid-offset-2-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-8,.dvag-grid-offset-2-8{margin-left:calc(100% / 1.5 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-8,.dvag-grid-offset-2-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-8,.dvag-grid-offset-2-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-8,.dvag-grid-offset-2-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-9,.dvag-grid-offset-2-9{margin-left:calc(100% / 1.3333333333 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-9,.dvag-grid-offset-2-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-9,.dvag-grid-offset-2-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-9,.dvag-grid-offset-2-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-10,.dvag-grid-offset-2-10{margin-left:calc(100% / 1.2 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-10,.dvag-grid-offset-2-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-10,.dvag-grid-offset-2-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-10,.dvag-grid-offset-2-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-11,.dvag-grid-offset-2-11{margin-left:calc(100% / 1.0909090909 + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-11,.dvag-grid-offset-2-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-11,.dvag-grid-offset-2-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-11,.dvag-grid-offset-2-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 476px){.dva-grid-offset-2-12,.dvag-grid-offset-2-12{margin-left:calc(100% + 8px)}}@media (min-width: 760px){.dva-grid-offset-2-12,.dvag-grid-offset-2-12{margin-left:calc(100% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-2-12,.dvag-grid-offset-2-12{margin-left:calc(100% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-2-12,.dvag-grid-offset-2-12{margin-left:calc(100% + 12px)}}@media (min-width: 476px){.dva-grid-order-2-1,.dvag-grid-order-2-1{order:1}}@media (min-width: 476px){.dva-grid-order-2-2,.dvag-grid-order-2-2{order:2}}@media (min-width: 476px){.dva-grid-order-2-3,.dvag-grid-order-2-3{order:3}}@media (min-width: 476px){.dva-grid-order-2-4,.dvag-grid-order-2-4{order:4}}@media (min-width: 476px){.dva-grid-order-2-5,.dvag-grid-order-2-5{order:5}}@media (min-width: 476px){.dva-grid-order-2-6,.dvag-grid-order-2-6{order:6}}@media (min-width: 476px){.dva-grid-order-2-7,.dvag-grid-order-2-7{order:7}}@media (min-width: 476px){.dva-grid-order-2-8,.dvag-grid-order-2-8{order:8}}@media (min-width: 476px){.dva-grid-order-2-9,.dvag-grid-order-2-9{order:9}}@media (min-width: 476px){.dva-grid-order-2-10,.dvag-grid-order-2-10{order:10}}@media (min-width: 476px){.dva-grid-order-2-11,.dvag-grid-order-2-11{order:11}}@media (min-width: 476px){.dva-grid-order-2-12,.dvag-grid-order-2-12{order:12}}@media (min-width: 476px){.dva-grid-order-2-first,.dvag-grid-order-2-first{order:-1}}@media (min-width: 476px){.dva-grid-order-2-last,.dvag-grid-order-2-last{order:13}}@media (min-width: 760px){.dva-grid-col-3-1,.dvag-grid-col-3-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-1,.dvag-grid-col-3-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-1,.dvag-grid-col-3-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-2,.dvag-grid-col-3-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-2,.dvag-grid-col-3-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-2,.dvag-grid-col-3-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-3,.dvag-grid-col-3-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-3,.dvag-grid-col-3-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-3,.dvag-grid-col-3-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-4,.dvag-grid-col-3-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-4,.dvag-grid-col-3-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-4,.dvag-grid-col-3-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-5,.dvag-grid-col-3-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-5,.dvag-grid-col-3-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-5,.dvag-grid-col-3-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-6,.dvag-grid-col-3-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-6,.dvag-grid-col-3-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-6,.dvag-grid-col-3-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-7,.dvag-grid-col-3-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-7,.dvag-grid-col-3-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-7,.dvag-grid-col-3-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-8,.dvag-grid-col-3-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-8,.dvag-grid-col-3-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-8,.dvag-grid-col-3-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 760px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 1024px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 1280px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 760px){.dva-grid-col-3-9,.dvag-grid-col-3-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-9,.dvag-grid-col-3-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-9,.dvag-grid-col-3-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-10,.dvag-grid-col-3-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-10,.dvag-grid-col-3-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-10,.dvag-grid-col-3-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 760px){.dvag-m-basic-overlay__inner-content,.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper,.dvag-m-c28-content-container--10-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px) / 12 * 10 - 24px);max-width:calc((100% + 24px) / 12 * 10 - 24px)}}@media (min-width: 1024px){.dvag-m-basic-overlay__inner-content,.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper,.dvag-m-c28-content-container--10-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px) / 12 * 10 - 24px);max-width:calc((100% + 24px) / 12 * 10 - 24px)}}@media (min-width: 1280px){.dvag-m-basic-overlay__inner-content,.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper,.dvag-m-c28-content-container--10-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px) / 12 * 10 - 24px);max-width:calc((100% + 24px) / 12 * 10 - 24px)}}@media (min-width: 760px){.dva-grid-col-3-11,.dvag-grid-col-3-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-11,.dvag-grid-col-3-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-11,.dvag-grid-col-3-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-col-3-12,.dvag-grid-col-3-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-3-12,.dvag-grid-col-3-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-3-12,.dvag-grid-col-3-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 760px){.dva-grid-offset-3-0,.dvag-grid-offset-3-0{margin-left:12px}}@media (min-width: 1024px){.dva-grid-offset-3-0,.dvag-grid-offset-3-0{margin-left:12px}}@media (min-width: 1280px){.dva-grid-offset-3-0,.dvag-grid-offset-3-0{margin-left:12px}}@media (min-width: 760px){.dva-grid-offset-3-1,.dvag-grid-offset-3-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-1,.dvag-grid-offset-3-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-1,.dvag-grid-offset-3-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 760px){.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper,.dvag-m-c28-content-container--10-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px) / 12 * 1)}}@media (min-width: 1024px){.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper,.dvag-m-c28-content-container--10-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px) / 12 * 1)}}@media (min-width: 1280px){.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper,.dvag-m-c28-content-container--10-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px) / 12 * 1)}}@media (min-width: 760px){.dva-grid-offset-3-2,.dvag-grid-offset-3-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-2,.dvag-grid-offset-3-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-2,.dvag-grid-offset-3-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 760px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px) / 12 * 2)}}@media (min-width: 1024px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px) / 12 * 2)}}@media (min-width: 1280px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px) / 12 * 2)}}@media (min-width: 760px){.dva-grid-offset-3-3,.dvag-grid-offset-3-3{margin-left:calc(25% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-3,.dvag-grid-offset-3-3{margin-left:calc(25% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-3,.dvag-grid-offset-3-3{margin-left:calc(25% + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-4,.dvag-grid-offset-3-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-4,.dvag-grid-offset-3-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-4,.dvag-grid-offset-3-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-5,.dvag-grid-offset-3-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-5,.dvag-grid-offset-3-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-5,.dvag-grid-offset-3-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-6,.dvag-grid-offset-3-6{margin-left:calc(50% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-6,.dvag-grid-offset-3-6{margin-left:calc(50% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-6,.dvag-grid-offset-3-6{margin-left:calc(50% + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-7,.dvag-grid-offset-3-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-7,.dvag-grid-offset-3-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-7,.dvag-grid-offset-3-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-8,.dvag-grid-offset-3-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-8,.dvag-grid-offset-3-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-8,.dvag-grid-offset-3-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-9,.dvag-grid-offset-3-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-9,.dvag-grid-offset-3-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-9,.dvag-grid-offset-3-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-10,.dvag-grid-offset-3-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-10,.dvag-grid-offset-3-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-10,.dvag-grid-offset-3-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-11,.dvag-grid-offset-3-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-11,.dvag-grid-offset-3-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-11,.dvag-grid-offset-3-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 760px){.dva-grid-offset-3-12,.dvag-grid-offset-3-12{margin-left:calc(100% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-3-12,.dvag-grid-offset-3-12{margin-left:calc(100% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-3-12,.dvag-grid-offset-3-12{margin-left:calc(100% + 12px)}}@media (min-width: 760px){.dva-grid-order-3-1,.dvag-grid-order-3-1{order:1}}@media (min-width: 760px){.dva-grid-order-3-2,.dvag-grid-order-3-2{order:2}}@media (min-width: 760px){.dva-grid-order-3-3,.dvag-grid-order-3-3{order:3}}@media (min-width: 760px){.dva-grid-order-3-4,.dvag-grid-order-3-4{order:4}}@media (min-width: 760px){.dva-grid-order-3-5,.dvag-grid-order-3-5{order:5}}@media (min-width: 760px){.dva-grid-order-3-6,.dvag-grid-order-3-6{order:6}}@media (min-width: 760px){.dva-grid-order-3-7,.dvag-grid-order-3-7{order:7}}@media (min-width: 760px){.dva-grid-order-3-8,.dvag-grid-order-3-8{order:8}}@media (min-width: 760px){.dva-grid-order-3-9,.dvag-grid-order-3-9{order:9}}@media (min-width: 760px){.dva-grid-order-3-10,.dvag-grid-order-3-10{order:10}}@media (min-width: 760px){.dva-grid-order-3-11,.dvag-grid-order-3-11{order:11}}@media (min-width: 760px){.dva-grid-order-3-12,.dvag-grid-order-3-12{order:12}}@media (min-width: 760px){.dva-grid-order-3-first,.dvag-grid-order-3-first{order:-1}}@media (min-width: 760px){.dva-grid-order-3-last,.dvag-grid-order-3-last{order:13}}@media (min-width: 1024px){.dva-grid-col-4-1,.dvag-grid-col-4-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-1,.dvag-grid-col-4-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-2,.dvag-grid-col-4-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-2,.dvag-grid-col-4-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-3,.dvag-grid-col-4-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-3,.dvag-grid-col-4-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-4,.dvag-grid-col-4-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-4,.dvag-grid-col-4-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-5,.dvag-grid-col-4-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-5,.dvag-grid-col-4-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-6,.dvag-grid-col-4-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-6,.dvag-grid-col-4-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1024px){.dvag-m-c04-vb-stage__vb-inner-content,.dvag-m-c04-vb-stage__vb-image-wrapper,.dvag-e-progress-bar{flex-basis:calc((100% + 24px)/2 - 24px);max-width:calc((100% + 24px)/2 - 24px)}}@media (min-width: 1280px){.dvag-m-c04-vb-stage__vb-inner-content,.dvag-m-c04-vb-stage__vb-image-wrapper,.dvag-e-progress-bar{flex-basis:calc((100% + 24px)/2 - 24px);max-width:calc((100% + 24px)/2 - 24px)}}@media (min-width: 1024px){.dva-grid-col-4-7,.dvag-grid-col-4-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-7,.dvag-grid-col-4-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-8,.dvag-grid-col-4-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-8,.dvag-grid-col-4-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1024px){.dvag-m-lottie-slider__animation-box,.dvag-m-basic-overlay__inner-content,.dvag-h-header--left-aligned .dvag-m-section-header{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 1280px){.dvag-m-lottie-slider__animation-box,.dvag-m-basic-overlay__inner-content,.dvag-h-header--left-aligned .dvag-m-section-header{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 1024px){.dva-grid-col-4-9,.dvag-grid-col-4-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-9,.dvag-grid-col-4-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-10,.dvag-grid-col-4-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-10,.dvag-grid-col-4-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1024px){.dvag-m-lottie-slider .dvag-m-basic-slider,.dvag-m-section-header{flex-basis:calc((100% + 24px) / 12 * 10 - 24px);max-width:calc((100% + 24px) / 12 * 10 - 24px)}}@media (min-width: 1280px){.dvag-m-lottie-slider .dvag-m-basic-slider,.dvag-m-section-header{flex-basis:calc((100% + 24px) / 12 * 10 - 24px);max-width:calc((100% + 24px) / 12 * 10 - 24px)}}@media (min-width: 1024px){.dva-grid-col-4-11,.dvag-grid-col-4-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-11,.dvag-grid-col-4-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1024px){.dva-grid-col-4-12,.dvag-grid-col-4-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-4-12,.dvag-grid-col-4-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1024px){.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__vb-inner-content{flex-basis:calc((100% + 24px)*1 - 24px);max-width:calc((100% + 24px)*1 - 24px)}}@media (min-width: 1280px){.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__vb-inner-content{flex-basis:calc((100% + 24px)*1 - 24px);max-width:calc((100% + 24px)*1 - 24px)}}@media (min-width: 1024px){.dva-grid-offset-4-0,.dvag-grid-offset-4-0{margin-left:12px}}@media (min-width: 1280px){.dva-grid-offset-4-0,.dvag-grid-offset-4-0{margin-left:12px}}@media (min-width: 1024px){.dvag-h-header--left-aligned .dvag-m-section-header{margin-left:0}}@media (min-width: 1280px){.dvag-h-header--left-aligned .dvag-m-section-header{margin-left:0}}@media (min-width: 1024px){.dva-grid-offset-4-1,.dvag-grid-offset-4-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-1,.dvag-grid-offset-4-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1024px){.dvag-m-section-header{margin-left:calc((100% + 24px) / 12 * 1)}}@media (min-width: 1280px){.dvag-m-section-header{margin-left:calc((100% + 24px) / 12 * 1)}}@media (min-width: 1024px){.dva-grid-offset-4-2,.dvag-grid-offset-4-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-2,.dvag-grid-offset-4-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-3,.dvag-grid-offset-4-3{margin-left:calc(25% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-3,.dvag-grid-offset-4-3{margin-left:calc(25% + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-4,.dvag-grid-offset-4-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-4,.dvag-grid-offset-4-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-5,.dvag-grid-offset-4-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-5,.dvag-grid-offset-4-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-6,.dvag-grid-offset-4-6{margin-left:calc(50% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-6,.dvag-grid-offset-4-6{margin-left:calc(50% + 12px)}}@media (min-width: 1024px){.dvag-m-c04-vb-stage__vb-image-wrapper{margin-left:calc((100% + 24px)/2)}}@media (min-width: 1280px){.dvag-m-c04-vb-stage__vb-image-wrapper{margin-left:calc((100% + 24px)/2)}}@media (min-width: 1024px){.dva-grid-offset-4-7,.dvag-grid-offset-4-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-7,.dvag-grid-offset-4-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-8,.dvag-grid-offset-4-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-8,.dvag-grid-offset-4-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-9,.dvag-grid-offset-4-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-9,.dvag-grid-offset-4-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-10,.dvag-grid-offset-4-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-10,.dvag-grid-offset-4-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-11,.dvag-grid-offset-4-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-11,.dvag-grid-offset-4-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1024px){.dva-grid-offset-4-12,.dvag-grid-offset-4-12{margin-left:calc(100% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-4-12,.dvag-grid-offset-4-12{margin-left:calc(100% + 12px)}}@media (min-width: 1024px){.dva-grid-order-4-1,.dvag-grid-order-4-1{order:1}}@media (min-width: 1024px){.dva-grid-order-4-2,.dvag-grid-order-4-2{order:2}}@media (min-width: 1024px){.dva-grid-order-4-3,.dvag-grid-order-4-3{order:3}}@media (min-width: 1024px){.dva-grid-order-4-4,.dvag-grid-order-4-4{order:4}}@media (min-width: 1024px){.dva-grid-order-4-5,.dvag-grid-order-4-5{order:5}}@media (min-width: 1024px){.dva-grid-order-4-6,.dvag-grid-order-4-6{order:6}}@media (min-width: 1024px){.dva-grid-order-4-7,.dvag-grid-order-4-7{order:7}}@media (min-width: 1024px){.dva-grid-order-4-8,.dvag-grid-order-4-8{order:8}}@media (min-width: 1024px){.dva-grid-order-4-9,.dvag-grid-order-4-9{order:9}}@media (min-width: 1024px){.dva-grid-order-4-10,.dvag-grid-order-4-10{order:10}}@media (min-width: 1024px){.dva-grid-order-4-11,.dvag-grid-order-4-11{order:11}}@media (min-width: 1024px){.dva-grid-order-4-12,.dvag-grid-order-4-12{order:12}}@media (min-width: 1024px){.dva-grid-order-4-first,.dvag-grid-order-4-first{order:-1}}@media (min-width: 1024px){.dva-grid-order-4-last,.dvag-grid-order-4-last{order:13}}@media (min-width: 1280px){.dva-grid-col-5-1,.dvag-grid-col-5-1{max-width:calc(100% / 12 - 24px);flex-basis:calc(100% / 12 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-2,.dvag-grid-col-5-2{max-width:calc(100% / 6 - 24px);flex-basis:calc(100% / 6 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-3,.dvag-grid-col-5-3{max-width:calc(25% - 24px);flex-basis:calc(25% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-4,.dvag-grid-col-5-4{max-width:calc(100% / 3 - 24px);flex-basis:calc(100% / 3 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-5,.dvag-grid-col-5-5{max-width:calc(100% / 2.4 - 24px);flex-basis:calc(100% / 2.4 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-6,.dvag-grid-col-5-6{max-width:calc(50% - 24px);flex-basis:calc(50% - 24px);margin:0 12px}}@media (min-width: 1280px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px)/2 - 24px);max-width:calc((100% + 24px)/2 - 24px)}}@media (min-width: 1280px){.dva-grid-col-5-7,.dvag-grid-col-5-7{max-width:calc(100% / 1.7142857143 - 24px);flex-basis:calc(100% / 1.7142857143 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-8,.dvag-grid-col-5-8{max-width:calc(100% / 1.5 - 24px);flex-basis:calc(100% / 1.5 - 24px);margin:0 12px}}@media (min-width: 1280px){.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper{flex-basis:calc((100% + 24px) / 12 * 8 - 24px);max-width:calc((100% + 24px) / 12 * 8 - 24px)}}@media (min-width: 1280px){.dva-grid-col-5-9,.dvag-grid-col-5-9{max-width:calc(100% / 1.3333333333 - 24px);flex-basis:calc(100% / 1.3333333333 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-10,.dvag-grid-col-5-10{max-width:calc(100% / 1.2 - 24px);flex-basis:calc(100% / 1.2 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-11,.dvag-grid-col-5-11{max-width:calc(100% / 1.0909090909 - 24px);flex-basis:calc(100% / 1.0909090909 - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-col-5-12,.dvag-grid-col-5-12{max-width:calc(100% - 24px);flex-basis:calc(100% - 24px);margin:0 12px}}@media (min-width: 1280px){.dva-grid-offset-5-0,.dvag-grid-offset-5-0{margin-left:12px}}@media (min-width: 1280px){.dva-grid-offset-5-1,.dvag-grid-offset-5-1{margin-left:calc(100% / 12 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-2,.dvag-grid-offset-5-2{margin-left:calc(100% / 6 + 12px)}}@media (min-width: 1280px){.dvag-m-c28-content-container--8-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px) / 12 * 2)}}@media (min-width: 1280px){.dva-grid-offset-5-3,.dvag-grid-offset-5-3{margin-left:calc(25% + 12px)}}@media (min-width: 1280px){.dvag-m-c28-content-container--6-cols .dvag-m-c28-content-container__content-wrapper{margin-left:calc((100% + 24px)/4)}}@media (min-width: 1280px){.dva-grid-offset-5-4,.dvag-grid-offset-5-4{margin-left:calc(100% / 3 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-5,.dvag-grid-offset-5-5{margin-left:calc(100% / 2.4 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-6,.dvag-grid-offset-5-6{margin-left:calc(50% + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-7,.dvag-grid-offset-5-7{margin-left:calc(100% / 1.7142857143 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-8,.dvag-grid-offset-5-8{margin-left:calc(100% / 1.5 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-9,.dvag-grid-offset-5-9{margin-left:calc(100% / 1.3333333333 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-10,.dvag-grid-offset-5-10{margin-left:calc(100% / 1.2 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-11,.dvag-grid-offset-5-11{margin-left:calc(100% / 1.0909090909 + 12px)}}@media (min-width: 1280px){.dva-grid-offset-5-12,.dvag-grid-offset-5-12{margin-left:calc(100% + 12px)}}@media (min-width: 1280px){.dva-grid-order-5-1,.dvag-grid-order-5-1{order:1}}@media (min-width: 1280px){.dva-grid-order-5-2,.dvag-grid-order-5-2{order:2}}@media (min-width: 1280px){.dva-grid-order-5-3,.dvag-grid-order-5-3{order:3}}@media (min-width: 1280px){.dva-grid-order-5-4,.dvag-grid-order-5-4{order:4}}@media (min-width: 1280px){.dva-grid-order-5-5,.dvag-grid-order-5-5{order:5}}@media (min-width: 1280px){.dva-grid-order-5-6,.dvag-grid-order-5-6{order:6}}@media (min-width: 1280px){.dva-grid-order-5-7,.dvag-grid-order-5-7{order:7}}@media (min-width: 1280px){.dva-grid-order-5-8,.dvag-grid-order-5-8{order:8}}@media (min-width: 1280px){.dva-grid-order-5-9,.dvag-grid-order-5-9{order:9}}@media (min-width: 1280px){.dva-grid-order-5-10,.dvag-grid-order-5-10{order:10}}@media (min-width: 1280px){.dva-grid-order-5-11,.dvag-grid-order-5-11{order:11}}@media (min-width: 1280px){.dva-grid-order-5-12,.dvag-grid-order-5-12{order:12}}@media (min-width: 1280px){.dva-grid-order-5-first,.dvag-grid-order-5-first{order:-1}}@media (min-width: 1280px){.dva-grid-order-5-last,.dvag-grid-order-5-last{order:13}}.dva-type-975,.dva-type-975-bold,.dva-type-975-bold-italic,.dva-type-975-light,.dva-type-975-light-italic,.dva-type-975-italic{margin:0;font-family:dvag-type,sans-serif;font-size:3rem;line-height:1.25}@media (min-width: 1024px){.dva-type-975,.dva-type-975-bold,.dva-type-975-bold-italic,.dva-type-975-light,.dva-type-975-light-italic,.dva-type-975-italic{font-size:4rem}}.dva-type-950,.dva-type-950-bold,.dva-type-950-bold-italic,.dva-type-950-light,.dva-type-950-light-italic,.dva-type-950-italic{margin:0 0 24px;font-family:dvag-type,sans-serif;font-size:2.375rem;line-height:1.28}@media (min-width: 1024px){.dva-type-950,.dva-type-950-bold,.dva-type-950-bold-italic,.dva-type-950-light,.dva-type-950-light-italic,.dva-type-950-italic{margin:0 0 32px;font-size:3.5rem}}.dva-type-900,.dvag-m-section-header__headline,.dva-type-900-bold,.dva-type-900-bold-italic,.dvag-h-headline--regular .dvag-m-section-header__headline,.dva-type-900-light,.dva-type-900-light-italic,.dva-type-900-italic{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:2rem;line-height:1.27}@media (min-width: 1024px){.dva-type-900,.dvag-m-section-header__headline,.dva-type-900-bold,.dva-type-900-bold-italic,.dvag-h-headline--regular .dvag-m-section-header__headline,.dva-type-900-light,.dva-type-900-light-italic,.dva-type-900-italic{margin:0 0 32px;font-size:2.75rem}}.dva-type-850,.dvag-m-n03-vb-footer__headline,.dvag-m-c04-vb-stage__vb-name,.dva-type-850-bold,.dva-type-850-bold-italic,.dva-type-850-light,.dva-type-850-light-italic,.dva-type-850-italic{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.75rem;line-height:1.35}@media (min-width: 1024px){.dva-type-850,.dvag-m-n03-vb-footer__headline,.dvag-m-c04-vb-stage__vb-name,.dva-type-850-bold,.dva-type-850-bold-italic,.dva-type-850-light,.dva-type-850-light-italic,.dva-type-850-italic{margin:0 0 24px;font-size:2.5rem}}.dvag-m-c01e-teaser-overlay__headline,.dva-type-800,.dva-type-800-bold,.dva-type-800-bold-italic,.dva-type-800-light,.dva-type-800-light-italic,.dva-type-800-italic{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.5rem;line-height:1.42}@media (min-width: 1024px){.dvag-m-c01e-teaser-overlay__headline,.dva-type-800,.dva-type-800-bold,.dva-type-800-bold-italic,.dva-type-800-light,.dva-type-800-light-italic,.dva-type-800-italic{margin:0 0 24px;font-size:1.75rem}}.dva-type-750,.dvag-m-n01-navigation__level-2-headline,.dvag-m-n01-navigation__item-link,.dva-type-750-bold,.dva-type-750-bold-italic,.dva-type-750-light,.dva-type-750-light-italic,.dva-m-article-content blockquote,.dva-type-750-italic{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.5rem;line-height:1.33}.dvag-m-n03-vb-footer__topline,.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__toggle-label,.dvag-m-n02-footer__headline,.dvag-m-c01e-teaser__headline,.dvag-m-section-header__subheadline,.dva-type-700,.dva-type-700-bold,.dva-type-700-bold-italic,.dva-type-700-light,.dva-type-700-light-italic,.dva-type-700-italic{margin:0 0 16px;font-family:dvag-type,sans-serif;font-size:1.25rem;line-height:1.4}.dvag-m-n01-navigation__teaser-headline,.dva-type-550,.dvag-m-lottie-slider-slide__headline,.dvag-m-c04-vb-stage__vb-info,.dva-type-550-bold,.dva-type-550-bold-italic,.dva-type-550-light,.dva-type-550-light-italic,.dva-type-550-italic{margin:0;font-family:dvag-type,sans-serif;font-size:1.125rem;line-height:1.44}.dvag-m-n01-navigation__level-2-subheadline,.dvag-m-n01-navigation__item-link--language-switch,.dvag-m-n01-navigation__item-link--secondary,.dvag-m-n01-navigation__item-link--level-2,.dvag-m-c04-vb-stage__rating-link,.dvag-m-c11-accordion__toggle-label,.dvag-m-c01e-teaser-overlay__text,.dvag-m-c01e-teaser .dvag-m-c01e-teaser__text,.dvag-m-section-header__text,.dva-e-button--rebrush .dva-e-button__label,body,.dva-type-500,.dvag-m-n01-navigation__item-link--optional,.dvag-m-n01-navigation__header-button,.dvag-m-c04-vb-stage__rating-label,.dvag-m-c11-accordion__toggle,.dvag-m-c01e-teaser-overlay__rating-category,.dva-type-500-bold,.dva-type-500-bold-italic,.dva-type-500-light,.dva-type-500-light-italic,.dva-type-500-italic{margin:0;font-family:dvag-type,sans-serif;font-size:1rem;line-height:1.5}.dvag-m-n01-navigation__item-rating-label,.dvag-m-n01-header__vb-subheadline,.dvag-m-n02-footer__copyright,.dvag-m-c01e-teaser-overlay__vb-label,.dvag-m-c01e-teaser-overlay__customer-label,.dvag-m-c01e-teaser-overlay__customer-name,.dvag-m-c01e-teaser-overlay__customer-info,.dvag-m-c01e-teaser__customer-label,.dvag-m-c01e-teaser__footer,.dva-m-article-content blockquote cite,.dva-type-400,.dvag-m-n01-header__vb-link,.dvag-m-n01-header__vb-name,.dvag-m-lottie-slider-slide__subheadline,.dvag-m-c01e-teaser-overlay__vb-name,.dva-type-400-bold,.dva-type-400-bold-italic,.dva-type-400-light,.dva-type-400-light-italic,.dva-type-400-italic{margin:0;font-family:dvag-type,sans-serif;font-size:.875rem;line-height:1.57}.dvag-m-c01e-teaser-overlay .dvag-m-c01e-teaser-overlay__rating-label,.dvag-m-c01e-teaser .dvag-m-c01e-teaser__rating-label,.dva-m-article-content figure figcaption,.dva-m-breadcrump-navigation__label,.dva-type-200,.dva-type-200-bold,.dva-type-200-bold-italic,.dva-type-200-light,.dva-type-200-light-italic,.dva-type-200-italic{margin:0;font-family:dvag-type,sans-serif;font-size:.75rem;line-height:1.5}@font-face{font-family:dvag-type;font-weight:300;font-style:normal;font-display:swap;src:url(../fonts/dvag-type/woff2/DVAGType_W_Lt.woff2) format("woff2"),url(../fonts/dvag-type/woff/DVAGType_W_Lt.woff) format("woff")}@font-face{font-family:dvag-type;font-weight:300;font-style:italic;font-display:swap;src:url(../fonts/dvag-type/woff2/DVAGType_W_LtIt.woff2) format("woff2"),url(../fonts/dvag-type/woff/DVAGType_W_LtIt.woff) format("woff")}@font-face{font-family:dvag-type;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/dvag-type/woff2/DVAGType_W_Rg.woff2) format("woff2"),url(../fonts/dvag-type/woff/DVAGType_W_Rg.woff) format("woff")}@font-face{font-family:dvag-type;font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/dvag-type/woff2/DVAGType_W_It.woff2) format("woff2"),url(../fonts/dvag-type/woff/DVAGType_W_It.woff) format("woff")}@font-face{font-family:dvag-type;font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/dvag-type/woff2/DVAGType_W_Bd.woff2) format("woff2"),url(../fonts/dvag-type/woff/DVAGType_W_Bd.woff) format("woff")}@font-face{font-family:dvag-type;font-weight:700;font-style:italic;font-display:swap;src:url(../fonts/dvag-type/woff2/DVAGType_W_BdIt.woff2) format("woff2"),url(../fonts/dvag-type/woff/DVAGType_W_BdIt.woff) format("woff")}.dvag-m-n01-navigation__item-link--level-2,.dvag-m-n01-header__burger-label,.dvag-m-n01-header__header-navigation-link,.dvag-m-n02-footer__navigation .dva-e-link,.dvag-m-c01e-teaser__cta,.dva-e-button__label,.dva-type-bold,.dva-type-975-bold,.dva-type-975-bold-italic,.dva-type-950-bold,.dva-type-950-bold-italic,.dvag-m-section-header__headline,.dva-type-900-bold,.dva-type-900-bold-italic,.dvag-m-n03-vb-footer__headline,.dvag-m-c04-vb-stage__vb-name,.dva-type-850-bold,.dva-type-850-bold-italic,.dva-type-800-bold,.dva-type-800-bold-italic,.dvag-m-n01-navigation__level-2-headline,.dvag-m-n01-navigation__item-link,.dva-type-750-bold,.dva-type-750-bold-italic,.dva-type-700-bold,.dva-type-700-bold-italic,.dvag-m-lottie-slider-slide__headline,.dvag-m-c04-vb-stage__vb-info,.dva-type-550-bold,.dva-type-550-bold-italic,.dvag-m-n01-navigation__item-link--optional,.dvag-m-n01-navigation__header-button,.dvag-m-c04-vb-stage__rating-label,.dvag-m-c11-accordion__toggle,.dvag-m-c01e-teaser-overlay__rating-category,.dva-type-500-bold,.dva-type-500-bold-italic,.dvag-m-n01-header__vb-link,.dvag-m-n01-header__vb-name,.dvag-m-lottie-slider-slide__subheadline,.dvag-m-c01e-teaser-overlay__vb-name,.dva-type-400-bold,.dva-type-400-bold-italic,.dva-type-200-bold,.dva-type-200-bold-italic{font-weight:700}.dvag-m-n01-navigation__level-2-subheadline,.dvag-m-n01-navigation__item-rating-label,.dvag-m-n01-navigation__item-link--language-switch,.dvag-m-n01-navigation__item-link--secondary,.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__toggle-label,.dvag-m-section-header__subheadline,.dva-type-regular{font-weight:400}.dva-type-light,.dva-type-975-light,.dva-type-975-light-italic,.dva-type-950-light,.dva-type-950-light-italic,.dvag-h-headline--regular .dvag-m-section-header__headline,.dva-type-900-light,.dva-type-900-light-italic,.dva-type-850-light,.dva-type-850-light-italic,.dva-type-800-light,.dva-type-800-light-italic,.dva-type-750-light,.dva-type-750-light-italic,.dva-type-700-light,.dva-type-700-light-italic,.dva-type-550-light,.dva-type-550-light-italic,.dva-type-500-light,.dva-type-500-light-italic,.dva-type-400-light,.dva-type-400-light-italic,.dva-type-200-light,.dva-type-200-light-italic{font-weight:300}.dva-type-italic,.dva-type-975-bold-italic,.dva-type-975-light-italic,.dva-type-975-italic,.dva-type-950-bold-italic,.dva-type-950-light-italic,.dva-type-950-italic,.dva-type-900-bold-italic,.dva-type-900-light-italic,.dva-type-900-italic,.dva-type-850-bold-italic,.dva-type-850-light-italic,.dva-type-850-italic,.dva-type-800-bold-italic,.dva-type-800-light-italic,.dva-type-800-italic,.dva-type-750-bold-italic,.dva-type-750-light-italic,.dva-m-article-content blockquote,.dva-type-750-italic,.dva-type-700-bold-italic,.dva-type-700-light-italic,.dva-type-700-italic,.dva-type-550-bold-italic,.dva-type-550-light-italic,.dva-type-550-italic,.dva-type-500-bold-italic,.dva-type-500-light-italic,.dva-type-500-italic,.dva-type-400-bold-italic,.dva-type-400-light-italic,.dva-type-400-italic,.dva-type-200-bold-italic,.dva-type-200-light-italic,.dva-type-200-italic{font-style:italic}@-webkit-keyframes loading-animation{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes loading-animation{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@-o-keyframes loading-animation{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-animation{0%{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-o-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loadingShimmer{0%{left:-40%}to{left:140%}}@keyframes shimmer-loading-animation{0%{background-position:100%}to{background-position:0}}@keyframes dvaFadeIn{0%{opacity:0}to{opacity:1}}@keyframes white-pulse-animation{0%{box-shadow:0 0 #ffffffb3}66%{box-shadow:0 0 0 20px #0000}to{box-shadow:0 0 0 20px #0000}}@keyframes gold-pulse-animation{0%{box-shadow:0 0 #c8aa22b3}66%{box-shadow:0 0 0 20px #0000}to{box-shadow:0 0 0 20px #0000}}.dvag-m-n01-navigation__group-list,.dvag-m-n01-header__header-navigation-list,.dvag-m-n02-footer__list{padding:0;margin:0;list-style-type:none}.dvag-m-n03-vb-footer__contact-link,.dvag-m-section-header__text a,.dva-m-breadcrump-navigation__link,.dva-e-link{position:relative;top:1px;display:inline-flex;align-items:center;vertical-align:bottom;color:#c8aa22;text-decoration:none;transition:color .3s ease-in-out}@media (hover: hover) and (pointer: fine){.dvag-m-n03-vb-footer__contact-link:hover,.dvag-m-section-header__text a:hover,.dva-m-breadcrump-navigation__link:hover,.dva-e-link:hover{text-decoration:none;color:#786614}.dvag-m-n03-vb-footer__contact-link:hover:before,.dvag-m-section-header__text a:hover:before,.dva-m-breadcrump-navigation__link:hover:before,.dva-e-link:hover:before{content:"";position:absolute;top:0;bottom:-2px;left:0;display:block;width:100%;border-bottom:2px solid #786614;animation:dva-link-border__animation .3s 1 ease-in-out}}.dvag-h-keyboard-focus .dvag-m-n03-vb-footer__contact-link:focus,.dvag-h-keyboard-focus .dvag-m-section-header__text a:focus,.dvag-m-section-header__text .dvag-h-keyboard-focus a:focus,.dvag-h-keyboard-focus .dva-m-breadcrump-navigation__link:focus,.dvag-h-keyboard-focus .dva-e-link:focus{outline:none;text-decoration:none}.dvag-h-keyboard-focus .dvag-m-n03-vb-footer__contact-link:focus:after,.dvag-h-keyboard-focus .dvag-m-section-header__text a:focus:after,.dvag-m-section-header__text .dvag-h-keyboard-focus a:focus:after,.dvag-h-keyboard-focus .dva-m-breadcrump-navigation__link:focus:after,.dvag-h-keyboard-focus .dva-e-link:focus:after{content:"";position:absolute;top:0;right:0;bottom:-2px;left:0;display:block;width:100%;border-bottom:2px solid #c8aa22}.dvag-m-n03-vb-footer__contact-link:active:after,.dvag-m-section-header__text a:active:after,.dva-m-breadcrump-navigation__link:active:after,.dva-e-link:active:after{content:none}.dvag-m-n03-vb-footer__contact-link .dva-e-icon,.dvag-m-section-header__text a .dva-e-icon,.dva-m-breadcrump-navigation__link .dva-e-icon,.dva-e-link .dva-e-icon{display:flex;width:12px;height:12px;margin:0 0 0 5px;color:inherit;fill:currentColor}html *{box-sizing:border-box}html{--fixed-header-height: 72px;scroll-padding-top:var(--fixed-header-height)}body{display:block;margin:0;color:#4d4d4d;background-color:#d9d9d9;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}body.dvag-configurator{background-color:#e6e6e6}body.dva-state-cookie-overlay-open{overflow:hidden;height:100%}body.dvag-state-hidden-overflow{position:fixed;overflow-y:hidden;width:100%}.dva-page{width:100%;max-width:1460px;margin:var(--fixed-header-height) auto 0;background:#fff}.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(2n)>*{background-color:#f2f2f2}.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(2n)>* .dvag-m-skewed-box__content{background-color:#f2f2f2}.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(2n)>* .dva-h-skew--in,.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(2n)>* .dva-h-skew--out{color:#f2f2f2;background-color:#fff}.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(odd)>*{background-color:#fff}.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(odd)>* .dvag-m-skewed-box__content{background-color:#fff}.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(odd)>* .dva-h-skew--in,.dvag-h-background--alternating .dva-page__content-area-wrapper>div:nth-child(odd)>* .dva-h-skew--out{color:#fff;background-color:#f2f2f2}.dva-page--configurator{overflow-y:hidden;background-color:#e6e6e6}@media (min-width: 1024px){.dva-page--configurator{overflow:visible}}.dva-page--configurator .dva-page-content{top:80px}@media (min-width: 1024px){.dva-page--configurator .dva-page-content{top:96px}}.dva-page-content{position:relative}.dva-m-section{padding-top:50px;padding-bottom:50px}@media (min-width: 1024px){.dva-m-section{padding-top:60px;padding-bottom:60px}}@media (min-width: 1280px){.dva-m-section{padding-top:80px;padding-bottom:80px}}.dva-m-section--grey-bg{background:#f2f2f2}.dva-e-external-link:after{content:"";position:relative;display:inline-block;width:.8em;height:.8em;margin-top:.1em;margin-right:.2em;margin-left:.3em;background-image:url(data:image/svg+xml;chartset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%22%20height%3D%22100%22%20fill%3D%22%23424242%22%20viewBox%3D%220%200%20100%20100%22%3E%3Cpath%20d%3D%22M80.92%2051.272c-3.508%200-6.355%202.85-6.355%206.35v27c0%201.466-1.19%202.656-2.65%202.656H15.378c-1.467%200-2.658-1.19-2.658-2.657V28.096c0-1.467%201.19-2.658%202.658-2.658h26.99c3.518%200%206.365-2.847%206.365-6.354%200-3.52-2.847-6.36-6.365-6.36h-26.99C6.9%2012.722.005%2019.612.005%2028.094V84.62C.005%2093.103%206.9%20100%2015.378%20100h56.537c8.467%200%2015.365-6.898%2015.365-15.38V57.624c0-3.5-2.846-6.35-6.36-6.35%22%2F%3E%3Cpath%20d%3D%22M84.622%200H58.264c-3.508%200-6.354%202.854-6.354%206.36s2.846%206.355%206.354%206.355H78.29L36.095%2054.922c-2.483%202.483-2.483%206.506%200%208.99%201.234%201.233%202.868%201.858%204.49%201.858%201.628%200%203.258-.625%204.5-1.86L87.28%2021.72v20.01c0%203.516%202.846%206.362%206.36%206.362%203.508%200%206.354-2.846%206.354-6.36V15.37C99.994%206.893%2093.104%200%2084.622%200%22%2F%3E%3C%2Fsvg%3E);background-position:center center;background-repeat:no-repeat;background-size:contain}.dvag-h-text--hidden-on-mq1-3{height:100%}.dva-legacy-breadcrumb__link{color:#c8aa22}.dva-legacy-breadcrumb__link:hover{color:#666}.dva-l-article .article-text h3,.dva-l-article .text-wrapper h3{margin-bottom:25px}.dva-l-article .article-text h3+p,.dva-l-article .article-text h3+ol,.dva-l-article .article-text h3+ul,.dva-l-article .article-text h3+.article-text,.dva-l-article .text-wrapper h3+p,.dva-l-article .text-wrapper h3+ol,.dva-l-article .text-wrapper h3+ul,.dva-l-article .text-wrapper h3+.article-text{margin-top:0}.infographic-wrapper{width:auto;height:auto;margin:0}.article-cta a{position:absolute}.dva-h-preload{display:block}.dva-h-preload__16-9{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9{padding-bottom:0}.dva-h-preload__21-9{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9{padding-bottom:0}.dva-h-preload__4-3{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3{padding-bottom:0}.dva-h-preload__1-1{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1{padding-bottom:0}@media (min-width: 0) and (max-width: 476px){.dva-h-preload__16-9--mq-1{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-1{padding-bottom:0}}@media (min-width: 0) and (max-width: 476px){.dva-h-preload__21-9--mq-1{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-1{padding-bottom:0}}@media (min-width: 0) and (max-width: 476px){.dva-h-preload__4-3--mq-1{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-1{padding-bottom:0}}@media (min-width: 0) and (max-width: 476px){.dva-h-preload__1-1--mq-1{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-1{padding-bottom:0}}@media (min-width: 0) and (max-width: 760px){.dva-h-preload__16-9--mq-1-2{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-1-2{padding-bottom:0}}@media (min-width: 0) and (max-width: 760px){.dva-h-preload__21-9--mq-1-2{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-1-2{padding-bottom:0}}@media (min-width: 0) and (max-width: 760px){.dva-h-preload__4-3--mq-1-2{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-1-2{padding-bottom:0}}@media (min-width: 0) and (max-width: 760px){.dva-h-preload__1-1--mq-1-2{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-1-2{padding-bottom:0}}@media (min-width: 0) and (max-width: 1024px){.dva-h-preload__16-9--mq-1-3{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-1-3{padding-bottom:0}}@media (min-width: 0) and (max-width: 1024px){.dva-h-preload__21-9--mq-1-3{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-1-3{padding-bottom:0}}@media (min-width: 0) and (max-width: 1024px){.dva-h-preload__4-3--mq-1-3{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-1-3{padding-bottom:0}}@media (min-width: 0) and (max-width: 1024px){.dva-h-preload__1-1--mq-1-3{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-1-3{padding-bottom:0}}@media (min-width: 0) and (max-width: 1280px){.dva-h-preload__16-9--mq-1-4{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-1-4{padding-bottom:0}}@media (min-width: 0) and (max-width: 1280px){.dva-h-preload__21-9--mq-1-4{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-1-4{padding-bottom:0}}@media (min-width: 0) and (max-width: 1280px){.dva-h-preload__4-3--mq-1-4{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-1-4{padding-bottom:0}}@media (min-width: 0) and (max-width: 1280px){.dva-h-preload__1-1--mq-1-4{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-1-4{padding-bottom:0}}@media (min-width: 0){.dva-h-preload__16-9--mq-1-5{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-1-5{padding-bottom:0}.dva-h-preload__16-9--mq-1-and-up{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-1-and-up{padding-bottom:0}}@media (min-width: 0){.dva-h-preload__21-9--mq-1-5{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-1-5{padding-bottom:0}.dva-h-preload__21-9--mq-1-and-up{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-1-and-up{padding-bottom:0}}@media (min-width: 0){.dva-h-preload__4-3--mq-1-5{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-1-5{padding-bottom:0}.dva-h-preload__4-3--mq-1-and-up{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-1-and-up{padding-bottom:0}}@media (min-width: 0){.dva-h-preload__1-1--mq-1-5{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-1-5{padding-bottom:0}.dva-h-preload__1-1--mq-1-and-up{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-1-and-up{padding-bottom:0}}@media (min-width: 477px) and (max-width: 760px){.dva-h-preload__16-9--mq-2{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-2{padding-bottom:0}}@media (min-width: 477px) and (max-width: 760px){.dva-h-preload__21-9--mq-2{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-2{padding-bottom:0}}@media (min-width: 477px) and (max-width: 760px){.dva-h-preload__4-3--mq-2{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-2{padding-bottom:0}}@media (min-width: 477px) and (max-width: 760px){.dva-h-preload__1-1--mq-2{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-2{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1024px){.dva-h-preload__16-9--mq-2-3{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-2-3{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1024px){.dva-h-preload__21-9--mq-2-3{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-2-3{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1024px){.dva-h-preload__4-3--mq-2-3{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-2-3{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1024px){.dva-h-preload__1-1--mq-2-3{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-2-3{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1280px){.dva-h-preload__16-9--mq-2-4{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-2-4{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1280px){.dva-h-preload__21-9--mq-2-4{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-2-4{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1280px){.dva-h-preload__4-3--mq-2-4{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-2-4{padding-bottom:0}}@media (min-width: 477px) and (max-width: 1280px){.dva-h-preload__1-1--mq-2-4{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-2-4{padding-bottom:0}}@media (min-width: 477px){.dva-h-preload__16-9--mq-2-5{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-2-5{padding-bottom:0}.dva-h-preload__16-9--mq-2-and-up{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-2-and-up{padding-bottom:0}}@media (min-width: 477px){.dva-h-preload__21-9--mq-2-5{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-2-5{padding-bottom:0}.dva-h-preload__21-9--mq-2-and-up{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-2-and-up{padding-bottom:0}}@media (min-width: 477px){.dva-h-preload__4-3--mq-2-5{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-2-5{padding-bottom:0}.dva-h-preload__4-3--mq-2-and-up{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-2-and-up{padding-bottom:0}}@media (min-width: 477px){.dva-h-preload__1-1--mq-2-5{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-2-5{padding-bottom:0}.dva-h-preload__1-1--mq-2-and-up{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-2-and-up{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1024px){.dva-h-preload__16-9--mq-3{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-3{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1024px){.dva-h-preload__21-9--mq-3{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-3{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1024px){.dva-h-preload__4-3--mq-3{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-3{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1024px){.dva-h-preload__1-1--mq-3{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-3{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1280px){.dva-h-preload__16-9--mq-3-4{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-3-4{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1280px){.dva-h-preload__21-9--mq-3-4{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-3-4{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1280px){.dva-h-preload__4-3--mq-3-4{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-3-4{padding-bottom:0}}@media (min-width: 761px) and (max-width: 1280px){.dva-h-preload__1-1--mq-3-4{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-3-4{padding-bottom:0}}@media (min-width: 761px){.dva-h-preload__16-9--mq-3-5{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-3-5{padding-bottom:0}.dva-h-preload__16-9--mq-3-and-up{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-3-and-up{padding-bottom:0}}@media (min-width: 761px){.dva-h-preload__21-9--mq-3-5{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-3-5{padding-bottom:0}.dva-h-preload__21-9--mq-3-and-up{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-3-and-up{padding-bottom:0}}@media (min-width: 761px){.dva-h-preload__4-3--mq-3-5{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-3-5{padding-bottom:0}.dva-h-preload__4-3--mq-3-and-up{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-3-and-up{padding-bottom:0}}@media (min-width: 761px){.dva-h-preload__1-1--mq-3-5{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-3-5{padding-bottom:0}.dva-h-preload__1-1--mq-3-and-up{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-3-and-up{padding-bottom:0}}@media (min-width: 1025px) and (max-width: 1280px){.dva-h-preload__16-9--mq-4{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-4{padding-bottom:0}}@media (min-width: 1025px) and (max-width: 1280px){.dva-h-preload__21-9--mq-4{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-4{padding-bottom:0}}@media (min-width: 1025px) and (max-width: 1280px){.dva-h-preload__4-3--mq-4{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-4{padding-bottom:0}}@media (min-width: 1025px) and (max-width: 1280px){.dva-h-preload__1-1--mq-4{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-4{padding-bottom:0}}@media (min-width: 1025px){.dva-h-preload__16-9--mq-4-5{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-4-5{padding-bottom:0}.dva-h-preload__16-9--mq-4-and-up{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-4-and-up{padding-bottom:0}}@media (min-width: 1025px){.dva-h-preload__21-9--mq-4-5{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-4-5{padding-bottom:0}.dva-h-preload__21-9--mq-4-and-up{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-4-and-up{padding-bottom:0}}@media (min-width: 1025px){.dva-h-preload__4-3--mq-4-5{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-4-5{padding-bottom:0}.dva-h-preload__4-3--mq-4-and-up{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-4-and-up{padding-bottom:0}}@media (min-width: 1025px){.dva-h-preload__1-1--mq-4-5{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-4-5{padding-bottom:0}.dva-h-preload__1-1--mq-4-and-up{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-4-and-up{padding-bottom:0}}@media (min-width: 1281px){.dva-h-preload__16-9--mq-5{padding-bottom:56.26%}.dva-state-initialized.dva-h-preload__16-9--mq-5{padding-bottom:0}}@media (min-width: 1281px){.dva-h-preload__21-9--mq-5{padding-bottom:42.8571429%}.dva-state-initialized.dva-h-preload__21-9--mq-5{padding-bottom:0}}@media (min-width: 1281px){.dva-h-preload__4-3--mq-5{padding-bottom:75%}.dva-state-initialized.dva-h-preload__4-3--mq-5{padding-bottom:0}}@media (min-width: 1281px){.dva-h-preload__1-1--mq-5{padding-bottom:100%}.dva-state-initialized.dva-h-preload__1-1--mq-5{padding-bottom:0}}.dva-h-skew--out,.dvag-h-skew--out,.dva-h-skew--in,.dvag-h-skew--in{position:relative;overflow:hidden;width:100%;height:0;padding-bottom:8.7489%}.dva-h-skew--out:after,.dvag-h-skew--out:after,.dva-h-skew--in:after,.dvag-h-skew--in:after{content:"";position:absolute;transform:skewY(-5deg);transform-origin:top left;width:100%;height:0;padding-bottom:8.7489%;background:currentColor}.dva-h-skew--in:after,.dvag-h-skew--in:after{top:100%}.dva-h-skew--out:after,.dvag-h-skew--out:after{top:0}.dva-m-skewed-box__content{padding:.01px}.dvag-m-skew-component .dva-h-skew--in,.dvag-m-skew-component .dvag-h-skew--in{display:none;color:#f2f2f2}.dvag-h-skew--top .dvag-m-skew-component .dva-h-skew--in,.dvag-h-skew--top .dvag-m-skew-component .dvag-h-skew--in{display:block}.dvag-m-skew-component .dva-h-skew--out,.dvag-m-skew-component .dvag-h-skew--out{display:none;color:#f2f2f2}.dvag-h-skew--bottom .dvag-m-skew-component .dva-h-skew--out,.dvag-h-skew--bottom .dvag-m-skew-component .dvag-h-skew--out{display:block}.dvag-m-skew-component .dvag-m-skewed-box__content{padding-top:40px;padding-bottom:40px}.dvag-h-background--grey .dvag-m-skew-component .dvag-m-skewed-box__content{background-color:#f2f2f2}.dvag-m-skew-component .dvag-m-skewed-box__content>div:last-child{margin-bottom:0}.dvag-m-teaser-slider{margin-bottom:40px}.dvag-m-teaser-slider .dvag-m-basic-slider__slides{display:flex;align-items:stretch;justify-content:flex-start;scroll-padding-left:16px}@media (min-width: 476px){.dvag-m-teaser-slider .dvag-m-basic-slider__slides{scroll-padding-left:24px}}@media (min-width: 760px){.dvag-m-teaser-slider .dvag-m-basic-slider__slides{scroll-padding-left:32px}}@media (min-width: 1024px){.dvag-m-teaser-slider .dvag-m-basic-slider__slides{scroll-padding-left:40px}}@media (min-width: 1280px){.dvag-m-teaser-slider .dvag-m-basic-slider__slides{max-width:1380px;margin:0 auto;scroll-padding-left:0}}.dvag-m-teaser-slider .dvag-m-basic-slider__slide{flex-basis:284px;margin:0 8px}@media (min-width: 1280px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide{flex-basis:calc((100% - 48px) / 3);margin:0 12px}}.dvag-m-teaser-slider .dvag-m-basic-slider__slide:first-of-type{margin-left:16px}@media (min-width: 476px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide:first-of-type{margin-left:24px}}@media (min-width: 760px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide:first-of-type{margin-left:32px}}@media (min-width: 1280px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide:first-of-type{margin-left:0}}.dvag-m-teaser-slider .dvag-m-basic-slider__slide:last-of-type{position:relative}@media (min-width: 1280px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide:last-of-type{margin-right:0}}.dvag-m-teaser-slider .dvag-m-basic-slider__slide:last-of-type:after{content:"";position:absolute;right:-16px;display:block;width:16px;height:1px}@media (min-width: 476px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide:last-of-type:after{right:-24px;width:24px}}@media (min-width: 760px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide:last-of-type:after{right:-32px;width:32px}}@media (min-width: 1280px){.dvag-m-teaser-slider .dvag-m-basic-slider__slide:last-of-type:after{display:none}}.dva-e-button{display:inline-flex;align-items:center;justify-content:center;padding:22px 30px;border:1px solid #c8aa22;border-radius:4px;color:#fff;background:#c8aa22;text-decoration:none;cursor:pointer;-webkit-transition:.3s background,.3s color,.3s border;-moz-transition:.3s background,.3s color,.3s border;transition:.3s background,.3s color,.3s border}@media (hover: hover) and (pointer: fine){.dva-e-button:hover{color:#c8aa22;background:#fff}}.has-path-cookie .dva-e-button.show-if-path-cookie{display:flex!important}.button-list-item .dva-e-button{max-height:56px;width:100%}.dva-e-button--full-width{width:100%;justify-content:center}.dvag-h-keyboard-focus .dva-e-button:focus{box-shadow:none!important}.dva-e-button:disabled{border-color:#999;color:#fff!important;background:#999;opacity:.6}.dva-e-button__label{margin-top:1px;color:inherit;text-align:center;pointer-events:none}.dva-e-button__icon{z-index:2;display:none;width:20px;height:20px;color:inherit;pointer-events:none;fill:currentColor;-webkit-transition:.3s fill;-moz-transition:.3s fill;transition:.3s fill}.dva-e-button--icon-right .dva-e-button__icon{display:flex;margin-left:5px}.dva-e-button--icon-only{padding:10px}.dva-e-button--icon-only .dva-e-button__label{display:none}.dva-e-button--icon-only .dva-e-button__icon{display:flex;width:20px;height:20px}.dva-e-button--white{position:relative;color:#c8aa22;background:#fff}.dva-e-button--white:hover{color:#786614}.dva-e-button--white:active{background:#f4eed2}.dva-e-button--white:before{border:2px solid #fff}.dvag-h-keyboard-focus .dva-e-button:focus,.dva-e-button:hover{border:1px solid #c8aa22!important;color:#c8aa22;background:#fff;text-decoration:none}.dva-e-button--secondary{color:#c8aa22;background:transparent}@media (hover: hover) and (pointer: fine){.dva-e-button--secondary:hover{color:#fff;background:#c8aa22}}.dvag-h-keyboard-focus .dva-e-button--secondary:focus{color:#fff;background:#c8aa22}.dva-e-button--secondary:disabled{border-color:#666;color:#666!important;background:transparent}.dva-e-button--inline{padding:0;border:none;color:#c8aa22;background:transparent}.dva-e-button--inline .dva-e-button__label{margin-top:0;text-align:left;text-transform:none}.dva-e-button--inline .dva-e-button__icon{width:12px;height:12px}.dvag-h-keyboard-focus .dva-e-button--inline:focus,.dva-e-button--inline:hover{border:none!important;color:#786614!important;background:transparent!important}.dva-e-button--inline:disabled{border:none!important;background:transparent!important}.dva-e-button--rebrush{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:24px 32px;border:none;border-radius:2px;color:#fff;background:#c8aa22;text-decoration:none;cursor:pointer;transition:color .3s ease-in-out}@media (hover: hover) and (pointer: fine){.dva-e-button--rebrush:hover{border:none!important;color:#fff;background:#c8aa22}.dva-e-button--rebrush:hover .dva-e-button__background:after{transform:skew(-5deg) scaleX(1)}.dva-e-button--rebrush:hover .dva-e-icon{color:#fff;fill:#fff}}.dva-e-button--rebrush[disabled]{border-color:#ccc;color:#fff;background:#ccc;pointer-events:none}.dva-e-button--rebrush:active{background:#50440d}.dva-e-button--rebrush:before{content:"";position:absolute;top:-4px;left:-4px;width:calc(100% + 4px);height:calc(100% + 4px);border:2px solid #c8aa22;border-radius:4px;opacity:0;transition:opacity .3s ease-in-out}.dvag-h-keyboard-focus .dva-e-button--rebrush:focus{border:none!important;outline:0;color:#c8aa22}.dvag-h-keyboard-focus .dva-e-button--rebrush:focus:before{opacity:1}.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button{border:2px solid #c8aa22;color:#c8aa22;background:#fff;transition:border .3s ease-in-out,color .3s ease-in-out}@media (hover: hover) and (pointer: fine){.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button:hover{border:2px solid #786614!important;color:#786614!important;background-color:#fff!important}.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button:hover .dva-e-icon{color:#786614;fill:#786614}}.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button:active{background:#f4eed2}.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button:active .dva-e-button__background:after{background:#f4eed2}.dvag-h-keyboard-focus .dva-e-button--rebrush.dva-e-button--secondary.dva-e-button:focus{border:2px solid #c8aa22!important;background:#fff}.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button[disabled]{border-color:#ccc;color:#ccc;background:#fff;pointer-events:none}.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button:before{top:-5px;left:-5px;width:calc(100% + 6px);height:calc(100% + 6px);border:2px solid #c8aa22}.dva-e-button--rebrush.dva-e-button--secondary.dva-e-button .dva-e-button__background:after{background:#f9f6e9}.dva-e-button--rebrush.dva-e-button--icon-only{width:48px;height:48px;padding:12px 0 12px 12px}.dva-e-button--rebrush.dva-e-button--icon-only .dva-e-icon{width:24px;height:24px}.dva-e-button--rebrush .dva-e-button__background{position:absolute;top:0;left:0;display:block;overflow:hidden;width:100%;height:100%;border-radius:2px}.dva-e-button--rebrush .dva-e-button__background:after{content:"";position:absolute;top:0;left:0;transform:skew(-5deg) scaleX(0);transform-origin:top left;width:150%;height:100%;background:#786614;transition:transform 0s ease-in-out,transform .3s ease-in-out,background .3s ease-in-out}.dva-e-button--rebrush:active .dva-e-button--rebrush .dva-e-button__background:after{background:#50440d}.dva-e-button--rebrush.dva-e-button--small{padding:16px 24px}.dva-e-button--rebrush .dva-e-icon{z-index:1;display:inline-flex;width:24px;height:24px;flex-shrink:0;margin-right:12px;color:inherit}.dva-e-button--rebrush .dva-e-icon--loading{display:none;margin-right:0;margin-left:12px}.dva-state-loading>.dva-e-button--rebrush .dva-e-icon{display:none}.dva-state-loading>.dva-e-button--rebrush .dva-e-icon--loading{display:flex}.dva-e-button--icon-only .dva-e-button--rebrush .dva-e-icon{margin-right:0}.dva-e-button--rebrush .dva-e-button__label{position:relative;z-index:2;margin:0}.button-list .dva-e-button--rebrush{width:100%}.dva-e-rating-star{display:flex;width:35px;height:35px;color:#c8aa22;opacity:.3;transition:opacity .3s ease-in-out;fill:#c8aa22}.dva-e-rating-star--half,.dva-e-rating-star--full{opacity:1}.dva-e-loading-layer{position:relative;overflow:hidden;background:#f2f2f2}.dva-e-loading-layer.dva-state-loaded{overflow:inherit;background:transparent}.dva-e-lazy-image{position:relative;display:block;overflow:hidden}.dva-e-lazy-image--placeholder{background:#666}.dva-e-lazy-image__placeholder-content{position:absolute;top:0;left:0;display:flex;width:100%;height:100%;align-items:center;justify-content:center}.dva-e-lazy-image__placeholder-icon{width:20%;height:auto}.dva-e-lazy-image[aspect-ratio="21:9"]{padding-bottom:42.8571428571%}.dva-e-lazy-image[aspect-ratio="16:9"]{padding-bottom:56.25%}.dva-e-lazy-image[aspect-ratio="4:3"]{padding-bottom:75%}.dva-e-lazy-image[aspect-ratio="3:2"]{padding-bottom:66.6666666667%}.dva-e-lazy-image[aspect-ratio="1:1"]{padding-bottom:100%}.dva-e-lazy-image[aspect-ratio="2:3"]{padding-bottom:150%}.dva-e-lazy-image[aspect-ratio="4:5"]{padding-bottom:125%}.dva-e-lazy-image.dva-state-initialized{padding-bottom:0}.dva-e-lazy-image.dva-state-loaded{background:transparent}@keyframes dva-link-border__animation{0%{width:0}to{width:100%}}@media (hover: hover) and (pointer: fine){.dvag-h-link-inside:hover .dva-e-link{color:#fff}.dvag-h-link-inside:hover .dva-e-link:before{content:"";position:absolute;top:0;bottom:-2px;left:0;display:block;width:100%;border-bottom:2px solid #fff;animation:dva-link-border__animation .3s 1 ease-in-out}}.dvag-e-progress-bar{display:block;height:4px;margin:0 auto 24px;background-color:#ccc}.dvag-e-progress-bar__progress-indicator{width:0;height:4px;background-color:#c8aa22;transition-property:width}.dvag-e-overlay-toggle{cursor:pointer}.dva-m-rating-box{display:flex;flex-direction:column}.dva-m-rating-box__ratingstar-wrapper{display:flex;justify-content:space-between}.dva-m-rating-box .dvag-e-form-field__error{display:none}.dva-m-rating-box[edit-mode=true]{color:#c8aa22;cursor:pointer}.dva-m-rating-box[edit-mode=true].dva-state-error{color:#f5e9eb}.dva-m-rating-box[edit-mode=true].dva-state-error .dva-e-rating-star{opacity:1}.dva-m-rating-box[edit-mode=true].dva-state-error .dvag-e-form-field__error{display:flex}.dva-m-rating-box[edit-mode=true]:hover{color:#c8aa22}.dva-m-rating-box[edit-mode=true]:hover .dva-e-rating-star{opacity:1}.dva-m-rating-box[edit-mode=true] .dva-e-rating-star{color:inherit;fill:currentColor}.dva-m-rating-box[edit-mode=true] .dva-e-rating-star:hover~.dva-e-rating-star{opacity:.3}.dva-m-breadcrump-navigation{display:none}@media (min-width: 1280px){.dva-m-breadcrump-navigation{display:block}}.dva-m-breadcrump-navigation__list{display:flex;flex-wrap:wrap;padding:16px 0;margin:0;list-style-type:none}.dva-m-breadcrump-navigation__item{display:flex;align-items:center}.dva-m-breadcrump-navigation__item:last-of-type{margin-right:0}.dva-m-breadcrump-navigation__item:last-of-type .dva-e-icon{display:none}.dva-m-breadcrump-navigation__label{overflow:hidden;max-width:350px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.dva-m-breadcrump-navigation .dva-e-icon{display:flex;width:12px;height:12px;margin:0 5px;fill:#decc7a}.dva-m-article-content a{align-items:center}.dva-m-article-content blockquote{quotes:"»" "«" "»" "«";float:none!important;width:100%!important;border:none;color:inherit}@media (min-width: 760px){.dva-m-article-content blockquote{width:calc(83.33333% - 32px)!important;padding:0;margin:0 calc(8.33333% + 16px) 32px}}.dva-m-article-content blockquote p{margin-bottom:6px}.dva-m-article-content blockquote p:before{content:open-quote}.dva-m-article-content blockquote p:after{content:close-quote}.dva-m-article-content blockquote cite{margin-top:0}.dva-m-article-content p{margin-bottom:32px}.dva-m-article-content figure{margin-bottom:32px}.dva-m-article-content figure img{width:100%}.dvag-m-c08-barcomponent .dvag-grid-col-1-12>div:not(.dvag-m-c01b-teaser){height:100%}.dvag-m-basic-slider{position:relative;display:block}.dvag-m-basic-slider.dva-state-dragging{cursor:grabbing}.dvag-m-basic-slider__slides{display:flex;overflow-x:scroll;overflow-y:hidden;align-items:flex-start;justify-content:flex-start;scroll-snap-type:x mandatory!important;-ms-overflow-style:none;scrollbar-width:none}@supports (scroll-snap-stop: always){.dva-state-dragging>.dvag-m-basic-slider__slides{scroll-snap-type:none!important}}.dvag-m-basic-slider.dva-state-inactive .dvag-m-basic-slider__slides{justify-content:center}.dvag-m-basic-slider__slides::-webkit-scrollbar{display:none}.dvag-m-basic-slider__slide{flex-shrink:0;scroll-snap-align:start;scroll-snap-stop:always}.dvag-m-basic-slider__nav-button{position:absolute;top:calc(50% - 40px);display:flex;width:64px;height:64px;align-items:center;justify-content:center;padding:0;border-radius:0;color:#fff;opacity:0;transition:opacity .3s ease-in-out,background .3s ease-in-out;pointer-events:none}@media (min-width: 1024px){.dvag-m-basic-slider:hover .dvag-m-basic-slider__nav-button.dva-state-visible,.dvag-h-keyboard-focus .dvag-m-basic-slider__nav-button:focus{opacity:1;pointer-events:all}}.dvag-m-basic-slider__nav-button--prev{left:24px}.dvag-m-basic-slider__nav-button--next{right:24px}.dvag-m-basic-slider__nav-button .dva-e-icon{width:24px;height:24px;margin:0;fill:currentColor}.dvag-m-basic-slider__nav-button .dva-e-button__background{border-radius:0}.dvag-m-basic-slider__scroll-bar{position:relative;width:100%;height:4px;border-radius:4px;margin-top:24px;background:#d9d9d9}@media (min-width: 1280px){.dvag-m-basic-slider__scroll-bar{margin-top:32px}}.dvag-m-basic-slider.dva-state-inactive .dvag-m-basic-slider__scroll-bar{visibility:hidden}.dvag-m-basic-slider__scroll-indicator{position:absolute;top:0;left:0;height:4px;min-height:4px;padding:0;border:none;border-radius:2px;background:#c8aa22}.dvag-m-basic-slider__scroll-indicator:hover,.dva-state-dragging .dvag-m-basic-slider__scroll-indicator{top:-3px;height:10px;cursor:grabbing}.dvag-m-basic-slider__scroll-indicator:active,.dvag-m-basic-slider__scroll-indicator:focus{outline:0}.dvag-m-section-header{display:flex;flex-direction:column;align-items:center}.dvag-h-header--left-aligned .dvag-m-section-header{align-items:flex-start}.dvag-m-section-header__subheadline{margin-bottom:16px;color:#666;text-align:center}.dvag-h-header--left-aligned .dvag-m-section-header__subheadline{text-align:left}.dvag-m-section-header__headline{margin-bottom:40px;color:#4d4d4d;text-align:center}.dvag-h-header--left-aligned .dvag-m-section-header__headline{text-align:left}.dvag-h-headline--regular .dvag-m-section-header__headline{margin-bottom:40px}.dvag-m-section-header__text{margin-bottom:40px;color:#4d4d4d;text-align:center}.dvag-h-header--left-aligned .dvag-m-section-header__text{text-align:left}.dvag-m-section-header__text p{margin:0}.dvag-m-section-header .dvag-m-section-header__headline+.dvag-m-section-header__text{margin-top:-24px}.dvag-m-c01e-teaser{display:flex;flex-direction:column;padding:16px;margin:8px;background-color:#fff;box-shadow:0 0 8px #00000029}.dvag-m-c01e-teaser__content{padding-bottom:12px}.dvag-m-c01e-teaser__rating-wrapper{display:flex;align-items:center;justify-content:flex-start;margin-bottom:8px}.dvag-m-c01e-teaser__main-rating{width:120px;min-height:20px}.dvag-m-c01e-teaser .dvag-m-c01e-teaser__rating-label{margin:3px 0 0 8px;color:gray}.dvag-m-c01e-teaser__headline{display:-webkit-box;overflow:hidden;margin:0 0 12px;color:#333;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dvag-m-c01e-teaser .dvag-m-c01e-teaser__text{display:-webkit-box;overflow:hidden;margin:0 0 12px;color:#333;-webkit-box-orient:vertical;-webkit-line-clamp:5}@media (min-width: 1280px){.dvag-m-c01e-teaser .dvag-m-c01e-teaser__text{-webkit-line-clamp:4}}.dvag-m-c01e-teaser__full-text{display:none}.dvag-m-c01e-teaser__cta .dva-e-icon{width:24px;height:24px;margin-left:12px}.dvag-m-c01e-teaser__footer{padding-top:12px;border-top:1px solid #d9d9d9}.dvag-m-c01e-teaser__customer-label{color:gray}.dvag-m-c01e-teaser .dvag-m-c01e-teaser__customer-name{margin:0;color:#333}.dvag-m-c01e-teaser .dvag-m-c01e-teaser__customer-info{margin:0;color:gray}.dvag-m-c01e-teaser-overlay{position:fixed;top:0;left:0;display:none;width:100%;height:100%;align-items:center;justify-content:center;background:#4d4d4de6;opacity:0;transition:opacity .3s ease-in-out}.dvag-m-c01e-teaser-overlay.dva-state-active{z-index:800;display:flex;overflow:hidden}.dvag-m-c01e-teaser-overlay.dva-state-animating{opacity:1}.dvag-m-c01e-teaser-overlay__content-wrapper{position:relative;overflow:hidden;width:100%;max-height:100dvh;background:#fff;box-shadow:0 0 8px #00000029;-webkit-overflow-scrolling:touch}.dvag-m-c01e-teaser-overlay__sticky-header{position:sticky;z-index:2;top:0;left:0;display:flex;width:100%;height:56px;align-items:center;justify-content:flex-start;margin:0;background-color:#fff}.dvag-m-c01e-teaser-overlay .dvag-m-basic-overlay__close{position:absolute;top:16px;right:16px;width:24px;height:24px;padding:0;cursor:pointer;transition:fill .3s ease-in-out;fill:#c8aa22}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay .dvag-m-basic-overlay__close{top:24px;right:32px}}.dvag-m-c01e-teaser-overlay .dvag-m-basic-overlay__close:hover{fill:#786614}.dvag-m-c01e-teaser-overlay__scrollable-content{overflow:auto;height:calc(100% - 56px);max-height:inherit;padding:0 16px}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__scrollable-content{padding:0 32px}}.dvag-m-c01e-teaser-overlay__rating-wrapper{display:flex;align-items:center;justify-content:flex-start;padding:0 0 12px}.dvag-m-c01e-teaser-overlay__main-rating{width:120px;min-height:20px}.dvag-m-c01e-teaser-overlay .dvag-m-c01e-teaser-overlay__rating-label{margin:3px 0 0 8px;color:gray}.dvag-m-c01e-teaser-overlay__headline{margin:0 0 12px;color:#333}.dvag-m-c01e-teaser-overlay__text{margin:0 0 24px;color:#333}.dvag-m-c01e-teaser-overlay__ratings{width:100%;max-width:340px;margin:0 0 24px}.dvag-m-c01e-teaser-overlay__rating-row{display:flex;flex-direction:column;margin:0 0 24px}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__rating-row{max-width:340px;flex-direction:row;justify-content:space-between;margin:0 0 9px}}.dvag-m-c01e-teaser-overlay__rating-row:last-of-type{margin:0}.dvag-m-c01e-teaser-overlay__rating-category{margin-bottom:4px;color:#333}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__rating-category{margin-bottom:0}}.dvag-m-c01e-teaser-overlay__rating-value{margin:0}.dvag-m-c01e-teaser-overlay__sub-rating{width:120px}.dvag-m-c01e-teaser-overlay__sub-rating .dva-e-rating-star{width:22px;height:22px}.dvag-m-c01e-teaser-overlay__footer{display:flex;flex-direction:column;padding-top:24px;border-top:1px solid #d9d9d9;margin:24px 0}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__footer{flex-direction:row;justify-content:space-between}}.dvag-m-c01e-teaser-overlay__vb-wrapper{display:flex;align-items:center;margin-bottom:24px}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__vb-wrapper{margin-bottom:0}}.dvag-m-c01e-teaser-overlay__vb-wrapper,.dvag-m-c01e-teaser-overlay__customer-wrapper{width:100%}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__vb-wrapper,.dvag-m-c01e-teaser-overlay__customer-wrapper{width:calc(50% - 12px)}}.dvag-m-c01e-teaser-overlay__image-wrapper{width:60px;height:60px;margin-right:8px}.dvag-m-c01e-teaser-overlay__vb-name{color:#c8aa22}.dvag-m-c01e-teaser-overlay__vb-label,.dvag-m-c01e-teaser-overlay__customer-label,.dvag-m-c01e-teaser-overlay__customer-name,.dvag-m-c01e-teaser-overlay__customer-info{color:gray}.dvag-m-c01e-teaser-overlay .dvag-m-c01e-teaser-overlay__vb-label{margin:0}.dvag-m-c01e-teaser-overlay .dvag-m-c01e-teaser-overlay__customer-name{margin:0;color:#333}.dvag-m-c01e-teaser-overlay .dvag-m-c01e-teaser-overlay__customer-info{margin:0}.dvag-m-c01e-teaser-overlay__navigation{display:flex;justify-content:space-between;padding:24px;border-top:1px solid #d9d9d9;margin:0}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__navigation{padding:24px 0 32px}}.dvag-m-c01e-teaser-overlay__nav-btn{-webkit-user-select:none;user-select:none}.dvag-m-c01e-teaser-overlay__nav-btn.dva-state-hidden{opacity:0;pointer-events:none}@media (max-width: 759px){.dvag-m-c01e-teaser-overlay__nav-btn .dva-e-button__label{display:none}}.dvag-m-c01e-teaser-overlay__nav-btn .dva-e-button__icon{display:flex}@media (max-width: 759px){.dvag-m-c01e-teaser-overlay__nav-btn .dva-e-button__icon{margin:0}}@media (min-width: 760px){.dvag-m-c01e-teaser-overlay__nav-btn--next .dva-e-button__icon{margin-right:0;margin-left:12px}}.dvag-m-c07-rating-teaser-slider{display:block}.dvag-m-c07-rating-teaser-slider .dvag-m-skewed-box__content{padding-right:0;padding-left:0}.dvag-m-c07-rating-teaser-slider .dvag-m-basic-slider__slide{flex-basis:284px;margin:0 4px}@media (min-width: 1280px){.dvag-m-c07-rating-teaser-slider .dvag-m-basic-slider__slide{flex-basis:calc((100% - 16px) / 3)}}.dvag-m-c07-rating-teaser-slider .dvag-m-c01e-teaser{min-height:405px;max-height:405px}@media (min-width: 1280px){.dvag-m-c07-rating-teaser-slider .dvag-m-c01e-teaser{min-height:379px;max-height:379px}}.dvag-m-c07-rating-teaser-slider .dvag-m-c01e-teaser__content{flex-grow:1}.dvag-m-c07-rating-teaser-slider__button-wrapper{display:flex;flex-direction:column}@media (min-width: 760px){.dvag-m-c07-rating-teaser-slider__button-wrapper{flex-direction:row;align-items:stretch;justify-content:center}}.dvag-m-c07-rating-teaser-slider__button-wrapper .dva-e-button{flex-basis:100%}@media (min-width: 760px){.dvag-m-c07-rating-teaser-slider__button-wrapper .dva-e-button:only-child{flex-basis:auto}}@media (min-width: 1280px){.dvag-m-c07-rating-teaser-slider__button-wrapper .dva-e-button{flex-basis:auto}}.dvag-m-c07-rating-teaser-slider__button-wrapper .dva-e-button:not(:first-child){margin-top:16px}@media (min-width: 760px){.dvag-m-c07-rating-teaser-slider__button-wrapper .dva-e-button:not(:first-child){margin-top:0;margin-left:24px}}.dvag-m-c07-rating-teaser-slider__button-wrapper .dva-e-button.dva-state-hidden{margin:0}@media (min-width: 760px){.dvag-m-c07-rating-teaser-slider__button-wrapper .dva-e-button.dva-state-hidden{margin:0}}.dvag-m-c11-accordion{position:relative;display:block}.dvag-m-c11-accordion__block{position:relative;overflow:hidden;border-bottom:1px solid #d9d9d9}.dvag-m-c11-accordion__toggle{width:100%;padding:0;border:none;color:#c8aa22;background:none;text-align:left;transition:color .3s ease-in-out}@media (hover: hover) and (pointer: fine){.dvag-m-c11-accordion__toggle:hover{color:#c8aa22!important;background:none!important;cursor:pointer}}html:not(.touchevents) .dvag-m-c11-accordion__toggle:hover{color:#c8aa22!important;background:none!important}.dvag-m-c11-accordion__toggle:focus{outline:none;box-shadow:none}.dvag-m-c11-accordion__toggle:disabled{border:none!important;color:#ccc;cursor:not-allowed}.dva-h-keyboard-focus .dvag-m-c11-accordion__toggle:focus{position:relative;outline:none}.dva-h-keyboard-focus .dvag-m-c11-accordion__toggle:focus:after{content:"";position:absolute;bottom:2px;width:100%;height:0;border-bottom:1px solid #c8aa22}.dvag-m-c11-accordion__toggle-icon{position:absolute;top:4px;right:0;display:flex;width:16px;height:16px;padding:0;border:none;margin:22px 0;transition:color .2s ease-in-out,transform .2s ease-in-out;fill:#c8aa22}:hover .dvag-m-c11-accordion__toggle-icon{background:none;fill:currentColor}.dva-state-active .dvag-m-c11-accordion__toggle-icon{transform:rotate(180deg)}.dvag-m-c11-accordion__toggle-label{display:block;padding:20px 40px 20px 0;color:inherit;text-decoration:none;text-transform:none}.dvag-m-c11-accordion__content{transform:translateY(50px);display:block;overflow:hidden;max-height:0;visibility:hidden;opacity:0;transition:transform .3s ease-in-out,opacity .2s ease-in-out,visibility .4s ease-in-out,max-height .2s ease-in-out}.dva-state-active>.dvag-m-c11-accordion__content{transform:translateY(0);overflow:visible;max-height:var(--accordion-content-height);visibility:visible;opacity:1}.dvag-m-c11-accordion__content-wrapper{padding:0 0 12px}.dvag-m-c04-vb-stage{position:relative;display:block}.dvag-m-c04-vb-stage__background-wrapper{position:absolute;top:0;left:0;overflow:hidden;width:100%;height:100%}.dvag-m-c04-vb-stage__background-image{width:auto;height:100%}.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__background-image{width:100%}.dvag-m-c04-vb-stage__background-video{width:auto;height:100%}.dvag-m-c04-vb-stage__background-video .dva-e-lazy-video__video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.dvag-m-c04-vb-stage__skewed-box{position:absolute;bottom:0;left:0;width:100%;height:85%}@media (min-width: 1280px){.dvag-m-c04-vb-stage__skewed-box{height:75%}}.dvag-m-c04-vb-stage__skewed-box .dva-h-skew--in{color:#c8aa22;opacity:.8}.dvag-m-c04-vb-stage__skewed-box .dva-m-skewed-box__content{height:100%;background-color:#c8aa22;opacity:.8}.dvag-m-c04-vb-stage__skewed-box .dva-h-skew--out{display:none}.dvag-m-c04-vb-stage__content-wrapper{position:relative}.dvag-m-c04-vb-stage__vb-content{background-color:#fff}@media (min-width: 1024px){.dvag-m-c04-vb-stage__vb-content{position:absolute;top:auto;bottom:0;display:flex;align-items:flex-end;background-color:transparent}}.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__vb-content{position:relative;background-color:transparent}.dvag-m-c04-vb-stage__vb-inner-content{display:flex;flex-direction:column;align-items:center;padding-top:24px;padding-bottom:40px;color:#4d4d4d}@media (min-width: 1024px){.dvag-m-c04-vb-stage__vb-inner-content{align-items:flex-start;justify-content:center;padding-top:30px;color:#fff;background-color:transparent}}@media (min-width: 1280px){.dvag-m-c04-vb-stage__vb-inner-content{padding-bottom:40px}}.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__vb-inner-content{align-items:center;padding-top:calc(8.7489% + 70px);padding-bottom:40px;color:#fff}@media (min-width: 1280px){.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__vb-inner-content{padding-top:calc(8.7489% + 105px)}}.dvag-m-c04-vb-stage__rating-wrapper{display:flex;flex-direction:column;align-items:center;margin:0 0 16px;text-align:center}@media (min-width: 1024px){.dvag-m-c04-vb-stage__rating-wrapper{align-items:flex-start;margin:0 0 24px;text-align:left}}.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__rating-wrapper{align-items:center}.dvag-m-c04-vb-stage__rating-wrapper .dva-m-rating-box{justify-content:flex-start;margin-bottom:4px}.dvag-m-c04-vb-stage__rating-wrapper .dva-e-rating-star{width:30px;height:30px;margin-left:5px;color:#c8aa22;fill:#c8aa22}@media (min-width: 1024px){.dvag-m-c04-vb-stage__rating-wrapper .dva-e-rating-star{color:#fff;fill:#fff}}.dvag-m-c04-vb-stage__rating-wrapper .dva-e-rating-star:first-of-type{margin-left:0}.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__rating-wrapper .dva-e-rating-star{color:#fff;fill:#fff}.dvag-m-c04-vb-stage__rating-label{color:#c8aa22}@media (min-width: 1024px){.dvag-m-c04-vb-stage__rating-label{color:#fff}}.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__rating-label{color:#fff}.dvag-m-c04-vb-stage__rating-link{position:relative;padding-left:12px;color:#c8aa22;text-decoration:underline}@media (min-width: 1024px){.dvag-m-c04-vb-stage__rating-link{color:#fff}}.dvag-m-c04-vb-stage__rating-link:before{content:" | ";position:absolute;top:0;left:0;margin:0 5px}.dvag-m-c04-vb-stage--no-vb-image .dvag-m-c04-vb-stage__rating-link{color:#fff}.dvag-m-c04-vb-stage__vb-name{margin:0 0 16px;text-align:center}@media (min-width: 1024px){.dvag-m-c04-vb-stage__vb-name{text-align:left}}.dvag-m-c04-vb-stage__vb-info{margin:0;text-align:center}@media (min-width: 1024px){.dvag-m-c04-vb-stage__vb-info{text-align:left}}.dvag-m-c04-vb-stage__vb-title{margin:0;text-align:center}@media (min-width: 1024px){.dvag-m-c04-vb-stage__vb-title{text-align:left}}.dvag-m-c04-vb-stage__cta{width:100%;flex-basis:100%;margin-top:16px}@media (min-width: 760px){.dvag-m-c04-vb-stage__cta{width:auto;flex-basis:auto}}.dvag-m-c04-vb-stage__cta .dva-e-button__label{order:3}.dvag-m-basic-overlay{position:fixed;top:0;left:0;display:none;width:100%;height:100%;background:#4d4d4de6;opacity:0;transition:opacity .3s ease-in-out}.dvag-m-basic-overlay.dva-state-active{z-index:800;display:block}.dvag-m-basic-overlay.dva-state-animating{opacity:1}.dvag-m-basic-overlay.dvag-m-basic-overlay--lightbox .dvag-m-basic-overlay__inner-content{display:flex;align-items:center;justify-content:center;background:none}.dvag-m-basic-overlay__close.dva-e-button{position:absolute;z-index:1;top:16px;right:16px;width:48px;height:48px;min-height:auto;padding:12px;border:1px solid transparent!important;border-radius:2px;color:#fff;background-color:transparent}.dvag-m-basic-overlay__close.dva-e-button:hover{background:#fff3}.dvag-m-basic-overlay__close.dva-e-button:focus{border:1px solid #fff!important;background-color:transparent}.dvag-m-basic-overlay__close.dva-e-button:active{background:#fff6}.dvag-m-basic-overlay__content{display:flex;height:100%;max-height:100vh;align-items:center;justify-content:center}.dvag-m-basic-overlay__inner-content{position:relative;overflow:hidden;height:calc(100% - 32px);margin:16px auto;background-color:#fff}@media (min-width: 476px){.dvag-m-basic-overlay__inner-content{height:calc(100% - 48px);margin:24px auto}}@media (min-width: 760px){.dvag-m-basic-overlay__inner-content{height:calc(100% - 80px);margin:40px auto}}@media (min-width: 1024px){.dvag-m-lottie-slider .dvag-m-basic-slider{max-width:100%;padding-left:calc(16.66667% + 2px);margin-left:0}}@media (min-width: 1024px) and (max-width: 1279px){.dvag-m-lottie-slider .dvag-m-basic-slider__slides{scroll-padding-left:24px}}@media (min-width: 1280px){.dvag-m-lottie-slider .dvag-m-basic-slider__slides{margin-left:30px;scroll-padding-left:0}}.dvag-m-lottie-slider .dvag-m-basic-slider__slide{flex-basis:80%;opacity:.3;transition:opacity 1s}@media (min-width: 1024px){.dvag-m-lottie-slider .dvag-m-basic-slider__slide{flex-basis:60%}}.dvag-m-lottie-slider .dvag-m-basic-slider__slide.dva-state-active{opacity:1}.dvag-m-lottie-slider .dvag-m-basic-slider__slide:last-of-type:after{left:100%;width:20%}@media (min-width: 1024px){.dvag-m-lottie-slider .dvag-m-basic-slider__slide:last-of-type:after{width:calc(60% + 12px)}}@media (min-width: 1280px){.dvag-m-lottie-slider .dvag-m-basic-slider__slide:last-of-type:after{display:block;width:calc(60% + 45px)}}.dvag-m-lottie-slider__animation-box{margin:0 auto 24px;aspect-ratio:16/9}.dvag-m-lottie-slider-slide__subheadline{margin:0 0 16px;color:gray}.dvag-m-lottie-slider-slide__headline{margin:0 0 8px;color:#4d4d4d}.dvag-m-n02-footer{max-width:1460px;padding-top:16px;margin:0 auto;background:#fff}@media (min-width: 760px){.dvag-m-n02-footer{padding-top:28px}}.dvag-m-n02-footer--border-top{border-top:1px solid #d9d9d9}.dvag-m-n02-footer__headline{margin-bottom:20px;color:#404040}.dvag-m-n02-footer__navigation{margin-bottom:40px}@media (min-width: 760px){.dvag-m-n02-footer__navigation{margin-bottom:48px}}@media (min-width: 1024px){.dvag-m-n02-footer__navigation{display:flex;flex-flow:row wrap;gap:48px 24px}}@media (min-width: 1024px){.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__block{width:calc(25% - 18px);border-bottom:none}}@media (min-width: 1024px){.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__toggle{cursor:default}}@media (min-width: 1024px){.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__toggle-icon{display:none}}.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__toggle-label{margin:0}@media (min-width: 1024px){.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__toggle-label{color:#404040}}@media (min-width: 1024px){.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__content{transform:translateY(0);overflow:visible;max-height:100%;visibility:visible;opacity:1;transition:none}}.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__content-wrapper{padding:0 0 16px}@media (min-width: 1024px){.dvag-m-n02-footer__navigation .dvag-m-c11-accordion__content-wrapper{padding:0}}.dvag-m-n02-footer__list{display:flex;flex-direction:column;padding:0 0 4px;gap:16px}.dvag-m-n02-footer__social-links{display:flex;flex-flow:row wrap;margin-bottom:48px;gap:16px}.dvag-m-n02-footer__social-link{width:48px;height:48px;flex-shrink:0}.dvag-m-n02-footer__social-link .dva-e-icon{width:24px;height:24px}.dvag-h-keyboard-focus .dvag-m-n02-footer__social-link:focus,.dvag-m-n02-footer__social-link:hover{border:2px solid #a0881b;color:#a0881b;background:#f9f6e9}.dvag-m-n02-footer__social-link:active{border:2px solid #50440d;color:#50440d;background:#f9f6e9}.dvag-m-n02-footer__awards{display:flex;flex-flow:row wrap;margin-bottom:40px;gap:40px}@media (min-width: 760px){.dvag-m-n02-footer__awards{margin-bottom:48px;gap:60px}}@media (min-width: 1024px){.dvag-m-n02-footer__awards{gap:40px}}@media (min-width: 1280px){.dvag-m-n02-footer__awards{gap:60px}}.dvag-m-n02-footer__award-image{width:auto;height:140px}.dvag-m-n02-footer .dvag-h-skew--in{color:#666}.dvag-m-n02-footer .dvag-m-skewed-box__content{background:#666}.dvag-m-n02-footer__legal-links{display:flex;flex-direction:column;margin-top:32px;gap:16px}@media (min-width: 760px){.dvag-m-n02-footer__legal-links{flex-direction:row;align-items:center;justify-content:flex-end;margin-top:0}}.dvag-m-n02-footer__legal-link{color:#fff}.dvag-h-keyboard-focus .dvag-m-n02-footer__legal-link:focus,.dvag-m-n02-footer__legal-link:hover,.dvag-m-n02-footer__legal-link:active{color:#fff}.dvag-h-keyboard-focus .dvag-m-n02-footer__legal-link:focus:before,.dvag-m-n02-footer__legal-link:hover:before,.dvag-m-n02-footer__legal-link:active:before{border-bottom-color:#fff}.dvag-m-n02-footer__copyright{display:flex;margin:32px 0;color:#999}@media (min-width: 760px){.dvag-m-n02-footer__copyright{justify-content:flex-end;margin:16px 0}}.dvag-m-n03-vb-footer__contact-section{padding:0;border-top:1px solid #ccc}@media (min-width: 1024px){.dvag-m-n03-vb-footer__contact-section{display:flex;flex-direction:row-reverse}}.dvag-m-n03-vb-footer__vb-infos{flex-basis:100%;padding:32px 16px 48px}@media (min-width: 476px){.dvag-m-n03-vb-footer__vb-infos{padding:32px 24px 48px}}@media (min-width: 760px){.dvag-m-n03-vb-footer__vb-infos{padding:32px 32px 48px}}@media (min-width: 1024px){.dvag-m-n03-vb-footer__vb-infos{flex-basis:calc(50% - 12px);padding:54px 32px 48px calc(8.33333% - 4px)}}@media (min-width: 1280px){.dvag-m-n03-vb-footer__vb-infos{padding-right:40px}}.dvag-m-n03-vb-footer__topline{margin:0 0 12px;color:#404040}.dvag-m-n03-vb-footer__headline{margin:0 0 20px;color:#4d4d4d}.dvag-m-n03-vb-footer__direction{margin:0 0 20px;color:#404040}.dvag-m-n03-vb-footer__address{display:flex;flex-direction:column;margin:0 0 20px;color:#404040}.dvag-m-n03-vb-footer__contact-ctas{display:flex;flex-flow:row wrap;align-items:flex-start;justify-content:flex-start;margin:0 0 16px;gap:16px}@media (min-width: 1024px){.dvag-m-n03-vb-footer__contact-ctas{display:none}}.dvag-m-n03-vb-footer__contact-links{display:none}@media (min-width: 1024px){.dvag-m-n03-vb-footer__contact-links{display:flex;flex-direction:column;margin:0 0 20px}}.dvag-m-n03-vb-footer__contact-row{display:flex;justify-content:flex-start}.dvag-m-n03-vb-footer__contact-type{min-width:78px}.dvag-m-n03-vb-footer__overlay-cta{margin:0 0 48px}@media (min-width: 1024px){.dvag-m-n03-vb-footer__overlay-cta{margin:0 0 64px}}.dvag-m-n03-vb-footer__social-items{display:flex;flex-flow:row wrap;align-items:flex-start;justify-content:flex-start;margin:8px 0 0;gap:16px}.dvag-m-n03-vb-footer__google-maps{position:relative;height:0;flex-basis:100%;padding-bottom:100%}@media (min-width: 1024px){.dvag-m-n03-vb-footer__google-maps{height:auto;flex-basis:calc(50% - 12px);padding-bottom:0;margin-right:24px}}.dvag-m-n03-vb-footer__google-maps .dva-e-lazy-image{width:100%}.dvag-m-n03-vb-footer .dvag-e-google-map{position:absolute;width:100%;height:100%}.dvag-m-n01-header{position:fixed;z-index:100;top:0;display:flex;overflow:hidden;width:100%;max-width:1460px;height:72px;align-items:center;justify-content:space-between;padding:0 16px;margin:0 auto;background:#fff;box-shadow:0 4px #00000008;gap:16px}@media (min-width: 760px){.dvag-m-n01-header{padding:0 40px}}.dvag-m-n01-header__logo-wrapper{display:flex;align-items:center;justify-content:flex-start}.dvag-m-n01-header__logo-mobile{display:flex;width:32px;height:32px;opacity:1;transition:opacity .3s ease-in-out;pointer-events:all}@media (min-width: 760px){.dvag-m-n01-header__logo-mobile{display:none}}.dvag-m-n01-header__logo-mobile .dva-e-icon{width:32px;height:32px}.dvag-m-n01-header__logo-desktop{display:none}@media (min-width: 760px){.dvag-m-n01-header__logo-desktop{display:flex;width:180px;height:41px;opacity:1;transition:opacity .3s ease-in-out;pointer-events:all}}.dvag-m-n01-header__logo-desktop .dva-e-icon{width:180px;height:41px}.dvag-m-n01-header__vb-info{position:relative;left:-32px;transform:translateY(-100%);display:flex;min-width:155px;height:72px;flex-direction:column;align-items:flex-start;justify-content:center;margin:0;transition:transform .3s ease-in-out;pointer-events:none}@media (min-width: 760px){.dvag-m-n01-header__vb-info{left:-180px;min-width:180px}}.dvag-m-n01-header__vb-info.dva-state-visible{transform:translateY(13%);pointer-events:all}.dvag-m-n01-header__vb-info.dva-state-hidden{display:none}.dvag-m-n01-header__vb-info .dvag-m-skew-component{min-width:100%;height:100%;margin:0}.dvag-m-n01-header__vb-info .dvag-m-skewed-box__content{display:flex;min-width:155px;height:72px;flex-direction:column;align-items:flex-start;justify-content:center;padding:0;background:#fff}@media (min-width: 760px){.dvag-m-n01-header__vb-info .dvag-m-skewed-box__content{min-width:180px}}.dvag-m-n01-header__vb-info .dvag-h-skew--out{display:block;color:#fff}.dvag-m-n01-header__vb-subheadline{display:none;margin:0;color:#404040}@media (min-width: 476px){.dvag-m-n01-header__vb-subheadline{display:flex}}.dvag-m-n01-header__vb-name,.dvag-m-n01-header__vb-link{margin:0;color:#404040;text-wrap:balance}.dvag-m-n01-header__menu-wrapper{display:flex;align-items:center;justify-content:center}@media (min-width: 760px){.dvag-m-n01-header__menu-wrapper{gap:24px}}.dvag-m-n01-header__header-navigation-wrapper{display:flex;flex-direction:row;flex-grow:1;align-items:center;justify-content:flex-end}.dvag-m-n01-header__header-navigation-list{display:none}@media (min-width: 760px){.dvag-m-n01-header__header-navigation-list{display:flex;overflow:hidden;height:72px;flex-flow:row;flex-wrap:wrap;justify-content:flex-end;gap:20px}}.dvag-m-n01-header__header-navigation-link{display:flex;height:72px;align-items:center;justify-content:center;padding:0 12px;border-bottom:2px solid #fff;color:#404040;text-decoration:none;cursor:pointer;transition:background-color .3s ease-in-out,border-color .3s ease-in-out}@media (hover: hover) and (pointer: fine){.dvag-m-n01-header__header-navigation-link:hover{border-bottom:2px solid #c8aa22;background-color:#f2f2f2}}.dvag-h-keyboard-focus .dvag-m-n01-header__header-navigation-link:focus{border-bottom:2px solid #c8aa22;outline:none;background-color:#f2f2f2}.dvag-m-n01-header__cta.dva-e-button--small{padding:6px 12px}@media (min-width: 760px){.dvag-m-n01-header__cta.dva-e-button--small{padding:12px 24px}}.dvag-m-n01-header__cta.dva-e-button--small .dva-e-icon{display:none}@media (min-width: 760px){.dvag-m-n01-header__cta.dva-e-button--small .dva-e-icon{display:inline-flex}}.dvag-m-n01-header__burger-menu{display:flex;height:72px;align-items:center;justify-content:center;padding:0 12px;border-bottom:2px solid #fff;color:#404040;transition:background-color .3s ease-in-out,border-color .3s ease-in-out}@media (hover: hover) and (pointer: fine){.dvag-m-n01-header__burger-menu:hover{border-bottom:2px solid #c8aa22;background-color:#f2f2f2}}.dvag-h-keyboard-focus .dvag-m-n01-header__burger-menu:focus{border-bottom:2px solid #c8aa22;outline:none;background-color:#f2f2f2}.dvag-m-n01-header__burger-menu:active{border-bottom:2px solid #fff;background-color:#fff}.dvag-m-n01-header__burger-menu .dva-e-icon{width:24px;height:24px;fill:currentColor}.dvag-m-n01-header__burger-label{display:none}@media (min-width: 760px){.dvag-m-n01-header__burger-label{display:flex;margin-left:6px}}.dvag-m-n01-header__navigation-wrapper{position:fixed;z-index:1002;display:flex;overflow:hidden;height:var(--app-height);flex-direction:row-reverse;pointer-events:none;top:0;right:0;bottom:0;left:0}.dvag-m-n01-navigation{position:absolute;z-index:700;top:0;right:0;bottom:0;transform:translate(100%);display:none;overflow-x:hidden;overflow-y:auto;width:100%;height:var(--app-height);background-color:#fff;transition:transform .3s ease-in-out;pointer-events:all;-webkit-overflow-scrolling:touch}@media (min-width: 760px){.dvag-m-n01-navigation{width:476px}}.dvag-m-n01-navigation.dva-state-open{display:block}.dvag-m-n01-navigation.dva-state-visible{transform:translate(0)}.dvag-m-n01-navigation.dvag-m-n01-navigation--level-2-open{overflow-y:hidden}.dvag-m-n01-navigation__content-wrapper{position:relative}.dvag-m-n01-navigation__header{position:sticky;z-index:702;top:0;left:0;display:flex;width:100%;flex-direction:row;align-items:center;justify-content:space-between;padding:24px 16px 16px;background:#fff}@media (min-width: 760px){.dvag-m-n01-navigation__header{padding:24px 24px 16px}}.dvag-m-n01-navigation__header:after{content:"";position:absolute;bottom:0;left:16px;width:calc(100% - 32px);height:1px;background-color:#ccc}@media (min-width: 760px){.dvag-m-n01-navigation__header:after{left:24px;width:calc(100% - 48px)}}.dvag-m-n01-navigation__header-button{display:flex;align-self:flex-end;padding:4px;border:1px solid transparent;border-radius:2px;color:#404040;transition:border .3s ease-in-out,background .3s ease-in-out,color .3s ease-in-out}@media (hover: hover) and (pointer: fine){.dvag-m-n01-navigation__header-button:hover{color:#333;background-color:#f9f6e9;cursor:pointer}.dvag-m-n01-navigation__header-button:hover:before{content:none}}.dvag-m-n01-navigation__header-button .dva-e-icon{width:24px;height:24px;margin-right:12px}.dvag-m-n01-navigation__header-button:focus{border:1px solid #404040;color:#333}.dvag-m-n01-navigation__header-button:focus:before{content:none}.dvag-m-n01-navigation__header-button:active{color:#000;background-color:#f4eed2}.dvag-m-n01-navigation__header-button--back{display:flex;opacity:0;transition:opacity .3s ease-in-out;pointer-events:none}.dvag-m-n01-navigation__header-button--back.dva-state-visible{opacity:1;pointer-events:all}.dvag-m-n01-navigation__content{padding:24px 0}.dvag-m-n01-navigation__cta.dva-e-button--small{width:calc(100% - 32px);margin:0 16px 24px}@media (min-width: 760px){.dvag-m-n01-navigation__cta.dva-e-button--small{width:calc(100% - 48px);margin:0 24px 24px}}.dvag-m-n01-navigation__group-list--secondary{margin-bottom:16px}.dvag-m-n01-navigation__group-list--language-switch{position:relative;padding-top:16px;margin-bottom:8px}.dvag-m-n01-navigation__group-list--language-switch:before{content:"";position:absolute;top:0;left:16px;width:calc(100% - 32px);height:1px;background-color:#d9d9d9}@media (min-width: 760px){.dvag-m-n01-navigation__group-list--language-switch:before{left:24px;width:calc(100% - 48px)}}.dvag-m-n01-navigation__item{display:block;padding:0 16px}@media (min-width: 760px){.dvag-m-n01-navigation__item{padding:0 24px}}.dvag-m-n01-navigation__item--secondary{padding:0;margin:8px 16px}@media (min-width: 760px){.dvag-m-n01-navigation__item--secondary{margin:8px 24px}}.dvag-m-n01-navigation__item--optional{padding:0;margin:8px 0}.dvag-m-n01-navigation__item--language-switch{display:inline-block;padding:0;margin:8px 24px 8px 16px}@media (min-width: 760px){.dvag-m-n01-navigation__item--language-switch{margin:8px 24px}}.dvag-m-n01-navigation__item-link{display:flex;flex-direction:column;padding:24px 16px 24px 14px;border-left:2px solid transparent;margin:0;transition:border-color .3s,background-color .3s}@media (hover: hover) and (pointer: fine){.dvag-m-n01-navigation__item-link:hover{border-left-color:#c8aa22;background-color:#f2f2f2;cursor:pointer}}.dvag-m-n01-navigation__item-link:focus{border-left-color:#c8aa22;background-color:#f2f2f2}.dvag-m-n01-navigation__item-link:active,.dvag-m-n01-navigation__item-link.dva-state-active{border-left-color:#c8aa22}.dvag-m-n01-navigation__item-link--level-2{padding:16px 16px 16px 14px}.dvag-m-n01-navigation__item-link--secondary,.dvag-m-n01-navigation__item-link--optional{padding:4px 16px 4px 14px}@media (hover: hover) and (pointer: fine){.dvag-m-n01-navigation__item-link--optional:hover{background-color:#fff}}.dvag-m-n01-navigation__item-link--optional:focus{background-color:#fff}.dvag-m-n01-navigation__item-link--language-switch{flex-direction:row;align-items:center;padding:8px 16px 8px 14px}.dvag-m-n01-navigation__item-link--language-switch .dva-e-icon{width:18px;height:18px;margin-right:8px}.dvag-m-n01-navigation__item-rating-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;margin-top:4px}.dvag-m-n01-navigation__item-rating-wrapper .dva-m-rating-box{gap:2px}.dvag-m-n01-navigation__item-rating-wrapper .dva-e-rating-star{width:16px;height:16px;color:#c8aa22;fill:#c8aa22}.dvag-m-n01-navigation__item-rating-label{margin:0 0 0 8px;color:gray}.dvag-m-n01-navigation__teaser-area{padding:24px 16px;margin-top:16px;margin-bottom:16px;background:#f2f2f2}@media (min-width: 760px){.dvag-m-n01-navigation__teaser-area{padding:24px}}.dvag-m-n01-navigation__teaser-headline{margin:0 0 24px;color:#666}.dvag-m-n01-navigation .dvag-m-c01a-teaser{padding-bottom:12px;border-bottom:1px solid #ccc}.dvag-m-n01-navigation__level-2{position:absolute;z-index:701;top:calc(var(--nav-scroll-height) + 74px);right:0;bottom:0;transform:translate(100%);display:none;overflow-x:hidden;overflow-y:scroll;width:100%;height:calc(var(--app-height) - 74px);background-color:#fff;transition:transform .3s ease-in-out;pointer-events:all;-webkit-overflow-scrolling:touch}@media (min-width: 760px){.dvag-m-n01-navigation__level-2{top:calc(var(--nav-scroll-height) + 74px);width:476px;height:100%}}.dvag-m-n01-navigation__level-2.dva-state-open{display:block}.dvag-m-n01-navigation__level-2.dva-state-visible{transform:translate(0)}.dvag-m-n01-navigation__level-2-headline{margin:24px 16px 4px;color:gray}@media (min-width: 760px){.dvag-m-n01-navigation__level-2-headline{margin:24px 24px 4px}}.dvag-m-n01-navigation__level-2-subheadline{margin:0 16px 32px;color:gray}@media (min-width: 760px){.dvag-m-n01-navigation__level-2-subheadline{margin:0 24px 32px}}.dvag-m-n01-navigation-lock{position:fixed;z-index:699;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;background:#4d4d4de6;opacity:0;transition:opacity .3s ease-in-out;pointer-events:none}.dvag-state-navigation-open .dvag-m-n01-navigation-lock{opacity:1;pointer-events:all} diff --git a/src/components/dva-m-article-content/dva-m-article-content.hbs b/src/components/dva-m-article-content/dva-m-article-content.hbs new file mode 100644 index 0000000..a584da6 --- /dev/null +++ b/src/components/dva-m-article-content/dva-m-article-content.hbs @@ -0,0 +1,78 @@ +--- +layout: default +--- + +
+
+
+
+
+ + + +
+

Der Geldanlage-Index des Deutschen Instituts für Vermögensbildung und Alterssicherung (DIVA) misst zweimal jährlich die Einstellungen und Einschätzungen der Menschen in Deutschland zum Thema Geldanlage insbesondere in Aktien, Aktienfonds und fondsgebundene Lebensversicherungen. Neben einer repräsentativen Stichprobe von 2.000 Verbrauchern werden im Index auch die Einschätzungen von rund 850 Finanzexperten mit 1,5 Millionen Kunden berücksichtigt.

+

Prof. Dr. Michael Heuser, wissenschaftlicher Direktor des DIVA-Instituts, erläutert im Interview die aktuellen Befragungsergebnisse.

+
+
+
+ +
+
+ +
+
+
+ + Prof. Dr. Michael Heuser, wissenschaftlicher Direktor des DIVA-Instituts +
+
+
+ +
+

Prof. Dr. Heuser, das DIVA-Institut hat gerade die aktuellen Zahlen zum Deutschen Geldanlage-Index vorgelegt. Sind die Menschen in Deutschland immer noch die Aktienmuffel?

+

Prof. Dr. Heuser: Die Aktionärsquote hierzulande verharrt mit deutlich unter 20 % auf niedrigem Niveau. Andererseits zeigen uns Indikatoren, dass sich in Zukunft etwas bewegen könnte: Fast die Hälfte der befragten Bürger (47,5 %) sieht aktienbasierte Anlageformen, zu denen auch Aktienfonds und fondsgebundene Lebensversicherungen gehören, positiv. Und jeder Dritte gibt an, in näherer Zukunft etwas in diese Richtung machen zu wollen.

+

 

+
+
+

Wie beeinflusst die aktuelle Situation die Aktienstimmung in der Bevölkerung?

+

Die Stimmung gegenüber Aktien bleibt insgesamt gut. Sie war im Sommer 2020 insbesondere deshalb etwas besser, weil sich die Kurse nach dem Corona-Einbruch ab Mitte März fulminant schnell erholt haben. Davon haben viele Anleger profitiert, und das hebt die Stimmung.

+

Besonders hervorzuheben ist eine Lust auf Börse bei vielen jüngeren Menschen. Banken, Fondsgesellschaften und Broker berichten von einem erheblichen Zulauf, und unsere DIVA-Umfragen bestätigen: Menschen unter 30 Jahren legen einen sehr ausgeprägten Aktienoptimismus, im Wesentlichen auf Investmentfonds, an den Tag.

+
+
+
+

„Die Menschen erachten persönliche Beratung für notwendig, um erfolgreich zu investieren.“

+ +
+
+
+

Welche Rolle spielen Vermögensberater/-innen, wenn es in Deutschland um das Sparen in aktienbasierten Anlageformen geht? 

+

Fast ein Drittel der Bürger bescheinigt seinen Mitmenschen ungenügendes Wissen im Bereich Geldanlage, die Hälfte erachtet persönliche Beratung, zum Beispiel durch Vermögensberater, für notwendig, um erfolgreich zu investieren. Die Menschen erkennen zunehmend, dass man die Renditepotentiale der Börse nicht weiterhin vernachlässigen und zugleich ihre Komplexität nicht unterschätzen sollte. Sachkunde und Erfahrung sind gefragt. Der Rat eines Experten kann sehr hilfreich sein. 

+

Lässt sich so mit der Zeit aus einem Deutschland der Aktienmuffel auf Dauer ein Land kluger Geldanleger an der Börse machen? 

+

Interessant ist, dass 80% der Vermögensberater-Kunden, aber nur 50 % der Bürger insgesamt das Sparen in Aktien für attraktiv halten. Beratung der Menschen in Finanz- und Anlagethemen hat also Relevanz für die Aktienkultur. Vermögensberatung hilft, so lässt sich folgern, die generelle Aktienkultur in Deutschland zu verbessern.

+

Weitere Informationen zum aktuellen Geldanlage-Index des Deutschen Instituts für Vermögensbildung und Alterssicherung (DIVA) finden Sie hier.

+
+ +
+
+
+ + {{> dvag-m-c07-rating-teaser-slider cssClasses="dvag-h-background--grey dvag-h-skew--top dvag-h-skew--bottom"}} +
+
\ No newline at end of file diff --git a/src/components/dva-m-article-content/dva-m-article-content.md b/src/components/dva-m-article-content/dva-m-article-content.md new file mode 100644 index 0000000..7e93166 --- /dev/null +++ b/src/components/dva-m-article-content/dva-m-article-content.md @@ -0,0 +1,9 @@ +--- +name: "Article Content" +category: Molecules +--- + +Migrated content for article pages with legacy FE. + +```dva-m-article-content:dva-m-article-content.html +``` diff --git a/src/components/dva-m-article-content/dva-m-article-content.scss b/src/components/dva-m-article-content/dva-m-article-content.scss new file mode 100644 index 0000000..af46dbc --- /dev/null +++ b/src/components/dva-m-article-content/dva-m-article-content.scss @@ -0,0 +1,56 @@ +.dva-m-article-content { + // styling of legacy markup + a { + align-items: center; + } + + blockquote { + @extend %dva-type-750-italic; + + quotes: "»" "«" "»" "«"; + float: none !important; // @TODO: remove when legacy FE is gone; + width: 100% !important; // @TODO: remove when legacy FE is gone; + border: none; + color: inherit; + + @include breakpoint($mq-3-and-up) { + width: calc(83.33333% - 32px) !important; // @TODO: remove when legacy FE is gone; + padding: 0; + margin: 0 calc(8.33333% + 16px) 32px; // fake 1 col offset left/right + } + + p { + margin-bottom: 6px; + } + + p:before { + content: open-quote; + } + + p:after { + content: close-quote; + } + + cite { + @extend %dva-type-400; + + margin-top: 0; + } + } + + p { + margin-bottom: 32px; + } + + figure { + margin-bottom: 32px; + + img { + width: 100%; + } + + figcaption { + @extend %dva-type-200; + } + } +} diff --git a/src/services/main.service.ts b/src/services/main.service.ts index 875a2dc..4a8271c 100644 --- a/src/services/main.service.ts +++ b/src/services/main.service.ts @@ -109,7 +109,11 @@ export class MainService { private bodyTemplate(children: string) { return html`
- ${headerTemplate()} ${renderBreadcrumpNavigationTemplate()} ${unsafeHTML(children)} ${renderFooter()} +
+
+ ${headerTemplate()} ${renderBreadcrumpNavigationTemplate()} ${unsafeHTML(children)} ${renderFooter()} +
+
`; } diff --git a/src/styles/index.scss b/src/styles/index.scss index 651fa75..2e63bbd 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -108,7 +108,7 @@ // @import "../components/dva-m-skewed-box/dva-m-skewed-box"; // @import "../components/dva-m-article-stage/dva-m-article-stage"; // @import "../components/dva-m-article-header/dva-m-article-header"; -// @import "../components/dva-m-article-content/dva-m-article-content"; +@import "../components/dva-m-article-content/dva-m-article-content"; // // Coach LP // @import "../components/dvag-m-video-stage/dvag-m-video-stage"; // @import "../components/dvag-m-illustrated-list/dvag-m-illustrated-list"; From d2f5bda2e61e975bfda5cdbfaff3bb5dfa251152 Mon Sep 17 00:00:00 2001 From: Samuele Calamita Date: Fri, 5 Apr 2024 10:05:04 +0200 Subject: [PATCH 03/26] added date options to article header date --- dist/article-header/article-header.js | 2 +- dist/article-header/article-header.js.map | 2 +- src/blocks/article-header/article-header.ts | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/dist/article-header/article-header.js b/dist/article-header/article-header.js index 17c11e0..cc62b8c 100644 --- a/dist/article-header/article-header.js +++ b/dist/article-header/article-header.js @@ -1,2 +1,2 @@ -import{j as o,T as a,x as i}from"../__chunks__/lit-element.XkUWx5ik.js";import{c}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{o as s}from"../__chunks__/if-defined.JfW-uEqn.js";import{m as l}from"../__chunks__/index.module.BEmWgxQc.js";function n(e){return e.trim()===""?void 0:e}const m=e=>{if(!e)return a;let t,r;try{t=new Date(e).toISOString(),r=new Date(e).toLocaleDateString()}catch{l.warn("Could not parse date",e),t=void 0,r=e}return i`
`},v=e=>e?i`

${e}

`:a,h=e=>e?i`

${e}

`:a,f=e=>{const t=n(e.date||""),r=n(e.headline||""),d=n(e.text||"");return!t&&!r&&!d?a:i`
${m(t)} ${v(r)} ${h(d)}
`};function $(e){const t=e.children[0].textContent||"",r=e.children[1].textContent||"",d=e.children[2].textContent||"";c(e),o(f({date:t,headline:r,text:d}),e)}export{$ as default}; +import{j as o,T as i,x as n}from"../__chunks__/lit-element.XkUWx5ik.js";import{c}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{o as s}from"../__chunks__/if-defined.JfW-uEqn.js";import{m as l}from"../__chunks__/index.module.BEmWgxQc.js";function a(e){return e.trim()===""?void 0:e}const m=e=>{if(!e)return i;let t,r;const d={year:"numeric",month:"2-digit",day:"2-digit"};try{t=new Date(e).toISOString(),r=new Date(e).toLocaleDateString("de-DE",d)}catch{l.warn("Could not parse date",e),t=void 0,r=e}return n`
`},v=e=>e?n`

${e}

`:i,h=e=>e?n`

${e}

`:i,f=e=>{const t=a(e.date||""),r=a(e.headline||""),d=a(e.text||"");return!t&&!r&&!d?i:n`
${m(t)} ${v(r)} ${h(d)}
`};function $(e){const t=e.children[0].textContent||"",r=e.children[1].textContent||"",d=e.children[2].textContent||"";c(e),o(f({date:t,headline:r,text:d}),e)}export{$ as default}; //# sourceMappingURL=article-header.js.map diff --git a/dist/article-header/article-header.js.map b/dist/article-header/article-header.js.map index 739040e..29c2c7c 100644 --- a/dist/article-header/article-header.js.map +++ b/dist/article-header/article-header.js.map @@ -1 +1 @@ -{"version":3,"file":"article-header.js","sources":["../../src/utils/undefinedOnEmpty.ts","../../src/blocks/article-header/article-header.ts"],"sourcesContent":["/**\n * Returns undefined if the value is an empty string, otherwise returns the value itself.\n *\n * @param {string} value - The value to check.\n * @returns {string | undefined} - If the value is an empty string, returns undefined\n * otherwise, returns the value itself.\n *\n * @example\n * // Example usage:\n * const emptyValue = '';\n * const nonEmptyValue = 'Hello, World!';\n *\n * const result1 = undefinedOnEmpty(emptyValue);\n * console.log(result1); // Output: undefined\n *\n * const result2 = undefinedOnEmpty(nonEmptyValue);\n * console.log(result2); // Output: 'Hello, World!'\n */\nexport function undefinedOnEmpty(value: string): string | undefined {\n return value.trim() === \"\" ? undefined : value;\n}\n","import { html, nothing, render } from \"lit\";\nimport \"./article-header.scss\";\nimport { cleanUpBlock } from \"Utils/cleanUpBlock\";\nimport { undefinedOnEmpty } from \"Utils/undefinedOnEmpty\";\nimport { ifDefined } from \"lit-html/directives/if-defined.js\";\nimport { DebuggerService } from \"@kluntje/services\";\n\ninterface ArticleHeaderTemplateArgs {\n date?: string;\n headline?: string;\n text?: string;\n}\n\nconst renderTopline = (date?: string) => {\n if (!date) return nothing;\n let dateIsoString: string | undefined, formattedDate: string;\n try {\n dateIsoString = new Date(date).toISOString();\n formattedDate = new Date(date).toLocaleDateString();\n } catch (error) {\n DebuggerService.warn(\"Could not parse date\", date);\n dateIsoString = undefined;\n formattedDate = date;\n }\n\n return html`\n
\n \n
\n `;\n};\n\nconst renderHeadline = (headline?: string) => {\n if (!headline) return nothing;\n\n return html`

${headline}

`;\n};\n\nconst renderText = (text?: string) => {\n if (!text) return nothing;\n\n return html`

${text}

`;\n};\n\nconst articleHaderTemplate = (args: ArticleHeaderTemplateArgs) => {\n const date = undefinedOnEmpty(args.date || \"\");\n const headline = undefinedOnEmpty(args.headline || \"\");\n const text = undefinedOnEmpty(args.text || \"\");\n\n if (!date && !headline && !text) return nothing;\n\n return html`\n
\n
\n
\n
\n ${renderTopline(date)} ${renderHeadline(headline)} ${renderText(text)}\n
\n
\n
\n
\n `;\n};\n\nexport default function (block: HTMLElement) {\n const date = block.children[0].textContent || \"\";\n const headline = block.children[1].textContent || \"\";\n const text = block.children[2].textContent || \"\";\n\n cleanUpBlock(block);\n\n render(articleHaderTemplate({ date, headline, text }), block);\n}\n"],"names":["undefinedOnEmpty","value","renderTopline","date","nothing","dateIsoString","formattedDate","DebuggerService","html","ifDefined","renderHeadline","headline","renderText","text","articleHaderTemplate","args","articleHeader","block","cleanUpBlock","render"],"mappings":"kPAkBO,SAASA,EAAiBC,EAAmC,CAClE,OAAOA,EAAM,KAAW,IAAA,GAAK,OAAYA,CAC3C,CCPA,MAAMC,EAAiBC,GAAkB,CACvC,GAAI,CAACA,EAAa,OAAAC,EAClB,IAAIC,EAAmCC,EACnC,GAAA,CACFD,EAAgB,IAAI,KAAKF,CAAI,EAAE,YAAY,EAC3CG,EAAgB,IAAI,KAAKH,CAAI,EAAE,mBAAmB,OACpC,CACEI,EAAA,KAAK,uBAAwBJ,CAAI,EACjCE,EAAA,OACAC,EAAAH,CAClB,CAEO,OAAAK,4HAGqCC,EAAUJ,CAAa,CAAC,KAAMC,CAAa,sBAIzF,EAEMI,EAAkBC,GACjBA,EAEEH,+CAAmDG,CAAQ,QAF5CP,EAKlBQ,EAAcC,GACbA,EAEEL,0CAA8CK,CAAI,OAFvCT,EAKdU,EAAwBC,GAAoC,CAChE,MAAMZ,EAAOH,EAAiBe,EAAK,MAAQ,EAAE,EACvCJ,EAAWX,EAAiBe,EAAK,UAAY,EAAE,EAC/CF,EAAOb,EAAiBe,EAAK,MAAQ,EAAE,EAE7C,MAAI,CAACZ,GAAQ,CAACQ,GAAY,CAACE,EAAaT,EAEjCI,6JAKKN,EAAcC,CAAI,CAAC,IAAIO,EAAeC,CAAQ,CAAC,IAAIC,EAAWC,CAAI,CAAC,6BAMjF,EAEA,SAAAG,EAAyBC,EAAoB,CAC3C,MAAMd,EAAOc,EAAM,SAAS,CAAC,EAAE,aAAe,GACxCN,EAAWM,EAAM,SAAS,CAAC,EAAE,aAAe,GAC5CJ,EAAOI,EAAM,SAAS,CAAC,EAAE,aAAe,GAE9CC,EAAaD,CAAK,EAElBE,EAAOL,EAAqB,CAAE,KAAAX,EAAM,SAAAQ,EAAU,KAAAE,CAAM,CAAA,EAAGI,CAAK,CAC9D"} \ No newline at end of file +{"version":3,"file":"article-header.js","sources":["../../src/utils/undefinedOnEmpty.ts","../../src/blocks/article-header/article-header.ts"],"sourcesContent":["/**\n * Returns undefined if the value is an empty string, otherwise returns the value itself.\n *\n * @param {string} value - The value to check.\n * @returns {string | undefined} - If the value is an empty string, returns undefined\n * otherwise, returns the value itself.\n *\n * @example\n * // Example usage:\n * const emptyValue = '';\n * const nonEmptyValue = 'Hello, World!';\n *\n * const result1 = undefinedOnEmpty(emptyValue);\n * console.log(result1); // Output: undefined\n *\n * const result2 = undefinedOnEmpty(nonEmptyValue);\n * console.log(result2); // Output: 'Hello, World!'\n */\nexport function undefinedOnEmpty(value: string): string | undefined {\n return value.trim() === \"\" ? undefined : value;\n}\n","import { html, nothing, render } from \"lit\";\nimport \"./article-header.scss\";\nimport { cleanUpBlock } from \"Utils/cleanUpBlock\";\nimport { undefinedOnEmpty } from \"Utils/undefinedOnEmpty\";\nimport { ifDefined } from \"lit-html/directives/if-defined.js\";\nimport { DebuggerService } from \"@kluntje/services\";\n\ninterface ArticleHeaderTemplateArgs {\n date?: string;\n headline?: string;\n text?: string;\n}\n\nconst renderTopline = (date?: string) => {\n if (!date) return nothing;\n let dateIsoString: string | undefined, formattedDate: string;\n const options: Intl.DateTimeFormatOptions = {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n };\n try {\n dateIsoString = new Date(date).toISOString();\n formattedDate = new Date(date).toLocaleDateString(\"de-DE\", options);\n } catch (error) {\n DebuggerService.warn(\"Could not parse date\", date);\n dateIsoString = undefined;\n formattedDate = date;\n }\n\n return html`\n
\n \n
\n `;\n};\n\nconst renderHeadline = (headline?: string) => {\n if (!headline) return nothing;\n\n return html`

${headline}

`;\n};\n\nconst renderText = (text?: string) => {\n if (!text) return nothing;\n\n return html`

${text}

`;\n};\n\nconst articleHaderTemplate = (args: ArticleHeaderTemplateArgs) => {\n const date = undefinedOnEmpty(args.date || \"\");\n const headline = undefinedOnEmpty(args.headline || \"\");\n const text = undefinedOnEmpty(args.text || \"\");\n\n if (!date && !headline && !text) return nothing;\n\n return html`\n
\n
\n
\n
\n ${renderTopline(date)} ${renderHeadline(headline)} ${renderText(text)}\n
\n
\n
\n
\n `;\n};\n\nexport default function (block: HTMLElement) {\n const date = block.children[0].textContent || \"\";\n const headline = block.children[1].textContent || \"\";\n const text = block.children[2].textContent || \"\";\n\n cleanUpBlock(block);\n\n render(articleHaderTemplate({ date, headline, text }), block);\n}\n"],"names":["undefinedOnEmpty","value","renderTopline","date","nothing","dateIsoString","formattedDate","options","DebuggerService","html","ifDefined","renderHeadline","headline","renderText","text","articleHaderTemplate","args","articleHeader","block","cleanUpBlock","render"],"mappings":"kPAkBO,SAASA,EAAiBC,EAAmC,CAClE,OAAOA,EAAM,KAAW,IAAA,GAAK,OAAYA,CAC3C,CCPA,MAAMC,EAAiBC,GAAkB,CACvC,GAAI,CAACA,EAAa,OAAAC,EAClB,IAAIC,EAAmCC,EACvC,MAAMC,EAAsC,CAC1C,KAAM,UACN,MAAO,UACP,IAAK,SAAA,EAEH,GAAA,CACFF,EAAgB,IAAI,KAAKF,CAAI,EAAE,YAAY,EAC3CG,EAAgB,IAAI,KAAKH,CAAI,EAAE,mBAAmB,QAASI,CAAO,OACpD,CACEC,EAAA,KAAK,uBAAwBL,CAAI,EACjCE,EAAA,OACAC,EAAAH,CAClB,CAEO,OAAAM,4HAGqCC,EAAUL,CAAa,CAAC,KAAMC,CAAa,sBAIzF,EAEMK,EAAkBC,GACjBA,EAEEH,+CAAmDG,CAAQ,QAF5CR,EAKlBS,EAAcC,GACbA,EAEEL,0CAA8CK,CAAI,OAFvCV,EAKdW,EAAwBC,GAAoC,CAChE,MAAMb,EAAOH,EAAiBgB,EAAK,MAAQ,EAAE,EACvCJ,EAAWZ,EAAiBgB,EAAK,UAAY,EAAE,EAC/CF,EAAOd,EAAiBgB,EAAK,MAAQ,EAAE,EAE7C,MAAI,CAACb,GAAQ,CAACS,GAAY,CAACE,EAAaV,EAEjCK,6JAKKP,EAAcC,CAAI,CAAC,IAAIQ,EAAeC,CAAQ,CAAC,IAAIC,EAAWC,CAAI,CAAC,6BAMjF,EAEA,SAAAG,EAAyBC,EAAoB,CAC3C,MAAMf,EAAOe,EAAM,SAAS,CAAC,EAAE,aAAe,GACxCN,EAAWM,EAAM,SAAS,CAAC,EAAE,aAAe,GAC5CJ,EAAOI,EAAM,SAAS,CAAC,EAAE,aAAe,GAE9CC,EAAaD,CAAK,EAElBE,EAAOL,EAAqB,CAAE,KAAAZ,EAAM,SAAAS,EAAU,KAAAE,CAAM,CAAA,EAAGI,CAAK,CAC9D"} \ No newline at end of file diff --git a/src/blocks/article-header/article-header.ts b/src/blocks/article-header/article-header.ts index 50a00bd..f3e57dc 100644 --- a/src/blocks/article-header/article-header.ts +++ b/src/blocks/article-header/article-header.ts @@ -14,9 +14,14 @@ interface ArticleHeaderTemplateArgs { const renderTopline = (date?: string) => { if (!date) return nothing; let dateIsoString: string | undefined, formattedDate: string; + const options: Intl.DateTimeFormatOptions = { + year: "numeric", + month: "2-digit", + day: "2-digit", + }; try { dateIsoString = new Date(date).toISOString(); - formattedDate = new Date(date).toLocaleDateString(); + formattedDate = new Date(date).toLocaleDateString("de-DE", options); } catch (error) { DebuggerService.warn("Could not parse date", date); dateIsoString = undefined; From bdc5718ebb8676837bfc275d2e6fbb59170c6791 Mon Sep 17 00:00:00 2001 From: Samuele Calamita Date: Fri, 5 Apr 2024 10:27:56 +0200 Subject: [PATCH 04/26] added article template styles --- dist/main/main.js | 4 +-- dist/main/main.js.map | 2 +- dist/quicklinks/quicklinks.js | 2 +- dist/quicklinks/quicklinks.js.map | 2 +- src/blocks/quicklinks/quicklinks.ts | 50 +++++++++++++++------------- src/services/main.service.ts | 18 ++++++++-- types/src/services/main.service.d.ts | 2 ++ 7 files changed, 49 insertions(+), 31 deletions(-) diff --git a/dist/main/main.js b/dist/main/main.js index 6e77094..b5de654 100644 --- a/dist/main/main.js +++ b/dist/main/main.js @@ -1,8 +1,8 @@ -import{s as C,x as r,T as P,j as y}from"../__chunks__/lit-element.XkUWx5ik.js";import{n as B,t as x}from"../__chunks__/property.0daVBkvz.js";import{o as g}from"../__chunks__/unsafe-html.tmuruS4o.js";import{f as E}from"../__chunks__/fetch.service.FjW5hVu3.js";import{r as d}from"../__chunks__/dva-e-icon.template.tppk8KWP.js";import"../__chunks__/dva-e-icon.JvN5hF7V.js";import"../__chunks__/dva-e-lazy-image.UCrOhMiV.js";import"../__chunks__/dvag-m-c11-accordion.rKKpSxDv.js";import{_ as T}from"../__chunks__/preload-helper.hlDPvxQM.js";import{r as k}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/component.module.D5fmAfIh.js";import"../__chunks__/index.module.BEmWgxQc.js";import"../__chunks__/LazyConnectService.yBR27czX.js";import"../__chunks__/eventTypes.voneREpA.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/mediaQueries.0eOxrCUs.js";import"../__chunks__/getSrcset.ehtWqR_R.js";import"../__chunks__/if-defined.JfW-uEqn.js";/** +import{s as x,x as r,T,j as y}from"../__chunks__/lit-element.XkUWx5ik.js";import{n as E,t as A}from"../__chunks__/property.0daVBkvz.js";import{o as u}from"../__chunks__/unsafe-html.tmuruS4o.js";import{f as q}from"../__chunks__/fetch.service.FjW5hVu3.js";import{r as d}from"../__chunks__/dva-e-icon.template.tppk8KWP.js";import"../__chunks__/dva-e-icon.JvN5hF7V.js";import"../__chunks__/dva-e-lazy-image.UCrOhMiV.js";import"../__chunks__/dvag-m-c11-accordion.rKKpSxDv.js";import{_ as z}from"../__chunks__/preload-helper.hlDPvxQM.js";import{r as _}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/component.module.D5fmAfIh.js";import"../__chunks__/index.module.BEmWgxQc.js";import"../__chunks__/LazyConnectService.yBR27czX.js";import"../__chunks__/eventTypes.voneREpA.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/mediaQueries.0eOxrCUs.js";import"../__chunks__/getSrcset.ehtWqR_R.js";import"../__chunks__/if-defined.JfW-uEqn.js";/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */function q(s){return B({...s,state:!0,attribute:!1})}function A({input:s,specifier:e,htmlTag:a}){return s.split(e).map((t,n)=>n%2===1?`<${a}>${t}`:t).join("")}var z=Object.defineProperty,D=Object.getOwnPropertyDescriptor,S=(s,e,a,t)=>{for(var n=t>1?void 0:t?D(e,a):e,i=s.length-1,o;i>=0;i--)(o=s[i])&&(n=(t?o(e,a,n):o(n))||n);return t&&n&&z(e,a,n),n};let f=class extends C{createRenderRoot(){return this}async firstUpdated(s){await this.fetchHeaderData()}async fetchHeaderData(){try{const s=await E.fetchJson("header.json",{cacheOptions:{cacheType:"runtime"}});this.headerData={leftCol:s.leftCol.data[0],rightCol:s.rightCol.data}}catch(s){console.error("HeaderComponent: ",s)}}render(){if(!this.headerData)return;const{leftCol:s,rightCol:e}=this.headerData,a=A({input:s.logoText,htmlTag:"strong",specifier:":::"}),t=g(a);return r``}};S([q()],f.prototype,"headerData",2);f=S([x("header-component")],f);function p(s){return s.toLowerCase().replace(/[^0-9a-z]/gi,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}class M{readBlockConfig(e){const a={};return e.querySelectorAll(":scope > div").forEach(t=>{if(t.children){const n=[...t.children];if(n[1]){const i=n[1],o=p(n[0].textContent??"");let c="";if(i.querySelector("a")){const l=[...i.querySelectorAll("a")];l.length===1?c=l[0].href:c=l.map(v=>v.href)}else if(i.querySelector("img")){const l=[...i.querySelectorAll("img")];l.length===1?c=l[0].src:c=l.map(v=>v.src)}else if(i.querySelector("p")){const l=[...i.querySelectorAll("p")];l.length===1?c=l[0].textContent:c=l.map(v=>v.textContent)}else c=t.children[1].textContent;a[o]=c}}}),a}decorateBlocks(e){e.querySelectorAll("div.section > div > div").forEach(this.decorateBlock)}decorateBlock(e){const a=e.classList[0];if(a){e.classList.add("block"),e.dataset.blockName=a;const t=e.parentElement;t==null||t.classList.add(`${a}-wrapper`);const n=e.closest(".section");n&&n.classList.add(`${a}-container`)}}}function I(s){return p(s).replace(/-([a-z])/g,e=>e[1].toUpperCase())}class F{constructor(e){this.blockService=e}init(e){this.transformSection(e)}transformSection(e){e.querySelectorAll(":scope > div").forEach(a=>{this.adjustMarkup(a),this.processSectionMetaData(a)})}processSectionMetaData(e){const a=e.querySelector("div.section-metadata");if(a){const t=this.blockService.readBlockConfig(a);Object.keys(t).forEach(n=>{n==="style"?t.style.split(",").filter(o=>o).map(o=>p(o.trim())).forEach(o=>e.classList.add(o)):e.dataset[I(n)]=t[n]}),a.parentElement&&a.parentElement.remove()}}adjustMarkup(e){const a=[];let t=!1;[...e.children].forEach(n=>{if(n.tagName==="DIV"||!t){const i=document.createElement("div");a.push(i),t=n.tagName!=="DIV",t&&i.classList.add("default-content-wrapper")}a[a.length-1].append(n)}),a.forEach(n=>e.append(n)),this.decorateImages(),e.classList.add("section"),e.dataset.sectionStatus="initialized",e.style.display="none"}decorateImages(){document.querySelectorAll(".default-content-wrapper picture").forEach(a=>{const t=a.parentElement;t&&t.classList.add("image","main")})}}const j=()=>r`
`,N=s=>s.label===void 0?"":r`${s.label}`,U=s=>s.iconID===void 0?"":r``,u=s=>s.shouldRender===!1?"":r`${N(s)} ${U(s)}`,H=()=>r``,R=[{headline:{label:"Unternehmen",link:"#"},items:[{label:"Über uns",link:"#"},{label:"Geschäftsleitung",link:"#"},{label:"Markenbotschafter",link:"#"},{label:"Struktur & Geschichte",link:"#"},{label:"Unternehmensbericht",link:"#"},{label:"Presseservice",link:"#"},{label:"Standorte",link:"#"},{label:"Gezielte und nachhaltige Hilfe",link:"#"}]},{headline:{label:"Beratung",link:"#"},items:[{label:"Unser Beratungsmodell",link:"#"},{label:"Leistungen für Privatkunden",link:"#"},{label:"Leistungen für Firmenkunden",link:"#"},{label:"Finanztipps",link:"#"},{label:"Produktpartner",link:"#"},{label:"Ansprechpartner finden",link:"#"},{label:"Nachhaltigkeit (EGS)",link:"#"}]},{headline:{label:"Erfahrungen & Bewertungen",link:"#"},items:[{label:"Kundenbewertungen",link:"#"},{label:"Zertifikate & Auszeichnungen",link:"#"}]},{headline:{label:"Karriere",link:"#"},items:[{label:"Karriere als selbstständiger Finanzcoach",link:"#"},{label:"Teamblog",link:"#"},{label:"Karriere in der Unternehmenszentrale",link:"#"}]}],O=[{icon:"dva-icon-instagram-24px"},{icon:"dva-icon-facebook-24px"},{icon:"dva-icon-tiktok-24px"},{icon:"dva-icon-linkedin-24px"},{icon:"dva-icon-xing-24px"},{icon:"dva-icon-youtube-24px"},{icon:"dva-icon-twitter-24px"}],$={navigationSections:R,socialLinks:O},V=()=>r``,G=()=>r`${$.navigationSections.map(s=>r`
`)}
`,K=(s=!1)=>r`
${G()}
${H()}
${V()}
`;function b(s,e=document){const a=s&&s.includes(":")?"property":"name",n=[...e.head.querySelectorAll(`meta[${a}="${s}"]`)].map(i=>i.content).join(", ");return n.length?n:""}const W=()=>b("breadcrumb")!=="true"?P:r`
`,L=()=>{const s=document.querySelector("#main");return s?window.location.href==="about:srcdoc"&&s.classList.contains("sidekick-library"):!1},_=(s,e)=>{e.split(",").forEach(a=>{s.classList.add(p(a.trim()))})},J={mainTsPath:"src/main.ts",mainScssPath:"src/styles/index.scss",iconsDirPath:"./public/icons",iconsTypesPath:"./src/icons.types.ts",fontsScssPath:"src/styles/fonts.scss",lazyStylesScssPath:"src/styles/lazy-styles.scss",sidekickLibraryStylesScssPath:"src/styles/sidekick-library-styles.scss"};function w(){return L()?window.parent.location:window.location}const h=class h{};h.unloaded="unloaded",h.loading="loading",h.loaded="loaded",h.error="error";let m=h;class Z{constructor(e,a){this.sectionService=e,this.blockService=a,this.lcpBlocks=["article-stage","article-header","article-overview","vb-stage"],this.init=async()=>{this.setup(),await this.loadEager(),await this.loadLazy()},this.loadEager=async()=>{document.documentElement.lang="en",this.decorateTemplateAndTheme();const t=document.querySelector("main");if(t){this.sectionService.init(t),this.blockService.decorateBlocks(t),this.decorateDefaultContent(t),this.renderLayout(t),setTimeout(()=>{document.body.classList.add("show")},100),await this.waitForLCP();try{(window.innerWidth>=900||sessionStorage.getItem("fonts-loaded"))&&await this.loadFonts()}catch{}}},this.loadLazy=async()=>{const{lazyStylesScssPath:t,sidekickLibraryStylesScssPath:n,fontsScssPath:i}=J;try{t&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`),n&&L()&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`),i&&await this.loadFonts(),await this.loadCSS(`${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,`${window.hlx.codeBasePath}/dist/styles/styles.css`),await this.loadBlocks()}catch(o){console.error("Load lazy error: ",o);try{await this.loadBlocks()}catch(c){console.error("Load blocks error: ",c)}}},this.loadBlocks=async()=>{const n=[...document.querySelectorAll(".section")].map(i=>this.loadBlock(i));await Promise.all(n)}}setup(){window.hlx=window.hlx||{},window.hlx.RUM_MASK_URL="full",window.hlx.codeBasePath="",window.hlx.lighthouse=new URLSearchParams(w().search).get("lighthouse")==="on";const e=document.querySelector('script[src$="/scripts/scripts.js"]');if(e)try{[window.hlx.codeBasePath]=new URL(e.src).pathname.split("/scripts/scripts.js")}catch(a){console.log(a)}}decorateDefaultContent(e){const a=e.querySelectorAll(".default-content-wrapper");a&&a.forEach(t=>{const n=r`
${g(t.innerHTML)}
`;t.innerHTML="",y(n,t)})}bodyTemplate(e){return r`
${j()} ${W()} ${g(e)} ${K()}
`}renderLayout(e){const a=e.innerHTML,t=document.querySelector("header"),n=document.querySelector("footer"),i=e,o=document.querySelector("body");o&&(y(this.bodyTemplate(a),o),n==null||n.remove(),t==null||t.remove(),i.remove())}decorateTemplateAndTheme(){const e=b("template");e&&_(document.body,e);const a=b("theme");a&&_(document.body,a)}collectBlocks(e){const a=[];return e.querySelectorAll("[data-block-name]").forEach(n=>{a.push({name:n.dataset.blockName,element:n})}),a}async loadBlockModules(e){if((e.element.dataset.blockStatus??m.unloaded)===m.unloaded){e.element.dataset.blockStatus=m.loading;try{const t=await T(()=>import(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.js`),__vite__mapDeps([]));t.default&&await t.default(e.element),e.element.dataset.blockStatus=m.loaded}catch(t){e.element.dataset.blockStatus=m.error,console.error("An error occurred during module import:",t)}}}async loadBlockStyles(e){try{await this.loadCSS(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.css`)}catch{console.error(`problem with block '${e.name}' loading styles`)}}showSection(e){e.style.removeProperty("display")}async loadFonts(){await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);try{w().hostname.includes("localhost")||sessionStorage.setItem("fonts-loaded","true")}catch{}}async loadCSS(e,a){return new Promise((t,n)=>{if(document.querySelector(`head > link[href="${e}"]`))t(!0);else{const i=document.createElement("link");if(i.rel="stylesheet",i.href=e,i.onload=t,i.onerror=n,a!==void 0){const o=document.querySelector(`head > link[href="${a}"]`);o&&o.before(i)}else document.head.append(i)}})}async waitForLCP(){const e=document.querySelector(".section");if(e){const n=this.collectBlocks(e).map(async i=>{this.lcpBlocks.includes(i.name)&&await Promise.all([this.loadBlockModules(i),this.loadBlockStyles(i)])});await Promise.all(n),this.showSection(e)}document.body.style.display=null;const a=document.querySelector("main img");await new Promise(t=>{a&&!a.complete?(a.setAttribute("loading","eager"),a.setAttribute("fetchpriority","high"),a.addEventListener("load",()=>t()),a.addEventListener("error",()=>t())):t()})}async loadBlock(e){const a=this.collectBlocks(e);if(!a.length){this.showSection(e);return}const t=[];for(const n of a)t.push(this.loadBlockModules(n),this.loadBlockStyles(n));await Promise.all(t),this.showSection(e)}}(async function(){const s=new M,e=new F(s);await new Z(e,s).init()})(); + */function D(s){return E({...s,state:!0,attribute:!1})}function M({input:s,specifier:e,htmlTag:a}){return s.split(e).map((t,i)=>i%2===1?`<${a}>${t}`:t).join("")}var I=Object.defineProperty,F=Object.getOwnPropertyDescriptor,B=(s,e,a,t)=>{for(var i=t>1?void 0:t?F(e,a):e,n=s.length-1,o;n>=0;n--)(o=s[n])&&(i=(t?o(e,a,i):o(i))||i);return t&&i&&I(e,a,i),i};let b=class extends x{createRenderRoot(){return this}async firstUpdated(s){await this.fetchHeaderData()}async fetchHeaderData(){try{const s=await q.fetchJson("header.json",{cacheOptions:{cacheType:"runtime"}});this.headerData={leftCol:s.leftCol.data[0],rightCol:s.rightCol.data}}catch(s){console.error("HeaderComponent: ",s)}}render(){if(!this.headerData)return;const{leftCol:s,rightCol:e}=this.headerData,a=M({input:s.logoText,htmlTag:"strong",specifier:":::"}),t=u(a);return r``}};B([D()],b.prototype,"headerData",2);b=B([A("header-component")],b);function f(s){return s.toLowerCase().replace(/[^0-9a-z]/gi,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}class j{readBlockConfig(e){const a={};return e.querySelectorAll(":scope > div").forEach(t=>{if(t.children){const i=[...t.children];if(i[1]){const n=i[1],o=f(i[0].textContent??"");let c="";if(n.querySelector("a")){const l=[...n.querySelectorAll("a")];l.length===1?c=l[0].href:c=l.map(v=>v.href)}else if(n.querySelector("img")){const l=[...n.querySelectorAll("img")];l.length===1?c=l[0].src:c=l.map(v=>v.src)}else if(n.querySelector("p")){const l=[...n.querySelectorAll("p")];l.length===1?c=l[0].textContent:c=l.map(v=>v.textContent)}else c=t.children[1].textContent;a[o]=c}}}),a}decorateBlocks(e){e.querySelectorAll("div.section > div > div").forEach(this.decorateBlock)}decorateBlock(e){const a=e.classList[0];if(a){e.classList.add("block"),e.dataset.blockName=a;const t=e.parentElement;t==null||t.classList.add(`${a}-wrapper`);const i=e.closest(".section");i&&i.classList.add(`${a}-container`)}}}function N(s){return f(s).replace(/-([a-z])/g,e=>e[1].toUpperCase())}class U{constructor(e){this.blockService=e}init(e){this.transformSection(e)}transformSection(e){e.querySelectorAll(":scope > div").forEach(a=>{this.adjustMarkup(a),this.processSectionMetaData(a)})}processSectionMetaData(e){const a=e.querySelector("div.section-metadata");if(a){const t=this.blockService.readBlockConfig(a);Object.keys(t).forEach(i=>{i==="style"?t.style.split(",").filter(o=>o).map(o=>f(o.trim())).forEach(o=>e.classList.add(o)):e.dataset[N(i)]=t[i]}),a.parentElement&&a.parentElement.remove()}}adjustMarkup(e){const a=[];let t=!1;[...e.children].forEach(i=>{if(i.tagName==="DIV"||!t){const n=document.createElement("div");a.push(n),t=i.tagName!=="DIV",t&&n.classList.add("default-content-wrapper")}a[a.length-1].append(i)}),a.forEach(i=>e.append(i)),this.decorateImages(),e.classList.add("section"),e.dataset.sectionStatus="initialized",e.style.display="none"}decorateImages(){document.querySelectorAll(".default-content-wrapper picture").forEach(a=>{const t=a.parentElement;t&&t.classList.add("image","main")})}}const k=()=>r`
`,H=s=>s.label===void 0?"":r`${s.label}`,R=s=>s.iconID===void 0?"":r``,p=s=>s.shouldRender===!1?"":r`${H(s)} ${R(s)}`,O=()=>r``,V=[{headline:{label:"Unternehmen",link:"#"},items:[{label:"Über uns",link:"#"},{label:"Geschäftsleitung",link:"#"},{label:"Markenbotschafter",link:"#"},{label:"Struktur & Geschichte",link:"#"},{label:"Unternehmensbericht",link:"#"},{label:"Presseservice",link:"#"},{label:"Standorte",link:"#"},{label:"Gezielte und nachhaltige Hilfe",link:"#"}]},{headline:{label:"Beratung",link:"#"},items:[{label:"Unser Beratungsmodell",link:"#"},{label:"Leistungen für Privatkunden",link:"#"},{label:"Leistungen für Firmenkunden",link:"#"},{label:"Finanztipps",link:"#"},{label:"Produktpartner",link:"#"},{label:"Ansprechpartner finden",link:"#"},{label:"Nachhaltigkeit (EGS)",link:"#"}]},{headline:{label:"Erfahrungen & Bewertungen",link:"#"},items:[{label:"Kundenbewertungen",link:"#"},{label:"Zertifikate & Auszeichnungen",link:"#"}]},{headline:{label:"Karriere",link:"#"},items:[{label:"Karriere als selbstständiger Finanzcoach",link:"#"},{label:"Teamblog",link:"#"},{label:"Karriere in der Unternehmenszentrale",link:"#"}]}],G=[{icon:"dva-icon-instagram-24px"},{icon:"dva-icon-facebook-24px"},{icon:"dva-icon-tiktok-24px"},{icon:"dva-icon-linkedin-24px"},{icon:"dva-icon-xing-24px"},{icon:"dva-icon-youtube-24px"},{icon:"dva-icon-twitter-24px"}],C={navigationSections:V,socialLinks:G},K=()=>r``,W=()=>r`${C.navigationSections.map(s=>r`
`)}
`,w=(s=!1)=>r`
${W()}
${O()}
${K()}
`;function g(s,e=document){const a=s&&s.includes(":")?"property":"name",i=[...e.head.querySelectorAll(`meta[${a}="${s}"]`)].map(n=>n.content).join(", ");return i.length?i:""}const S=()=>g("breadcrumb")!=="true"?T:r`
`,P=()=>{const s=document.querySelector("#main");return s?window.location.href==="about:srcdoc"&&s.classList.contains("sidekick-library"):!1},$=(s,e)=>{e.split(",").forEach(a=>{s.classList.add(f(a.trim()))})},J={mainTsPath:"src/main.ts",mainScssPath:"src/styles/index.scss",iconsDirPath:"./public/icons",iconsTypesPath:"./src/icons.types.ts",fontsScssPath:"src/styles/fonts.scss",lazyStylesScssPath:"src/styles/lazy-styles.scss",sidekickLibraryStylesScssPath:"src/styles/sidekick-library-styles.scss"};function L(){return P()?window.parent.location:window.location}const h=class h{};h.unloaded="unloaded",h.loading="loading",h.loaded="loaded",h.error="error";let m=h;class Z{constructor(e,a){this.sectionService=e,this.blockService=a,this.lcpBlocks=["article-stage","article-header","article-overview","vb-stage"],this.init=async()=>{this.setup(),await this.loadEager(),await this.loadLazy()},this.loadEager=async()=>{document.documentElement.lang="en",this.decorateTemplateAndTheme();const t=document.querySelector("main");if(t){this.sectionService.init(t),this.blockService.decorateBlocks(t),this.decorateDefaultContent(t),this.renderLayout(t),setTimeout(()=>{document.body.classList.add("show")},100),await this.waitForLCP();try{(window.innerWidth>=900||sessionStorage.getItem("fonts-loaded"))&&await this.loadFonts()}catch{}}},this.loadLazy=async()=>{const{lazyStylesScssPath:t,sidekickLibraryStylesScssPath:i,fontsScssPath:n}=J;try{t&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`),i&&P()&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`),n&&await this.loadFonts(),await this.loadCSS(`${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,`${window.hlx.codeBasePath}/dist/styles/styles.css`),await this.loadBlocks()}catch(o){console.error("Load lazy error: ",o);try{await this.loadBlocks()}catch(c){console.error("Load blocks error: ",c)}}},this.loadBlocks=async()=>{const i=[...document.querySelectorAll(".section")].map(n=>this.loadBlock(n));await Promise.all(i)}}setup(){window.hlx=window.hlx||{},window.hlx.RUM_MASK_URL="full",window.hlx.codeBasePath="",window.hlx.lighthouse=new URLSearchParams(L().search).get("lighthouse")==="on";const e=document.querySelector('script[src$="/scripts/scripts.js"]');if(e)try{[window.hlx.codeBasePath]=new URL(e.src).pathname.split("/scripts/scripts.js")}catch(a){console.log(a)}}decorateDefaultContent(e){const a=e.querySelectorAll(".default-content-wrapper");a&&a.forEach(t=>{const i=r`
${u(t.innerHTML)}
`;t.innerHTML="",y(i,t)})}articleBodyTemplate(e){return r`
${k()} ${S()} ${u(e)} ${w()}
`}bodyTemplate(e){return r`
${k()} ${S()} ${u(e)} ${w()}
`}renderBodyTemplate(e){return g("template")==="article"&&this.articleBodyTemplate(e),this.bodyTemplate(e)}renderLayout(e){const a=e.innerHTML,t=document.querySelector("header"),i=document.querySelector("footer"),n=e,o=document.querySelector("body");o&&(y(this.renderBodyTemplate(a),o),i==null||i.remove(),t==null||t.remove(),n.remove())}decorateTemplateAndTheme(){const e=g("template");e&&$(document.body,e);const a=g("theme");a&&$(document.body,a)}collectBlocks(e){const a=[];return e.querySelectorAll("[data-block-name]").forEach(i=>{a.push({name:i.dataset.blockName,element:i})}),a}async loadBlockModules(e){if((e.element.dataset.blockStatus??m.unloaded)===m.unloaded){e.element.dataset.blockStatus=m.loading;try{const t=await z(()=>import(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.js`),__vite__mapDeps([]));t.default&&await t.default(e.element),e.element.dataset.blockStatus=m.loaded}catch(t){e.element.dataset.blockStatus=m.error,console.error("An error occurred during module import:",t)}}}async loadBlockStyles(e){try{await this.loadCSS(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.css`)}catch{console.error(`problem with block '${e.name}' loading styles`)}}showSection(e){e.style.removeProperty("display")}async loadFonts(){await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);try{L().hostname.includes("localhost")||sessionStorage.setItem("fonts-loaded","true")}catch{}}async loadCSS(e,a){return new Promise((t,i)=>{if(document.querySelector(`head > link[href="${e}"]`))t(!0);else{const n=document.createElement("link");if(n.rel="stylesheet",n.href=e,n.onload=t,n.onerror=i,a!==void 0){const o=document.querySelector(`head > link[href="${a}"]`);o&&o.before(n)}else document.head.append(n)}})}async waitForLCP(){const e=document.querySelector(".section");if(e){const i=this.collectBlocks(e).map(async n=>{this.lcpBlocks.includes(n.name)&&await Promise.all([this.loadBlockModules(n),this.loadBlockStyles(n)])});await Promise.all(i),this.showSection(e)}document.body.style.display=null;const a=document.querySelector("main img");await new Promise(t=>{a&&!a.complete?(a.setAttribute("loading","eager"),a.setAttribute("fetchpriority","high"),a.addEventListener("load",()=>t()),a.addEventListener("error",()=>t())):t()})}async loadBlock(e){const a=this.collectBlocks(e);if(!a.length){this.showSection(e);return}const t=[];for(const i of a)t.push(this.loadBlockModules(i),this.loadBlockStyles(i));await Promise.all(t),this.showSection(e)}}(async function(){const s=new j,e=new U(s);await new Z(e,s).init()})(); function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { __vite__mapDeps.viteFileDeps = [] diff --git a/dist/main/main.js.map b/dist/main/main.js.map index 7454964..cdad4b2 100644 --- a/dist/main/main.js.map +++ b/dist/main/main.js.map @@ -1 +1 @@ -{"version":3,"mappings":"09BACA;AAAA;AAAA;AAAA;AAAA,GAIG,SAASA,EAAEA,EAAE,CAAC,OAAOC,EAAE,CAAC,GAAGD,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC,CAAC,CCqChD,SAASE,EAAmB,CAAE,MAAAC,EAAO,UAAAC,EAAW,QAAAC,GAAuC,CACrF,OAAAF,EACJ,MAAMC,CAAS,EACf,IAAI,CAACE,EAAcC,IAA2BA,EAAQ,IAAM,EAAI,IAAIF,CAAO,IAAIC,CAAI,KAAKD,CAAO,IAAMC,CAAK,EAC1G,KAAK,EAAE,CACZ,iMCRa,IAAAE,EAAN,cAA8BC,CAAW,CAIpC,kBAAmD,CACpD,WACT,CAEA,MAAgB,aAAaC,EAAuE,CAClG,MAAM,KAAK,iBACb,CAEA,MAAM,iBAAkB,CAClB,IACF,MAAMC,EAAW,MAAMC,EAAa,UAA8B,cAAe,CAC/E,aAAc,CAAE,UAAW,SAAU,EACtC,EACI,gBAAa,CAAE,QAASD,EAAS,QAAQ,KAAK,CAAC,EAAG,SAAUA,EAAS,SAAS,IAAK,QACjFE,EAAO,CACN,cAAM,oBAAqBA,CAAK,CAC1C,CACF,CAEA,QAAS,CACP,GAAI,CAAC,KAAK,WAAY,OACtB,KAAM,CAAE,QAAAC,EAAS,SAAAC,GAAa,KAAK,WAC7BC,EAAWd,EAAmB,CAAE,MAAOY,EAAQ,SAAU,QAAS,SAAU,UAAW,KAAO,GAC9FG,EAAeC,EAAWF,CAAQ,EACjC,OAAAG,aACML,EAAQ,QAAQ,kBAAkBG,CAAY,yBAErDF,EAAS,IAAYK,GACdD,iBAEQC,EAAK,UAAU,qCAAqCA,EAAK,WAAW,KAC3EC,EAAWD,EAAK,WAAY,aAAa,CAAC,wBACtBA,EAAK,WAAW,kBAI7C,CAAC,OAGR,CACF,EA1CEE,EAAA,CADCC,EAAM,GADIf,EAEX,0BAFWA,EAANc,EAAA,CADNE,EAAc,kBAAkB,GACpBhB,CAAA,EC3BN,SAASiB,EAAYC,EAAsB,CAChD,OAAOA,EACJ,cACA,QAAQ,cAAe,GAAG,EAC1B,QAAQ,MAAO,GAAG,EAClB,QAAQ,SAAU,EAAE,CACzB,CChBO,MAAMC,CAAa,CAMxB,gBAAgBC,EAAqC,CACnD,MAAMC,EAA2B,GACjC,OAAAD,EAAM,iBAAiB,cAAc,EAAE,QAAeE,GAAA,CACpD,GAAIA,EAAI,SAAU,CAChB,MAAMC,EAAO,CAAC,GAAGD,EAAI,QAAQ,EACzB,GAAAC,EAAK,CAAC,EAAG,CACL,MAAAC,EAAMD,EAAK,CAAC,EACZL,EAAOD,EAAYM,EAAK,CAAC,EAAE,aAAe,EAAE,EAClD,IAAIE,EAAa,GACb,GAAAD,EAAI,cAAc,GAAG,EAAG,CAC1B,MAAME,EAAK,CAAC,GAAGF,EAAI,iBAAiB,GAAG,CAAC,EACpCE,EAAG,SAAW,EACRD,EAAAC,EAAG,CAAC,EAAE,KAEdD,EAAQC,EAAG,IAASC,KAAE,IAAI,CAEnB,SAAAH,EAAI,cAAc,KAAK,EAAG,CACnC,MAAMI,EAAO,CAAC,GAAGJ,EAAI,iBAAiB,KAAK,CAAC,EACxCI,EAAK,SAAW,EACVH,EAAAG,EAAK,CAAC,EAAE,IAEhBH,EAAQG,EAAK,IAAWC,KAAI,GAAG,CAExB,SAAAL,EAAI,cAAc,GAAG,EAAG,CACjC,MAAMM,EAAK,CAAC,GAAGN,EAAI,iBAAiB,GAAG,CAAC,EACpCM,EAAG,SAAW,EACRL,EAAAK,EAAG,CAAC,EAAE,YAEdL,EAAQK,EAAG,IAASC,KAAE,WAAW,CAErC,MAAeN,EAAAH,EAAI,SAAS,CAAC,EAAE,YAC/BD,EAAOH,CAAI,EAAIO,CACjB,CACF,EACD,EACMJ,CACT,CAMA,eAAeW,EAAmB,CAChCA,EAAK,iBAAiC,yBAAyB,EAAE,QAAQ,KAAK,aAAa,CAC7F,CAMQ,cAAcZ,EAAoB,CAClC,MAAAa,EAAiBb,EAAM,UAAU,CAAC,EACxC,GAAIa,EAAgB,CACZb,EAAA,UAAU,IAAI,OAAO,EAC3BA,EAAM,QAAQ,UAAYa,EAC1B,MAAMC,EAAed,EAAM,cAC3Bc,GAAA,MAAAA,EAAc,UAAU,IAAI,GAAGD,CAAc,YACvC,MAAAE,EAAUf,EAAM,QAAQ,UAAU,EACpCe,GAASA,EAAQ,UAAU,IAAI,GAAGF,CAAc,YAAY,CAClE,CACF,CACF,CCvDO,SAASG,EAAYlB,EAAsB,CACzC,OAAAD,EAAYC,CAAI,EAAE,QAAQ,YAAcmB,GAAcA,EAAE,CAAC,EAAE,YAAa,EACjF,CCZO,MAAMC,CAAe,CAC1B,YAAoBC,EAA4B,CAA5B,kBAAAA,CAA6B,CAEjD,KAAKC,EAAwB,CAC3B,KAAK,iBAAiBA,CAAS,CACjC,CAMQ,iBAAiBR,EAAmB,CAC1CA,EAAK,iBAAiC,cAAc,EAAE,QAAmBG,GAAA,CACvE,KAAK,aAAaA,CAAO,EACzB,KAAK,uBAAuBA,CAAO,EACpC,CACH,CAEQ,uBAAuBA,EAAsB,CAE7C,MAAAM,EAAcN,EAAQ,cAAc,sBAAsB,EAChE,GAAIM,EAAa,CACf,MAAMC,EAAO,KAAK,aAAa,gBAAgBD,CAAW,EAC1D,OAAO,KAAKC,CAAI,EAAE,QAAeC,GAAA,CAC3BA,IAAQ,QACKD,EAAK,MACjB,MAAM,GAAG,EACT,OAAQE,GAAkBA,CAAK,EAC/B,IAAKA,GAAkB3B,EAAY2B,EAAM,KAAM,EAAC,EAC5C,QAASA,GAAkBT,EAAQ,UAAU,IAAIS,CAAK,CAAC,EAE9DT,EAAQ,QAAQC,EAAYO,CAAG,CAAC,EAAID,EAAKC,CAAG,CAC9C,CACD,EACGF,EAAY,eAAeA,EAAY,cAAc,QAC3D,CACF,CAEQ,aAAaN,EAAyB,CAC5C,MAAMU,EAA6B,GACnC,IAAIC,EAAiB,GACrB,CAAC,GAAGX,EAAQ,QAAQ,EAAE,QAAaY,GAAA,CACjC,GAAIA,EAAE,UAAY,OAAS,CAACD,EAAgB,CACpC,MAAAE,EAAU,SAAS,cAAc,KAAK,EAC5CH,EAAS,KAAKG,CAAO,EACrBF,EAAiBC,EAAE,UAAY,MAE3BD,GACME,EAAA,UAAU,IAAI,yBAAyB,CAEnD,CACAH,EAASA,EAAS,OAAS,CAAC,EAAE,OAAOE,CAAC,EACvC,EAEDF,EAAS,QAAQG,GAAWb,EAAQ,OAAOa,CAAO,CAAC,EACnD,KAAK,eAAe,EACZb,EAAA,UAAU,IAAI,SAAS,EAC/BA,EAAQ,QAAQ,cAAgB,cAChCA,EAAQ,MAAM,QAAU,MAC1B,CACA,gBAAiB,CACC,SAAS,iBAAiB,kCAAkC,EACpE,QAAgBvB,GAAA,CACtB,MAAMqC,EAAgBrC,EAAK,cACvBqC,GACYA,EAAA,UAAU,IAAI,QAAS,MAAM,CAC7C,CACD,CACH,CACF,CCtEO,MAAMC,EAAiB,IACrBvC,qPAIqEE,EAAW,wBAAwB,CAAC,2HAKpGA,EAAW,8BAA8B,CAAC,8gBA6B5CA,EAAW,sBAAsB,CAAC,oJC/BxCsC,EAAeC,GACfA,EAAK,QAAU,OAAkB,GAE9BzC,oCAAwCyC,EAAK,KAAK,UAGrDvC,EAAcuC,GACdA,EAAK,SAAW,OAAkB,GAE/BzC,4CAAgDyC,EAAK,MAAM,kBAGvDC,EAAmBD,GAC1BA,EAAK,eAAiB,GAAc,GACjCzC,wBAEgByC,EAAK,WAAa,IAAIA,EAAK,UAAU,GAAK,EAAE,WACvDA,EAAK,MAAM,aACTA,EAAK,YAAc,GAAO,QAAU,QAAQ,KAEpDD,EAAYC,CAAI,CAAC,IAAIvC,EAAWuC,CAAI,CAAC,OC5BhCE,EAA6B,IACjC3C,+IAIC4C,EAAgB,CAChB,IAAK,qFACL,WAAY,iCACb,CAAC,oBAGAA,EAAgB,CAChB,IAAK,sFACL,WAAY,iCACb,CAAC,ywCCXGC,EAAkC,IACtC7C,uIAID8C,EAAK,YAAY,IAAkBC,GAC5B/C,sLAMDE,EAAW6C,EAAW,KAAkB,oBAAoB,CAAC,MAGpE,CAAC,SCfKC,EAAiC,IACrChD,wGACH8C,EAAK,mBAAmB,IAAetB,GAChCxB,wGAEDE,EAAW,6BAA8B,mCAAmC,CAAC,qDAC3BsB,EAAQ,SAAS,KAAK,qJAKpEA,EAAQ,MAAM,IAAYvB,GACnBD,6CACH0C,EAAgB,CAAE,OAAQzC,EAAK,KAAM,MAAOA,EAAK,MAAO,CAAC,OAE9D,CAAC,yBAKX,CAAC,0BCnBOgD,EAAe,CAACC,EAAY,KAChClD,oCAE6BkD,EAAY,iCAAmC,EAAE,oFAG5CF,GAAgC,yFAIfL,EAA4B,0DAC5BE,EAAiC,sQAUzEH,EAAgB,CAAE,OAAQ,IAAK,MAAO,cAAe,WAAY,+BAAiC,EAAC,IACnGA,EAAgB,CAAE,OAAQ,IAAK,MAAO,YAAa,WAAY,+BAAgC,CAAC,CAAC,IACjGA,EAAgB,CAChB,OAAQ,IACR,MAAO,qBACP,WAAY,gCACb,CAAC,uICbJ,SAAAS,EAAYrC,EAAesC,EAAgB,SAAkB,CAC3E,MAAMC,EAA4BvC,GAASA,EAAM,SAAS,GAAG,EAAI,WAAa,OAGxEiB,EADH,CAAC,GAAGqB,EAAI,KAAK,iBAAiB,QAAQC,CAAI,KAAKvC,CAAK,IAAI,CAAC,EAC9B,IAAKwC,GAAiCA,EAAY,OAAO,EAAE,KAAK,IAAI,EAC3F,OAAAvB,EAAK,OAASA,EAAO,EAC9B,CCtBO,MAAMwB,EAAqC,IAC5CJ,EAAY,YAAY,IAAM,OAAeK,EAC1CxD,qVAUSE,EAAW,wBAAwB,CAAC,0LAMpCA,EAAW,wBAAwB,CAAC,qLAMpCA,EAAW,wBAAwB,CAAC,qCCxBzCuD,EAA0B,IAAe,CAC9C,MAAApC,EAAO,SAAS,cAAc,OAAO,EAC3C,OAAKA,EACE,OAAO,SAAS,OAAS,gBAAkBA,EAAK,UAAU,SAAS,kBAAkB,EAD1E,EAEpB,ECIaqC,EAAa,CAACC,EAAsBC,IAA0B,CACzEA,EAAQ,MAAM,GAAG,EAAE,QAASC,GAA2B,CACrDF,EAAQ,UAAU,IAAIrD,EAAYuD,EAAS,KAAM,EAAC,EACnD,CACH,ECPanD,EAAiB,CAC5B,WAAY,cACZ,aAAc,wBACd,aAAc,iBACd,eAAgB,uBAChB,cAAe,wBACf,mBAAoB,8BACpB,8BAA+B,yCACjC,ECLO,SAASoD,GAAwB,CACtC,OAAOL,EAAwB,EAAI,OAAO,OAAO,SAAW,OAAO,QACrE,CCQA,MAAMM,EAAN,MAAMA,CAAO,CAKb,EAJEA,EAAO,SAAW,WAClBA,EAAO,QAAU,UACjBA,EAAO,OAAS,SAChBA,EAAO,MAAQ,QAJjB,IAAMC,EAAND,EAOO,MAAME,CAAY,CAGvB,YAAoBC,EAAwCtC,EAA4B,CAApE,oBAAAsC,EAAwC,kBAAAtC,EAF5D,KAAQ,UAAY,CAAC,gBAAiB,iBAAkB,mBAAoB,UAAU,EAItF,UAAO,SAAY,CACjB,KAAK,MAAM,EACX,MAAM,KAAK,YACX,MAAM,KAAK,UAAS,EA2CtB,KAAQ,UAAY,SAAY,CAC9B,SAAS,gBAAgB,KAAO,KAChC,KAAK,yBAAyB,EACxB,MAAAP,EAAO,SAAS,cAAc,MAAM,EAC1C,GAAIA,EAAM,CACH,oBAAe,KAAKA,CAAI,EAExB,kBAAa,eAAeA,CAAI,EACrC,KAAK,uBAAuBA,CAAI,EAChC,KAAK,aAAaA,CAAI,EAEtB,WAAW,IAAM,CACN,cAAK,UAAU,IAAI,MAAM,GACjC,GAAG,EAEN,MAAM,KAAK,aAEP,KAEE,OAAO,YAAc,KAAO,eAAe,QAAQ,cAAc,IACnE,MAAM,KAAK,iBAEH,CAEZ,CACF,GA2BF,KAAQ,SAAW,SAAY,CAC7B,KAAM,CAAE,mBAAA8C,EAAoB,8BAAAC,EAA+B,cAAAC,CAAA,EAAkB3D,EACzE,IACEyD,GAAoB,MAAM,KAAK,QAAQ,GAAG,OAAO,IAAI,YAAY,iCAAiC,EAClGC,GAAiCX,KACnC,MAAM,KAAK,QAAQ,GAAG,OAAO,IAAI,YAAY,uDAAuD,EAElGY,GAAe,MAAM,KAAK,YAC9B,MAAM,KAAK,QACT,GAAG,OAAO,IAAI,YAAY,sCAC1B,GAAG,OAAO,IAAI,YAAY,2BAE5B,MAAM,KAAK,mBACJ3E,EAAO,CACN,cAAM,oBAAqBA,CAAK,EACpC,IACF,MAAM,KAAK,mBACJ4E,EAAK,CACJ,cAAM,sBAAuBA,CAAG,CAC1C,CACF,GAeF,KAAQ,WAAa,SAAY,CAE/B,MAAMC,EADW,CAAC,GAAG,SAAS,iBAA8B,UAAU,CAAC,EACrC,OAAe,KAAK,UAAU/C,CAAO,CAAC,EAElE,cAAQ,IAAI+C,CAAgB,EA3IqD,CAWjF,OAAQ,CACP,WAAM,OAAO,KAAO,GAC3B,OAAO,IAAI,aAAe,OAC1B,OAAO,IAAI,aAAe,GACnB,WAAI,WAAa,IAAI,gBAAgBT,IAAc,MAAM,EAAE,IAAI,YAAY,IAAM,KAElF,MAAAU,EAAW,SAAS,cAAc,oCAAoC,EAC5E,GAAIA,EACE,IACD,QAAO,IAAI,YAAY,EAAI,IAAI,IAAIA,EAAS,GAAG,EAAE,SAAS,MAAM,qBAAqB,QAC/E9E,EAAO,CAEd,QAAQ,IAAIA,CAAK,CACnB,CAEJ,CAEA,uBAAuB2B,EAAmB,CAClC,MAAAoD,EAAyBpD,EAAK,iBAAiB,0BAA0B,EAC1EoD,GACkBA,EAAA,QAASpC,GAAyB,CACvD,MAAMqC,EAAW1E,iKAKLD,EAAWsC,EAAQ,SAAS,CAAC,2BAMzCA,EAAQ,UAAY,GACpBsC,EAAOD,EAAUrC,CAAO,EACzB,CACH,CA8BQ,aAAauC,EAAkB,CAC9B,OAAA5E,8JAGCuC,EAAA,CAAgB,IAAIgB,EAAoC,KAAIxD,EAAW6E,CAAQ,CAAC,IAAI3B,EAAc,yBAI5G,CAEQ,aAAa5B,EAAmB,CACtC,MAAMuD,EAAWvD,EAAK,UAChBwD,EAAY,SAAS,cAAc,QAAQ,EAC3CC,EAAY,SAAS,cAAc,QAAQ,EAC3CC,EAAU1D,EACV2D,EAAO,SAAS,cAAc,MAAM,EACtCA,IACFL,EAAO,KAAK,aAAaC,CAAQ,EAAGI,CAAI,EACxCF,GAAA,MAAAA,EAAW,SACXD,GAAA,MAAAA,EAAW,SACXE,EAAQ,OAAO,EAEnB,CAyBQ,0BAA2B,CAC3B,MAAAL,EAAWvB,EAAY,UAAU,EACnCuB,GAAqBhB,EAAA,SAAS,KAAMgB,CAAQ,EAC1C,MAAAO,EAAQ9B,EAAY,OAAO,EAC7B8B,GAAkBvB,EAAA,SAAS,KAAMuB,CAAK,CAC5C,CAcQ,cAAczD,EAAsC,CAC1D,MAAM0D,EAA2B,GAGlB,OAFQ1D,EAAQ,iBAAiC,mBAAmB,EAEpE,QAASf,GAA0B,CAChDyE,EAAS,KAAK,CACZ,KAAMzE,EAAM,QAAQ,UACpB,QAASA,CAAA,CACV,EACF,EAEMyE,CACT,CAEA,MAAc,iBAAiBzE,EAAqB,CAG9C,IAFWA,EAAM,QAAQ,QAAQ,aAAeuD,EAAO,YAE5CA,EAAO,SAAU,CACxBvD,EAAA,QAAQ,QAAQ,YAAcuD,EAAO,QAEvC,IACF,MAAMmB,EAAc,MAAMC,EAAA,WAAO,GAAG,OAAO,IAAI,YAAY,SAAS3E,EAAM,IAAI,IAAIA,EAAM,IAAI,4BAExF0E,EAAY,SACR,MAAAA,EAAY,QAAQ1E,EAAM,OAAO,EAGnCA,EAAA,QAAQ,QAAQ,YAAcuD,EAAO,aACpCtE,EAAO,CACRe,EAAA,QAAQ,QAAQ,YAAcuD,EAAO,MACnC,cAAM,0CAA2CtE,CAAK,CAChE,CACF,CACF,CAEA,MAAM,gBAAgBe,EAAqB,CACrC,IACF,MAAM,KAAK,QAAQ,GAAG,OAAO,IAAI,YAAY,SAASA,EAAM,IAAI,IAAIA,EAAM,IAAI,MAAM,OACtE,CACd,QAAQ,MAAM,uBAAuBA,EAAM,IAAI,kBAAkB,CACnE,CACF,CAEQ,YAAYe,EAAsB,CAChCA,EAAA,MAAM,eAAe,SAAS,CACxC,CAEA,MAAc,WAAY,CACxB,MAAM,KAAK,QAAQ,GAAG,OAAO,IAAI,YAAY,uBAAuB,EAChE,IACGsC,EAAc,WAAS,SAAS,WAAW,GAAkB,uBAAQ,eAAgB,MAAM,OACtF,CAEZ,CACF,CAEA,MAAc,QAAQuB,EAAcC,EAAuB,CACzD,OAAO,IAAI,QAAQ,CAACC,EAASC,IAAW,CACtC,GAAK,SAAS,cAAc,qBAAqBH,CAAI,IAAI,EAavDE,EAAQ,EAAI,MAb8C,CACpD,MAAAE,EAAO,SAAS,cAAc,MAAM,EAK1C,GAJAA,EAAK,IAAM,aACXA,EAAK,KAAOJ,EACZI,EAAK,OAASF,EACdE,EAAK,QAAUD,EACXF,IAAiB,OAAW,CAC9B,MAAMI,EAAS,SAAS,cAAc,qBAAqBJ,CAAY,IAAI,EACvEI,GAAQA,EAAO,OAAOD,CAAI,OAErB,cAAK,OAAOA,CAAI,CAC3B,CAGF,CACD,CACH,CAEA,MAAc,YAAa,CAKnB,MAAAE,EAAmC,SAAS,cAAc,UAAU,EAE1E,GAAIA,EAAc,CAEhB,MAAMC,EADS,KAAK,cAAcD,CAAY,EACjB,IAAI,MAAMlF,GAAS,CAC1B,KAAK,UAAU,SAASA,EAAM,IAAI,GAC/B,cAAQ,IAAI,CAAC,KAAK,iBAAiBA,CAAK,EAAG,KAAK,gBAAgBA,CAAK,CAAC,CAAC,EAC/F,EAEK,cAAQ,IAAImF,CAAa,EAC/B,KAAK,YAAYD,CAAY,CAC/B,CAGS,cAAK,MAAM,QAAU,KACxB,MAAAE,EAAe,SAAS,cAA4B,UAAU,EAE9D,UAAI,QAAyBN,GAAA,CAC7BM,GAAgB,CAACA,EAAa,UACnBA,EAAA,aAAa,UAAW,OAAO,EAC/BA,EAAA,aAAa,gBAAiB,MAAM,EACjDA,EAAa,iBAAiB,OAAQ,IAAMN,EAAS,GACrDM,EAAa,iBAAiB,QAAS,IAAMN,EAAS,IAE9CA,GACV,CACD,CACH,CAEA,MAAc,UAAU/D,EAAsB,CACtC,MAAAsE,EAAiC,KAAK,cAActE,CAAO,EAE7D,IAACsE,EAAe,OAAQ,CAC1B,KAAK,YAAYtE,CAAO,EACxB,MACF,CAEA,MAAMuE,EAAmC,GAEzC,UAAWtF,KAASqF,EACFC,EAAA,KAAK,KAAK,iBAAiBtF,CAAK,EAAG,KAAK,gBAAgBA,CAAK,CAAC,EAG1E,cAAQ,IAAIsF,CAAe,EACjC,KAAK,YAAYvE,CAAO,CAC1B,CACF,ECnSC,gBAAkB,CAEX,MAAAI,EAAe,IAAIpB,EACnB0D,EAAiB,IAAIvC,EAAeC,CAAY,EAEtD,MADa,IAAIqC,EAAYC,EAAgBtC,CAAY,EAC9C,MACb,GAAG","names":["r","t","replaceBySpecifier","input","specifier","htmlTag","part","index","HeaderComponent","LitElement","_changedProperties","response","FetchService","error","leftCol","rightCol","logoText","logoTextHTML","unsafeHTML","html","item","renderIcon","__decorateClass","state","customElement","toClassName","name","BlockService","block","config","row","cols","col","value","as","a","imgs","img","ps","p","main","shortBlockName","blockWrapper","section","toCamelCase","g","SectionService","blockService","container","sectionMeta","meta","key","style","wrappers","defaultContent","e","wrapper","parentElement","headerTemplate","renderLabel","args","dvaLinkTemplate","renderFooterAwardsTemplate","renderLazyImage","renderFooterSocialLinksTemplate","data","socialLink","renderFooterNavigationTemplate","renderFooter","borderTop","getMetadata","doc","attr","metaElement","renderBreadcrumpNavigationTemplate","nothing","isSidekickLibraryActive","addClasses","element","classes","cssClass","getLocation","_Status","Status","MainService","sectionService","lazyStylesScssPath","sidekickLibraryStylesScssPath","fontsScssPath","err","SectionsPromises","scriptEl","defaultContentWrappers","template","render","children","edsHeader","edsFooter","edsMain","body","theme","blockMap","blockModule","__vitePreload","href","insertBefore","resolve","reject","link","before","firstSection","blockPromises","lcpCandidate","sectionsBlocks","loadingPromises"],"sources":["../../node_modules/@lit/reactive-element/decorators/state.js","../../src/utils/replaceBySpecifier.ts","../../src/components/header.ts","../../src/utils/toClassName.ts","../../src/services/block.service.ts","../../src/utils/toCamelCase.ts","../../src/services/section.service.ts","../../src/components/dvag-m-n01-header/dvag-m-n01-header.template.ts","../../src/components/dva-e-link/dva-e-link.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__awards.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__social-links.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__navigation.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts","../../src/utils/getMetadata.ts","../../src/components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts","../../src/sidekickHelpers/isSidekickLibraryActive.ts","../../src/utils/addClasses.ts","../../config.ts","../../src/sidekickHelpers/getLocation.ts","../../src/services/main.service.ts","../../src/main.ts"],"sourcesContent":["import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * Represents the structure of an object used to specify replacements in a string.\n *\n * @interface ReplaceBySpecifier\n * @property {string} input - The input string where replacements will be made.\n * @property {string} specifier - The specifier string to search for in the input.\n * @property {string} htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n */\ninterface ReplaceBySpecifier {\n input: string;\n specifier: string;\n htmlTag: string;\n}\n\n/**\n * Replaces occurrences of a specified specifier in a string with an HTML tag.\n *\n * @param {ReplaceBySpecifier} param - An object containing input string, specifier, and HTML tag.\n * @param {string} param.input - The input string where replacements will be made.\n * @param {string} param.specifier - The specifier string to search for in the input.\n * @param {string} param.htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n * @returns {string} - The modified string with replacements.\n *\n @example\n * // Example 1:\n * const result1 = replaceBySpecifier({\n * input: 'This is a test string with some test keywords.',\n * specifier: 'test',\n * htmlTag: 'strong'\n * });\n * console.log(result1);\n * // Output: 'This is a string with some keywords.'\n *\n * // Example 2:\n * const result2 = replaceBySpecifier({\n * input: 'Hello, world!',\n * specifier: ',',\n * htmlTag: 'span'\n * });\n * console.log(result2);\n * // Output: 'Hello world!'\n */\nexport function replaceBySpecifier({ input, specifier, htmlTag }: ReplaceBySpecifier): string {\n return input\n .split(specifier)\n .map((part: string, index: number): string => (index % 2 === 1 ? `<${htmlTag}>${part}` : part))\n .join(\"\");\n}\n","import { html, LitElement, PropertyValueMap } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\n\nimport { replaceBySpecifier } from \"../utils/replaceBySpecifier.ts\";\nimport FetchService from \"../services/fetch.service.ts\";\nimport { renderIcon } from \"./icon/dva-e-icon.template.ts\";\nimport { IconName } from \"../icons.types.ts\";\n\nexport interface HeaderResponseData {\n leftCol: LeftCol;\n rightCol: RightCol;\n}\n\nexport interface LeftCol {\n data: LeftColData[];\n}\n\nexport interface LeftColData {\n logoText: string;\n logoLink: string;\n}\n\nexport interface RightCol {\n data: RightColData[];\n}\n\nexport interface RightColData {\n socialIcon: IconName;\n socialLabel: string;\n socialLink: string;\n}\n\ninterface HeaderTemplateData {\n leftCol: LeftColData;\n rightCol: RightColData[];\n}\n\n@customElement(\"header-component\")\nexport class HeaderComponent extends LitElement {\n @state()\n headerData: HeaderTemplateData;\n\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n protected async firstUpdated(_changedProperties: PropertyValueMap | Map) {\n await this.fetchHeaderData();\n }\n\n async fetchHeaderData() {\n try {\n const response = await FetchService.fetchJson(\"header.json\", {\n cacheOptions: { cacheType: \"runtime\" },\n });\n this.headerData = { leftCol: response.leftCol.data[0], rightCol: response.rightCol.data };\n } catch (error) {\n console.error(\"HeaderComponent: \", error);\n }\n }\n\n render() {\n if (!this.headerData) return;\n const { leftCol, rightCol } = this.headerData;\n const logoText = replaceBySpecifier({ input: leftCol.logoText, htmlTag: \"strong\", specifier: \":::\" });\n const logoTextHTML = unsafeHTML(logoText);\n return html`\n ${logoTextHTML}\n \n `;\n }\n}\n","/**\n * Converts a string into a valid CSS class name.\n *\n * @param {string} name - The string to convert into a CSS class name.\n * @returns {string} The converted CSS class name.\n *\n * @example\n * // Example usage:\n * const inputString = 'Hello, World!';\n * const cssClassName = toClassName(inputString);\n * console.log(cssClassName); // Output: 'hello-world'\n */\nexport function toClassName(name: string): string {\n return name\n .toLowerCase()\n .replace(/[^0-9a-z]/gi, \"-\")\n .replace(/-+/g, \"-\")\n .replace(/^-|-$/g, \"\");\n}\n","import { toClassName } from \"../utils/toClassName\";\n\nexport class BlockService {\n /**\n * Extracts the config from a block.\n * @param {Element} block The block element\n * @returns {object} The block config\n */\n readBlockConfig(block: Element): Record {\n const config: Record = {};\n block.querySelectorAll(\":scope > div\").forEach(row => {\n if (row.children) {\n const cols = [...row.children];\n if (cols[1]) {\n const col = cols[1];\n const name = toClassName(cols[0].textContent ?? \"\");\n let value: any = \"\";\n if (col.querySelector(\"a\")) {\n const as = [...col.querySelectorAll(\"a\")];\n if (as.length === 1) {\n value = as[0].href;\n } else {\n value = as.map(a => a.href);\n }\n } else if (col.querySelector(\"img\")) {\n const imgs = [...col.querySelectorAll(\"img\")];\n if (imgs.length === 1) {\n value = imgs[0].src;\n } else {\n value = imgs.map(img => img.src);\n }\n } else if (col.querySelector(\"p\")) {\n const ps = [...col.querySelectorAll(\"p\")];\n if (ps.length === 1) {\n value = ps[0].textContent;\n } else {\n value = ps.map(p => p.textContent);\n }\n } else value = row.children[1].textContent;\n config[name] = value;\n }\n }\n });\n return config;\n }\n\n /**\n * Decorates all blocks in a container element.\n * @param {Element} main The container element\n */\n decorateBlocks(main: HTMLElement) {\n main.querySelectorAll(\"div.section > div > div\").forEach(this.decorateBlock);\n }\n\n /**\n * Decorates a block.\n * @param {Element} block The block element\n */\n private decorateBlock(block: HTMLElement) {\n const shortBlockName = block.classList[0];\n if (shortBlockName) {\n block.classList.add(\"block\");\n block.dataset.blockName = shortBlockName;\n const blockWrapper = block.parentElement;\n blockWrapper?.classList.add(`${shortBlockName}-wrapper`);\n const section = block.closest(\".section\");\n if (section) section.classList.add(`${shortBlockName}-container`);\n }\n }\n}\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Sanitizes a string for use as a JavaScript property name.\n *\n * @param {string} name - The unsanitized string.\n * @returns {string} - The camelCased name.\n *\n * @example\n * // Example usage:\n * const unsanitizedString = 'background-color';\n * const camelCasedName = toCamelCase(unsanitizedString);\n * console.log(camelCasedName); // Output: 'backgroundColor'\n */\nexport function toCamelCase(name: string): string {\n return toClassName(name).replace(/-([a-z])/g, (g: string) => g[1].toUpperCase());\n}\n","import { toCamelCase } from \"../utils/toCamelCase\";\nimport { toClassName } from \"../utils/toClassName\";\nimport { BlockService } from \"./block.service\";\n\nexport class SectionService {\n constructor(private blockService: BlockService) {}\n\n init(container: HTMLElement) {\n this.transformSection(container);\n }\n\n /**\n * Decorates all sections in a container element.\n * @param {Element} main The container element\n */\n private transformSection(main: HTMLElement) {\n main.querySelectorAll(\":scope > div\").forEach(section => {\n this.adjustMarkup(section);\n this.processSectionMetaData(section);\n });\n }\n\n private processSectionMetaData(section: HTMLElement) {\n // Process section metadata\n const sectionMeta = section.querySelector(\"div.section-metadata\");\n if (sectionMeta) {\n const meta = this.blockService.readBlockConfig(sectionMeta);\n Object.keys(meta).forEach(key => {\n if (key === \"style\") {\n const styles = meta.style\n .split(\",\")\n .filter((style: string) => style)\n .map((style: string) => toClassName(style.trim()));\n styles.forEach((style: string) => section.classList.add(style));\n } else {\n section.dataset[toCamelCase(key)] = meta[key];\n }\n });\n if (sectionMeta.parentElement) sectionMeta.parentElement.remove();\n }\n }\n\n private adjustMarkup(section: HTMLDivElement) {\n const wrappers: HTMLDivElement[] = [];\n let defaultContent = false;\n [...section.children].forEach(e => {\n if (e.tagName === \"DIV\" || !defaultContent) {\n const wrapper = document.createElement(\"div\");\n wrappers.push(wrapper);\n defaultContent = e.tagName !== \"DIV\";\n\n if (defaultContent) {\n wrapper.classList.add(\"default-content-wrapper\");\n }\n }\n wrappers[wrappers.length - 1].append(e);\n });\n\n wrappers.forEach(wrapper => section.append(wrapper));\n this.decorateImages();\n section.classList.add(\"section\");\n section.dataset.sectionStatus = \"initialized\";\n section.style.display = \"none\";\n }\n decorateImages() {\n const picture = document.querySelectorAll(\".default-content-wrapper picture\");\n picture.forEach(item => {\n const parentElement = item.parentElement;\n if (parentElement) {\n parentElement.classList.add(\"image\", \"main\");\n }\n });\n }\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\n\nexport const headerTemplate = () => {\n return html`\n \n \n
\n
\n \n
\n \n \n \n ${renderIcon(\"dva-icon-burger-24px\")}\n Menü\n \n
\n\n \n
\n \n
\n
\n `;\n};\n","import { html } from \"lit-html\";\n\nexport type DvaLinkTemplateArgs = {\n target: string;\n cssClasses?: string;\n newWindow?: boolean;\n label?: string;\n iconID?: string;\n shouldRender?: boolean;\n};\n\nconst renderLabel = (args: DvaLinkTemplateArgs) => {\n if (args.label === undefined) return \"\";\n\n return html` ${args.label} `;\n};\n\nconst renderIcon = (args: DvaLinkTemplateArgs) => {\n if (args.iconID === undefined) return \"\";\n\n return html` `;\n};\n\nexport const dvaLinkTemplate = (args: DvaLinkTemplateArgs) => {\n if (args.shouldRender === false) return \"\";\n return html`\n \n ${renderLabel(args)} ${renderIcon(args)}\n \n `;\n};\n","import { renderLazyImage } from \"Components/dva-e-lazy-image/dva-e-lazy-image.template\";\nimport { html } from \"lit-html\";\n\nexport const renderFooterAwardsTemplate = () => {\n return html`\n \n \n `;\n};\n","import { html } from \"lit-html\";\nimport { renderIcon } from \"Components/icon/dva-e-icon.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\nimport { IconName } from \"../../icons.types\";\n\nexport const renderFooterSocialLinksTemplate = () => {\n return html`\n \n\n \n `;\n};\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\n\nexport const renderFooterNavigationTemplate = () => {\n return html` \n ${data.navigationSections.map(section => {\n return html`
\n \n
\n
\n \n
\n
\n
`;\n })}\n
`;\n};\n","import { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport { renderFooterAwardsTemplate } from \"./dvag-m-n02-footer__awards.template\";\nimport { renderFooterSocialLinksTemplate } from \"./dvag-m-n02-footer__social-links.template\";\nimport { renderFooterNavigationTemplate } from \"./dvag-m-n02-footer__navigation.template\";\n\nexport const renderFooter = (borderTop = false) => {\n return html`\n \n
\n
\n
\n
${renderFooterNavigationTemplate()}
\n
\n
\n \n
${renderFooterAwardsTemplate()}
\n
${renderFooterSocialLinksTemplate()}
\n
\n
\n \n
\n `;\n};\n","/**\n * Retrieves the content of a specified metadata tag from the document head.\n *\n * @param {string} value - The name or property attribute value of the metadata tag.\n * @param {Document} [doc=document] - The document to search for the metadata tag (default is the current document).\n * @returns {string} - The content of the metadata tag, if found; otherwise, an empty string.\n *\n * @example\n * // Example 1:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('description');\n * console.log(metaContent);\n * // Output: 'This is a sample description.'\n *\n * @example\n * // Example 2:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('og:title', document);\n * console.log(metaContent);\n * // Output: 'Open Graph Title'\n */\nexport function getMetadata(value: string, doc: Document = document): string {\n const attr: \"property\" | \"name\" = value && value.includes(\":\") ? \"property\" : \"name\";\n const metaTags: HTMLMetaElement[] =\n ([...doc.head.querySelectorAll(`meta[${attr}=\"${value}\"]`)] as HTMLMetaElement[]) || [];\n const meta: string = metaTags.map((metaElement: HTMLMetaElement) => metaElement.content).join(\", \");\n return meta.length ? meta : \"\";\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { getMetadata } from \"Utils/getMetadata\";\nimport { nothing } from \"lit\";\nimport { html } from \"lit-html\";\n\nexport const renderBreadcrumpNavigationTemplate = () => {\n if (getMetadata(\"breadcrumb\") !== \"true\") return nothing;\n return html`\n
\n
\n
\n \n
\n
\n
\n `;\n};\n","/**\n * Verifies if the Sidekick Library Plugin is in use by checking if the page is running in an iframe with srcdoc\n * and if the main element has the sidekick-library class.\n * @returns {boolean} Wether the Sidekick Library Plugin is in use.\n */\nexport const isSidekickLibraryActive = (): boolean => {\n const main = document.querySelector(\"#main\");\n if (!main) return false;\n return window.location.href === \"about:srcdoc\" && main.classList.contains(\"sidekick-library\");\n};\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Adds CSS classes to an HTML element.\n *\n * @param {HTMLElement} element - The HTML element to which classes will be added.\n * @param {string} classes - A string containing CSS classes separated by commas.\n *\n * @example\n * const element = document.getElementById('myElement');\n * const classesToAdd = 'class1, class2, class3';\n * addClasses(element, classesToAdd);\n */\nexport const addClasses = (element: HTMLElement, classes: string): void => {\n classes.split(\",\").forEach((cssClass: string): void => {\n element.classList.add(toClassName(cssClass.trim()));\n });\n};\n","export interface Config {\n mainTsPath: string;\n mainScssPath: string;\n iconsDirPath: string;\n iconsTypesPath: string;\n fontsScssPath?: string;\n lazyStylesScssPath?: string;\n sidekickLibraryStylesScssPath?: string;\n}\n\nexport const config: Config = {\n mainTsPath: 'src/main.ts',\n mainScssPath: 'src/styles/index.scss',\n iconsDirPath: './public/icons',\n iconsTypesPath: './src/icons.types.ts',\n fontsScssPath: 'src/styles/fonts.scss',\n lazyStylesScssPath: 'src/styles/lazy-styles.scss',\n sidekickLibraryStylesScssPath: 'src/styles/sidekick-library-styles.scss',\n};\n","import { isSidekickLibraryActive } from \"./isSidekickLibraryActive\";\n\n/**\n * Returns the true origin of the current page in the browser.\n * If the page is running in an iframe with srcdoc, the query param is returned.\n * @returns {String} The query param of the current page or the query param of the block running in the library\n *\n * @example\n * const searchParams = new URLSearchParams(getLocation().search);\n *\n * @remarks\n * Needs to be used when the Sidekick Library Plugin is in use.\n */\nexport function getLocation(): Location {\n return isSidekickLibraryActive() ? window.parent.location : window.location;\n}\n","import { html, render } from \"lit-html\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\nimport { headerTemplate } from \"Components/dvag-m-n01-header/dvag-m-n01-header.template.ts\";\nimport { renderFooter } from \"Components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts\";\nimport { renderBreadcrumpNavigationTemplate } from \"Components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts\";\n\nimport { isSidekickLibraryActive } from \"../sidekickHelpers/isSidekickLibraryActive\";\nimport { addClasses } from \"../utils/addClasses\";\nimport { getMetadata } from \"../utils/getMetadata\";\nimport { BlockService } from \"./block.service\";\nimport { SectionService } from \"./section.service\";\nimport { config } from \"../../config.ts\";\nimport { getLocation } from \"../sidekickHelpers/getLocation.ts\";\n\ntype BlockMapping = {\n name: string;\n element: HTMLDivElement;\n};\n\ninterface LcpCandidate extends HTMLElement {\n complete: boolean;\n}\n\nclass Status {\n static unloaded = \"unloaded\";\n static loading = \"loading\";\n static loaded = \"loaded\";\n static error = \"error\";\n}\n\nexport class MainService {\n private lcpBlocks = [\"article-stage\", \"article-header\", \"article-overview\", \"vb-stage\"];\n\n constructor(private sectionService: SectionService, private blockService: BlockService) {}\n\n init = async () => {\n this.setup();\n await this.loadEager();\n await this.loadLazy();\n };\n\n /**\n * Setup block utils.\n */\n private setup() {\n window.hlx = window.hlx || {};\n window.hlx.RUM_MASK_URL = \"full\";\n window.hlx.codeBasePath = \"\";\n window.hlx.lighthouse = new URLSearchParams(getLocation().search).get(\"lighthouse\") === \"on\";\n\n const scriptEl = document.querySelector('script[src$=\"/scripts/scripts.js\"]') as HTMLScriptElement;\n if (scriptEl) {\n try {\n [window.hlx.codeBasePath] = new URL(scriptEl.src).pathname.split(\"/scripts/scripts.js\");\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n }\n }\n\n decorateDefaultContent(main: HTMLElement) {\n const defaultContentWrappers = main.querySelectorAll(\".default-content-wrapper\");\n if (!defaultContentWrappers) return;\n defaultContentWrappers.forEach((wrapper: HTMLElement) => {\n const template = html`\n
\n
\n
\n
\n ${unsafeHTML(wrapper.innerHTML)}\n
\n
\n
\n
\n `;\n wrapper.innerHTML = \"\";\n render(template, wrapper);\n });\n }\n\n private loadEager = async () => {\n document.documentElement.lang = \"en\";\n this.decorateTemplateAndTheme();\n const main = document.querySelector(\"main\");\n if (main) {\n this.sectionService.init(main);\n\n this.blockService.decorateBlocks(main);\n this.decorateDefaultContent(main);\n this.renderLayout(main);\n\n setTimeout(() => {\n document.body.classList.add(\"show\");\n }, 100);\n\n await this.waitForLCP();\n\n try {\n /* if desktop (proxy for fast connection) or fonts already loaded, load fonts.css */\n if (window.innerWidth >= 900 || sessionStorage.getItem(\"fonts-loaded\")) {\n await this.loadFonts();\n }\n } catch (e) {\n // do nothing\n }\n }\n };\n\n private bodyTemplate(children: string) {\n return html`
\n
\n
\n ${headerTemplate()} ${renderBreadcrumpNavigationTemplate()} ${unsafeHTML(children)} ${renderFooter()}\n
\n
\n
`;\n }\n\n private renderLayout(main: HTMLElement) {\n const children = main.innerHTML;\n const edsHeader = document.querySelector(\"header\");\n const edsFooter = document.querySelector(\"footer\");\n const edsMain = main;\n const body = document.querySelector(\"body\");\n if (body) {\n render(this.bodyTemplate(children), body);\n edsFooter?.remove();\n edsHeader?.remove();\n edsMain.remove();\n }\n }\n\n private loadLazy = async () => {\n const { lazyStylesScssPath, sidekickLibraryStylesScssPath, fontsScssPath } = config;\n try {\n if (lazyStylesScssPath) await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`);\n if (sidekickLibraryStylesScssPath && isSidekickLibraryActive()) {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`);\n }\n if (fontsScssPath) await this.loadFonts();\n await this.loadCSS(\n `${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,\n `${window.hlx.codeBasePath}/dist/styles/styles.css`,\n );\n await this.loadBlocks();\n } catch (error) {\n console.error(\"Load lazy error: \", error);\n try {\n await this.loadBlocks();\n } catch (err) {\n console.error(\"Load blocks error: \", err);\n }\n }\n };\n\n private decorateTemplateAndTheme() {\n const template = getMetadata(\"template\");\n if (template) addClasses(document.body, template);\n const theme = getMetadata(\"theme\");\n if (theme) addClasses(document.body, theme);\n }\n\n /**\n * Loads Blocks\n * by getting all sections and load every block in every section\n * and shows every section that is finished loading.\n */\n private loadBlocks = async () => {\n const sections = [...document.querySelectorAll(\".section\")];\n const SectionsPromises = sections.map(section => this.loadBlock(section));\n\n await Promise.all(SectionsPromises);\n };\n\n private collectBlocks(section: HTMLElement): BlockMapping[] {\n const blockMap: BlockMapping[] = [];\n const blocksElements = section.querySelectorAll(\"[data-block-name]\");\n\n blocksElements.forEach((block: HTMLDivElement) => {\n blockMap.push({\n name: block.dataset[\"blockName\"] as string,\n element: block,\n });\n });\n\n return blockMap;\n }\n\n private async loadBlockModules(block: BlockMapping) {\n const status = block.element.dataset.blockStatus ?? Status.unloaded;\n\n if (status === Status.unloaded) {\n block.element.dataset.blockStatus = Status.loading;\n\n try {\n const blockModule = await import(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.js`);\n\n if (blockModule.default) {\n await blockModule.default(block.element);\n }\n\n block.element.dataset.blockStatus = Status.loaded;\n } catch (error) {\n block.element.dataset.blockStatus = Status.error;\n console.error(\"An error occurred during module import:\", error);\n }\n }\n }\n\n async loadBlockStyles(block: BlockMapping) {\n try {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.css`);\n } catch (error) {\n console.error(`problem with block '${block.name}' loading styles`);\n }\n }\n\n private showSection(section: HTMLElement) {\n section.style.removeProperty(\"display\");\n }\n\n private async loadFonts() {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);\n try {\n if (!getLocation().hostname.includes(\"localhost\")) sessionStorage.setItem(\"fonts-loaded\", \"true\");\n } catch (e) {\n // do nothing\n }\n }\n\n private async loadCSS(href: string, insertBefore?: string) {\n return new Promise((resolve, reject) => {\n if (!document.querySelector(`head > link[href=\"${href}\"]`)) {\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = href;\n link.onload = resolve;\n link.onerror = reject;\n if (insertBefore !== undefined) {\n const before = document.querySelector(`head > link[href=\"${insertBefore}\"]`);\n if (before) before.before(link);\n } else {\n document.head.append(link);\n }\n } else {\n resolve(true);\n }\n });\n }\n\n private async waitForLCP() {\n /* Js Chunks should be loaded\n Old logic only looks after the first block\n New logic looks in the first section after lcp candidates,\n since we show ech section depending on if its blocks and modules are loaded */\n const firstSection: HTMLElement | null = document.querySelector(\".section\");\n\n if (firstSection) {\n const blocks = this.collectBlocks(firstSection);\n const blockPromises = blocks.map(async block => {\n const hasLCPBlock = this.lcpBlocks.includes(block.name);\n if (hasLCPBlock) await Promise.all([this.loadBlockModules(block), this.loadBlockStyles(block)]);\n });\n\n await Promise.all(blockPromises);\n this.showSection(firstSection);\n }\n\n // @ts-ignore\n document.body.style.display = null;\n const lcpCandidate = document.querySelector(\"main img\");\n\n await new Promise(resolve => {\n if (lcpCandidate && !lcpCandidate.complete) {\n lcpCandidate.setAttribute(\"loading\", \"eager\");\n lcpCandidate.setAttribute(\"fetchpriority\", \"high\");\n lcpCandidate.addEventListener(\"load\", () => resolve());\n lcpCandidate.addEventListener(\"error\", () => resolve());\n } else {\n resolve();\n }\n });\n }\n\n private async loadBlock(section: HTMLElement) {\n const sectionsBlocks: BlockMapping[] = this.collectBlocks(section);\n\n if (!sectionsBlocks.length) {\n this.showSection(section);\n return;\n }\n\n const loadingPromises: Promise[] = [];\n\n for (const block of sectionsBlocks) {\n loadingPromises.push(this.loadBlockModules(block), this.loadBlockStyles(block));\n }\n\n await Promise.all(loadingPromises);\n this.showSection(section);\n }\n}\n","import \"Components/header.ts\";\nimport \"Components/icon/dva-e-icon.ts\";\nimport \"Components/dva-e-lazy-image/dva-e-lazy-image.ts\";\nimport \"Services/fetch.service.ts\";\nimport \"Components/dvag-m-c11-accordion/dvag-m-c11-accordion.ts\";\nimport { ConsentManagementService } from \"Services/ConsentManagementService.ts\";\n\nimport { BlockService } from \"./services/block.service.ts\";\nimport { SectionService } from \"./services/section.service.ts\";\nimport { MainService } from \"./services/main.service.ts\";\n\n(async function () {\n // preloadLcpImageCandidate();\n const blockService = new BlockService();\n const sectionService = new SectionService(blockService);\n const main = new MainService(sectionService, blockService);\n await main.init();\n})();\n\ndeclare global {\n interface Window {\n hlx: {\n RUM_MASK_URL: string;\n codeBasePath: string;\n lighthouse: boolean;\n };\n Granite: any;\n _dvaConsentManagementService: ConsentManagementService;\n }\n}\n"],"file":"main/main.js"} \ No newline at end of file +{"version":3,"mappings":"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","names":["r","t","replaceBySpecifier","input","specifier","htmlTag","part","index","HeaderComponent","LitElement","_changedProperties","response","FetchService","error","leftCol","rightCol","logoText","logoTextHTML","unsafeHTML","html","item","renderIcon","__decorateClass","state","customElement","toClassName","name","BlockService","block","config","row","cols","col","value","as","a","imgs","img","ps","p","main","shortBlockName","blockWrapper","section","toCamelCase","g","SectionService","blockService","container","sectionMeta","meta","key","style","wrappers","defaultContent","e","wrapper","parentElement","headerTemplate","renderLabel","args","dvaLinkTemplate","renderFooterAwardsTemplate","renderLazyImage","renderFooterSocialLinksTemplate","data","socialLink","renderFooterNavigationTemplate","renderFooter","borderTop","getMetadata","doc","attr","metaElement","renderBreadcrumpNavigationTemplate","nothing","isSidekickLibraryActive","addClasses","element","classes","cssClass","getLocation","_Status","Status","MainService","sectionService","lazyStylesScssPath","sidekickLibraryStylesScssPath","fontsScssPath","err","SectionsPromises","scriptEl","defaultContentWrappers","template","render","children","edsHeader","edsFooter","edsMain","body","theme","blockMap","blockModule","__vitePreload","href","insertBefore","resolve","reject","link","before","firstSection","blockPromises","lcpCandidate","sectionsBlocks","loadingPromises"],"sources":["../../node_modules/@lit/reactive-element/decorators/state.js","../../src/utils/replaceBySpecifier.ts","../../src/components/header.ts","../../src/utils/toClassName.ts","../../src/services/block.service.ts","../../src/utils/toCamelCase.ts","../../src/services/section.service.ts","../../src/components/dvag-m-n01-header/dvag-m-n01-header.template.ts","../../src/components/dva-e-link/dva-e-link.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__awards.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__social-links.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__navigation.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts","../../src/utils/getMetadata.ts","../../src/components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts","../../src/sidekickHelpers/isSidekickLibraryActive.ts","../../src/utils/addClasses.ts","../../config.ts","../../src/sidekickHelpers/getLocation.ts","../../src/services/main.service.ts","../../src/main.ts"],"sourcesContent":["import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * Represents the structure of an object used to specify replacements in a string.\n *\n * @interface ReplaceBySpecifier\n * @property {string} input - The input string where replacements will be made.\n * @property {string} specifier - The specifier string to search for in the input.\n * @property {string} htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n */\ninterface ReplaceBySpecifier {\n input: string;\n specifier: string;\n htmlTag: string;\n}\n\n/**\n * Replaces occurrences of a specified specifier in a string with an HTML tag.\n *\n * @param {ReplaceBySpecifier} param - An object containing input string, specifier, and HTML tag.\n * @param {string} param.input - The input string where replacements will be made.\n * @param {string} param.specifier - The specifier string to search for in the input.\n * @param {string} param.htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n * @returns {string} - The modified string with replacements.\n *\n @example\n * // Example 1:\n * const result1 = replaceBySpecifier({\n * input: 'This is a test string with some test keywords.',\n * specifier: 'test',\n * htmlTag: 'strong'\n * });\n * console.log(result1);\n * // Output: 'This is a string with some keywords.'\n *\n * // Example 2:\n * const result2 = replaceBySpecifier({\n * input: 'Hello, world!',\n * specifier: ',',\n * htmlTag: 'span'\n * });\n * console.log(result2);\n * // Output: 'Hello world!'\n */\nexport function replaceBySpecifier({ input, specifier, htmlTag }: ReplaceBySpecifier): string {\n return input\n .split(specifier)\n .map((part: string, index: number): string => (index % 2 === 1 ? `<${htmlTag}>${part}` : part))\n .join(\"\");\n}\n","import { html, LitElement, PropertyValueMap } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\n\nimport { replaceBySpecifier } from \"../utils/replaceBySpecifier.ts\";\nimport FetchService from \"../services/fetch.service.ts\";\nimport { renderIcon } from \"./icon/dva-e-icon.template.ts\";\nimport { IconName } from \"../icons.types.ts\";\n\nexport interface HeaderResponseData {\n leftCol: LeftCol;\n rightCol: RightCol;\n}\n\nexport interface LeftCol {\n data: LeftColData[];\n}\n\nexport interface LeftColData {\n logoText: string;\n logoLink: string;\n}\n\nexport interface RightCol {\n data: RightColData[];\n}\n\nexport interface RightColData {\n socialIcon: IconName;\n socialLabel: string;\n socialLink: string;\n}\n\ninterface HeaderTemplateData {\n leftCol: LeftColData;\n rightCol: RightColData[];\n}\n\n@customElement(\"header-component\")\nexport class HeaderComponent extends LitElement {\n @state()\n headerData: HeaderTemplateData;\n\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n protected async firstUpdated(_changedProperties: PropertyValueMap | Map) {\n await this.fetchHeaderData();\n }\n\n async fetchHeaderData() {\n try {\n const response = await FetchService.fetchJson(\"header.json\", {\n cacheOptions: { cacheType: \"runtime\" },\n });\n this.headerData = { leftCol: response.leftCol.data[0], rightCol: response.rightCol.data };\n } catch (error) {\n console.error(\"HeaderComponent: \", error);\n }\n }\n\n render() {\n if (!this.headerData) return;\n const { leftCol, rightCol } = this.headerData;\n const logoText = replaceBySpecifier({ input: leftCol.logoText, htmlTag: \"strong\", specifier: \":::\" });\n const logoTextHTML = unsafeHTML(logoText);\n return html`\n ${logoTextHTML}\n \n `;\n }\n}\n","/**\n * Converts a string into a valid CSS class name.\n *\n * @param {string} name - The string to convert into a CSS class name.\n * @returns {string} The converted CSS class name.\n *\n * @example\n * // Example usage:\n * const inputString = 'Hello, World!';\n * const cssClassName = toClassName(inputString);\n * console.log(cssClassName); // Output: 'hello-world'\n */\nexport function toClassName(name: string): string {\n return name\n .toLowerCase()\n .replace(/[^0-9a-z]/gi, \"-\")\n .replace(/-+/g, \"-\")\n .replace(/^-|-$/g, \"\");\n}\n","import { toClassName } from \"../utils/toClassName\";\n\nexport class BlockService {\n /**\n * Extracts the config from a block.\n * @param {Element} block The block element\n * @returns {object} The block config\n */\n readBlockConfig(block: Element): Record {\n const config: Record = {};\n block.querySelectorAll(\":scope > div\").forEach(row => {\n if (row.children) {\n const cols = [...row.children];\n if (cols[1]) {\n const col = cols[1];\n const name = toClassName(cols[0].textContent ?? \"\");\n let value: any = \"\";\n if (col.querySelector(\"a\")) {\n const as = [...col.querySelectorAll(\"a\")];\n if (as.length === 1) {\n value = as[0].href;\n } else {\n value = as.map(a => a.href);\n }\n } else if (col.querySelector(\"img\")) {\n const imgs = [...col.querySelectorAll(\"img\")];\n if (imgs.length === 1) {\n value = imgs[0].src;\n } else {\n value = imgs.map(img => img.src);\n }\n } else if (col.querySelector(\"p\")) {\n const ps = [...col.querySelectorAll(\"p\")];\n if (ps.length === 1) {\n value = ps[0].textContent;\n } else {\n value = ps.map(p => p.textContent);\n }\n } else value = row.children[1].textContent;\n config[name] = value;\n }\n }\n });\n return config;\n }\n\n /**\n * Decorates all blocks in a container element.\n * @param {Element} main The container element\n */\n decorateBlocks(main: HTMLElement) {\n main.querySelectorAll(\"div.section > div > div\").forEach(this.decorateBlock);\n }\n\n /**\n * Decorates a block.\n * @param {Element} block The block element\n */\n private decorateBlock(block: HTMLElement) {\n const shortBlockName = block.classList[0];\n if (shortBlockName) {\n block.classList.add(\"block\");\n block.dataset.blockName = shortBlockName;\n const blockWrapper = block.parentElement;\n blockWrapper?.classList.add(`${shortBlockName}-wrapper`);\n const section = block.closest(\".section\");\n if (section) section.classList.add(`${shortBlockName}-container`);\n }\n }\n}\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Sanitizes a string for use as a JavaScript property name.\n *\n * @param {string} name - The unsanitized string.\n * @returns {string} - The camelCased name.\n *\n * @example\n * // Example usage:\n * const unsanitizedString = 'background-color';\n * const camelCasedName = toCamelCase(unsanitizedString);\n * console.log(camelCasedName); // Output: 'backgroundColor'\n */\nexport function toCamelCase(name: string): string {\n return toClassName(name).replace(/-([a-z])/g, (g: string) => g[1].toUpperCase());\n}\n","import { toCamelCase } from \"../utils/toCamelCase\";\nimport { toClassName } from \"../utils/toClassName\";\nimport { BlockService } from \"./block.service\";\n\nexport class SectionService {\n constructor(private blockService: BlockService) {}\n\n init(container: HTMLElement) {\n this.transformSection(container);\n }\n\n /**\n * Decorates all sections in a container element.\n * @param {Element} main The container element\n */\n private transformSection(main: HTMLElement) {\n main.querySelectorAll(\":scope > div\").forEach(section => {\n this.adjustMarkup(section);\n this.processSectionMetaData(section);\n });\n }\n\n private processSectionMetaData(section: HTMLElement) {\n // Process section metadata\n const sectionMeta = section.querySelector(\"div.section-metadata\");\n if (sectionMeta) {\n const meta = this.blockService.readBlockConfig(sectionMeta);\n Object.keys(meta).forEach(key => {\n if (key === \"style\") {\n const styles = meta.style\n .split(\",\")\n .filter((style: string) => style)\n .map((style: string) => toClassName(style.trim()));\n styles.forEach((style: string) => section.classList.add(style));\n } else {\n section.dataset[toCamelCase(key)] = meta[key];\n }\n });\n if (sectionMeta.parentElement) sectionMeta.parentElement.remove();\n }\n }\n\n private adjustMarkup(section: HTMLDivElement) {\n const wrappers: HTMLDivElement[] = [];\n let defaultContent = false;\n [...section.children].forEach(e => {\n if (e.tagName === \"DIV\" || !defaultContent) {\n const wrapper = document.createElement(\"div\");\n wrappers.push(wrapper);\n defaultContent = e.tagName !== \"DIV\";\n\n if (defaultContent) {\n wrapper.classList.add(\"default-content-wrapper\");\n }\n }\n wrappers[wrappers.length - 1].append(e);\n });\n\n wrappers.forEach(wrapper => section.append(wrapper));\n this.decorateImages();\n section.classList.add(\"section\");\n section.dataset.sectionStatus = \"initialized\";\n section.style.display = \"none\";\n }\n decorateImages() {\n const picture = document.querySelectorAll(\".default-content-wrapper picture\");\n picture.forEach(item => {\n const parentElement = item.parentElement;\n if (parentElement) {\n parentElement.classList.add(\"image\", \"main\");\n }\n });\n }\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\n\nexport const headerTemplate = () => {\n return html`\n \n \n
\n
\n \n
\n \n \n \n ${renderIcon(\"dva-icon-burger-24px\")}\n Menü\n \n
\n\n \n
\n \n
\n
\n `;\n};\n","import { html } from \"lit-html\";\n\nexport type DvaLinkTemplateArgs = {\n target: string;\n cssClasses?: string;\n newWindow?: boolean;\n label?: string;\n iconID?: string;\n shouldRender?: boolean;\n};\n\nconst renderLabel = (args: DvaLinkTemplateArgs) => {\n if (args.label === undefined) return \"\";\n\n return html` ${args.label} `;\n};\n\nconst renderIcon = (args: DvaLinkTemplateArgs) => {\n if (args.iconID === undefined) return \"\";\n\n return html` `;\n};\n\nexport const dvaLinkTemplate = (args: DvaLinkTemplateArgs) => {\n if (args.shouldRender === false) return \"\";\n return html`\n \n ${renderLabel(args)} ${renderIcon(args)}\n \n `;\n};\n","import { renderLazyImage } from \"Components/dva-e-lazy-image/dva-e-lazy-image.template\";\nimport { html } from \"lit-html\";\n\nexport const renderFooterAwardsTemplate = () => {\n return html`\n \n \n `;\n};\n","import { html } from \"lit-html\";\nimport { renderIcon } from \"Components/icon/dva-e-icon.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\nimport { IconName } from \"../../icons.types\";\n\nexport const renderFooterSocialLinksTemplate = () => {\n return html`\n \n\n \n `;\n};\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\n\nexport const renderFooterNavigationTemplate = () => {\n return html` \n ${data.navigationSections.map(section => {\n return html`
\n \n
\n
\n \n
\n
\n
`;\n })}\n
`;\n};\n","import { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport { renderFooterAwardsTemplate } from \"./dvag-m-n02-footer__awards.template\";\nimport { renderFooterSocialLinksTemplate } from \"./dvag-m-n02-footer__social-links.template\";\nimport { renderFooterNavigationTemplate } from \"./dvag-m-n02-footer__navigation.template\";\n\nexport const renderFooter = (borderTop = false) => {\n return html`\n \n
\n
\n
\n
${renderFooterNavigationTemplate()}
\n
\n
\n \n
${renderFooterAwardsTemplate()}
\n
${renderFooterSocialLinksTemplate()}
\n
\n
\n \n
\n `;\n};\n","/**\n * Retrieves the content of a specified metadata tag from the document head.\n *\n * @param {string} value - The name or property attribute value of the metadata tag.\n * @param {Document} [doc=document] - The document to search for the metadata tag (default is the current document).\n * @returns {string} - The content of the metadata tag, if found; otherwise, an empty string.\n *\n * @example\n * // Example 1:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('description');\n * console.log(metaContent);\n * // Output: 'This is a sample description.'\n *\n * @example\n * // Example 2:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('og:title', document);\n * console.log(metaContent);\n * // Output: 'Open Graph Title'\n */\nexport function getMetadata(value: string, doc: Document = document): string {\n const attr: \"property\" | \"name\" = value && value.includes(\":\") ? \"property\" : \"name\";\n const metaTags: HTMLMetaElement[] =\n ([...doc.head.querySelectorAll(`meta[${attr}=\"${value}\"]`)] as HTMLMetaElement[]) || [];\n const meta: string = metaTags.map((metaElement: HTMLMetaElement) => metaElement.content).join(\", \");\n return meta.length ? meta : \"\";\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { getMetadata } from \"Utils/getMetadata\";\nimport { nothing } from \"lit\";\nimport { html } from \"lit-html\";\n\nexport const renderBreadcrumpNavigationTemplate = () => {\n if (getMetadata(\"breadcrumb\") !== \"true\") return nothing;\n return html`\n
\n
\n
\n \n
\n
\n
\n `;\n};\n","/**\n * Verifies if the Sidekick Library Plugin is in use by checking if the page is running in an iframe with srcdoc\n * and if the main element has the sidekick-library class.\n * @returns {boolean} Wether the Sidekick Library Plugin is in use.\n */\nexport const isSidekickLibraryActive = (): boolean => {\n const main = document.querySelector(\"#main\");\n if (!main) return false;\n return window.location.href === \"about:srcdoc\" && main.classList.contains(\"sidekick-library\");\n};\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Adds CSS classes to an HTML element.\n *\n * @param {HTMLElement} element - The HTML element to which classes will be added.\n * @param {string} classes - A string containing CSS classes separated by commas.\n *\n * @example\n * const element = document.getElementById('myElement');\n * const classesToAdd = 'class1, class2, class3';\n * addClasses(element, classesToAdd);\n */\nexport const addClasses = (element: HTMLElement, classes: string): void => {\n classes.split(\",\").forEach((cssClass: string): void => {\n element.classList.add(toClassName(cssClass.trim()));\n });\n};\n","export interface Config {\n mainTsPath: string;\n mainScssPath: string;\n iconsDirPath: string;\n iconsTypesPath: string;\n fontsScssPath?: string;\n lazyStylesScssPath?: string;\n sidekickLibraryStylesScssPath?: string;\n}\n\nexport const config: Config = {\n mainTsPath: 'src/main.ts',\n mainScssPath: 'src/styles/index.scss',\n iconsDirPath: './public/icons',\n iconsTypesPath: './src/icons.types.ts',\n fontsScssPath: 'src/styles/fonts.scss',\n lazyStylesScssPath: 'src/styles/lazy-styles.scss',\n sidekickLibraryStylesScssPath: 'src/styles/sidekick-library-styles.scss',\n};\n","import { isSidekickLibraryActive } from \"./isSidekickLibraryActive\";\n\n/**\n * Returns the true origin of the current page in the browser.\n * If the page is running in an iframe with srcdoc, the query param is returned.\n * @returns {String} The query param of the current page or the query param of the block running in the library\n *\n * @example\n * const searchParams = new URLSearchParams(getLocation().search);\n *\n * @remarks\n * Needs to be used when the Sidekick Library Plugin is in use.\n */\nexport function getLocation(): Location {\n return isSidekickLibraryActive() ? window.parent.location : window.location;\n}\n","import { html, render } from \"lit-html\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\nimport { headerTemplate } from \"Components/dvag-m-n01-header/dvag-m-n01-header.template.ts\";\nimport { renderFooter } from \"Components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts\";\nimport { renderBreadcrumpNavigationTemplate } from \"Components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts\";\n\nimport { isSidekickLibraryActive } from \"../sidekickHelpers/isSidekickLibraryActive\";\nimport { addClasses } from \"../utils/addClasses\";\nimport { getMetadata } from \"../utils/getMetadata\";\nimport { BlockService } from \"./block.service\";\nimport { SectionService } from \"./section.service\";\nimport { config } from \"../../config.ts\";\nimport { getLocation } from \"../sidekickHelpers/getLocation.ts\";\n\ntype BlockMapping = {\n name: string;\n element: HTMLDivElement;\n};\n\ninterface LcpCandidate extends HTMLElement {\n complete: boolean;\n}\n\nclass Status {\n static unloaded = \"unloaded\";\n static loading = \"loading\";\n static loaded = \"loaded\";\n static error = \"error\";\n}\n\nexport class MainService {\n private lcpBlocks = [\"article-stage\", \"article-header\", \"article-overview\", \"vb-stage\"];\n\n constructor(private sectionService: SectionService, private blockService: BlockService) {}\n\n init = async () => {\n this.setup();\n await this.loadEager();\n await this.loadLazy();\n };\n\n /**\n * Setup block utils.\n */\n private setup() {\n window.hlx = window.hlx || {};\n window.hlx.RUM_MASK_URL = \"full\";\n window.hlx.codeBasePath = \"\";\n window.hlx.lighthouse = new URLSearchParams(getLocation().search).get(\"lighthouse\") === \"on\";\n\n const scriptEl = document.querySelector('script[src$=\"/scripts/scripts.js\"]') as HTMLScriptElement;\n if (scriptEl) {\n try {\n [window.hlx.codeBasePath] = new URL(scriptEl.src).pathname.split(\"/scripts/scripts.js\");\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n }\n }\n\n decorateDefaultContent(main: HTMLElement) {\n const defaultContentWrappers = main.querySelectorAll(\".default-content-wrapper\");\n if (!defaultContentWrappers) return;\n defaultContentWrappers.forEach((wrapper: HTMLElement) => {\n const template = html`\n
\n
\n
\n
\n ${unsafeHTML(wrapper.innerHTML)}\n
\n
\n
\n
\n `;\n wrapper.innerHTML = \"\";\n render(template, wrapper);\n });\n }\n\n private loadEager = async () => {\n document.documentElement.lang = \"en\";\n this.decorateTemplateAndTheme();\n const main = document.querySelector(\"main\");\n if (main) {\n this.sectionService.init(main);\n\n this.blockService.decorateBlocks(main);\n this.decorateDefaultContent(main);\n this.renderLayout(main);\n\n setTimeout(() => {\n document.body.classList.add(\"show\");\n }, 100);\n\n await this.waitForLCP();\n\n try {\n /* if desktop (proxy for fast connection) or fonts already loaded, load fonts.css */\n if (window.innerWidth >= 900 || sessionStorage.getItem(\"fonts-loaded\")) {\n await this.loadFonts();\n }\n } catch (e) {\n // do nothing\n }\n }\n };\n\n private articleBodyTemplate(children: string) {\n return html`
\n
\n
\n ${headerTemplate()} ${renderBreadcrumpNavigationTemplate()} ${unsafeHTML(children)} ${renderFooter()}\n
\n
\n
`;\n }\n\n private bodyTemplate(children: string) {\n return html`
\n
\n ${headerTemplate()} ${renderBreadcrumpNavigationTemplate()} ${unsafeHTML(children)} ${renderFooter()}\n
\n
`;\n }\n\n private renderBodyTemplate(children: string) {\n const isArticleSite = getMetadata(\"template\") === \"article\";\n if (isArticleSite) this.articleBodyTemplate(children);\n return this.bodyTemplate(children);\n }\n\n private renderLayout(main: HTMLElement) {\n const children = main.innerHTML;\n const edsHeader = document.querySelector(\"header\");\n const edsFooter = document.querySelector(\"footer\");\n const edsMain = main;\n const body = document.querySelector(\"body\");\n if (body) {\n render(this.renderBodyTemplate(children), body);\n edsFooter?.remove();\n edsHeader?.remove();\n edsMain.remove();\n }\n }\n\n private loadLazy = async () => {\n const { lazyStylesScssPath, sidekickLibraryStylesScssPath, fontsScssPath } = config;\n try {\n if (lazyStylesScssPath) await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`);\n if (sidekickLibraryStylesScssPath && isSidekickLibraryActive()) {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`);\n }\n if (fontsScssPath) await this.loadFonts();\n await this.loadCSS(\n `${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,\n `${window.hlx.codeBasePath}/dist/styles/styles.css`,\n );\n await this.loadBlocks();\n } catch (error) {\n console.error(\"Load lazy error: \", error);\n try {\n await this.loadBlocks();\n } catch (err) {\n console.error(\"Load blocks error: \", err);\n }\n }\n };\n\n private decorateTemplateAndTheme() {\n const template = getMetadata(\"template\");\n if (template) addClasses(document.body, template);\n const theme = getMetadata(\"theme\");\n if (theme) addClasses(document.body, theme);\n }\n\n /**\n * Loads Blocks\n * by getting all sections and load every block in every section\n * and shows every section that is finished loading.\n */\n private loadBlocks = async () => {\n const sections = [...document.querySelectorAll(\".section\")];\n const SectionsPromises = sections.map(section => this.loadBlock(section));\n\n await Promise.all(SectionsPromises);\n };\n\n private collectBlocks(section: HTMLElement): BlockMapping[] {\n const blockMap: BlockMapping[] = [];\n const blocksElements = section.querySelectorAll(\"[data-block-name]\");\n\n blocksElements.forEach((block: HTMLDivElement) => {\n blockMap.push({\n name: block.dataset[\"blockName\"] as string,\n element: block,\n });\n });\n\n return blockMap;\n }\n\n private async loadBlockModules(block: BlockMapping) {\n const status = block.element.dataset.blockStatus ?? Status.unloaded;\n\n if (status === Status.unloaded) {\n block.element.dataset.blockStatus = Status.loading;\n\n try {\n const blockModule = await import(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.js`);\n\n if (blockModule.default) {\n await blockModule.default(block.element);\n }\n\n block.element.dataset.blockStatus = Status.loaded;\n } catch (error) {\n block.element.dataset.blockStatus = Status.error;\n console.error(\"An error occurred during module import:\", error);\n }\n }\n }\n\n async loadBlockStyles(block: BlockMapping) {\n try {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.css`);\n } catch (error) {\n console.error(`problem with block '${block.name}' loading styles`);\n }\n }\n\n private showSection(section: HTMLElement) {\n section.style.removeProperty(\"display\");\n }\n\n private async loadFonts() {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);\n try {\n if (!getLocation().hostname.includes(\"localhost\")) sessionStorage.setItem(\"fonts-loaded\", \"true\");\n } catch (e) {\n // do nothing\n }\n }\n\n private async loadCSS(href: string, insertBefore?: string) {\n return new Promise((resolve, reject) => {\n if (!document.querySelector(`head > link[href=\"${href}\"]`)) {\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = href;\n link.onload = resolve;\n link.onerror = reject;\n if (insertBefore !== undefined) {\n const before = document.querySelector(`head > link[href=\"${insertBefore}\"]`);\n if (before) before.before(link);\n } else {\n document.head.append(link);\n }\n } else {\n resolve(true);\n }\n });\n }\n\n private async waitForLCP() {\n /* Js Chunks should be loaded\n Old logic only looks after the first block\n New logic looks in the first section after lcp candidates,\n since we show ech section depending on if its blocks and modules are loaded */\n const firstSection: HTMLElement | null = document.querySelector(\".section\");\n\n if (firstSection) {\n const blocks = this.collectBlocks(firstSection);\n const blockPromises = blocks.map(async block => {\n const hasLCPBlock = this.lcpBlocks.includes(block.name);\n if (hasLCPBlock) await Promise.all([this.loadBlockModules(block), this.loadBlockStyles(block)]);\n });\n\n await Promise.all(blockPromises);\n this.showSection(firstSection);\n }\n\n // @ts-ignore\n document.body.style.display = null;\n const lcpCandidate = document.querySelector(\"main img\");\n\n await new Promise(resolve => {\n if (lcpCandidate && !lcpCandidate.complete) {\n lcpCandidate.setAttribute(\"loading\", \"eager\");\n lcpCandidate.setAttribute(\"fetchpriority\", \"high\");\n lcpCandidate.addEventListener(\"load\", () => resolve());\n lcpCandidate.addEventListener(\"error\", () => resolve());\n } else {\n resolve();\n }\n });\n }\n\n private async loadBlock(section: HTMLElement) {\n const sectionsBlocks: BlockMapping[] = this.collectBlocks(section);\n\n if (!sectionsBlocks.length) {\n this.showSection(section);\n return;\n }\n\n const loadingPromises: Promise[] = [];\n\n for (const block of sectionsBlocks) {\n loadingPromises.push(this.loadBlockModules(block), this.loadBlockStyles(block));\n }\n\n await Promise.all(loadingPromises);\n this.showSection(section);\n }\n}\n","import \"Components/header.ts\";\nimport \"Components/icon/dva-e-icon.ts\";\nimport \"Components/dva-e-lazy-image/dva-e-lazy-image.ts\";\nimport \"Services/fetch.service.ts\";\nimport \"Components/dvag-m-c11-accordion/dvag-m-c11-accordion.ts\";\nimport { ConsentManagementService } from \"Services/ConsentManagementService.ts\";\n\nimport { BlockService } from \"./services/block.service.ts\";\nimport { SectionService } from \"./services/section.service.ts\";\nimport { MainService } from \"./services/main.service.ts\";\n\n(async function () {\n // preloadLcpImageCandidate();\n const blockService = new BlockService();\n const sectionService = new SectionService(blockService);\n const main = new MainService(sectionService, blockService);\n await main.init();\n})();\n\ndeclare global {\n interface Window {\n hlx: {\n RUM_MASK_URL: string;\n codeBasePath: string;\n lighthouse: boolean;\n };\n Granite: any;\n _dvaConsentManagementService: ConsentManagementService;\n }\n}\n"],"file":"main/main.js"} \ No newline at end of file diff --git a/dist/quicklinks/quicklinks.js b/dist/quicklinks/quicklinks.js index 73b2307..03695ab 100644 --- a/dist/quicklinks/quicklinks.js +++ b/dist/quicklinks/quicklinks.js @@ -1,2 +1,2 @@ -import{c as d}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{j as l,x as t}from"../__chunks__/lit-element.XkUWx5ik.js";import{r as m}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/dva-e-icon.template.tppk8KWP.js";const v=i=>t``;function h(i){const a=[...i.children].map(e=>{const s=e.children[0].querySelector("picture > img"),n=(s==null?void 0:s.src)||"",r=e.children[1].textContent||"",o=e.children[2].textContent||"";return{name:r,url:o,src:n}});d(i),l(v(a),i)}export{h as default}; +import{c as r}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{j as l,x as a}from"../__chunks__/lit-element.XkUWx5ik.js";import{r as m}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/dva-e-icon.template.tppk8KWP.js";const v=i=>a``;function _(i){const t=[...i.children].map(e=>{const s=e.children[0].querySelector("picture > img"),n=(s==null?void 0:s.src)||"",o=e.children[1].textContent||"",d=e.children[2].textContent||"";return{name:o,url:d,src:n}});r(i),l(v(t),i)}export{_ as default}; //# sourceMappingURL=quicklinks.js.map diff --git a/dist/quicklinks/quicklinks.js.map b/dist/quicklinks/quicklinks.js.map index 9d48703..8985c8e 100644 --- a/dist/quicklinks/quicklinks.js.map +++ b/dist/quicklinks/quicklinks.js.map @@ -1 +1 @@ -{"version":3,"file":"quicklinks.js","sources":["../../src/blocks/quicklinks/quicklinks.ts"],"sourcesContent":["import { cleanUpBlock } from \"Utils/cleanUpBlock\";\nimport { html, render } from \"lit\";\nimport \"./quicklinks.scss\";\nimport { renderLazyImage } from \"Components/dva-e-lazy-image/dva-e-lazy-image.template\";\n\ninterface QuicklinkTemplateArgs {\n url?: string;\n name?: string;\n src?: string;\n}\n\nconst quicklinkTemplateOverview = (args: QuicklinkTemplateArgs[]) => {\n return html`\n \n `;\n};\n\nexport default function (block: HTMLElement) {\n const rows = [...block.children];\n const templateArgs = rows.map(row => {\n const image = row.children[0].querySelector(\"picture > img\");\n const src = image?.src || \"\";\n const name = row.children[1].textContent || \"\";\n const url = row.children[2].textContent || \"\";\n return { name, url, src };\n });\n\n cleanUpBlock(block);\n render(quicklinkTemplateOverview(templateArgs), block);\n}\n"],"names":["quicklinkTemplateOverview","args","html","item","renderLazyImage","quicklinks","block","templateArgs","row","image","src","name","url","cleanUpBlock","render"],"mappings":"oVAWA,MAAMA,EAA6BC,GAC1BC,kQAMGD,EAAK,IACGE,GAAAD,4NAK8DC,EAAK,GAAG,KACtEC,EAAgB,CAChB,IAAKD,EAAK,KAAO,GACjB,IAAK,OACL,YAAa,MACb,WAAY,iCACb,CAAA,CAAC,+CAC4CA,EAAK,IAAI,sCAI9D,CAAA,wDAQX,SAAAE,EAAyBC,EAAoB,CAErC,MAAAC,EADO,CAAC,GAAGD,EAAM,QAAQ,EACL,IAAWE,GAAA,CACnC,MAAMC,EAAQD,EAAI,SAAS,CAAC,EAAE,cAAgC,eAAe,EACvEE,GAAMD,GAAA,YAAAA,EAAO,MAAO,GACpBE,EAAOH,EAAI,SAAS,CAAC,EAAE,aAAe,GACtCI,EAAMJ,EAAI,SAAS,CAAC,EAAE,aAAe,GACpC,MAAA,CAAE,KAAAG,EAAM,IAAAC,EAAK,IAAAF,EAAI,CACzB,EAEDG,EAAaP,CAAK,EACXQ,EAAAd,EAA0BO,CAAY,EAAGD,CAAK,CACvD"} \ No newline at end of file +{"version":3,"file":"quicklinks.js","sources":["../../src/blocks/quicklinks/quicklinks.ts"],"sourcesContent":["import { cleanUpBlock } from \"Utils/cleanUpBlock\";\nimport { html, render } from \"lit\";\nimport \"./quicklinks.scss\";\nimport { renderLazyImage } from \"Components/dva-e-lazy-image/dva-e-lazy-image.template\";\n\ninterface QuicklinkTemplateArgs {\n url?: string;\n name?: string;\n src?: string;\n}\n\nconst quicklinkTemplateOverview = (args: QuicklinkTemplateArgs[]) => {\n return html`\n \n `;\n};\n\nexport default function (block: HTMLElement) {\n const rows = [...block.children];\n const templateArgs = rows.map(row => {\n const image = row.children[0].querySelector(\"picture > img\");\n const src = image?.src || \"\";\n const name = row.children[1].textContent || \"\";\n const url = row.children[2].textContent || \"\";\n return { name, url, src };\n });\n\n cleanUpBlock(block);\n render(quicklinkTemplateOverview(templateArgs), block);\n}\n"],"names":["quicklinkTemplateOverview","args","html","item","renderLazyImage","quicklinks","block","templateArgs","row","image","src","name","url","cleanUpBlock","render"],"mappings":"oVAWA,MAAMA,EAA6BC,GAC1BC,0SAOKD,EAAK,IACGE,GAAAD,4NAK8DC,EAAK,GAAG,KACtEC,EAAgB,CAChB,IAAKD,EAAK,KAAO,GACjB,IAAK,OACL,YAAa,MACb,WAAY,iCACb,CAAA,CAAC,+CAC4CA,EAAK,IAAI,sCAI9D,CAAA,8DASb,SAAAE,EAAyBC,EAAoB,CAErC,MAAAC,EADO,CAAC,GAAGD,EAAM,QAAQ,EACL,IAAWE,GAAA,CACnC,MAAMC,EAAQD,EAAI,SAAS,CAAC,EAAE,cAAgC,eAAe,EACvEE,GAAMD,GAAA,YAAAA,EAAO,MAAO,GACpBE,EAAOH,EAAI,SAAS,CAAC,EAAE,aAAe,GACtCI,EAAMJ,EAAI,SAAS,CAAC,EAAE,aAAe,GACpC,MAAA,CAAE,KAAAG,EAAM,IAAAC,EAAK,IAAAF,EAAI,CACzB,EAEDG,EAAaP,CAAK,EACXQ,EAAAd,EAA0BO,CAAY,EAAGD,CAAK,CACvD"} \ No newline at end of file diff --git a/src/blocks/quicklinks/quicklinks.ts b/src/blocks/quicklinks/quicklinks.ts index 278ae58..9242757 100644 --- a/src/blocks/quicklinks/quicklinks.ts +++ b/src/blocks/quicklinks/quicklinks.ts @@ -11,32 +11,34 @@ interface QuicklinkTemplateArgs { const quicklinkTemplateOverview = (args: QuicklinkTemplateArgs[]) => { return html` - \n `;\n};\n"],"names":["renderCssClasses","cssClasses","getObjectFitVal","aspectRatio","getObjectPositionVal","getAspectRatioClass","shouldRenderErrorPlaceholder","args","renderErrorPlaceholder","forceRender","html","ANIMATE","renderIcon","renderPlaceholder","nothing","lazyImageTemplate","dvaELazyImageShadowScss","renderLazyImage","ifDefined"],"mappings":"qMAAa,MAAAA,EAAoBC,GAC3BA,IAAe,OAAkB,GAC9B,IAAIA,CAAU,i9JCgBjBC,EAAmBC,GACnBA,IAAgB,QAAgB,QAChCA,IAAgB,UAAkB,UAC/B,OAGHC,EAAuB,IACpB,UAGHC,EAAuBF,GACvBA,IAAgB,OAAe,sDAC/BA,IAAgB,OAAe,sDAC/BA,IAAgB,MAAc,qDAC9BA,IAAgB,MAAc,qDAC9BA,IAAgB,MAAc,qDAC9BA,IAAgB,MAAc,qDAC9BA,IAAgB,MAAc,qDAC9BA,IAAgB,QAAgB,qDAChCA,IAAgB,UAAkB,uDAC/B,6BAGHG,EAAgCC,GAC7B,EAAEA,EAAK,UAAU,WAAa,IAASA,EAAK,UAAU,2BAA6B,IAGtFC,EAAyB,CAACD,EAAkCE,EAAc,KAC1EA,IAAgB,IAAS,CAACH,EAA6BC,CAAI,EAAU,GAElEG,wDACiDH,EAAK,UAAU,SAAWI,EAAU,EAAE,KACxFC,EAAW,8BAA+B,qCAAqC,CAAC,SAKlFC,EAAqBN,GACrBA,EAAK,UAAU,gBAAkB,GAAaO,EAC9CP,EAAK,UAAU,qBAAuB,IAAMA,EAAK,UAAU,iCAAmC,GACzFC,EAAuBD,EAAM,EAAI,EAGnCG,iGAIIH,EAAK,UAAU,kBAAkB,YAChC,IAAM,CACZA,EAAK,UAAU,yBAA2B,GAC1CA,EAAK,UAAU,+BAAiC,EACjD,CAAA,aACQ,IAAM,CACbA,EAAK,UAAU,yBAA2B,GAC1CA,EAAK,UAAU,+BAAiC,EAAA,CACjD,sBACiBL,EAAgBK,EAAK,UAAU,cAAc,CAAC,2BACzCH,GAAsB,KAKtCW,EAAqBR,GACzBG,WAEDM,CAAuB,uBAEbX,EAAoBE,EAAK,UAAU,cAAc,CAAC,uEAE1DM,EAAkBN,CAAI,CAAC,+FAKbA,EAAK,MAAM,UACdA,EAAK,GAAG,YACNA,EAAK,KAAK,sBACDL,EAAgBK,EAAK,UAAU,cAAc,CAAC,2BACzCH,GAAsB,MAE7CI,EAAuBD,CAAI,CAAC,eAMzBU,EAAmBV,GACvBG,6CAEsBV,EAAiBO,EAAK,UAAU,CAAC,UACnDA,EAAK,GAAG,UACTW,EAAUX,EAAK,GAAG,CAAC,aAChBW,EAAUX,EAAK,MAAM,CAAC,YACvBW,EAAUX,EAAK,KAAK,CAAC,0BACPW,EAAUX,EAAK,kBAAkB,CAAC,mBACzCW,EAAUX,EAAK,WAAW,CAAC,cAChCW,EAAUX,EAAK,OAAO,CAAC"} \ No newline at end of file diff --git a/dist/__chunks__/dva-e-lazy-image.template.ZrSM01wa.js b/dist/__chunks__/dva-e-lazy-image.template.zlMtuWyq.js similarity index 83% rename from dist/__chunks__/dva-e-lazy-image.template.ZrSM01wa.js rename to dist/__chunks__/dva-e-lazy-image.template.zlMtuWyq.js index 45c84aa..a7b342c 100644 --- a/dist/__chunks__/dva-e-lazy-image.template.ZrSM01wa.js +++ b/dist/__chunks__/dva-e-lazy-image.template.zlMtuWyq.js @@ -1,2 +1,2 @@ -import{x as i,T as r}from"./lit-element.XkUWx5ik.js";import{o as e}from"./if-defined.JfW-uEqn.js";import{e as n}from"./cssClasses.CIN72OsW.js";import{r as m}from"./dva-e-icon.template.tppk8KWP.js";const _=a=>a===void 0?"":` ${a}`,p=':host{display:block}.dva-e-lazy-image__mask{position:relative;overflow:hidden;width:100%;height:0;pointer-events:none}.dva-e-lazy-image__mask--16-9{padding-bottom:56.25%}.dva-e-lazy-image__mask--21-9{padding-bottom:42.8571428571%}.dva-e-lazy-image__mask--4-3{padding-bottom:75%}.dva-e-lazy-image__mask--3-2{padding-bottom:66.6666666667%}.dva-e-lazy-image__mask--1-1{padding-bottom:100%}.dva-e-lazy-image__mask--2-3{padding-bottom:150%}.dva-e-lazy-image__mask--4-5{padding-bottom:125%}.dva-e-lazy-image__wrapper{opacity:1;line-height:0;transition:opacity .3s ease-in-out}.dva-e-lazy-image__wrapper.dva-state-hidden{display:none}.dva-e-lazy-image__wrapper.dva-state-loading{position:relative;min-height:200px}.dva-e-lazy-image__mask .dva-e-lazy-image__wrapper.dva-state-loading{position:initial;min-height:initial}.dva-e-lazy-image__img{position:relative;width:100%;opacity:0;transition:opacity .1s ease-in-out}.dva-e-lazy-image__img.dva-state-loaded{opacity:1}.dva-e-lazy-image__img--placeholder{position:absolute;top:0;left:0;transform:scaleX(1.1);width:100%;height:100%;opacity:1;filter:blur(10px)}.dva-e-lazy-image__img--placeholder.dva-state-hidden{opacity:0;transition:opacity .01s ease-out .1s}.dva-e-lazy-image__wrapper--has-overwidth .dva-e-lazy-image__img{width:auto;height:100%}.dva-e-lazy-image__no-ratio,.dva-e-lazy-image__no-ratio .dva-e-lazy-image__wrapper{width:inherit;height:inherit}.dva-e-lazy-image__no-ratio .dva-e-lazy-image__img{width:inherit;max-width:100%;height:inherit}.dva-e-lazy-image__cover{width:100%;height:100%}.dva-e-lazy-image__cover .dva-e-lazy-image__img{position:absolute;top:0;left:0;object-fit:cover;object-position:var(--dva-image-object-position, 50% 50%)}.dva-e-lazy-image__contain .dva-e-lazy-image__img{position:absolute;top:0;left:0;width:calc(100% - 2 * var(--dva-image-padding, 0px));height:calc(100% - 2 * var(--dva-image-padding, 0px));padding:var(--dva-image-padding, 0);object-fit:contain;object-position:var(--dva-image-object-position, 50% 50%);background:var(--dva-image-background, transparent)}.dva-e-lazy-image__mask--21-9 .dva-e-lazy-image__wrapper{position:relative}.dva-e-lazy-image__mask--21-9 .dva-e-lazy-image__wrapper:before{content:"";display:block;width:100%;padding-top:42.8571428571%;pointer-events:none}.dva-e-lazy-image__mask--21-9 .dva-e-lazy-image__wrapper>.dva-e-lazy-image__img{position:absolute;top:0;left:0}.dva-e-lazy-image__mask--16-9 .dva-e-lazy-image__wrapper{position:relative}.dva-e-lazy-image__mask--16-9 .dva-e-lazy-image__wrapper:before{content:"";display:block;width:100%;padding-top:56.25%;pointer-events:none}.dva-e-lazy-image__mask--16-9 .dva-e-lazy-image__wrapper>.dva-e-lazy-image__img{position:absolute;top:0;left:0}.dva-e-lazy-image__mask--4-3 .dva-e-lazy-image__wrapper{position:relative}.dva-e-lazy-image__mask--4-3 .dva-e-lazy-image__wrapper:before{content:"";display:block;width:100%;padding-top:75%;pointer-events:none}.dva-e-lazy-image__mask--4-3 .dva-e-lazy-image__wrapper>.dva-e-lazy-image__img{position:absolute;top:0;left:0}.dva-e-lazy-image__mask--3-2 .dva-e-lazy-image__wrapper{position:relative}.dva-e-lazy-image__mask--3-2 .dva-e-lazy-image__wrapper:before{content:"";display:block;width:100%;padding-top:66.6666666667%;pointer-events:none}.dva-e-lazy-image__mask--3-2 .dva-e-lazy-image__wrapper>.dva-e-lazy-image__img{position:absolute;top:0;left:0}.dva-e-lazy-image__mask--1-1 .dva-e-lazy-image__wrapper{position:relative}.dva-e-lazy-image__mask--1-1 .dva-e-lazy-image__wrapper:before{content:"";display:block;width:100%;padding-top:100%;pointer-events:none}.dva-e-lazy-image__mask--1-1 .dva-e-lazy-image__wrapper>.dva-e-lazy-image__img{position:absolute;top:0;left:0}.dva-e-lazy-image__mask--2-3 .dva-e-lazy-image__wrapper{position:relative}.dva-e-lazy-image__mask--2-3 .dva-e-lazy-image__wrapper:before{content:"";display:block;width:100%;padding-top:150%;pointer-events:none}.dva-e-lazy-image__mask--2-3 .dva-e-lazy-image__wrapper>.dva-e-lazy-image__img{position:absolute;top:0;left:0}.dva-e-lazy-image__mask--4-5 .dva-e-lazy-image__wrapper{position:relative}.dva-e-lazy-image__mask--4-5 .dva-e-lazy-image__wrapper:before{content:"";display:block;width:100%;padding-top:125%;pointer-events:none}.dva-e-lazy-image__mask--4-5 .dva-e-lazy-image__wrapper>.dva-e-lazy-image__img{position:absolute;top:0;left:0}.dva-e-lazy-image__mask .dva-e-lazy-image__wrapper{position:absolute;width:100%;height:auto}.dva-e-lazy-image--circle{overflow:hidden;width:100%;padding:4px;border:1px solid #c8aa22;border-radius:100%;background:#fff}.dva-e-lazy-image--circle .dva-e-lazy-image__mask{display:block;overflow:hidden;width:100%;border-radius:100%}.dva-e-lazy-image__error-placeholder-box{position:absolute;top:0;left:0;display:flex;width:100%;height:100%;align-items:center;justify-content:center}.dva-e-lazy-image__error-placeholder-box.dva-state-animate{background:linear-gradient(to right,#ccc 4%,#999 36%,#ccc 54%);background-size:1000px 100%;animation:shimmer 3s infinite linear}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}',o=a=>a==="cover"?"cover":a==="contain"?"contain":"fill",t=()=>"50% 50%",g=a=>a==="21:9"?"dva-e-lazy-image__mask dva-e-lazy-image__mask--21-9":a==="16:9"?"dva-e-lazy-image__mask dva-e-lazy-image__mask--16-9":a==="4:3"?"dva-e-lazy-image__mask dva-e-lazy-image__mask--4-3":a==="3:2"?"dva-e-lazy-image__mask dva-e-lazy-image__mask--3-2":a==="1:1"?"dva-e-lazy-image__mask dva-e-lazy-image__mask--1-1":a==="2:3"?"dva-e-lazy-image__mask dva-e-lazy-image__mask--2-3":a==="4:5"?"dva-e-lazy-image__mask dva-e-lazy-image__mask--4-5":a==="cover"?"dva-e-lazy-image__no-ratio dva-e-lazy-image__cover":a==="contain"?"dva-e-lazy-image__no-ratio dva-e-lazy-image__contain":"dva-e-lazy-image__no-ratio",s=a=>!(a.component.hasError===!1||a.component.loadingPlaceholderLoaded===!0),d=(a,l=!1)=>l===!1&&!s(a)?"":i`
${m("dva-icon-image-gallery-72px","dva-e-lazy-image__error-placeholder")}
`,v=a=>a.component.noPlaceholder===!0?r:a.component.loadingPlaceholder===""||a.component.loadingPlaceholderLoadingError===!0?d(a,!0):i``,b=a=>i`
${v(a)} ${a.alt} ${d(a)}
`,k=a=>i``;export{_ as a,b as l,k as r}; -//# sourceMappingURL=dva-e-lazy-image.template.ZrSM01wa.js.map +import{x as i,T as r}from"./lit-element.XkUWx5ik.js";import{o as e}from"./if-defined.JfW-uEqn.js";import{e as n}from"./cssClasses.CIN72OsW.js";import{r as m}from"./dva-e-icon.template.tppk8KWP.js";const _=a=>a===void 0?"":` ${a}`,p=':host{display:block}.dva-e-lazy-image__mask{position:relative;overflow:hidden;width:100%;height:0;pointer-events:none}.dva-e-lazy-image__mask--16-9{padding-bottom:56.25%}.dva-e-lazy-image__mask--21-9{padding-bottom:42.8571428571%}.dva-e-lazy-image__mask--4-3{padding-bottom:75%}.dva-e-lazy-image__mask--3-2{padding-bottom:66.6666666667%}.dva-e-lazy-image__mask--1-1{padding-bottom:100%}.dva-e-lazy-image__mask--2-3{padding-bottom:150%}.dva-e-lazy-image__mask--4-5{padding-bottom:125%}.dva-e-lazy-image__wrapper{opacity:1;line-height:0;transition:opacity .3s ease-in-out}.dva-e-lazy-image__wrapper.dva-state-hidden{display:none}.dva-e-lazy-image__wrapper.dva-state-loading{position:relative;min-height:200px}.dva-e-lazy-image__mask .dva-e-lazy-image__wrapper.dva-state-loading{position:initial;min-height:initial}.dva-e-lazy-image__img{position:relative;width:100%;opacity:0;transition:opacity .1s ease-in-out}.dva-e-lazy-image__img.dva-state-loaded{opacity:1}.dva-e-lazy-image__img--placeholder{position:absolute;top:0;left:0;transform:scaleX(1.1);width:100%;height:100%;opacity:1;filter:blur(10px)}.dva-e-lazy-image__img--placeholder.dva-state-hidden{opacity:0;transition:opacity .01s ease-out .1s}.dva-e-lazy-image__wrapper--has-overwidth .dva-e-lazy-image__img{width:auto;height:100%}.dva-e-lazy-image__no-ratio,.dva-e-lazy-image__no-ratio .dva-e-lazy-image__wrapper{width:inherit;height:inherit}.dva-e-lazy-image__no-ratio .dva-e-lazy-image__img{width:inherit;max-width:100%;height:inherit}.dva-e-lazy-image__cover{width:100%;height:100%}.dva-e-lazy-image__cover .dva-e-lazy-image__img{position:absolute;top:0;left:0;object-fit:cover;object-position:var(--dva-image-object-position, 50% 50%)}.dva-e-lazy-image__contain .dva-e-lazy-image__img{position:absolute;top:0;left:0;width:calc(100% - 2 * var(--dva-image-padding, 0px));height:calc(100% - 2 * var(--dva-image-padding, 0px));padding:var(--dva-image-padding, 0);object-fit:contain;object-position:var(--dva-image-object-position, 50% 50%);background:var(--dva-image-background, transparent)}.dva-e-lazy-image__mask--21-9 .dva-e-lazy-image__wrapper{position:relative}.dva-e-lazy-image__mask--21-9 .dva-e-lazy-image__wrapper:before{content:"";display:block;width:100%;padding-top:42.8571428571%;pointer-events:none}.dva-e-lazy-image__mask--21-9 .dva-e-lazy-image__wrapper>.dva-e-lazy-image__img{position:absolute;top:0;left:0}.dva-e-lazy-image__mask--16-9 .dva-e-lazy-image__wrapper{position:relative}.dva-e-lazy-image__mask--16-9 .dva-e-lazy-image__wrapper:before{content:"";display:block;width:100%;padding-top:56.25%;pointer-events:none}.dva-e-lazy-image__mask--16-9 .dva-e-lazy-image__wrapper>.dva-e-lazy-image__img{position:absolute;top:0;left:0}.dva-e-lazy-image__mask--4-3 .dva-e-lazy-image__wrapper{position:relative}.dva-e-lazy-image__mask--4-3 .dva-e-lazy-image__wrapper:before{content:"";display:block;width:100%;padding-top:75%;pointer-events:none}.dva-e-lazy-image__mask--4-3 .dva-e-lazy-image__wrapper>.dva-e-lazy-image__img{position:absolute;top:0;left:0}.dva-e-lazy-image__mask--3-2 .dva-e-lazy-image__wrapper{position:relative}.dva-e-lazy-image__mask--3-2 .dva-e-lazy-image__wrapper:before{content:"";display:block;width:100%;padding-top:66.6666666667%;pointer-events:none}.dva-e-lazy-image__mask--3-2 .dva-e-lazy-image__wrapper>.dva-e-lazy-image__img{position:absolute;top:0;left:0}.dva-e-lazy-image__mask--1-1 .dva-e-lazy-image__wrapper{position:relative}.dva-e-lazy-image__mask--1-1 .dva-e-lazy-image__wrapper:before{content:"";display:block;width:100%;padding-top:100%;pointer-events:none}.dva-e-lazy-image__mask--1-1 .dva-e-lazy-image__wrapper>.dva-e-lazy-image__img{position:absolute;top:0;left:0}.dva-e-lazy-image__mask--2-3 .dva-e-lazy-image__wrapper{position:relative}.dva-e-lazy-image__mask--2-3 .dva-e-lazy-image__wrapper:before{content:"";display:block;width:100%;padding-top:150%;pointer-events:none}.dva-e-lazy-image__mask--2-3 .dva-e-lazy-image__wrapper>.dva-e-lazy-image__img{position:absolute;top:0;left:0}.dva-e-lazy-image__mask--4-5 .dva-e-lazy-image__wrapper{position:relative}.dva-e-lazy-image__mask--4-5 .dva-e-lazy-image__wrapper:before{content:"";display:block;width:100%;padding-top:125%;pointer-events:none}.dva-e-lazy-image__mask--4-5 .dva-e-lazy-image__wrapper>.dva-e-lazy-image__img{position:absolute;top:0;left:0}.dva-e-lazy-image__mask .dva-e-lazy-image__wrapper{position:absolute;width:100%;height:auto}.dva-e-lazy-image--circle{overflow:hidden;width:100%;padding:4px;border:1px solid #c8aa22;border-radius:100%;background:#fff}.dva-e-lazy-image--circle .dva-e-lazy-image__mask{display:block;overflow:hidden;width:100%;border-radius:100%}.dva-e-lazy-image__error-placeholder-box{position:absolute;top:0;left:0;display:flex;width:100%;height:100%;align-items:center;justify-content:center}.dva-e-lazy-image__error-placeholder-box.dva-state-animate{background:linear-gradient(to right,#ccc 4%,#999 36%,#ccc 54%);background-size:1000px 100%;animation:shimmer 3s infinite linear}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}',o=a=>a==="cover"?"cover":a==="contain"?"contain":"fill",t=()=>"50% 50%",g=a=>a==="21:9"?"dva-e-lazy-image__mask dva-e-lazy-image__mask--21-9":a==="16:9"?"dva-e-lazy-image__mask dva-e-lazy-image__mask--16-9":a==="4:3"?"dva-e-lazy-image__mask dva-e-lazy-image__mask--4-3":a==="3:2"?"dva-e-lazy-image__mask dva-e-lazy-image__mask--3-2":a==="1:1"?"dva-e-lazy-image__mask dva-e-lazy-image__mask--1-1":a==="2:3"?"dva-e-lazy-image__mask dva-e-lazy-image__mask--2-3":a==="4:5"?"dva-e-lazy-image__mask dva-e-lazy-image__mask--4-5":a==="cover"?"dva-e-lazy-image__no-ratio dva-e-lazy-image__cover":a==="contain"?"dva-e-lazy-image__no-ratio dva-e-lazy-image__contain":"dva-e-lazy-image__no-ratio",s=a=>!(a.component.hasError===!1||a.component.loadingPlaceholderLoaded===!0),d=(a,l=!1)=>l===!1&&!s(a)?"":i`
${m("dva-icon-image-gallery-72px","dva-e-lazy-image__error-placeholder")}
`,v=a=>a.component.noPlaceholder===!0?r:a.component.loadingPlaceholder===""||a.component.loadingPlaceholderLoadingError===!0?d(a,!0):i``,f=a=>i`
${v(a)} ${a.alt} ${d(a)}
`,b=a=>i``;export{_ as a,f as l,b as r}; +//# sourceMappingURL=dva-e-lazy-image.template.zlMtuWyq.js.map diff --git a/dist/__chunks__/dva-e-lazy-image.template.zlMtuWyq.js.map b/dist/__chunks__/dva-e-lazy-image.template.zlMtuWyq.js.map new file mode 100644 index 0000000..3b46cca --- /dev/null +++ b/dist/__chunks__/dva-e-lazy-image.template.zlMtuWyq.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dva-e-lazy-image.template.zlMtuWyq.js","sources":["../../src/utils/renderCssClasses.ts","../../src/components/dva-e-lazy-image/dva-e-lazy-image.template.ts"],"sourcesContent":["export const renderCssClasses = (cssClasses?: string) => {\n if (cssClasses === undefined) return \"\";\n return ` ${cssClasses}`;\n};\n","import { html, nothing } from \"lit-html\";\nimport { ifDefined } from \"lit-html/directives/if-defined.js\";\nimport { ANIMATE } from \"Constants/cssClasses\";\nimport { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { renderCssClasses } from \"Utils/renderCssClasses\";\n\nimport { DVALazyImage } from \"./dva-e-lazy-image\";\nimport dvaELazyImageShadowScss from \"./dva-e-lazy-image.shadow.scss?inline\";\nimport { RenderLazyImageArgs } from \"./dva-e-lazy-image.types\";\n\ntype LazyImageTemplateParameter = {\n alt?: string;\n srcset?: string;\n sizes?: string;\n wrapper?: string;\n component: DVALazyImage;\n};\n\nconst getObjectFitVal = (aspectRatio: string | null) => {\n if (aspectRatio === \"cover\") return \"cover\";\n if (aspectRatio === \"contain\") return \"contain\";\n return \"fill\";\n};\n\nconst getObjectPositionVal = () => {\n return \"50% 50%\";\n};\n\nconst getAspectRatioClass = (aspectRatio: string | null) => {\n if (aspectRatio === \"21:9\") return \"dva-e-lazy-image__mask dva-e-lazy-image__mask--21-9\";\n if (aspectRatio === \"16:9\") return \"dva-e-lazy-image__mask dva-e-lazy-image__mask--16-9\";\n if (aspectRatio === \"4:3\") return \"dva-e-lazy-image__mask dva-e-lazy-image__mask--4-3\";\n if (aspectRatio === \"3:2\") return \"dva-e-lazy-image__mask dva-e-lazy-image__mask--3-2\";\n if (aspectRatio === \"1:1\") return \"dva-e-lazy-image__mask dva-e-lazy-image__mask--1-1\";\n if (aspectRatio === \"2:3\") return \"dva-e-lazy-image__mask dva-e-lazy-image__mask--2-3\";\n if (aspectRatio === \"4:5\") return \"dva-e-lazy-image__mask dva-e-lazy-image__mask--4-5\";\n if (aspectRatio === \"cover\") return \"dva-e-lazy-image__no-ratio dva-e-lazy-image__cover\";\n if (aspectRatio === \"contain\") return \"dva-e-lazy-image__no-ratio dva-e-lazy-image__contain\";\n return \"dva-e-lazy-image__no-ratio\";\n};\n\nconst shouldRenderErrorPlaceholder = (args: LazyImageTemplateParameter) => {\n return !(args.component.hasError === false || args.component.loadingPlaceholderLoaded === true);\n};\n\nconst renderErrorPlaceholder = (args: LazyImageTemplateParameter, forceRender = false) => {\n if (forceRender === false && !shouldRenderErrorPlaceholder(args)) return \"\";\n\n return html`\n
\n ${renderIcon(\"dva-icon-image-gallery-72px\", \"dva-e-lazy-image__error-placeholder\")}\n
\n `;\n};\n\nconst renderPlaceholder = (args: LazyImageTemplateParameter) => {\n if (args.component.noPlaceholder === true) return nothing;\n if (args.component.loadingPlaceholder === \"\" || args.component.loadingPlaceholderLoadingError === true) {\n return renderErrorPlaceholder(args, true);\n }\n\n return html`\n {\n args.component.loadingPlaceholderLoaded = true;\n args.component.loadingPlaceholderLoadingError = false;\n }}\n @error=${() => {\n args.component.loadingPlaceholderLoaded = false;\n args.component.loadingPlaceholderLoadingError = true;\n }}\n data-object-fit=${getObjectFitVal(args.component.imgAspectRatio)}\n data-object-position=${getObjectPositionVal()}\n />\n `;\n};\n\nexport const lazyImageTemplate = (args: LazyImageTemplateParameter) => {\n return html`\n \n
\n
\n ${renderPlaceholder(args)}\n \n ${renderErrorPlaceholder(args)}\n
\n
\n `;\n};\n\nexport const renderLazyImage = (args: RenderLazyImageArgs) => {\n return html`\n \n \n `;\n};\n\nexport interface RenderLazyImagePlaceholderArgs {\n cssClasses?: string;\n aspectRatio: string;\n}\n\nexport const renderLazyImagePlaceholder = (args: RenderLazyImagePlaceholderArgs) => {\n return html`\n \n
\n ${renderIcon(\"dva-icon-image-gallery-72px\", \"dva-e-lazy-image__placeholder-icon\")}\n
\n \n `;\n};\n"],"names":["renderCssClasses","cssClasses","getObjectFitVal","aspectRatio","getObjectPositionVal","getAspectRatioClass","shouldRenderErrorPlaceholder","args","renderErrorPlaceholder","forceRender","html","ANIMATE","renderIcon","renderPlaceholder","nothing","ifDefined","lazyImageTemplate","dvaELazyImageShadowScss","renderLazyImage"],"mappings":"qMAAa,MAAAA,EAAoBC,GAC3BA,IAAe,OAAkB,GAC9B,IAAIA,CAAU,i9JCgBjBC,EAAmBC,GACnBA,IAAgB,QAAgB,QAChCA,IAAgB,UAAkB,UAC/B,OAGHC,EAAuB,IACpB,UAGHC,EAAuBF,GACvBA,IAAgB,OAAe,sDAC/BA,IAAgB,OAAe,sDAC/BA,IAAgB,MAAc,qDAC9BA,IAAgB,MAAc,qDAC9BA,IAAgB,MAAc,qDAC9BA,IAAgB,MAAc,qDAC9BA,IAAgB,MAAc,qDAC9BA,IAAgB,QAAgB,qDAChCA,IAAgB,UAAkB,uDAC/B,6BAGHG,EAAgCC,GAC7B,EAAEA,EAAK,UAAU,WAAa,IAASA,EAAK,UAAU,2BAA6B,IAGtFC,EAAyB,CAACD,EAAkCE,EAAc,KAC1EA,IAAgB,IAAS,CAACH,EAA6BC,CAAI,EAAU,GAElEG,wDACiDH,EAAK,UAAU,SAAWI,EAAU,EAAE,KACxFC,EAAW,8BAA+B,qCAAqC,CAAC,SAKlFC,EAAqBN,GACrBA,EAAK,UAAU,gBAAkB,GAAaO,EAC9CP,EAAK,UAAU,qBAAuB,IAAMA,EAAK,UAAU,iCAAmC,GACzFC,EAAuBD,EAAM,EAAI,EAGnCG,2GAIaK,EAAUR,EAAK,UAAU,aAAa,CAAC,cAC7CQ,EAAUR,EAAK,UAAU,OAAO,CAAC,UACpCA,EAAK,UAAU,kBAAkB,YAChC,IAAM,CACZA,EAAK,UAAU,yBAA2B,GAC1CA,EAAK,UAAU,+BAAiC,EACjD,CAAA,aACQ,IAAM,CACbA,EAAK,UAAU,yBAA2B,GAC1CA,EAAK,UAAU,+BAAiC,EAAA,CACjD,sBACiBL,EAAgBK,EAAK,UAAU,cAAc,CAAC,2BACzCH,GAAsB,KAKtCY,EAAqBT,GACzBG,WAEDO,CAAuB,uBAEbZ,EAAoBE,EAAK,UAAU,cAAc,CAAC,uEAE1DM,EAAkBN,CAAI,CAAC,+FAKbA,EAAK,MAAM,UACdA,EAAK,GAAG,YACNA,EAAK,KAAK,oBACHQ,EAAUR,EAAK,UAAU,aAAa,CAAC,cAC7CQ,EAAUR,EAAK,UAAU,OAAO,CAAC,sBACzBL,EAAgBK,EAAK,UAAU,cAAc,CAAC,2BACzCH,GAAsB,MAE7CI,EAAuBD,CAAI,CAAC,eAMzBW,EAAmBX,GACvBG,6CAEsBV,EAAiBO,EAAK,UAAU,CAAC,UACnDA,EAAK,GAAG,UACTQ,EAAUR,EAAK,GAAG,CAAC,aAChBQ,EAAUR,EAAK,MAAM,CAAC,YACvBQ,EAAUR,EAAK,KAAK,CAAC,0BACPQ,EAAUR,EAAK,kBAAkB,CAAC,mBACzCQ,EAAUR,EAAK,WAAW,CAAC,cAChCQ,EAAUR,EAAK,OAAO,CAAC"} \ No newline at end of file diff --git a/dist/article-stage/article-stage.js b/dist/article-stage/article-stage.js index 4f8e80a..91336af 100644 --- a/dist/article-stage/article-stage.js +++ b/dist/article-stage/article-stage.js @@ -1,2 +1,2 @@ -import{o as r}from"../__chunks__/if-defined.JfW-uEqn.js";import{j as t,x as e}from"../__chunks__/lit-element.XkUWx5ik.js";import"../__chunks__/dva-e-lazy-image.UCrOhMiV.js";import"../__chunks__/component.module.D5fmAfIh.js";import"../__chunks__/index.module.BEmWgxQc.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/mediaQueries.0eOxrCUs.js";import"../__chunks__/getSrcset.ehtWqR_R.js";import"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/dva-e-icon.template.tppk8KWP.js";const s=a=>e`
`;function f(a){const i=a.querySelector("picture > img"),d=i==null?void 0:i.src;a.innerHTML="",a.style.removeProperty("display"),t(s(d),a)}export{f as default}; +import{o as r}from"../__chunks__/if-defined.JfW-uEqn.js";import{j as t,x as e}from"../__chunks__/lit-element.XkUWx5ik.js";import"../__chunks__/dva-e-lazy-image.691n9Yp7.js";import"../__chunks__/component.module.D5fmAfIh.js";import"../__chunks__/index.module.BEmWgxQc.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/mediaQueries.0eOxrCUs.js";import"../__chunks__/getSrcset.ehtWqR_R.js";import"../__chunks__/dva-e-lazy-image.template.zlMtuWyq.js";import"../__chunks__/dva-e-icon.template.tppk8KWP.js";const s=a=>e`
`;function f(a){const i=a.querySelector("picture > img"),d=i==null?void 0:i.src;a.innerHTML="",a.style.removeProperty("display"),t(s(d),a)}export{f as default}; //# sourceMappingURL=article-stage.js.map diff --git a/dist/article-teaser-row/article-teaser-row.js b/dist/article-teaser-row/article-teaser-row.js index d3cf004..bc98e37 100644 --- a/dist/article-teaser-row/article-teaser-row.js +++ b/dist/article-teaser-row/article-teaser-row.js @@ -1,2 +1,2 @@ -import{a as _,r as b}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import{r as $}from"../__chunks__/dva-e-icon.template.tppk8KWP.js";import{j as x,x as a}from"../__chunks__/lit-element.XkUWx5ik.js";import{o as c}from"../__chunks__/if-defined.JfW-uEqn.js";import{c as C}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import"../__chunks__/cssClasses.CIN72OsW.js";const U=e=>a`
`,T=e=>a`

${e.headline}

${e.teasers.map(n=>U(n))}
`;function R(e){const n=e.children[0].textContent||"",i=[...e.children[1].children].map((v,s)=>{const r=v.querySelector("img"),h=e.children[2].children[s].textContent||"",m=e.children[3].children[s].textContent||"",p=e.children[4].children[s].textContent||"",l=e.children[5].children[s].querySelector("a"),f=(l==null?void 0:l.getAttribute("href"))||"",u=(l==null?void 0:l.textContent)||"";return{linkUrl:f,imageSrc:(r==null?void 0:r.src)||"",topline:h,headline:m,text:p,linkLabel:u}}),t=e.children[6].querySelector("a"),o=(t==null?void 0:t.getAttribute("href"))||"",d=(t==null?void 0:t.textContent)||"";C(e),x(T({headline:n,teasers:i,ctaLabel:d,ctaUrl:o}),e)}export{R as default}; +import{a as _,r as b}from"../__chunks__/dva-e-lazy-image.template.zlMtuWyq.js";import{r as $}from"../__chunks__/dva-e-icon.template.tppk8KWP.js";import{j as x,x as a}from"../__chunks__/lit-element.XkUWx5ik.js";import{o as c}from"../__chunks__/if-defined.JfW-uEqn.js";import{c as C}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import"../__chunks__/cssClasses.CIN72OsW.js";const U=e=>a`
`,T=e=>a`

${e.headline}

${e.teasers.map(n=>U(n))}
`;function R(e){const n=e.children[0].textContent||"",i=[...e.children[1].children].map((v,s)=>{const r=v.querySelector("img"),h=e.children[2].children[s].textContent||"",m=e.children[3].children[s].textContent||"",p=e.children[4].children[s].textContent||"",l=e.children[5].children[s].querySelector("a"),f=(l==null?void 0:l.getAttribute("href"))||"",u=(l==null?void 0:l.textContent)||"";return{linkUrl:f,imageSrc:(r==null?void 0:r.src)||"",topline:h,headline:m,text:p,linkLabel:u}}),t=e.children[6].querySelector("a"),o=(t==null?void 0:t.getAttribute("href"))||"",d=(t==null?void 0:t.textContent)||"";C(e),x(T({headline:n,teasers:i,ctaLabel:d,ctaUrl:o}),e)}export{R as default}; //# sourceMappingURL=article-teaser-row.js.map diff --git a/dist/barcomponent/barcomponent.js b/dist/barcomponent/barcomponent.js index f5befe8..b7c1752 100644 --- a/dist/barcomponent/barcomponent.js +++ b/dist/barcomponent/barcomponent.js @@ -1,2 +1,2 @@ -import{c as r}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{j as l,x as i}from"../__chunks__/lit-element.XkUWx5ik.js";import{r as n}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/dva-e-icon.template.tppk8KWP.js";const v=({header:s,image:a,text:t})=>i`
${n({cssClasses:"dvag-m-c05-list-entry__image",src:(a==null?void 0:a.src)||"",alt:a==null?void 0:a.alt,aspectRatio:"cover"})}

${s}

${t}

`,o=({bars:s,buttonLabel:a,header:t,subheader:e})=>i`

${e}

${t}

${s.map(c=>v(c))}
`,d=(s,a)=>{var e;return((e=s.children[a].textContent)==null?void 0:e.trim())??""},m=s=>[...s.children[3].children].map((a,t)=>({image:a.querySelector("img")||void 0,header:d(s.children[4],t),text:d(s.children[5],t)}));function y(s){const a={subheader:d(s,0),header:d(s,1),buttonLabel:d(s,2),bars:m(s)};r(s),l(o(a),s)}export{y as default}; +import{c as r}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{j as l,x as i}from"../__chunks__/lit-element.XkUWx5ik.js";import{r as n}from"../__chunks__/dva-e-lazy-image.template.zlMtuWyq.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/dva-e-icon.template.tppk8KWP.js";const v=({header:s,image:a,text:t})=>i`
${n({cssClasses:"dvag-m-c05-list-entry__image",src:(a==null?void 0:a.src)||"",alt:a==null?void 0:a.alt,aspectRatio:"cover"})}

${s}

${t}

`,o=({bars:s,buttonLabel:a,header:t,subheader:e})=>i`

${e}

${t}

${s.map(c=>v(c))}
`,d=(s,a)=>{var e;return((e=s.children[a].textContent)==null?void 0:e.trim())??""},m=s=>[...s.children[3].children].map((a,t)=>({image:a.querySelector("img")||void 0,header:d(s.children[4],t),text:d(s.children[5],t)}));function y(s){const a={subheader:d(s,0),header:d(s,1),buttonLabel:d(s,2),bars:m(s)};r(s),l(o(a),s)}export{y as default}; //# sourceMappingURL=barcomponent.js.map diff --git a/dist/c01d-teaser/c01d-teaser.js b/dist/c01d-teaser/c01d-teaser.js index 2d229e8..c943447 100644 --- a/dist/c01d-teaser/c01d-teaser.js +++ b/dist/c01d-teaser/c01d-teaser.js @@ -1,2 +1,2 @@ -import{c as g}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{j as p,x as h}from"../__chunks__/lit-element.XkUWx5ik.js";import{o as _}from"../__chunks__/unsafe-html.tmuruS4o.js";import{g as a}from"../__chunks__/getSrcset.ehtWqR_R.js";import{r as s}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/dva-e-icon.template.tppk8KWP.js";const x=e=>h`
${s({cssClasses:"dvag-m-c01d-teaser__image dva-h-preload dvag-m-c01d-teaser__image dva-h-preload--21-9 dvag-m-c01d-teaser__image--mobile",src:e.imgMobile,alt:"",srcset:a(e.imgMobile,[480,760,1024,1280,1440,1460]),sizes:"(min-width: 1460px) 1460px, 100vw",aspectRatio:"21:9"})} ${s({cssClasses:"dvag-m-c01d-teaser__image dva-h-preload dvag-m-c01d-teaser__image dva-h-preload--21-9 dvag-m-c01d-teaser__image--desktop",src:e.imgDesktop,alt:"teaser-ki-klopp-21_9.jpg",srcset:a(e.imgDesktop,[480,760,1024,1280,1440,1460]),sizes:"(min-width: 1460px) 1460px, 100vw",aspectRatio:"21:9"})}

${e.subheadline}

${e.headline}
${_(e.text)}
`;function B(e){const d=e.classList.contains("text-left")?"text-left":"text-right",i=e.children[0].textContent||"",r=e.children[1].textContent||"",n=e.children[2].textContent||"",t=e.children[3].getElementsByTagName("a")[0],o=e.children[3].textContent||"",c=(t==null?void 0:t.href)||"",m=e.children[4].getElementsByTagName("img")[0].src,l=e.children[5].getElementsByTagName("img")[0].src,v=e.children[6].textContent||"#CCDDE4";g(e),p(x({subheadline:i,headline:r,text:n,btnText:o,btnUrl:c,variant:d,imgDesktop:m,imgMobile:l,gradientColor:v}),e)}export{B as default}; +import{c as g}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{j as p,x as h}from"../__chunks__/lit-element.XkUWx5ik.js";import{o as _}from"../__chunks__/unsafe-html.tmuruS4o.js";import{g as a}from"../__chunks__/getSrcset.ehtWqR_R.js";import{r as s}from"../__chunks__/dva-e-lazy-image.template.zlMtuWyq.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/dva-e-icon.template.tppk8KWP.js";const x=e=>h`
${s({cssClasses:"dvag-m-c01d-teaser__image dva-h-preload dvag-m-c01d-teaser__image dva-h-preload--21-9 dvag-m-c01d-teaser__image--mobile",src:e.imgMobile,alt:"",srcset:a(e.imgMobile,[480,760,1024,1280,1440,1460]),sizes:"(min-width: 1460px) 1460px, 100vw",aspectRatio:"21:9"})} ${s({cssClasses:"dvag-m-c01d-teaser__image dva-h-preload dvag-m-c01d-teaser__image dva-h-preload--21-9 dvag-m-c01d-teaser__image--desktop",src:e.imgDesktop,alt:"teaser-ki-klopp-21_9.jpg",srcset:a(e.imgDesktop,[480,760,1024,1280,1440,1460]),sizes:"(min-width: 1460px) 1460px, 100vw",aspectRatio:"21:9"})}

${e.subheadline}

${e.headline}
${_(e.text)}
`;function B(e){const d=e.classList.contains("text-left")?"text-left":"text-right",i=e.children[0].textContent||"",r=e.children[1].textContent||"",n=e.children[2].textContent||"",t=e.children[3].getElementsByTagName("a")[0],o=e.children[3].textContent||"",c=(t==null?void 0:t.href)||"",m=e.children[4].getElementsByTagName("img")[0].src,l=e.children[5].getElementsByTagName("img")[0].src,v=e.children[6].textContent||"#CCDDE4";g(e),p(x({subheadline:i,headline:r,text:n,btnText:o,btnUrl:c,variant:d,imgDesktop:m,imgMobile:l,gradientColor:v}),e)}export{B as default}; //# sourceMappingURL=c01d-teaser.js.map diff --git a/dist/c25-vb-about-me/c25-vb-about-me.js b/dist/c25-vb-about-me/c25-vb-about-me.js index 5d02ae9..305cb9f 100644 --- a/dist/c25-vb-about-me/c25-vb-about-me.js +++ b/dist/c25-vb-about-me/c25-vb-about-me.js @@ -1,2 +1,2 @@ -import{c as f}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{j as w,x as l,T as x}from"../__chunks__/lit-element.XkUWx5ik.js";import{r as m}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import{r as v}from"../__chunks__/dva-e-icon.template.tppk8KWP.js";import{U as C,N as c,M as g,R as b,S as $}from"../__chunks__/component.module.D5fmAfIh.js";import{l as I,o as O,g as M,f as T,b as R,c as E,w as k,a as S,i as V}from"../__chunks__/index.module.BEmWgxQc.js";import{I as u}from"../__chunks__/eventTypes.voneREpA.js";import{I as j}from"../__chunks__/cssClasses.CIN72OsW.js";import{m as _}from"../__chunks__/mediaQueries.0eOxrCUs.js";import"../__chunks__/dvag-m-basic-slider.9KGES2Bh.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/LazyConnectService.yBR27czX.js";var B=Object.defineProperty,P=Object.getOwnPropertyDescriptor,r=(e,t,d,a)=>{for(var s=a>1?void 0:a?P(t,d):t,o=e.length-1,n;o>=0;o--)(n=e[o])&&(s=(a?n(t,d,s):n(s))||s);return a&&s&&B(t,d,s),s};let i=class extends C{constructor(){super(...arguments),this.viewportObserver=I.getInstance()}afterComponentRender(){this.viewportObserver.observe(this),O(this.galleryImages,"dva-image-loaded",this.handleLoadedImages,this),this.initGalleryButton()}initGalleryButton(){this.gallerySlides.length<4||(this.galleryCounter.innerHTML=`${this.gallerySlides.length}`)}handleLoadedImages({detail:e}){const t=e.target;this.setCaptionWidth(t)}setCaptionWidth(e){const t=e.offsetWidth,d=M(e,".dvag-m-basic-slider__slide"),a=T(d,".dvag-m-basic-slider__slide-text");a!==null&&a.setAttribute("style",`width: ${t}px;`)}handleOverlayTogglesClick(){R(_)<="MQ3"||this.overlay.open()}handleViewportChange(){this.viewportObserver.unobserve(this),E(this,u,this.handleViewportChange,this),k(100).then(()=>S(this.gallerySlides,j))}handleMQChange(){this.galleryImages.forEach(e=>{this.setCaptionWidth(e)})}};r([c(".dvag-m-c25-vb-about-me__gallery-slide")],i.prototype,"gallerySlides",2);r([c(".dvag-m-c25-vb-about-me__gallery-slide .dva-e-lazy-image")],i.prototype,"galleryImages",2);r([c(".dvag-m-c25-vb-about-me__gallery-overlay-toggle")],i.prototype,"galleryOverlayToggles",2);r([g(".dvag-m-c25-vb-about-me__gallery-button-counter")],i.prototype,"galleryCounter",2);r([g(".dvag-m-c25-vb-about-me__overlay")],i.prototype,"overlay",2);r([b("galleryOverlayToggles","click")],i.prototype,"handleOverlayTogglesClick",1);r([b("this",u)],i.prototype,"handleViewportChange",1);r([b("window",V)],i.prototype,"handleMQChange",1);i=r([$(_)],i);customElements.define("dvag-m-c25-vb-about-me",i);const W=e=>{var t,d;return l`

${e.name}

${e.headline}

${e.text}

${(d=e.images)==null?void 0:d.map(a=>l`
${m({src:a.src,alt:a.description,aspectRatio:a.aspectRatio})}

${a.description}

`)}
`};function K(e){const t=e.children[0].textContent||"",d=e.children[1].textContent||"",a=e.children[2].textContent||"",s=[3,4,5].map(o=>{const n=e.children[o],p=n.children[0].getElementsByTagName("img")[0].src||"",h=o===3?"16:9":"1:1",y=n.children[1].textContent||"";return{src:p,description:y,aspectRatio:h}});f(e),w(W({name:t,headline:d,text:a,images:s}),e)}export{K as default}; +import{c as f}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{j as w,x as l,T as x}from"../__chunks__/lit-element.XkUWx5ik.js";import{r as m}from"../__chunks__/dva-e-lazy-image.template.zlMtuWyq.js";import{r as v}from"../__chunks__/dva-e-icon.template.tppk8KWP.js";import{U as C,N as c,M as g,R as b,S as $}from"../__chunks__/component.module.D5fmAfIh.js";import{l as I,o as O,g as M,f as T,b as R,c as E,w as k,a as S,i as V}from"../__chunks__/index.module.BEmWgxQc.js";import{I as u}from"../__chunks__/eventTypes.voneREpA.js";import{I as j}from"../__chunks__/cssClasses.CIN72OsW.js";import{m as _}from"../__chunks__/mediaQueries.0eOxrCUs.js";import"../__chunks__/dvag-m-basic-slider.9KGES2Bh.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/LazyConnectService.yBR27czX.js";var B=Object.defineProperty,P=Object.getOwnPropertyDescriptor,r=(e,t,d,a)=>{for(var s=a>1?void 0:a?P(t,d):t,o=e.length-1,n;o>=0;o--)(n=e[o])&&(s=(a?n(t,d,s):n(s))||s);return a&&s&&B(t,d,s),s};let i=class extends C{constructor(){super(...arguments),this.viewportObserver=I.getInstance()}afterComponentRender(){this.viewportObserver.observe(this),O(this.galleryImages,"dva-image-loaded",this.handleLoadedImages,this),this.initGalleryButton()}initGalleryButton(){this.gallerySlides.length<4||(this.galleryCounter.innerHTML=`${this.gallerySlides.length}`)}handleLoadedImages({detail:e}){const t=e.target;this.setCaptionWidth(t)}setCaptionWidth(e){const t=e.offsetWidth,d=M(e,".dvag-m-basic-slider__slide"),a=T(d,".dvag-m-basic-slider__slide-text");a!==null&&a.setAttribute("style",`width: ${t}px;`)}handleOverlayTogglesClick(){R(_)<="MQ3"||this.overlay.open()}handleViewportChange(){this.viewportObserver.unobserve(this),E(this,u,this.handleViewportChange,this),k(100).then(()=>S(this.gallerySlides,j))}handleMQChange(){this.galleryImages.forEach(e=>{this.setCaptionWidth(e)})}};r([c(".dvag-m-c25-vb-about-me__gallery-slide")],i.prototype,"gallerySlides",2);r([c(".dvag-m-c25-vb-about-me__gallery-slide .dva-e-lazy-image")],i.prototype,"galleryImages",2);r([c(".dvag-m-c25-vb-about-me__gallery-overlay-toggle")],i.prototype,"galleryOverlayToggles",2);r([g(".dvag-m-c25-vb-about-me__gallery-button-counter")],i.prototype,"galleryCounter",2);r([g(".dvag-m-c25-vb-about-me__overlay")],i.prototype,"overlay",2);r([b("galleryOverlayToggles","click")],i.prototype,"handleOverlayTogglesClick",1);r([b("this",u)],i.prototype,"handleViewportChange",1);r([b("window",V)],i.prototype,"handleMQChange",1);i=r([$(_)],i);customElements.define("dvag-m-c25-vb-about-me",i);const W=e=>{var t,d;return l`

${e.name}

${e.headline}

${e.text}

${(d=e.images)==null?void 0:d.map(a=>l`
${m({src:a.src,alt:a.description,aspectRatio:a.aspectRatio})}

${a.description}

`)}
`};function K(e){const t=e.children[0].textContent||"",d=e.children[1].textContent||"",a=e.children[2].textContent||"",s=[3,4,5].map(o=>{const n=e.children[o],p=n.children[0].getElementsByTagName("img")[0].src||"",h=o===3?"16:9":"1:1",y=n.children[1].textContent||"";return{src:p,description:y,aspectRatio:h}});f(e),w(W({name:t,headline:d,text:a,images:s}),e)}export{K as default}; //# sourceMappingURL=c25-vb-about-me.js.map diff --git a/dist/cta-block/cta-block.js b/dist/cta-block/cta-block.js index 101b3c2..828a65f 100644 --- a/dist/cta-block/cta-block.js +++ b/dist/cta-block/cta-block.js @@ -1,2 +1,2 @@ -import{c as s}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{j as v,x as i,T as l}from"../__chunks__/lit-element.XkUWx5ik.js";import{r as p}from"../__chunks__/dva-e-icon.template.tppk8KWP.js";import{r as m}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/cssClasses.CIN72OsW.js";const g=t=>t!=null&&t.src?i`
${m({aspectRatio:"1:1",cssClasses:"dvag-m-c19-cta-block__vb-image",wrapper:"circle",src:t?t.src:"",alt:t?t.alt:""})}
`:l,b=({buttonLabel:t,color:a,iconName:c,image:e,text:r,advisorName:n,advisorTitle:o,options:d})=>i`
${g(e)}

${r}

${o} ${n}

${p(c,"dva-e-button__icon")} ${t}
`,_=t=>`dvag-h-${t}`,u=t=>[...t.classList].filter(a=>!["block","teaser"].includes(a)).map(a=>a.includes("margin")||a.includes("typography")?_(a):a).join(" ");function w(t){var c,e,r,n,o,d;const a={image:t.querySelector("img")||void 0,advisorName:((c=t.children[1].textContent)==null?void 0:c.trim())||"",text:((e=t.children[2].textContent)==null?void 0:e.trim())||"",buttonLabel:((r=t.children[4].textContent)==null?void 0:r.trim())||"",iconName:((n=t.children[3].textContent)==null?void 0:n.trim())||"dva-icon-speechbubble-24px",color:((o=t.children[5].textContent)==null?void 0:o.trim())||"",advisorTitle:((d=t.children[6].textContent)==null?void 0:d.trim())||"",options:u(t)};s(t),v(b(a),t)}export{w as default}; +import{c as s}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{j as v,x as i,T as l}from"../__chunks__/lit-element.XkUWx5ik.js";import{r as p}from"../__chunks__/dva-e-icon.template.tppk8KWP.js";import{r as m}from"../__chunks__/dva-e-lazy-image.template.zlMtuWyq.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/cssClasses.CIN72OsW.js";const g=t=>t!=null&&t.src?i`
${m({aspectRatio:"1:1",cssClasses:"dvag-m-c19-cta-block__vb-image",wrapper:"circle",src:t?t.src:"",alt:t?t.alt:""})}
`:l,b=({buttonLabel:t,color:a,iconName:c,image:e,text:r,advisorName:n,advisorTitle:o,options:d})=>i`
${g(e)}

${r}

${o} ${n}

${p(c,"dva-e-button__icon")} ${t}
`,_=t=>`dvag-h-${t}`,u=t=>[...t.classList].filter(a=>!["block","teaser"].includes(a)).map(a=>a.includes("margin")||a.includes("typography")?_(a):a).join(" ");function w(t){var c,e,r,n,o,d;const a={image:t.querySelector("img")||void 0,advisorName:((c=t.children[1].textContent)==null?void 0:c.trim())||"",text:((e=t.children[2].textContent)==null?void 0:e.trim())||"",buttonLabel:((r=t.children[4].textContent)==null?void 0:r.trim())||"",iconName:((n=t.children[3].textContent)==null?void 0:n.trim())||"dva-icon-speechbubble-24px",color:((o=t.children[5].textContent)==null?void 0:o.trim())||"",advisorTitle:((d=t.children[6].textContent)==null?void 0:d.trim())||"",options:u(t)};s(t),v(b(a),t)}export{w as default}; //# sourceMappingURL=cta-block.js.map diff --git a/dist/main/main.js b/dist/main/main.js index b5de654..606a21b 100644 --- a/dist/main/main.js +++ b/dist/main/main.js @@ -1,8 +1,8 @@ -import{s as x,x as r,T,j as y}from"../__chunks__/lit-element.XkUWx5ik.js";import{n as E,t as A}from"../__chunks__/property.0daVBkvz.js";import{o as u}from"../__chunks__/unsafe-html.tmuruS4o.js";import{f as q}from"../__chunks__/fetch.service.FjW5hVu3.js";import{r as d}from"../__chunks__/dva-e-icon.template.tppk8KWP.js";import"../__chunks__/dva-e-icon.JvN5hF7V.js";import"../__chunks__/dva-e-lazy-image.UCrOhMiV.js";import"../__chunks__/dvag-m-c11-accordion.rKKpSxDv.js";import{_ as z}from"../__chunks__/preload-helper.hlDPvxQM.js";import{r as _}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/component.module.D5fmAfIh.js";import"../__chunks__/index.module.BEmWgxQc.js";import"../__chunks__/LazyConnectService.yBR27czX.js";import"../__chunks__/eventTypes.voneREpA.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/mediaQueries.0eOxrCUs.js";import"../__chunks__/getSrcset.ehtWqR_R.js";import"../__chunks__/if-defined.JfW-uEqn.js";/** +import{s as x,x as r,T,j as y}from"../__chunks__/lit-element.XkUWx5ik.js";import{n as E,t as A}from"../__chunks__/property.0daVBkvz.js";import{o as u}from"../__chunks__/unsafe-html.tmuruS4o.js";import{f as q}from"../__chunks__/fetch.service.FjW5hVu3.js";import{r as d}from"../__chunks__/dva-e-icon.template.tppk8KWP.js";import"../__chunks__/dva-e-icon.JvN5hF7V.js";import"../__chunks__/dva-e-lazy-image.691n9Yp7.js";import"../__chunks__/dvag-m-c11-accordion.rKKpSxDv.js";import{_ as z}from"../__chunks__/preload-helper.hlDPvxQM.js";import{r as _}from"../__chunks__/dva-e-lazy-image.template.zlMtuWyq.js";import"../__chunks__/component.module.D5fmAfIh.js";import"../__chunks__/index.module.BEmWgxQc.js";import"../__chunks__/LazyConnectService.yBR27czX.js";import"../__chunks__/eventTypes.voneREpA.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/mediaQueries.0eOxrCUs.js";import"../__chunks__/getSrcset.ehtWqR_R.js";import"../__chunks__/if-defined.JfW-uEqn.js";/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */function D(s){return E({...s,state:!0,attribute:!1})}function M({input:s,specifier:e,htmlTag:a}){return s.split(e).map((t,i)=>i%2===1?`<${a}>${t}`:t).join("")}var I=Object.defineProperty,F=Object.getOwnPropertyDescriptor,B=(s,e,a,t)=>{for(var i=t>1?void 0:t?F(e,a):e,n=s.length-1,o;n>=0;n--)(o=s[n])&&(i=(t?o(e,a,i):o(i))||i);return t&&i&&I(e,a,i),i};let b=class extends x{createRenderRoot(){return this}async firstUpdated(s){await this.fetchHeaderData()}async fetchHeaderData(){try{const s=await q.fetchJson("header.json",{cacheOptions:{cacheType:"runtime"}});this.headerData={leftCol:s.leftCol.data[0],rightCol:s.rightCol.data}}catch(s){console.error("HeaderComponent: ",s)}}render(){if(!this.headerData)return;const{leftCol:s,rightCol:e}=this.headerData,a=M({input:s.logoText,htmlTag:"strong",specifier:":::"}),t=u(a);return r``}};B([D()],b.prototype,"headerData",2);b=B([A("header-component")],b);function f(s){return s.toLowerCase().replace(/[^0-9a-z]/gi,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}class j{readBlockConfig(e){const a={};return e.querySelectorAll(":scope > div").forEach(t=>{if(t.children){const i=[...t.children];if(i[1]){const n=i[1],o=f(i[0].textContent??"");let c="";if(n.querySelector("a")){const l=[...n.querySelectorAll("a")];l.length===1?c=l[0].href:c=l.map(v=>v.href)}else if(n.querySelector("img")){const l=[...n.querySelectorAll("img")];l.length===1?c=l[0].src:c=l.map(v=>v.src)}else if(n.querySelector("p")){const l=[...n.querySelectorAll("p")];l.length===1?c=l[0].textContent:c=l.map(v=>v.textContent)}else c=t.children[1].textContent;a[o]=c}}}),a}decorateBlocks(e){e.querySelectorAll("div.section > div > div").forEach(this.decorateBlock)}decorateBlock(e){const a=e.classList[0];if(a){e.classList.add("block"),e.dataset.blockName=a;const t=e.parentElement;t==null||t.classList.add(`${a}-wrapper`);const i=e.closest(".section");i&&i.classList.add(`${a}-container`)}}}function N(s){return f(s).replace(/-([a-z])/g,e=>e[1].toUpperCase())}class U{constructor(e){this.blockService=e}init(e){this.transformSection(e)}transformSection(e){e.querySelectorAll(":scope > div").forEach(a=>{this.adjustMarkup(a),this.processSectionMetaData(a)})}processSectionMetaData(e){const a=e.querySelector("div.section-metadata");if(a){const t=this.blockService.readBlockConfig(a);Object.keys(t).forEach(i=>{i==="style"?t.style.split(",").filter(o=>o).map(o=>f(o.trim())).forEach(o=>e.classList.add(o)):e.dataset[N(i)]=t[i]}),a.parentElement&&a.parentElement.remove()}}adjustMarkup(e){const a=[];let t=!1;[...e.children].forEach(i=>{if(i.tagName==="DIV"||!t){const n=document.createElement("div");a.push(n),t=i.tagName!=="DIV",t&&n.classList.add("default-content-wrapper")}a[a.length-1].append(i)}),a.forEach(i=>e.append(i)),this.decorateImages(),e.classList.add("section"),e.dataset.sectionStatus="initialized",e.style.display="none"}decorateImages(){document.querySelectorAll(".default-content-wrapper picture").forEach(a=>{const t=a.parentElement;t&&t.classList.add("image","main")})}}const k=()=>r`
`,H=s=>s.label===void 0?"":r`${s.label}`,R=s=>s.iconID===void 0?"":r``,p=s=>s.shouldRender===!1?"":r`${H(s)} ${R(s)}`,O=()=>r``,V=[{headline:{label:"Unternehmen",link:"#"},items:[{label:"Über uns",link:"#"},{label:"Geschäftsleitung",link:"#"},{label:"Markenbotschafter",link:"#"},{label:"Struktur & Geschichte",link:"#"},{label:"Unternehmensbericht",link:"#"},{label:"Presseservice",link:"#"},{label:"Standorte",link:"#"},{label:"Gezielte und nachhaltige Hilfe",link:"#"}]},{headline:{label:"Beratung",link:"#"},items:[{label:"Unser Beratungsmodell",link:"#"},{label:"Leistungen für Privatkunden",link:"#"},{label:"Leistungen für Firmenkunden",link:"#"},{label:"Finanztipps",link:"#"},{label:"Produktpartner",link:"#"},{label:"Ansprechpartner finden",link:"#"},{label:"Nachhaltigkeit (EGS)",link:"#"}]},{headline:{label:"Erfahrungen & Bewertungen",link:"#"},items:[{label:"Kundenbewertungen",link:"#"},{label:"Zertifikate & Auszeichnungen",link:"#"}]},{headline:{label:"Karriere",link:"#"},items:[{label:"Karriere als selbstständiger Finanzcoach",link:"#"},{label:"Teamblog",link:"#"},{label:"Karriere in der Unternehmenszentrale",link:"#"}]}],G=[{icon:"dva-icon-instagram-24px"},{icon:"dva-icon-facebook-24px"},{icon:"dva-icon-tiktok-24px"},{icon:"dva-icon-linkedin-24px"},{icon:"dva-icon-xing-24px"},{icon:"dva-icon-youtube-24px"},{icon:"dva-icon-twitter-24px"}],C={navigationSections:V,socialLinks:G},K=()=>r``,W=()=>r`${C.navigationSections.map(s=>r`
`)}
`,w=(s=!1)=>r`
${W()}
${O()}
${K()}
`;function g(s,e=document){const a=s&&s.includes(":")?"property":"name",i=[...e.head.querySelectorAll(`meta[${a}="${s}"]`)].map(n=>n.content).join(", ");return i.length?i:""}const S=()=>g("breadcrumb")!=="true"?T:r`
`,P=()=>{const s=document.querySelector("#main");return s?window.location.href==="about:srcdoc"&&s.classList.contains("sidekick-library"):!1},$=(s,e)=>{e.split(",").forEach(a=>{s.classList.add(f(a.trim()))})},J={mainTsPath:"src/main.ts",mainScssPath:"src/styles/index.scss",iconsDirPath:"./public/icons",iconsTypesPath:"./src/icons.types.ts",fontsScssPath:"src/styles/fonts.scss",lazyStylesScssPath:"src/styles/lazy-styles.scss",sidekickLibraryStylesScssPath:"src/styles/sidekick-library-styles.scss"};function L(){return P()?window.parent.location:window.location}const h=class h{};h.unloaded="unloaded",h.loading="loading",h.loaded="loaded",h.error="error";let m=h;class Z{constructor(e,a){this.sectionService=e,this.blockService=a,this.lcpBlocks=["article-stage","article-header","article-overview","vb-stage"],this.init=async()=>{this.setup(),await this.loadEager(),await this.loadLazy()},this.loadEager=async()=>{document.documentElement.lang="en",this.decorateTemplateAndTheme();const t=document.querySelector("main");if(t){this.sectionService.init(t),this.blockService.decorateBlocks(t),this.decorateDefaultContent(t),this.renderLayout(t),setTimeout(()=>{document.body.classList.add("show")},100),await this.waitForLCP();try{(window.innerWidth>=900||sessionStorage.getItem("fonts-loaded"))&&await this.loadFonts()}catch{}}},this.loadLazy=async()=>{const{lazyStylesScssPath:t,sidekickLibraryStylesScssPath:i,fontsScssPath:n}=J;try{t&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`),i&&P()&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`),n&&await this.loadFonts(),await this.loadCSS(`${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,`${window.hlx.codeBasePath}/dist/styles/styles.css`),await this.loadBlocks()}catch(o){console.error("Load lazy error: ",o);try{await this.loadBlocks()}catch(c){console.error("Load blocks error: ",c)}}},this.loadBlocks=async()=>{const i=[...document.querySelectorAll(".section")].map(n=>this.loadBlock(n));await Promise.all(i)}}setup(){window.hlx=window.hlx||{},window.hlx.RUM_MASK_URL="full",window.hlx.codeBasePath="",window.hlx.lighthouse=new URLSearchParams(L().search).get("lighthouse")==="on";const e=document.querySelector('script[src$="/scripts/scripts.js"]');if(e)try{[window.hlx.codeBasePath]=new URL(e.src).pathname.split("/scripts/scripts.js")}catch(a){console.log(a)}}decorateDefaultContent(e){const a=e.querySelectorAll(".default-content-wrapper");a&&a.forEach(t=>{const i=r`
${u(t.innerHTML)}
`;t.innerHTML="",y(i,t)})}articleBodyTemplate(e){return r`
${k()} ${S()} ${u(e)} ${w()}
`}bodyTemplate(e){return r`
${k()} ${S()} ${u(e)} ${w()}
`}renderBodyTemplate(e){return g("template")==="article"&&this.articleBodyTemplate(e),this.bodyTemplate(e)}renderLayout(e){const a=e.innerHTML,t=document.querySelector("header"),i=document.querySelector("footer"),n=e,o=document.querySelector("body");o&&(y(this.renderBodyTemplate(a),o),i==null||i.remove(),t==null||t.remove(),n.remove())}decorateTemplateAndTheme(){const e=g("template");e&&$(document.body,e);const a=g("theme");a&&$(document.body,a)}collectBlocks(e){const a=[];return e.querySelectorAll("[data-block-name]").forEach(i=>{a.push({name:i.dataset.blockName,element:i})}),a}async loadBlockModules(e){if((e.element.dataset.blockStatus??m.unloaded)===m.unloaded){e.element.dataset.blockStatus=m.loading;try{const t=await z(()=>import(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.js`),__vite__mapDeps([]));t.default&&await t.default(e.element),e.element.dataset.blockStatus=m.loaded}catch(t){e.element.dataset.blockStatus=m.error,console.error("An error occurred during module import:",t)}}}async loadBlockStyles(e){try{await this.loadCSS(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.css`)}catch{console.error(`problem with block '${e.name}' loading styles`)}}showSection(e){e.style.removeProperty("display")}async loadFonts(){await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);try{L().hostname.includes("localhost")||sessionStorage.setItem("fonts-loaded","true")}catch{}}async loadCSS(e,a){return new Promise((t,i)=>{if(document.querySelector(`head > link[href="${e}"]`))t(!0);else{const n=document.createElement("link");if(n.rel="stylesheet",n.href=e,n.onload=t,n.onerror=i,a!==void 0){const o=document.querySelector(`head > link[href="${a}"]`);o&&o.before(n)}else document.head.append(n)}})}async waitForLCP(){const e=document.querySelector(".section");if(e){const i=this.collectBlocks(e).map(async n=>{this.lcpBlocks.includes(n.name)&&await Promise.all([this.loadBlockModules(n),this.loadBlockStyles(n)])});await Promise.all(i),this.showSection(e)}document.body.style.display=null;const a=document.querySelector("main img");await new Promise(t=>{a&&!a.complete?(a.setAttribute("loading","eager"),a.setAttribute("fetchpriority","high"),a.addEventListener("load",()=>t()),a.addEventListener("error",()=>t())):t()})}async loadBlock(e){const a=this.collectBlocks(e);if(!a.length){this.showSection(e);return}const t=[];for(const i of a)t.push(this.loadBlockModules(i),this.loadBlockStyles(i));await Promise.all(t),this.showSection(e)}}(async function(){const s=new j,e=new U(s);await new Z(e,s).init()})(); + */function D(s){return E({...s,state:!0,attribute:!1})}function M({input:s,specifier:e,htmlTag:a}){return s.split(e).map((t,i)=>i%2===1?`<${a}>${t}`:t).join("")}var I=Object.defineProperty,F=Object.getOwnPropertyDescriptor,B=(s,e,a,t)=>{for(var i=t>1?void 0:t?F(e,a):e,n=s.length-1,o;n>=0;n--)(o=s[n])&&(i=(t?o(e,a,i):o(i))||i);return t&&i&&I(e,a,i),i};let b=class extends x{createRenderRoot(){return this}async firstUpdated(s){await this.fetchHeaderData()}async fetchHeaderData(){try{const s=await q.fetchJson("header.json",{cacheOptions:{cacheType:"runtime"}});this.headerData={leftCol:s.leftCol.data[0],rightCol:s.rightCol.data}}catch(s){console.error("HeaderComponent: ",s)}}render(){if(!this.headerData)return;const{leftCol:s,rightCol:e}=this.headerData,a=M({input:s.logoText,htmlTag:"strong",specifier:":::"}),t=u(a);return r``}};B([D()],b.prototype,"headerData",2);b=B([A("header-component")],b);function f(s){return s.toLowerCase().replace(/[^0-9a-z]/gi,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}class j{readBlockConfig(e){const a={};return e.querySelectorAll(":scope > div").forEach(t=>{if(t.children){const i=[...t.children];if(i[1]){const n=i[1],o=f(i[0].textContent??"");let c="";if(n.querySelector("a")){const l=[...n.querySelectorAll("a")];l.length===1?c=l[0].href:c=l.map(v=>v.href)}else if(n.querySelector("img")){const l=[...n.querySelectorAll("img")];l.length===1?c=l[0].src:c=l.map(v=>v.src)}else if(n.querySelector("p")){const l=[...n.querySelectorAll("p")];l.length===1?c=l[0].textContent:c=l.map(v=>v.textContent)}else c=t.children[1].textContent;a[o]=c}}}),a}decorateBlocks(e){e.querySelectorAll("div.section > div > div").forEach(this.decorateBlock)}decorateBlock(e){const a=e.classList[0];if(a){e.classList.add("block"),e.dataset.blockName=a;const t=e.parentElement;t==null||t.classList.add(`${a}-wrapper`);const i=e.closest(".section");i&&i.classList.add(`${a}-container`)}}}function N(s){return f(s).replace(/-([a-z])/g,e=>e[1].toUpperCase())}class U{constructor(e){this.blockService=e}init(e){this.transformSection(e)}transformSection(e){e.querySelectorAll(":scope > div").forEach(a=>{this.adjustMarkup(a),this.processSectionMetaData(a)})}processSectionMetaData(e){const a=e.querySelector("div.section-metadata");if(a){const t=this.blockService.readBlockConfig(a);Object.keys(t).forEach(i=>{i==="style"?t.style.split(",").filter(o=>o).map(o=>f(o.trim())).forEach(o=>e.classList.add(o)):e.dataset[N(i)]=t[i]}),a.parentElement&&a.parentElement.remove()}}adjustMarkup(e){const a=[];let t=!1;[...e.children].forEach(i=>{if(i.tagName==="DIV"||!t){const n=document.createElement("div");a.push(n),t=i.tagName!=="DIV",t&&n.classList.add("default-content-wrapper")}a[a.length-1].append(i)}),a.forEach(i=>e.append(i)),this.decorateImages(),e.classList.add("section"),e.dataset.sectionStatus="initialized",e.style.display="none"}decorateImages(){document.querySelectorAll(".default-content-wrapper picture").forEach(a=>{const t=a.parentElement;t&&t.classList.add("image","main")})}}const k=()=>r`
`,H=s=>s.label===void 0?"":r`${s.label}`,R=s=>s.iconID===void 0?"":r``,p=s=>s.shouldRender===!1?"":r`${H(s)} ${R(s)}`,O=()=>r``,V=[{headline:{label:"Unternehmen",link:"#"},items:[{label:"Über uns",link:"#"},{label:"Geschäftsleitung",link:"#"},{label:"Markenbotschafter",link:"#"},{label:"Struktur & Geschichte",link:"#"},{label:"Unternehmensbericht",link:"#"},{label:"Presseservice",link:"#"},{label:"Standorte",link:"#"},{label:"Gezielte und nachhaltige Hilfe",link:"#"}]},{headline:{label:"Beratung",link:"#"},items:[{label:"Unser Beratungsmodell",link:"#"},{label:"Leistungen für Privatkunden",link:"#"},{label:"Leistungen für Firmenkunden",link:"#"},{label:"Finanztipps",link:"#"},{label:"Produktpartner",link:"#"},{label:"Ansprechpartner finden",link:"#"},{label:"Nachhaltigkeit (EGS)",link:"#"}]},{headline:{label:"Erfahrungen & Bewertungen",link:"#"},items:[{label:"Kundenbewertungen",link:"#"},{label:"Zertifikate & Auszeichnungen",link:"#"}]},{headline:{label:"Karriere",link:"#"},items:[{label:"Karriere als selbstständiger Finanzcoach",link:"#"},{label:"Teamblog",link:"#"},{label:"Karriere in der Unternehmenszentrale",link:"#"}]}],G=[{icon:"dva-icon-instagram-24px"},{icon:"dva-icon-facebook-24px"},{icon:"dva-icon-tiktok-24px"},{icon:"dva-icon-linkedin-24px"},{icon:"dva-icon-xing-24px"},{icon:"dva-icon-youtube-24px"},{icon:"dva-icon-twitter-24px"}],C={navigationSections:V,socialLinks:G},K=()=>r``,W=()=>r`${C.navigationSections.map(s=>r`
`)}
`,w=(s=!1)=>r`
${W()}
${O()}
${K()}
`;function g(s,e=document){const a=s&&s.includes(":")?"property":"name",i=[...e.head.querySelectorAll(`meta[${a}="${s}"]`)].map(n=>n.content).join(", ");return i.length?i:""}const S=()=>g("breadcrumb")!=="true"?T:r`
`,P=()=>{const s=document.querySelector("#main");return s?window.location.href==="about:srcdoc"&&s.classList.contains("sidekick-library"):!1},$=(s,e)=>{e.split(",").forEach(a=>{s.classList.add(f(a.trim()))})},J={mainTsPath:"src/main.ts",mainScssPath:"src/styles/index.scss",iconsDirPath:"./public/icons",iconsTypesPath:"./src/icons.types.ts",fontsScssPath:"src/styles/fonts.scss",lazyStylesScssPath:"src/styles/lazy-styles.scss",sidekickLibraryStylesScssPath:"src/styles/sidekick-library-styles.scss"};function L(){return P()?window.parent.location:window.location}const h=class h{};h.unloaded="unloaded",h.loading="loading",h.loaded="loaded",h.error="error";let m=h;class Z{constructor(e,a){this.sectionService=e,this.blockService=a,this.lcpBlocks=["article-stage","article-header","article-overview","vb-stage"],this.init=async()=>{this.setup(),await this.loadEager(),await this.loadLazy()},this.loadEager=async()=>{document.documentElement.lang="en",this.decorateTemplateAndTheme();const t=document.querySelector("main");if(t){this.sectionService.init(t),this.blockService.decorateBlocks(t),this.decorateDefaultContent(t),this.renderLayout(t),setTimeout(()=>{document.body.classList.add("show")},100),await this.waitForLCP();try{(window.innerWidth>=900||sessionStorage.getItem("fonts-loaded"))&&await this.loadFonts()}catch{}}},this.loadLazy=async()=>{const{lazyStylesScssPath:t,sidekickLibraryStylesScssPath:i,fontsScssPath:n}=J;try{t&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`),i&&P()&&await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`),n&&await this.loadFonts(),await this.loadCSS(`${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,`${window.hlx.codeBasePath}/dist/styles/styles.css`),await this.loadBlocks()}catch(o){console.error("Load lazy error: ",o);try{await this.loadBlocks()}catch(c){console.error("Load blocks error: ",c)}}},this.loadBlocks=async()=>{const i=[...document.querySelectorAll(".section")].map(n=>this.loadBlock(n));await Promise.all(i)}}setup(){window.hlx=window.hlx||{},window.hlx.RUM_MASK_URL="full",window.hlx.codeBasePath="",window.hlx.lighthouse=new URLSearchParams(L().search).get("lighthouse")==="on";const e=document.querySelector('script[src$="/scripts/scripts.js"]');if(e)try{[window.hlx.codeBasePath]=new URL(e.src).pathname.split("/scripts/scripts.js")}catch(a){console.log(a)}}decorateDefaultContent(e){const a=e.querySelectorAll(".default-content-wrapper");a&&a.forEach(t=>{const i=r`
${u(t.innerHTML)}
`;t.innerHTML="",y(i,t)})}articleBodyTemplate(e){return r`
${k()} ${S()} ${u(e)} ${w()}
`}bodyTemplate(e){return r`
${k()} ${S()} ${u(e)} ${w()}
`}renderBodyTemplate(e){return g("template")==="article"&&this.articleBodyTemplate(e),this.bodyTemplate(e)}renderLayout(e){const a=e.innerHTML,t=document.querySelector("header"),i=document.querySelector("footer"),n=e,o=document.querySelector("body");o&&(y(this.renderBodyTemplate(a),o),i==null||i.remove(),t==null||t.remove(),n.remove())}decorateTemplateAndTheme(){const e=g("template");e&&$(document.body,e);const a=g("theme");a&&$(document.body,a)}collectBlocks(e){const a=[];return e.querySelectorAll("[data-block-name]").forEach(i=>{a.push({name:i.dataset.blockName,element:i})}),a}async loadBlockModules(e){if((e.element.dataset.blockStatus??m.unloaded)===m.unloaded){e.element.dataset.blockStatus=m.loading;try{const t=await z(()=>import(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.js`),__vite__mapDeps([]));t.default&&await t.default(e.element),e.element.dataset.blockStatus=m.loaded}catch(t){e.element.dataset.blockStatus=m.error,console.error("An error occurred during module import:",t)}}}async loadBlockStyles(e){try{await this.loadCSS(`${window.hlx.codeBasePath}/dist/${e.name}/${e.name}.css`)}catch{console.error(`problem with block '${e.name}' loading styles`)}}showSection(e){e.style.removeProperty("display")}async loadFonts(){await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);try{L().hostname.includes("localhost")||sessionStorage.setItem("fonts-loaded","true")}catch{}}async loadCSS(e,a){return new Promise((t,i)=>{if(document.querySelector(`head > link[href="${e}"]`))t(!0);else{const n=document.createElement("link");if(n.rel="stylesheet",n.href=e,n.onload=t,n.onerror=i,a!==void 0){const o=document.querySelector(`head > link[href="${a}"]`);o&&o.before(n)}else document.head.append(n)}})}async waitForLCP(){const e=document.querySelector(".section");if(e){const i=this.collectBlocks(e).map(async n=>{this.lcpBlocks.includes(n.name)&&await Promise.all([this.loadBlockModules(n),this.loadBlockStyles(n)])});await Promise.all(i),this.showSection(e)}document.body.style.display=null;const a=document.querySelector("dva-e-lazy-image");await new Promise(t=>{a&&!a.complete?(a.setAttribute("loading","eager"),a.setAttribute("fetchpriority","high"),a.setAttribute("init","explicit"),a.addEventListener("load",()=>t()),a.addEventListener("error",()=>t())):t()})}async loadBlock(e){const a=this.collectBlocks(e);if(!a.length){this.showSection(e);return}const t=[];for(const i of a)t.push(this.loadBlockModules(i),this.loadBlockStyles(i));await Promise.all(t),this.showSection(e)}}(async function(){const s=new j,e=new U(s);await new Z(e,s).init()})(); function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { __vite__mapDeps.viteFileDeps = [] diff --git a/dist/main/main.js.map b/dist/main/main.js.map index cdad4b2..0b2b443 100644 --- a/dist/main/main.js.map +++ b/dist/main/main.js.map @@ -1 +1 @@ -{"version":3,"mappings":"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","names":["r","t","replaceBySpecifier","input","specifier","htmlTag","part","index","HeaderComponent","LitElement","_changedProperties","response","FetchService","error","leftCol","rightCol","logoText","logoTextHTML","unsafeHTML","html","item","renderIcon","__decorateClass","state","customElement","toClassName","name","BlockService","block","config","row","cols","col","value","as","a","imgs","img","ps","p","main","shortBlockName","blockWrapper","section","toCamelCase","g","SectionService","blockService","container","sectionMeta","meta","key","style","wrappers","defaultContent","e","wrapper","parentElement","headerTemplate","renderLabel","args","dvaLinkTemplate","renderFooterAwardsTemplate","renderLazyImage","renderFooterSocialLinksTemplate","data","socialLink","renderFooterNavigationTemplate","renderFooter","borderTop","getMetadata","doc","attr","metaElement","renderBreadcrumpNavigationTemplate","nothing","isSidekickLibraryActive","addClasses","element","classes","cssClass","getLocation","_Status","Status","MainService","sectionService","lazyStylesScssPath","sidekickLibraryStylesScssPath","fontsScssPath","err","SectionsPromises","scriptEl","defaultContentWrappers","template","render","children","edsHeader","edsFooter","edsMain","body","theme","blockMap","blockModule","__vitePreload","href","insertBefore","resolve","reject","link","before","firstSection","blockPromises","lcpCandidate","sectionsBlocks","loadingPromises"],"sources":["../../node_modules/@lit/reactive-element/decorators/state.js","../../src/utils/replaceBySpecifier.ts","../../src/components/header.ts","../../src/utils/toClassName.ts","../../src/services/block.service.ts","../../src/utils/toCamelCase.ts","../../src/services/section.service.ts","../../src/components/dvag-m-n01-header/dvag-m-n01-header.template.ts","../../src/components/dva-e-link/dva-e-link.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__awards.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__social-links.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__navigation.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts","../../src/utils/getMetadata.ts","../../src/components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts","../../src/sidekickHelpers/isSidekickLibraryActive.ts","../../src/utils/addClasses.ts","../../config.ts","../../src/sidekickHelpers/getLocation.ts","../../src/services/main.service.ts","../../src/main.ts"],"sourcesContent":["import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * Represents the structure of an object used to specify replacements in a string.\n *\n * @interface ReplaceBySpecifier\n * @property {string} input - The input string where replacements will be made.\n * @property {string} specifier - The specifier string to search for in the input.\n * @property {string} htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n */\ninterface ReplaceBySpecifier {\n input: string;\n specifier: string;\n htmlTag: string;\n}\n\n/**\n * Replaces occurrences of a specified specifier in a string with an HTML tag.\n *\n * @param {ReplaceBySpecifier} param - An object containing input string, specifier, and HTML tag.\n * @param {string} param.input - The input string where replacements will be made.\n * @param {string} param.specifier - The specifier string to search for in the input.\n * @param {string} param.htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n * @returns {string} - The modified string with replacements.\n *\n @example\n * // Example 1:\n * const result1 = replaceBySpecifier({\n * input: 'This is a test string with some test keywords.',\n * specifier: 'test',\n * htmlTag: 'strong'\n * });\n * console.log(result1);\n * // Output: 'This is a string with some keywords.'\n *\n * // Example 2:\n * const result2 = replaceBySpecifier({\n * input: 'Hello, world!',\n * specifier: ',',\n * htmlTag: 'span'\n * });\n * console.log(result2);\n * // Output: 'Hello world!'\n */\nexport function replaceBySpecifier({ input, specifier, htmlTag }: ReplaceBySpecifier): string {\n return input\n .split(specifier)\n .map((part: string, index: number): string => (index % 2 === 1 ? `<${htmlTag}>${part}` : part))\n .join(\"\");\n}\n","import { html, LitElement, PropertyValueMap } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\n\nimport { replaceBySpecifier } from \"../utils/replaceBySpecifier.ts\";\nimport FetchService from \"../services/fetch.service.ts\";\nimport { renderIcon } from \"./icon/dva-e-icon.template.ts\";\nimport { IconName } from \"../icons.types.ts\";\n\nexport interface HeaderResponseData {\n leftCol: LeftCol;\n rightCol: RightCol;\n}\n\nexport interface LeftCol {\n data: LeftColData[];\n}\n\nexport interface LeftColData {\n logoText: string;\n logoLink: string;\n}\n\nexport interface RightCol {\n data: RightColData[];\n}\n\nexport interface RightColData {\n socialIcon: IconName;\n socialLabel: string;\n socialLink: string;\n}\n\ninterface HeaderTemplateData {\n leftCol: LeftColData;\n rightCol: RightColData[];\n}\n\n@customElement(\"header-component\")\nexport class HeaderComponent extends LitElement {\n @state()\n headerData: HeaderTemplateData;\n\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n protected async firstUpdated(_changedProperties: PropertyValueMap | Map) {\n await this.fetchHeaderData();\n }\n\n async fetchHeaderData() {\n try {\n const response = await FetchService.fetchJson(\"header.json\", {\n cacheOptions: { cacheType: \"runtime\" },\n });\n this.headerData = { leftCol: response.leftCol.data[0], rightCol: response.rightCol.data };\n } catch (error) {\n console.error(\"HeaderComponent: \", error);\n }\n }\n\n render() {\n if (!this.headerData) return;\n const { leftCol, rightCol } = this.headerData;\n const logoText = replaceBySpecifier({ input: leftCol.logoText, htmlTag: \"strong\", specifier: \":::\" });\n const logoTextHTML = unsafeHTML(logoText);\n return html`\n ${logoTextHTML}\n \n `;\n }\n}\n","/**\n * Converts a string into a valid CSS class name.\n *\n * @param {string} name - The string to convert into a CSS class name.\n * @returns {string} The converted CSS class name.\n *\n * @example\n * // Example usage:\n * const inputString = 'Hello, World!';\n * const cssClassName = toClassName(inputString);\n * console.log(cssClassName); // Output: 'hello-world'\n */\nexport function toClassName(name: string): string {\n return name\n .toLowerCase()\n .replace(/[^0-9a-z]/gi, \"-\")\n .replace(/-+/g, \"-\")\n .replace(/^-|-$/g, \"\");\n}\n","import { toClassName } from \"../utils/toClassName\";\n\nexport class BlockService {\n /**\n * Extracts the config from a block.\n * @param {Element} block The block element\n * @returns {object} The block config\n */\n readBlockConfig(block: Element): Record {\n const config: Record = {};\n block.querySelectorAll(\":scope > div\").forEach(row => {\n if (row.children) {\n const cols = [...row.children];\n if (cols[1]) {\n const col = cols[1];\n const name = toClassName(cols[0].textContent ?? \"\");\n let value: any = \"\";\n if (col.querySelector(\"a\")) {\n const as = [...col.querySelectorAll(\"a\")];\n if (as.length === 1) {\n value = as[0].href;\n } else {\n value = as.map(a => a.href);\n }\n } else if (col.querySelector(\"img\")) {\n const imgs = [...col.querySelectorAll(\"img\")];\n if (imgs.length === 1) {\n value = imgs[0].src;\n } else {\n value = imgs.map(img => img.src);\n }\n } else if (col.querySelector(\"p\")) {\n const ps = [...col.querySelectorAll(\"p\")];\n if (ps.length === 1) {\n value = ps[0].textContent;\n } else {\n value = ps.map(p => p.textContent);\n }\n } else value = row.children[1].textContent;\n config[name] = value;\n }\n }\n });\n return config;\n }\n\n /**\n * Decorates all blocks in a container element.\n * @param {Element} main The container element\n */\n decorateBlocks(main: HTMLElement) {\n main.querySelectorAll(\"div.section > div > div\").forEach(this.decorateBlock);\n }\n\n /**\n * Decorates a block.\n * @param {Element} block The block element\n */\n private decorateBlock(block: HTMLElement) {\n const shortBlockName = block.classList[0];\n if (shortBlockName) {\n block.classList.add(\"block\");\n block.dataset.blockName = shortBlockName;\n const blockWrapper = block.parentElement;\n blockWrapper?.classList.add(`${shortBlockName}-wrapper`);\n const section = block.closest(\".section\");\n if (section) section.classList.add(`${shortBlockName}-container`);\n }\n }\n}\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Sanitizes a string for use as a JavaScript property name.\n *\n * @param {string} name - The unsanitized string.\n * @returns {string} - The camelCased name.\n *\n * @example\n * // Example usage:\n * const unsanitizedString = 'background-color';\n * const camelCasedName = toCamelCase(unsanitizedString);\n * console.log(camelCasedName); // Output: 'backgroundColor'\n */\nexport function toCamelCase(name: string): string {\n return toClassName(name).replace(/-([a-z])/g, (g: string) => g[1].toUpperCase());\n}\n","import { toCamelCase } from \"../utils/toCamelCase\";\nimport { toClassName } from \"../utils/toClassName\";\nimport { BlockService } from \"./block.service\";\n\nexport class SectionService {\n constructor(private blockService: BlockService) {}\n\n init(container: HTMLElement) {\n this.transformSection(container);\n }\n\n /**\n * Decorates all sections in a container element.\n * @param {Element} main The container element\n */\n private transformSection(main: HTMLElement) {\n main.querySelectorAll(\":scope > div\").forEach(section => {\n this.adjustMarkup(section);\n this.processSectionMetaData(section);\n });\n }\n\n private processSectionMetaData(section: HTMLElement) {\n // Process section metadata\n const sectionMeta = section.querySelector(\"div.section-metadata\");\n if (sectionMeta) {\n const meta = this.blockService.readBlockConfig(sectionMeta);\n Object.keys(meta).forEach(key => {\n if (key === \"style\") {\n const styles = meta.style\n .split(\",\")\n .filter((style: string) => style)\n .map((style: string) => toClassName(style.trim()));\n styles.forEach((style: string) => section.classList.add(style));\n } else {\n section.dataset[toCamelCase(key)] = meta[key];\n }\n });\n if (sectionMeta.parentElement) sectionMeta.parentElement.remove();\n }\n }\n\n private adjustMarkup(section: HTMLDivElement) {\n const wrappers: HTMLDivElement[] = [];\n let defaultContent = false;\n [...section.children].forEach(e => {\n if (e.tagName === \"DIV\" || !defaultContent) {\n const wrapper = document.createElement(\"div\");\n wrappers.push(wrapper);\n defaultContent = e.tagName !== \"DIV\";\n\n if (defaultContent) {\n wrapper.classList.add(\"default-content-wrapper\");\n }\n }\n wrappers[wrappers.length - 1].append(e);\n });\n\n wrappers.forEach(wrapper => section.append(wrapper));\n this.decorateImages();\n section.classList.add(\"section\");\n section.dataset.sectionStatus = \"initialized\";\n section.style.display = \"none\";\n }\n decorateImages() {\n const picture = document.querySelectorAll(\".default-content-wrapper picture\");\n picture.forEach(item => {\n const parentElement = item.parentElement;\n if (parentElement) {\n parentElement.classList.add(\"image\", \"main\");\n }\n });\n }\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\n\nexport const headerTemplate = () => {\n return html`\n \n \n
\n
\n \n
\n \n \n \n ${renderIcon(\"dva-icon-burger-24px\")}\n Menü\n \n
\n\n \n
\n \n
\n
\n `;\n};\n","import { html } from \"lit-html\";\n\nexport type DvaLinkTemplateArgs = {\n target: string;\n cssClasses?: string;\n newWindow?: boolean;\n label?: string;\n iconID?: string;\n shouldRender?: boolean;\n};\n\nconst renderLabel = (args: DvaLinkTemplateArgs) => {\n if (args.label === undefined) return \"\";\n\n return html` ${args.label} `;\n};\n\nconst renderIcon = (args: DvaLinkTemplateArgs) => {\n if (args.iconID === undefined) return \"\";\n\n return html` `;\n};\n\nexport const dvaLinkTemplate = (args: DvaLinkTemplateArgs) => {\n if (args.shouldRender === false) return \"\";\n return html`\n \n ${renderLabel(args)} ${renderIcon(args)}\n \n `;\n};\n","import { renderLazyImage } from \"Components/dva-e-lazy-image/dva-e-lazy-image.template\";\nimport { html } from \"lit-html\";\n\nexport const renderFooterAwardsTemplate = () => {\n return html`\n \n \n `;\n};\n","import { html } from \"lit-html\";\nimport { renderIcon } from \"Components/icon/dva-e-icon.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\nimport { IconName } from \"../../icons.types\";\n\nexport const renderFooterSocialLinksTemplate = () => {\n return html`\n \n\n \n `;\n};\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\n\nexport const renderFooterNavigationTemplate = () => {\n return html` \n ${data.navigationSections.map(section => {\n return html`
\n \n
\n
\n \n
\n
\n
`;\n })}\n
`;\n};\n","import { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport { renderFooterAwardsTemplate } from \"./dvag-m-n02-footer__awards.template\";\nimport { renderFooterSocialLinksTemplate } from \"./dvag-m-n02-footer__social-links.template\";\nimport { renderFooterNavigationTemplate } from \"./dvag-m-n02-footer__navigation.template\";\n\nexport const renderFooter = (borderTop = false) => {\n return html`\n \n
\n
\n
\n
${renderFooterNavigationTemplate()}
\n
\n
\n \n
${renderFooterAwardsTemplate()}
\n
${renderFooterSocialLinksTemplate()}
\n
\n
\n \n
\n `;\n};\n","/**\n * Retrieves the content of a specified metadata tag from the document head.\n *\n * @param {string} value - The name or property attribute value of the metadata tag.\n * @param {Document} [doc=document] - The document to search for the metadata tag (default is the current document).\n * @returns {string} - The content of the metadata tag, if found; otherwise, an empty string.\n *\n * @example\n * // Example 1:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('description');\n * console.log(metaContent);\n * // Output: 'This is a sample description.'\n *\n * @example\n * // Example 2:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('og:title', document);\n * console.log(metaContent);\n * // Output: 'Open Graph Title'\n */\nexport function getMetadata(value: string, doc: Document = document): string {\n const attr: \"property\" | \"name\" = value && value.includes(\":\") ? \"property\" : \"name\";\n const metaTags: HTMLMetaElement[] =\n ([...doc.head.querySelectorAll(`meta[${attr}=\"${value}\"]`)] as HTMLMetaElement[]) || [];\n const meta: string = metaTags.map((metaElement: HTMLMetaElement) => metaElement.content).join(\", \");\n return meta.length ? meta : \"\";\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { getMetadata } from \"Utils/getMetadata\";\nimport { nothing } from \"lit\";\nimport { html } from \"lit-html\";\n\nexport const renderBreadcrumpNavigationTemplate = () => {\n if (getMetadata(\"breadcrumb\") !== \"true\") return nothing;\n return html`\n
\n
\n
\n \n
\n
\n
\n `;\n};\n","/**\n * Verifies if the Sidekick Library Plugin is in use by checking if the page is running in an iframe with srcdoc\n * and if the main element has the sidekick-library class.\n * @returns {boolean} Wether the Sidekick Library Plugin is in use.\n */\nexport const isSidekickLibraryActive = (): boolean => {\n const main = document.querySelector(\"#main\");\n if (!main) return false;\n return window.location.href === \"about:srcdoc\" && main.classList.contains(\"sidekick-library\");\n};\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Adds CSS classes to an HTML element.\n *\n * @param {HTMLElement} element - The HTML element to which classes will be added.\n * @param {string} classes - A string containing CSS classes separated by commas.\n *\n * @example\n * const element = document.getElementById('myElement');\n * const classesToAdd = 'class1, class2, class3';\n * addClasses(element, classesToAdd);\n */\nexport const addClasses = (element: HTMLElement, classes: string): void => {\n classes.split(\",\").forEach((cssClass: string): void => {\n element.classList.add(toClassName(cssClass.trim()));\n });\n};\n","export interface Config {\n mainTsPath: string;\n mainScssPath: string;\n iconsDirPath: string;\n iconsTypesPath: string;\n fontsScssPath?: string;\n lazyStylesScssPath?: string;\n sidekickLibraryStylesScssPath?: string;\n}\n\nexport const config: Config = {\n mainTsPath: 'src/main.ts',\n mainScssPath: 'src/styles/index.scss',\n iconsDirPath: './public/icons',\n iconsTypesPath: './src/icons.types.ts',\n fontsScssPath: 'src/styles/fonts.scss',\n lazyStylesScssPath: 'src/styles/lazy-styles.scss',\n sidekickLibraryStylesScssPath: 'src/styles/sidekick-library-styles.scss',\n};\n","import { isSidekickLibraryActive } from \"./isSidekickLibraryActive\";\n\n/**\n * Returns the true origin of the current page in the browser.\n * If the page is running in an iframe with srcdoc, the query param is returned.\n * @returns {String} The query param of the current page or the query param of the block running in the library\n *\n * @example\n * const searchParams = new URLSearchParams(getLocation().search);\n *\n * @remarks\n * Needs to be used when the Sidekick Library Plugin is in use.\n */\nexport function getLocation(): Location {\n return isSidekickLibraryActive() ? window.parent.location : window.location;\n}\n","import { html, render } from \"lit-html\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\nimport { headerTemplate } from \"Components/dvag-m-n01-header/dvag-m-n01-header.template.ts\";\nimport { renderFooter } from \"Components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts\";\nimport { renderBreadcrumpNavigationTemplate } from \"Components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts\";\n\nimport { isSidekickLibraryActive } from \"../sidekickHelpers/isSidekickLibraryActive\";\nimport { addClasses } from \"../utils/addClasses\";\nimport { getMetadata } from \"../utils/getMetadata\";\nimport { BlockService } from \"./block.service\";\nimport { SectionService } from \"./section.service\";\nimport { config } from \"../../config.ts\";\nimport { getLocation } from \"../sidekickHelpers/getLocation.ts\";\n\ntype BlockMapping = {\n name: string;\n element: HTMLDivElement;\n};\n\ninterface LcpCandidate extends HTMLElement {\n complete: boolean;\n}\n\nclass Status {\n static unloaded = \"unloaded\";\n static loading = \"loading\";\n static loaded = \"loaded\";\n static error = \"error\";\n}\n\nexport class MainService {\n private lcpBlocks = [\"article-stage\", \"article-header\", \"article-overview\", \"vb-stage\"];\n\n constructor(private sectionService: SectionService, private blockService: BlockService) {}\n\n init = async () => {\n this.setup();\n await this.loadEager();\n await this.loadLazy();\n };\n\n /**\n * Setup block utils.\n */\n private setup() {\n window.hlx = window.hlx || {};\n window.hlx.RUM_MASK_URL = \"full\";\n window.hlx.codeBasePath = \"\";\n window.hlx.lighthouse = new URLSearchParams(getLocation().search).get(\"lighthouse\") === \"on\";\n\n const scriptEl = document.querySelector('script[src$=\"/scripts/scripts.js\"]') as HTMLScriptElement;\n if (scriptEl) {\n try {\n [window.hlx.codeBasePath] = new URL(scriptEl.src).pathname.split(\"/scripts/scripts.js\");\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n }\n }\n\n decorateDefaultContent(main: HTMLElement) {\n const defaultContentWrappers = main.querySelectorAll(\".default-content-wrapper\");\n if (!defaultContentWrappers) return;\n defaultContentWrappers.forEach((wrapper: HTMLElement) => {\n const template = html`\n
\n
\n
\n
\n ${unsafeHTML(wrapper.innerHTML)}\n
\n
\n
\n
\n `;\n wrapper.innerHTML = \"\";\n render(template, wrapper);\n });\n }\n\n private loadEager = async () => {\n document.documentElement.lang = \"en\";\n this.decorateTemplateAndTheme();\n const main = document.querySelector(\"main\");\n if (main) {\n this.sectionService.init(main);\n\n this.blockService.decorateBlocks(main);\n this.decorateDefaultContent(main);\n this.renderLayout(main);\n\n setTimeout(() => {\n document.body.classList.add(\"show\");\n }, 100);\n\n await this.waitForLCP();\n\n try {\n /* if desktop (proxy for fast connection) or fonts already loaded, load fonts.css */\n if (window.innerWidth >= 900 || sessionStorage.getItem(\"fonts-loaded\")) {\n await this.loadFonts();\n }\n } catch (e) {\n // do nothing\n }\n }\n };\n\n private articleBodyTemplate(children: string) {\n return html`
\n
\n
\n ${headerTemplate()} ${renderBreadcrumpNavigationTemplate()} ${unsafeHTML(children)} ${renderFooter()}\n
\n
\n
`;\n }\n\n private bodyTemplate(children: string) {\n return html`
\n
\n ${headerTemplate()} ${renderBreadcrumpNavigationTemplate()} ${unsafeHTML(children)} ${renderFooter()}\n
\n
`;\n }\n\n private renderBodyTemplate(children: string) {\n const isArticleSite = getMetadata(\"template\") === \"article\";\n if (isArticleSite) this.articleBodyTemplate(children);\n return this.bodyTemplate(children);\n }\n\n private renderLayout(main: HTMLElement) {\n const children = main.innerHTML;\n const edsHeader = document.querySelector(\"header\");\n const edsFooter = document.querySelector(\"footer\");\n const edsMain = main;\n const body = document.querySelector(\"body\");\n if (body) {\n render(this.renderBodyTemplate(children), body);\n edsFooter?.remove();\n edsHeader?.remove();\n edsMain.remove();\n }\n }\n\n private loadLazy = async () => {\n const { lazyStylesScssPath, sidekickLibraryStylesScssPath, fontsScssPath } = config;\n try {\n if (lazyStylesScssPath) await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`);\n if (sidekickLibraryStylesScssPath && isSidekickLibraryActive()) {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`);\n }\n if (fontsScssPath) await this.loadFonts();\n await this.loadCSS(\n `${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,\n `${window.hlx.codeBasePath}/dist/styles/styles.css`,\n );\n await this.loadBlocks();\n } catch (error) {\n console.error(\"Load lazy error: \", error);\n try {\n await this.loadBlocks();\n } catch (err) {\n console.error(\"Load blocks error: \", err);\n }\n }\n };\n\n private decorateTemplateAndTheme() {\n const template = getMetadata(\"template\");\n if (template) addClasses(document.body, template);\n const theme = getMetadata(\"theme\");\n if (theme) addClasses(document.body, theme);\n }\n\n /**\n * Loads Blocks\n * by getting all sections and load every block in every section\n * and shows every section that is finished loading.\n */\n private loadBlocks = async () => {\n const sections = [...document.querySelectorAll(\".section\")];\n const SectionsPromises = sections.map(section => this.loadBlock(section));\n\n await Promise.all(SectionsPromises);\n };\n\n private collectBlocks(section: HTMLElement): BlockMapping[] {\n const blockMap: BlockMapping[] = [];\n const blocksElements = section.querySelectorAll(\"[data-block-name]\");\n\n blocksElements.forEach((block: HTMLDivElement) => {\n blockMap.push({\n name: block.dataset[\"blockName\"] as string,\n element: block,\n });\n });\n\n return blockMap;\n }\n\n private async loadBlockModules(block: BlockMapping) {\n const status = block.element.dataset.blockStatus ?? Status.unloaded;\n\n if (status === Status.unloaded) {\n block.element.dataset.blockStatus = Status.loading;\n\n try {\n const blockModule = await import(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.js`);\n\n if (blockModule.default) {\n await blockModule.default(block.element);\n }\n\n block.element.dataset.blockStatus = Status.loaded;\n } catch (error) {\n block.element.dataset.blockStatus = Status.error;\n console.error(\"An error occurred during module import:\", error);\n }\n }\n }\n\n async loadBlockStyles(block: BlockMapping) {\n try {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.css`);\n } catch (error) {\n console.error(`problem with block '${block.name}' loading styles`);\n }\n }\n\n private showSection(section: HTMLElement) {\n section.style.removeProperty(\"display\");\n }\n\n private async loadFonts() {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);\n try {\n if (!getLocation().hostname.includes(\"localhost\")) sessionStorage.setItem(\"fonts-loaded\", \"true\");\n } catch (e) {\n // do nothing\n }\n }\n\n private async loadCSS(href: string, insertBefore?: string) {\n return new Promise((resolve, reject) => {\n if (!document.querySelector(`head > link[href=\"${href}\"]`)) {\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = href;\n link.onload = resolve;\n link.onerror = reject;\n if (insertBefore !== undefined) {\n const before = document.querySelector(`head > link[href=\"${insertBefore}\"]`);\n if (before) before.before(link);\n } else {\n document.head.append(link);\n }\n } else {\n resolve(true);\n }\n });\n }\n\n private async waitForLCP() {\n /* Js Chunks should be loaded\n Old logic only looks after the first block\n New logic looks in the first section after lcp candidates,\n since we show ech section depending on if its blocks and modules are loaded */\n const firstSection: HTMLElement | null = document.querySelector(\".section\");\n\n if (firstSection) {\n const blocks = this.collectBlocks(firstSection);\n const blockPromises = blocks.map(async block => {\n const hasLCPBlock = this.lcpBlocks.includes(block.name);\n if (hasLCPBlock) await Promise.all([this.loadBlockModules(block), this.loadBlockStyles(block)]);\n });\n\n await Promise.all(blockPromises);\n this.showSection(firstSection);\n }\n\n // @ts-ignore\n document.body.style.display = null;\n const lcpCandidate = document.querySelector(\"main img\");\n\n await new Promise(resolve => {\n if (lcpCandidate && !lcpCandidate.complete) {\n lcpCandidate.setAttribute(\"loading\", \"eager\");\n lcpCandidate.setAttribute(\"fetchpriority\", \"high\");\n lcpCandidate.addEventListener(\"load\", () => resolve());\n lcpCandidate.addEventListener(\"error\", () => resolve());\n } else {\n resolve();\n }\n });\n }\n\n private async loadBlock(section: HTMLElement) {\n const sectionsBlocks: BlockMapping[] = this.collectBlocks(section);\n\n if (!sectionsBlocks.length) {\n this.showSection(section);\n return;\n }\n\n const loadingPromises: Promise[] = [];\n\n for (const block of sectionsBlocks) {\n loadingPromises.push(this.loadBlockModules(block), this.loadBlockStyles(block));\n }\n\n await Promise.all(loadingPromises);\n this.showSection(section);\n }\n}\n","import \"Components/header.ts\";\nimport \"Components/icon/dva-e-icon.ts\";\nimport \"Components/dva-e-lazy-image/dva-e-lazy-image.ts\";\nimport \"Services/fetch.service.ts\";\nimport \"Components/dvag-m-c11-accordion/dvag-m-c11-accordion.ts\";\nimport { ConsentManagementService } from \"Services/ConsentManagementService.ts\";\n\nimport { BlockService } from \"./services/block.service.ts\";\nimport { SectionService } from \"./services/section.service.ts\";\nimport { MainService } from \"./services/main.service.ts\";\n\n(async function () {\n // preloadLcpImageCandidate();\n const blockService = new BlockService();\n const sectionService = new SectionService(blockService);\n const main = new MainService(sectionService, blockService);\n await main.init();\n})();\n\ndeclare global {\n interface Window {\n hlx: {\n RUM_MASK_URL: string;\n codeBasePath: string;\n lighthouse: boolean;\n };\n Granite: any;\n _dvaConsentManagementService: ConsentManagementService;\n }\n}\n"],"file":"main/main.js"} \ No newline at end of file +{"version":3,"mappings":"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","names":["r","t","replaceBySpecifier","input","specifier","htmlTag","part","index","HeaderComponent","LitElement","_changedProperties","response","FetchService","error","leftCol","rightCol","logoText","logoTextHTML","unsafeHTML","html","item","renderIcon","__decorateClass","state","customElement","toClassName","name","BlockService","block","config","row","cols","col","value","as","a","imgs","img","ps","p","main","shortBlockName","blockWrapper","section","toCamelCase","g","SectionService","blockService","container","sectionMeta","meta","key","style","wrappers","defaultContent","e","wrapper","parentElement","headerTemplate","renderLabel","args","dvaLinkTemplate","renderFooterAwardsTemplate","renderLazyImage","renderFooterSocialLinksTemplate","data","socialLink","renderFooterNavigationTemplate","renderFooter","borderTop","getMetadata","doc","attr","metaElement","renderBreadcrumpNavigationTemplate","nothing","isSidekickLibraryActive","addClasses","element","classes","cssClass","getLocation","_Status","Status","MainService","sectionService","lazyStylesScssPath","sidekickLibraryStylesScssPath","fontsScssPath","err","SectionsPromises","scriptEl","defaultContentWrappers","template","render","children","edsHeader","edsFooter","edsMain","body","theme","blockMap","blockModule","__vitePreload","href","insertBefore","resolve","reject","link","before","firstSection","blockPromises","lcpCandidate","sectionsBlocks","loadingPromises"],"sources":["../../node_modules/@lit/reactive-element/decorators/state.js","../../src/utils/replaceBySpecifier.ts","../../src/components/header.ts","../../src/utils/toClassName.ts","../../src/services/block.service.ts","../../src/utils/toCamelCase.ts","../../src/services/section.service.ts","../../src/components/dvag-m-n01-header/dvag-m-n01-header.template.ts","../../src/components/dva-e-link/dva-e-link.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__awards.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__social-links.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer__navigation.template.ts","../../src/components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts","../../src/utils/getMetadata.ts","../../src/components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts","../../src/sidekickHelpers/isSidekickLibraryActive.ts","../../src/utils/addClasses.ts","../../config.ts","../../src/sidekickHelpers/getLocation.ts","../../src/services/main.service.ts","../../src/main.ts"],"sourcesContent":["import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * Represents the structure of an object used to specify replacements in a string.\n *\n * @interface ReplaceBySpecifier\n * @property {string} input - The input string where replacements will be made.\n * @property {string} specifier - The specifier string to search for in the input.\n * @property {string} htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n */\ninterface ReplaceBySpecifier {\n input: string;\n specifier: string;\n htmlTag: string;\n}\n\n/**\n * Replaces occurrences of a specified specifier in a string with an HTML tag.\n *\n * @param {ReplaceBySpecifier} param - An object containing input string, specifier, and HTML tag.\n * @param {string} param.input - The input string where replacements will be made.\n * @param {string} param.specifier - The specifier string to search for in the input.\n * @param {string} param.htmlTag - The HTML tag to wrap around the parts matched by the specifier.\n * @returns {string} - The modified string with replacements.\n *\n @example\n * // Example 1:\n * const result1 = replaceBySpecifier({\n * input: 'This is a test string with some test keywords.',\n * specifier: 'test',\n * htmlTag: 'strong'\n * });\n * console.log(result1);\n * // Output: 'This is a string with some keywords.'\n *\n * // Example 2:\n * const result2 = replaceBySpecifier({\n * input: 'Hello, world!',\n * specifier: ',',\n * htmlTag: 'span'\n * });\n * console.log(result2);\n * // Output: 'Hello world!'\n */\nexport function replaceBySpecifier({ input, specifier, htmlTag }: ReplaceBySpecifier): string {\n return input\n .split(specifier)\n .map((part: string, index: number): string => (index % 2 === 1 ? `<${htmlTag}>${part}` : part))\n .join(\"\");\n}\n","import { html, LitElement, PropertyValueMap } from \"lit\";\nimport { customElement, state } from \"lit/decorators.js\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\n\nimport { replaceBySpecifier } from \"../utils/replaceBySpecifier.ts\";\nimport FetchService from \"../services/fetch.service.ts\";\nimport { renderIcon } from \"./icon/dva-e-icon.template.ts\";\nimport { IconName } from \"../icons.types.ts\";\n\nexport interface HeaderResponseData {\n leftCol: LeftCol;\n rightCol: RightCol;\n}\n\nexport interface LeftCol {\n data: LeftColData[];\n}\n\nexport interface LeftColData {\n logoText: string;\n logoLink: string;\n}\n\nexport interface RightCol {\n data: RightColData[];\n}\n\nexport interface RightColData {\n socialIcon: IconName;\n socialLabel: string;\n socialLink: string;\n}\n\ninterface HeaderTemplateData {\n leftCol: LeftColData;\n rightCol: RightColData[];\n}\n\n@customElement(\"header-component\")\nexport class HeaderComponent extends LitElement {\n @state()\n headerData: HeaderTemplateData;\n\n protected createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n protected async firstUpdated(_changedProperties: PropertyValueMap | Map) {\n await this.fetchHeaderData();\n }\n\n async fetchHeaderData() {\n try {\n const response = await FetchService.fetchJson(\"header.json\", {\n cacheOptions: { cacheType: \"runtime\" },\n });\n this.headerData = { leftCol: response.leftCol.data[0], rightCol: response.rightCol.data };\n } catch (error) {\n console.error(\"HeaderComponent: \", error);\n }\n }\n\n render() {\n if (!this.headerData) return;\n const { leftCol, rightCol } = this.headerData;\n const logoText = replaceBySpecifier({ input: leftCol.logoText, htmlTag: \"strong\", specifier: \":::\" });\n const logoTextHTML = unsafeHTML(logoText);\n return html`\n ${logoTextHTML}\n \n `;\n }\n}\n","/**\n * Converts a string into a valid CSS class name.\n *\n * @param {string} name - The string to convert into a CSS class name.\n * @returns {string} The converted CSS class name.\n *\n * @example\n * // Example usage:\n * const inputString = 'Hello, World!';\n * const cssClassName = toClassName(inputString);\n * console.log(cssClassName); // Output: 'hello-world'\n */\nexport function toClassName(name: string): string {\n return name\n .toLowerCase()\n .replace(/[^0-9a-z]/gi, \"-\")\n .replace(/-+/g, \"-\")\n .replace(/^-|-$/g, \"\");\n}\n","import { toClassName } from \"../utils/toClassName\";\n\nexport class BlockService {\n /**\n * Extracts the config from a block.\n * @param {Element} block The block element\n * @returns {object} The block config\n */\n readBlockConfig(block: Element): Record {\n const config: Record = {};\n block.querySelectorAll(\":scope > div\").forEach(row => {\n if (row.children) {\n const cols = [...row.children];\n if (cols[1]) {\n const col = cols[1];\n const name = toClassName(cols[0].textContent ?? \"\");\n let value: any = \"\";\n if (col.querySelector(\"a\")) {\n const as = [...col.querySelectorAll(\"a\")];\n if (as.length === 1) {\n value = as[0].href;\n } else {\n value = as.map(a => a.href);\n }\n } else if (col.querySelector(\"img\")) {\n const imgs = [...col.querySelectorAll(\"img\")];\n if (imgs.length === 1) {\n value = imgs[0].src;\n } else {\n value = imgs.map(img => img.src);\n }\n } else if (col.querySelector(\"p\")) {\n const ps = [...col.querySelectorAll(\"p\")];\n if (ps.length === 1) {\n value = ps[0].textContent;\n } else {\n value = ps.map(p => p.textContent);\n }\n } else value = row.children[1].textContent;\n config[name] = value;\n }\n }\n });\n return config;\n }\n\n /**\n * Decorates all blocks in a container element.\n * @param {Element} main The container element\n */\n decorateBlocks(main: HTMLElement) {\n main.querySelectorAll(\"div.section > div > div\").forEach(this.decorateBlock);\n }\n\n /**\n * Decorates a block.\n * @param {Element} block The block element\n */\n private decorateBlock(block: HTMLElement) {\n const shortBlockName = block.classList[0];\n if (shortBlockName) {\n block.classList.add(\"block\");\n block.dataset.blockName = shortBlockName;\n const blockWrapper = block.parentElement;\n blockWrapper?.classList.add(`${shortBlockName}-wrapper`);\n const section = block.closest(\".section\");\n if (section) section.classList.add(`${shortBlockName}-container`);\n }\n }\n}\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Sanitizes a string for use as a JavaScript property name.\n *\n * @param {string} name - The unsanitized string.\n * @returns {string} - The camelCased name.\n *\n * @example\n * // Example usage:\n * const unsanitizedString = 'background-color';\n * const camelCasedName = toCamelCase(unsanitizedString);\n * console.log(camelCasedName); // Output: 'backgroundColor'\n */\nexport function toCamelCase(name: string): string {\n return toClassName(name).replace(/-([a-z])/g, (g: string) => g[1].toUpperCase());\n}\n","import { toCamelCase } from \"../utils/toCamelCase\";\nimport { toClassName } from \"../utils/toClassName\";\nimport { BlockService } from \"./block.service\";\n\nexport class SectionService {\n constructor(private blockService: BlockService) {}\n\n init(container: HTMLElement) {\n this.transformSection(container);\n }\n\n /**\n * Decorates all sections in a container element.\n * @param {Element} main The container element\n */\n private transformSection(main: HTMLElement) {\n main.querySelectorAll(\":scope > div\").forEach(section => {\n this.adjustMarkup(section);\n this.processSectionMetaData(section);\n });\n }\n\n private processSectionMetaData(section: HTMLElement) {\n // Process section metadata\n const sectionMeta = section.querySelector(\"div.section-metadata\");\n if (sectionMeta) {\n const meta = this.blockService.readBlockConfig(sectionMeta);\n Object.keys(meta).forEach(key => {\n if (key === \"style\") {\n const styles = meta.style\n .split(\",\")\n .filter((style: string) => style)\n .map((style: string) => toClassName(style.trim()));\n styles.forEach((style: string) => section.classList.add(style));\n } else {\n section.dataset[toCamelCase(key)] = meta[key];\n }\n });\n if (sectionMeta.parentElement) sectionMeta.parentElement.remove();\n }\n }\n\n private adjustMarkup(section: HTMLDivElement) {\n const wrappers: HTMLDivElement[] = [];\n let defaultContent = false;\n [...section.children].forEach(e => {\n if (e.tagName === \"DIV\" || !defaultContent) {\n const wrapper = document.createElement(\"div\");\n wrappers.push(wrapper);\n defaultContent = e.tagName !== \"DIV\";\n\n if (defaultContent) {\n wrapper.classList.add(\"default-content-wrapper\");\n }\n }\n wrappers[wrappers.length - 1].append(e);\n });\n\n wrappers.forEach(wrapper => section.append(wrapper));\n this.decorateImages();\n section.classList.add(\"section\");\n section.dataset.sectionStatus = \"initialized\";\n section.style.display = \"none\";\n }\n decorateImages() {\n const picture = document.querySelectorAll(\".default-content-wrapper picture\");\n picture.forEach(item => {\n const parentElement = item.parentElement;\n if (parentElement) {\n parentElement.classList.add(\"image\", \"main\");\n }\n });\n }\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\n\nexport const headerTemplate = () => {\n return html`\n \n \n
\n
\n \n
\n \n \n \n ${renderIcon(\"dva-icon-burger-24px\")}\n Menü\n \n
\n\n \n
\n \n
\n
\n `;\n};\n","import { html } from \"lit-html\";\n\nexport type DvaLinkTemplateArgs = {\n target: string;\n cssClasses?: string;\n newWindow?: boolean;\n label?: string;\n iconID?: string;\n shouldRender?: boolean;\n};\n\nconst renderLabel = (args: DvaLinkTemplateArgs) => {\n if (args.label === undefined) return \"\";\n\n return html` ${args.label} `;\n};\n\nconst renderIcon = (args: DvaLinkTemplateArgs) => {\n if (args.iconID === undefined) return \"\";\n\n return html` `;\n};\n\nexport const dvaLinkTemplate = (args: DvaLinkTemplateArgs) => {\n if (args.shouldRender === false) return \"\";\n return html`\n \n ${renderLabel(args)} ${renderIcon(args)}\n \n `;\n};\n","import { renderLazyImage } from \"Components/dva-e-lazy-image/dva-e-lazy-image.template\";\nimport { html } from \"lit-html\";\n\nexport const renderFooterAwardsTemplate = () => {\n return html`\n \n \n `;\n};\n","import { html } from \"lit-html\";\nimport { renderIcon } from \"Components/icon/dva-e-icon.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\nimport { IconName } from \"../../icons.types\";\n\nexport const renderFooterSocialLinksTemplate = () => {\n return html`\n \n\n \n `;\n};\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport data from \"./dvag-m-n02-footer__data.json\";\n\nexport const renderFooterNavigationTemplate = () => {\n return html` \n ${data.navigationSections.map(section => {\n return html`
\n \n
\n
\n \n
\n
\n
`;\n })}\n
`;\n};\n","import { html } from \"lit-html\";\nimport { dvaLinkTemplate } from \"Components/dva-e-link/dva-e-link.template\";\n\nimport { renderFooterAwardsTemplate } from \"./dvag-m-n02-footer__awards.template\";\nimport { renderFooterSocialLinksTemplate } from \"./dvag-m-n02-footer__social-links.template\";\nimport { renderFooterNavigationTemplate } from \"./dvag-m-n02-footer__navigation.template\";\n\nexport const renderFooter = (borderTop = false) => {\n return html`\n \n
\n
\n
\n
${renderFooterNavigationTemplate()}
\n
\n
\n \n
${renderFooterAwardsTemplate()}
\n
${renderFooterSocialLinksTemplate()}
\n
\n
\n \n
\n `;\n};\n","/**\n * Retrieves the content of a specified metadata tag from the document head.\n *\n * @param {string} value - The name or property attribute value of the metadata tag.\n * @param {Document} [doc=document] - The document to search for the metadata tag (default is the current document).\n * @returns {string} - The content of the metadata tag, if found; otherwise, an empty string.\n *\n * @example\n * // Example 1:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('description');\n * console.log(metaContent);\n * // Output: 'This is a sample description.'\n *\n * @example\n * // Example 2:\n * // Assuming exists in the document head.\n * const metaContent = getMetadata('og:title', document);\n * console.log(metaContent);\n * // Output: 'Open Graph Title'\n */\nexport function getMetadata(value: string, doc: Document = document): string {\n const attr: \"property\" | \"name\" = value && value.includes(\":\") ? \"property\" : \"name\";\n const metaTags: HTMLMetaElement[] =\n ([...doc.head.querySelectorAll(`meta[${attr}=\"${value}\"]`)] as HTMLMetaElement[]) || [];\n const meta: string = metaTags.map((metaElement: HTMLMetaElement) => metaElement.content).join(\", \");\n return meta.length ? meta : \"\";\n}\n","import { renderIcon } from \"Components/icon/dva-e-icon.template\";\nimport { getMetadata } from \"Utils/getMetadata\";\nimport { nothing } from \"lit\";\nimport { html } from \"lit-html\";\n\nexport const renderBreadcrumpNavigationTemplate = () => {\n if (getMetadata(\"breadcrumb\") !== \"true\") return nothing;\n return html`\n
\n
\n
\n \n
\n
\n
\n `;\n};\n","/**\n * Verifies if the Sidekick Library Plugin is in use by checking if the page is running in an iframe with srcdoc\n * and if the main element has the sidekick-library class.\n * @returns {boolean} Wether the Sidekick Library Plugin is in use.\n */\nexport const isSidekickLibraryActive = (): boolean => {\n const main = document.querySelector(\"#main\");\n if (!main) return false;\n return window.location.href === \"about:srcdoc\" && main.classList.contains(\"sidekick-library\");\n};\n","import { toClassName } from \"./toClassName\";\n\n/**\n * Adds CSS classes to an HTML element.\n *\n * @param {HTMLElement} element - The HTML element to which classes will be added.\n * @param {string} classes - A string containing CSS classes separated by commas.\n *\n * @example\n * const element = document.getElementById('myElement');\n * const classesToAdd = 'class1, class2, class3';\n * addClasses(element, classesToAdd);\n */\nexport const addClasses = (element: HTMLElement, classes: string): void => {\n classes.split(\",\").forEach((cssClass: string): void => {\n element.classList.add(toClassName(cssClass.trim()));\n });\n};\n","export interface Config {\n mainTsPath: string;\n mainScssPath: string;\n iconsDirPath: string;\n iconsTypesPath: string;\n fontsScssPath?: string;\n lazyStylesScssPath?: string;\n sidekickLibraryStylesScssPath?: string;\n}\n\nexport const config: Config = {\n mainTsPath: 'src/main.ts',\n mainScssPath: 'src/styles/index.scss',\n iconsDirPath: './public/icons',\n iconsTypesPath: './src/icons.types.ts',\n fontsScssPath: 'src/styles/fonts.scss',\n lazyStylesScssPath: 'src/styles/lazy-styles.scss',\n sidekickLibraryStylesScssPath: 'src/styles/sidekick-library-styles.scss',\n};\n","import { isSidekickLibraryActive } from \"./isSidekickLibraryActive\";\n\n/**\n * Returns the true origin of the current page in the browser.\n * If the page is running in an iframe with srcdoc, the query param is returned.\n * @returns {String} The query param of the current page or the query param of the block running in the library\n *\n * @example\n * const searchParams = new URLSearchParams(getLocation().search);\n *\n * @remarks\n * Needs to be used when the Sidekick Library Plugin is in use.\n */\nexport function getLocation(): Location {\n return isSidekickLibraryActive() ? window.parent.location : window.location;\n}\n","import { html, render } from \"lit-html\";\nimport { unsafeHTML } from \"lit-html/directives/unsafe-html.js\";\nimport { headerTemplate } from \"Components/dvag-m-n01-header/dvag-m-n01-header.template.ts\";\nimport { renderFooter } from \"Components/dvag-m-n02-footer/dvag-m-n02-footer.template.ts\";\nimport { renderBreadcrumpNavigationTemplate } from \"Components/dva-m-breadcrump-navigation/dva-m-breadcrump-navigation.template.ts\";\n\nimport { isSidekickLibraryActive } from \"../sidekickHelpers/isSidekickLibraryActive\";\nimport { addClasses } from \"../utils/addClasses\";\nimport { getMetadata } from \"../utils/getMetadata\";\nimport { BlockService } from \"./block.service\";\nimport { SectionService } from \"./section.service\";\nimport { config } from \"../../config.ts\";\nimport { getLocation } from \"../sidekickHelpers/getLocation.ts\";\n\ntype BlockMapping = {\n name: string;\n element: HTMLDivElement;\n};\n\ninterface LcpCandidate extends HTMLElement {\n complete: boolean;\n}\n\nclass Status {\n static unloaded = \"unloaded\";\n static loading = \"loading\";\n static loaded = \"loaded\";\n static error = \"error\";\n}\n\nexport class MainService {\n private lcpBlocks = [\"article-stage\", \"article-header\", \"article-overview\", \"vb-stage\"];\n\n constructor(private sectionService: SectionService, private blockService: BlockService) {}\n\n init = async () => {\n this.setup();\n await this.loadEager();\n await this.loadLazy();\n };\n\n /**\n * Setup block utils.\n */\n private setup() {\n window.hlx = window.hlx || {};\n window.hlx.RUM_MASK_URL = \"full\";\n window.hlx.codeBasePath = \"\";\n window.hlx.lighthouse = new URLSearchParams(getLocation().search).get(\"lighthouse\") === \"on\";\n\n const scriptEl = document.querySelector('script[src$=\"/scripts/scripts.js\"]') as HTMLScriptElement;\n if (scriptEl) {\n try {\n [window.hlx.codeBasePath] = new URL(scriptEl.src).pathname.split(\"/scripts/scripts.js\");\n } catch (error) {\n // eslint-disable-next-line no-console\n console.log(error);\n }\n }\n }\n\n decorateDefaultContent(main: HTMLElement) {\n const defaultContentWrappers = main.querySelectorAll(\".default-content-wrapper\");\n if (!defaultContentWrappers) return;\n defaultContentWrappers.forEach((wrapper: HTMLElement) => {\n const template = html`\n
\n
\n
\n
\n ${unsafeHTML(wrapper.innerHTML)}\n
\n
\n
\n
\n `;\n wrapper.innerHTML = \"\";\n render(template, wrapper);\n });\n }\n\n private loadEager = async () => {\n document.documentElement.lang = \"en\";\n this.decorateTemplateAndTheme();\n const main = document.querySelector(\"main\");\n if (main) {\n this.sectionService.init(main);\n\n this.blockService.decorateBlocks(main);\n this.decorateDefaultContent(main);\n this.renderLayout(main);\n\n setTimeout(() => {\n document.body.classList.add(\"show\");\n }, 100);\n\n await this.waitForLCP();\n\n try {\n /* if desktop (proxy for fast connection) or fonts already loaded, load fonts.css */\n if (window.innerWidth >= 900 || sessionStorage.getItem(\"fonts-loaded\")) {\n await this.loadFonts();\n }\n } catch (e) {\n // do nothing\n }\n }\n };\n\n private articleBodyTemplate(children: string) {\n return html`
\n
\n
\n ${headerTemplate()} ${renderBreadcrumpNavigationTemplate()} ${unsafeHTML(children)} ${renderFooter()}\n
\n
\n
`;\n }\n\n private bodyTemplate(children: string) {\n return html`
\n
\n ${headerTemplate()} ${renderBreadcrumpNavigationTemplate()} ${unsafeHTML(children)} ${renderFooter()}\n
\n
`;\n }\n\n private renderBodyTemplate(children: string) {\n const isArticleSite = getMetadata(\"template\") === \"article\";\n if (isArticleSite) this.articleBodyTemplate(children);\n return this.bodyTemplate(children);\n }\n\n private renderLayout(main: HTMLElement) {\n const children = main.innerHTML;\n const edsHeader = document.querySelector(\"header\");\n const edsFooter = document.querySelector(\"footer\");\n const edsMain = main;\n const body = document.querySelector(\"body\");\n if (body) {\n render(this.renderBodyTemplate(children), body);\n edsFooter?.remove();\n edsHeader?.remove();\n edsMain.remove();\n }\n }\n\n private loadLazy = async () => {\n const { lazyStylesScssPath, sidekickLibraryStylesScssPath, fontsScssPath } = config;\n try {\n if (lazyStylesScssPath) await this.loadCSS(`${window.hlx.codeBasePath}/dist/lazyStyles/lazyStyles.css`);\n if (sidekickLibraryStylesScssPath && isSidekickLibraryActive()) {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/sidekickLibraryStyles/sidekickLibraryStyles.css`);\n }\n if (fontsScssPath) await this.loadFonts();\n await this.loadCSS(\n `${window.hlx.codeBasePath}/dist/legacyStyles/legacyStyles.css`,\n `${window.hlx.codeBasePath}/dist/styles/styles.css`,\n );\n await this.loadBlocks();\n } catch (error) {\n console.error(\"Load lazy error: \", error);\n try {\n await this.loadBlocks();\n } catch (err) {\n console.error(\"Load blocks error: \", err);\n }\n }\n };\n\n private decorateTemplateAndTheme() {\n const template = getMetadata(\"template\");\n if (template) addClasses(document.body, template);\n const theme = getMetadata(\"theme\");\n if (theme) addClasses(document.body, theme);\n }\n\n /**\n * Loads Blocks\n * by getting all sections and load every block in every section\n * and shows every section that is finished loading.\n */\n private loadBlocks = async () => {\n const sections = [...document.querySelectorAll(\".section\")];\n const SectionsPromises = sections.map(section => this.loadBlock(section));\n\n await Promise.all(SectionsPromises);\n };\n\n private collectBlocks(section: HTMLElement): BlockMapping[] {\n const blockMap: BlockMapping[] = [];\n const blocksElements = section.querySelectorAll(\"[data-block-name]\");\n\n blocksElements.forEach((block: HTMLDivElement) => {\n blockMap.push({\n name: block.dataset[\"blockName\"] as string,\n element: block,\n });\n });\n\n return blockMap;\n }\n\n private async loadBlockModules(block: BlockMapping) {\n const status = block.element.dataset.blockStatus ?? Status.unloaded;\n\n if (status === Status.unloaded) {\n block.element.dataset.blockStatus = Status.loading;\n\n try {\n const blockModule = await import(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.js`);\n\n if (blockModule.default) {\n await blockModule.default(block.element);\n }\n\n block.element.dataset.blockStatus = Status.loaded;\n } catch (error) {\n block.element.dataset.blockStatus = Status.error;\n console.error(\"An error occurred during module import:\", error);\n }\n }\n }\n\n async loadBlockStyles(block: BlockMapping) {\n try {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/${block.name}/${block.name}.css`);\n } catch (error) {\n console.error(`problem with block '${block.name}' loading styles`);\n }\n }\n\n private showSection(section: HTMLElement) {\n section.style.removeProperty(\"display\");\n }\n\n private async loadFonts() {\n await this.loadCSS(`${window.hlx.codeBasePath}/dist/fonts/fonts.css`);\n try {\n if (!getLocation().hostname.includes(\"localhost\")) sessionStorage.setItem(\"fonts-loaded\", \"true\");\n } catch (e) {\n // do nothing\n }\n }\n\n private async loadCSS(href: string, insertBefore?: string) {\n return new Promise((resolve, reject) => {\n if (!document.querySelector(`head > link[href=\"${href}\"]`)) {\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = href;\n link.onload = resolve;\n link.onerror = reject;\n if (insertBefore !== undefined) {\n const before = document.querySelector(`head > link[href=\"${insertBefore}\"]`);\n if (before) before.before(link);\n } else {\n document.head.append(link);\n }\n } else {\n resolve(true);\n }\n });\n }\n\n private async waitForLCP() {\n /* Js Chunks should be loaded\n Old logic only looks after the first block\n New logic looks in the first section after lcp candidates,\n since we show ech section depending on if its blocks and modules are loaded */\n const firstSection: HTMLElement | null = document.querySelector(\".section\");\n\n if (firstSection) {\n const blocks = this.collectBlocks(firstSection);\n const blockPromises = blocks.map(async block => {\n const hasLCPBlock = this.lcpBlocks.includes(block.name);\n if (hasLCPBlock) await Promise.all([this.loadBlockModules(block), this.loadBlockStyles(block)]);\n });\n\n await Promise.all(blockPromises);\n this.showSection(firstSection);\n }\n\n // @ts-ignore\n document.body.style.display = null;\n const lcpCandidate = document.querySelector(\"dva-e-lazy-image\");\n\n await new Promise(resolve => {\n if (lcpCandidate && !lcpCandidate.complete) {\n lcpCandidate.setAttribute(\"loading\", \"eager\");\n lcpCandidate.setAttribute(\"fetchpriority\", \"high\");\n lcpCandidate.setAttribute(\"init\", \"explicit\");\n lcpCandidate.addEventListener(\"load\", () => resolve());\n lcpCandidate.addEventListener(\"error\", () => resolve());\n } else {\n resolve();\n }\n });\n }\n\n private async loadBlock(section: HTMLElement) {\n const sectionsBlocks: BlockMapping[] = this.collectBlocks(section);\n\n if (!sectionsBlocks.length) {\n this.showSection(section);\n return;\n }\n\n const loadingPromises: Promise[] = [];\n\n for (const block of sectionsBlocks) {\n loadingPromises.push(this.loadBlockModules(block), this.loadBlockStyles(block));\n }\n\n await Promise.all(loadingPromises);\n this.showSection(section);\n }\n}\n","import \"Components/header.ts\";\nimport \"Components/icon/dva-e-icon.ts\";\nimport \"Components/dva-e-lazy-image/dva-e-lazy-image.ts\";\nimport \"Services/fetch.service.ts\";\nimport \"Components/dvag-m-c11-accordion/dvag-m-c11-accordion.ts\";\nimport { ConsentManagementService } from \"Services/ConsentManagementService.ts\";\n\nimport { BlockService } from \"./services/block.service.ts\";\nimport { SectionService } from \"./services/section.service.ts\";\nimport { MainService } from \"./services/main.service.ts\";\n\n(async function () {\n // preloadLcpImageCandidate();\n const blockService = new BlockService();\n const sectionService = new SectionService(blockService);\n const main = new MainService(sectionService, blockService);\n await main.init();\n})();\n\ndeclare global {\n interface Window {\n hlx: {\n RUM_MASK_URL: string;\n codeBasePath: string;\n lighthouse: boolean;\n };\n Granite: any;\n _dvaConsentManagementService: ConsentManagementService;\n }\n}\n"],"file":"main/main.js"} \ No newline at end of file diff --git a/dist/quicklinks/quicklinks.js b/dist/quicklinks/quicklinks.js index 03695ab..dfe387d 100644 --- a/dist/quicklinks/quicklinks.js +++ b/dist/quicklinks/quicklinks.js @@ -1,2 +1,2 @@ -import{c as r}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{j as l,x as a}from"../__chunks__/lit-element.XkUWx5ik.js";import{r as m}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/dva-e-icon.template.tppk8KWP.js";const v=i=>a``;function _(i){const t=[...i.children].map(e=>{const s=e.children[0].querySelector("picture > img"),n=(s==null?void 0:s.src)||"",o=e.children[1].textContent||"",d=e.children[2].textContent||"";return{name:o,url:d,src:n}});r(i),l(v(t),i)}export{_ as default}; +import{c as r}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{j as l,x as a}from"../__chunks__/lit-element.XkUWx5ik.js";import{r as m}from"../__chunks__/dva-e-lazy-image.template.zlMtuWyq.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/dva-e-icon.template.tppk8KWP.js";const v=i=>a``;function _(i){const t=[...i.children].map(e=>{const s=e.children[0].querySelector("picture > img"),n=(s==null?void 0:s.src)||"",o=e.children[1].textContent||"",d=e.children[2].textContent||"";return{name:o,url:d,src:n}});r(i),l(v(t),i)}export{_ as default}; //# sourceMappingURL=quicklinks.js.map diff --git a/dist/vb-contact-with-map/vb-contact-with-map.js b/dist/vb-contact-with-map/vb-contact-with-map.js index 2a542ff..bb446a3 100644 --- a/dist/vb-contact-with-map/vb-contact-with-map.js +++ b/dist/vb-contact-with-map/vb-contact-with-map.js @@ -1,2 +1,2 @@ -import{x as a,j as _}from"../__chunks__/lit-element.XkUWx5ik.js";import{c as m}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{r as u}from"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/dva-e-icon.template.tppk8KWP.js";const i=t=>t.iconOnly||t.label===void 0?"":a`${t.label}`,b=t=>t.iconID===void 0?"":a``,l=t=>{if(t.shouldRender===!1)return"";const e=t.disabled===!0;return t.isButton?a``:a`${i(t)} ${b(t)}`},f=({headline:t,direction:e,address:c,phone:n,mobile:o,email:d,imageSrc:s})=>a``,p=t=>f(t);function M(t){var c,n,o,d,s,v,r;const e={imageSrc:((c=t.children[0].querySelector("img"))==null?void 0:c.src)||"",headline:((n=t.children[1].textContent)==null?void 0:n.trim())||"",direction:((o=t.children[2].textContent)==null?void 0:o.trim())||"",address:((d=t.children[3].textContent)==null?void 0:d.trim().split(","))||[],phone:((s=t.children[4].textContent)==null?void 0:s.trim())||"",mobile:((v=t.children[5].textContent)==null?void 0:v.trim())||"",email:((r=t.children[6].textContent)==null?void 0:r.trim())||""};m(t),_(p(e),t)}export{M as default}; +import{x as a,j as _}from"../__chunks__/lit-element.XkUWx5ik.js";import{c as m}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{r as u}from"../__chunks__/dva-e-lazy-image.template.zlMtuWyq.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/cssClasses.CIN72OsW.js";import"../__chunks__/dva-e-icon.template.tppk8KWP.js";const i=t=>t.iconOnly||t.label===void 0?"":a`${t.label}`,b=t=>t.iconID===void 0?"":a``,l=t=>{if(t.shouldRender===!1)return"";const e=t.disabled===!0;return t.isButton?a``:a`${i(t)} ${b(t)}`},f=({headline:t,direction:e,address:c,phone:n,mobile:o,email:d,imageSrc:s})=>a``,p=t=>f(t);function M(t){var c,n,o,d,s,v,r;const e={imageSrc:((c=t.children[0].querySelector("img"))==null?void 0:c.src)||"",headline:((n=t.children[1].textContent)==null?void 0:n.trim())||"",direction:((o=t.children[2].textContent)==null?void 0:o.trim())||"",address:((d=t.children[3].textContent)==null?void 0:d.trim().split(","))||[],phone:((s=t.children[4].textContent)==null?void 0:s.trim())||"",mobile:((v=t.children[5].textContent)==null?void 0:v.trim())||"",email:((r=t.children[6].textContent)==null?void 0:r.trim())||""};m(t),_(p(e),t)}export{M as default}; //# sourceMappingURL=vb-contact-with-map.js.map diff --git a/dist/vb-stage/vb-stage.js b/dist/vb-stage/vb-stage.js index acda0e1..c690e7a 100644 --- a/dist/vb-stage/vb-stage.js +++ b/dist/vb-stage/vb-stage.js @@ -1,4 +1,4 @@ -import{c as M}from"../__chunks__/cleanUpBlock.VYQGZKWT.js";import{j as S,x as $}from"../__chunks__/lit-element.XkUWx5ik.js";import{U as V,h as z,r as x,p as _,S as R,M as q,R as O}from"../__chunks__/component.module.D5fmAfIh.js";import{l as L,j as l,b as C,a as r,c as h,o as f,r as c,h as b}from"../__chunks__/index.module.BEmWgxQc.js";import{I as P,L as v,c as g}from"../__chunks__/cssClasses.CIN72OsW.js";import{m as u}from"../__chunks__/mediaQueries.0eOxrCUs.js";import{I as w,M as E}from"../__chunks__/eventTypes.voneREpA.js";import"../__chunks__/dva-m-rating-box.4qyCp2PZ.js";import"../__chunks__/dva-e-lazy-image.UCrOhMiV.js";import"../__chunks__/dva-e-icon.JvN5hF7V.js";import"../__chunks__/getSrcset.ehtWqR_R.js";import"../__chunks__/dva-e-lazy-image.template.ZrSM01wa.js";import"../__chunks__/if-defined.JfW-uEqn.js";import"../__chunks__/dva-e-icon.template.tppk8KWP.js";import"../__chunks__/preload-helper.hlDPvxQM.js";import"../__chunks__/LazyConnectService.yBR27czX.js";const j=t=>t.fallbackSrc!==void 0&&t.fallbackSrc!=="undefined"?t.fallbackSrc:"",N=t=>{let e="";return t.forEach(i=>{e+=`