{"id":2982,"date":"2026-05-19T22:22:43","date_gmt":"2026-05-19T20:22:43","guid":{"rendered":"https:\/\/vair.world\/?page_id=2982"},"modified":"2026-05-20T22:23:15","modified_gmt":"2026-05-20T20:23:15","slug":"finanzierung-testseite","status":"publish","type":"page","link":"https:\/\/vair.world\/en\/finanzierung-testseite\/","title":{"rendered":"Finanzierung (Testseite)"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2982\" class=\"elementor elementor-2982\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7c7b5ab e-con-full e-flex e-con e-parent\" data-id=\"7c7b5ab\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b22a808 ha-css-transform-yes elementor-widget elementor-widget-html\" data-id=\"b22a808\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gradient-balken\">\r\n  <canvas style=\"--gradient-color-1:#0c2c4c;\r\n  --gradient-color-2:#b33c3d;\r\n  --gradient-color-3:#b49c44;\r\n  --gradient-color-4:#0c2c4c;\" id=\"gradient-canvas\" data-transition-in><\/canvas>\r\n<\/div>\r\n\r\n<script>\r\n\twindow.addEventListener('DOMContentLoaded', (e) => {\r\n\t\tvar gradient = new Gradient;\r\n\t\tgradient.initGradient(\"#gradient-canvas\");\r\n\t});\r\n<\/script>\r\n\r\n<script>\r\n    function normalizeColor(hexCode) {\r\n\treturn [\r\n\t\t((hexCode >> 16) & 255) \/ 255,\r\n\t\t((hexCode >> 8) & 255) \/ 255,\r\n\t\t(255 & hexCode) \/ 255\r\n\t];\r\n}\r\n[\"SCREEN\", \"LINEAR_LIGHT\"].reduce(\r\n\t(hexCode, t, n) => Object.assign(hexCode, { [t]: n }),\r\n\t{}\r\n);\r\nclass MiniGl {\r\n\tconstructor(canvas, width, height, debug = !1) {\r\n\t\tconst _miniGl = this,\r\n\t\t\tdebug_output =\r\n\t\t\t\t-1 !== document.location.search.toLowerCase().indexOf(\"debug=webgl\");\r\n\t\t(_miniGl.canvas = canvas),\r\n\t\t\t(_miniGl.gl = _miniGl.canvas.getContext(\"webgl\", { antialias: !0 })),\r\n\t\t\t(_miniGl.meshes = []);\r\n\t\tconst context = _miniGl.gl;\r\n\t\twidth && height && this.setSize(width, height),\r\n\t\t\t_miniGl.lastDebugMsg,\r\n\t\t\t(_miniGl.debug =\r\n\t\t\t\tdebug && debug_output\r\n\t\t\t\t\t? function (e) {\r\n\t\t\t\t\t\t\tconst t = new Date();\r\n\t\t\t\t\t\t\tt - _miniGl.lastDebugMsg > 1e3 && console.log(\"---\"),\r\n\t\t\t\t\t\t\t\tconsole.log(\r\n\t\t\t\t\t\t\t\t\tt.toLocaleTimeString() +\r\n\t\t\t\t\t\t\t\t\t\tArray(Math.max(0, 32 - e.length)).join(\" \") +\r\n\t\t\t\t\t\t\t\t\t\te +\r\n\t\t\t\t\t\t\t\t\t\t\": \",\r\n\t\t\t\t\t\t\t\t\t...Array.from(arguments).slice(1)\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t(_miniGl.lastDebugMsg = t);\r\n\t\t\t\t\t  }\r\n\t\t\t\t\t: () => {}),\r\n\t\t\tObject.defineProperties(_miniGl, {\r\n\t\t\t\tMaterial: {\r\n\t\t\t\t\tenumerable: !1,\r\n\t\t\t\t\tvalue: class {\r\n\t\t\t\t\t\tconstructor(vertexShaders, fragments, uniforms = {}) {\r\n\t\t\t\t\t\t\tconst material = this;\r\n\t\t\t\t\t\t\tfunction getShaderByType(type, source) {\r\n\t\t\t\t\t\t\t\tconst shader = context.createShader(type);\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\tcontext.shaderSource(shader, source),\r\n\t\t\t\t\t\t\t\t\tcontext.compileShader(shader),\r\n\t\t\t\t\t\t\t\t\tcontext.getShaderParameter(shader, context.COMPILE_STATUS) ||\r\n\t\t\t\t\t\t\t\t\t\tconsole.error(context.getShaderInfoLog(shader)),\r\n\t\t\t\t\t\t\t\t\t_miniGl.debug(\"Material.compileShaderSource\", { source: source }),\r\n\t\t\t\t\t\t\t\t\tshader\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tfunction getUniformVariableDeclarations(uniforms, type) {\r\n\t\t\t\t\t\t\t\treturn Object.entries(uniforms)\r\n\t\t\t\t\t\t\t\t\t.map(([uniform, value]) => value.getDeclaration(uniform, type))\r\n\t\t\t\t\t\t\t\t\t.join(\"\\n\");\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t(this.uniforms = uniforms), (this.uniformInstances = []);\r\n\t\t\t\t\t\t\tconst prefix = \"\\n              precision highp float;\\n            \";\r\n\t\t\t\t\t\t\t(this.vertexSource = `\\n              ${prefix}\\n              attribute vec4 position;\\n              attribute vec2 uv;\\n              attribute vec2 uvNorm;\\n              ${getUniformVariableDeclarations(\r\n\t\t\t\t\t\t\t\t_miniGl.commonUniforms,\r\n\t\t\t\t\t\t\t\t\"vertex\"\r\n\t\t\t\t\t\t\t)}\\n              ${getUniformVariableDeclarations(\r\n\t\t\t\t\t\t\t\tuniforms,\r\n\t\t\t\t\t\t\t\t\"vertex\"\r\n\t\t\t\t\t\t\t)}\\n              ${vertexShaders}\\n            `),\r\n\t\t\t\t\t\t\t\t(this.Source = `\\n              ${prefix}\\n              ${getUniformVariableDeclarations(\r\n\t\t\t\t\t\t\t\t\t_miniGl.commonUniforms,\r\n\t\t\t\t\t\t\t\t\t\"fragment\"\r\n\t\t\t\t\t\t\t\t)}\\n              ${getUniformVariableDeclarations(\r\n\t\t\t\t\t\t\t\t\tuniforms,\r\n\t\t\t\t\t\t\t\t\t\"fragment\"\r\n\t\t\t\t\t\t\t\t)}\\n              ${fragments}\\n            `),\r\n\t\t\t\t\t\t\t\t(this.vertexShader = getShaderByType(\r\n\t\t\t\t\t\t\t\t\tcontext.VERTEX_SHADER,\r\n\t\t\t\t\t\t\t\t\tthis.vertexSource\r\n\t\t\t\t\t\t\t\t)),\r\n\t\t\t\t\t\t\t\t(this.fragmentShader = getShaderByType(\r\n\t\t\t\t\t\t\t\t\tcontext.FRAGMENT_SHADER,\r\n\t\t\t\t\t\t\t\t\tthis.Source\r\n\t\t\t\t\t\t\t\t)),\r\n\t\t\t\t\t\t\t\t(this.program = context.createProgram()),\r\n\t\t\t\t\t\t\t\tcontext.attachShader(this.program, this.vertexShader),\r\n\t\t\t\t\t\t\t\tcontext.attachShader(this.program, this.fragmentShader),\r\n\t\t\t\t\t\t\t\tcontext.linkProgram(this.program),\r\n\t\t\t\t\t\t\t\tcontext.getProgramParameter(this.program, context.LINK_STATUS) ||\r\n\t\t\t\t\t\t\t\t\tconsole.error(context.getProgramInfoLog(this.program)),\r\n\t\t\t\t\t\t\t\tcontext.useProgram(this.program),\r\n\t\t\t\t\t\t\t\tthis.attachUniforms(void 0, _miniGl.commonUniforms),\r\n\t\t\t\t\t\t\t\tthis.attachUniforms(void 0, this.uniforms);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tattachUniforms(name, uniforms) {\r\n\t\t\t\t\t\t\tconst material = this;\r\n\t\t\t\t\t\t\tvoid 0 === name\r\n\t\t\t\t\t\t\t\t? Object.entries(uniforms).forEach(([name, uniform]) => {\r\n\t\t\t\t\t\t\t\t\t\tmaterial.attachUniforms(name, uniform);\r\n\t\t\t\t\t\t\t\t  })\r\n\t\t\t\t\t\t\t\t: \"array\" == uniforms.type\r\n\t\t\t\t\t\t\t\t? uniforms.value.forEach((uniform, i) =>\r\n\t\t\t\t\t\t\t\t\t\tmaterial.attachUniforms(`${name}[${i}]`, uniform)\r\n\t\t\t\t\t\t\t\t  )\r\n\t\t\t\t\t\t\t\t: \"struct\" == uniforms.type\r\n\t\t\t\t\t\t\t\t? Object.entries(uniforms.value).forEach(([uniform, i]) =>\r\n\t\t\t\t\t\t\t\t\t\tmaterial.attachUniforms(`${name}.${uniform}`, i)\r\n\t\t\t\t\t\t\t\t  )\r\n\t\t\t\t\t\t\t\t: (_miniGl.debug(\"Material.attachUniforms\", {\r\n\t\t\t\t\t\t\t\t\t\tname: name,\r\n\t\t\t\t\t\t\t\t\t\tuniform: uniforms\r\n\t\t\t\t\t\t\t\t  }),\r\n\t\t\t\t\t\t\t\t  material.uniformInstances.push({\r\n\t\t\t\t\t\t\t\t\t\tuniform: uniforms,\r\n\t\t\t\t\t\t\t\t\t\tlocation: context.getUniformLocation(material.program, name)\r\n\t\t\t\t\t\t\t\t  }));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tUniform: {\r\n\t\t\t\t\tenumerable: !1,\r\n\t\t\t\t\tvalue: class {\r\n\t\t\t\t\t\tconstructor(e) {\r\n\t\t\t\t\t\t\t(this.type = \"float\"),\r\n\t\t\t\t\t\t\t\tObject.assign(this, e),\r\n\t\t\t\t\t\t\t\t(this.typeFn =\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tfloat: \"1f\",\r\n\t\t\t\t\t\t\t\t\t\tint: \"1i\",\r\n\t\t\t\t\t\t\t\t\t\tvec2: \"2fv\",\r\n\t\t\t\t\t\t\t\t\t\tvec3: \"3fv\",\r\n\t\t\t\t\t\t\t\t\t\tvec4: \"4fv\",\r\n\t\t\t\t\t\t\t\t\t\tmat4: \"Matrix4fv\"\r\n\t\t\t\t\t\t\t\t\t}[this.type] || \"1f\"),\r\n\t\t\t\t\t\t\t\tthis.update();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tupdate(value) {\r\n\t\t\t\t\t\t\tvoid 0 !== this.value &&\r\n\t\t\t\t\t\t\t\tcontext[`uniform${this.typeFn}`](\r\n\t\t\t\t\t\t\t\t\tvalue,\r\n\t\t\t\t\t\t\t\t\t0 === this.typeFn.indexOf(\"Matrix\") ? this.transpose : this.value,\r\n\t\t\t\t\t\t\t\t\t0 === this.typeFn.indexOf(\"Matrix\") ? this.value : null\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tgetDeclaration(name, type, length) {\r\n\t\t\t\t\t\t\tconst uniform = this;\r\n\t\t\t\t\t\t\tif (uniform.excludeFrom !== type) {\r\n\t\t\t\t\t\t\t\tif (\"array\" === uniform.type)\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\tuniform.value[0].getDeclaration(name, type, uniform.value.length) +\r\n\t\t\t\t\t\t\t\t\t\t`\\nconst int ${name}_length = ${uniform.value.length};`\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tif (\"struct\" === uniform.type) {\r\n\t\t\t\t\t\t\t\t\tlet name_no_prefix = name.replace(\"u_\", \"\");\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t(name_no_prefix =\r\n\t\t\t\t\t\t\t\t\t\t\tname_no_prefix.charAt(0).toUpperCase() + name_no_prefix.slice(1)),\r\n\t\t\t\t\t\t\t\t\t\t`uniform struct ${name_no_prefix} \\n                                {\\n` +\r\n\t\t\t\t\t\t\t\t\t\t\tObject.entries(uniform.value)\r\n\t\t\t\t\t\t\t\t\t\t\t\t.map(([name, uniform]) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tuniform.getDeclaration(name, type).replace(\/^uniform\/, \"\")\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t.join(\"\") +\r\n\t\t\t\t\t\t\t\t\t\t\t`\\n} ${name}${length > 0 ? `[${length}]` : \"\"};`\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\treturn `uniform ${uniform.type} ${name}${\r\n\t\t\t\t\t\t\t\t\tlength > 0 ? `[${length}]` : \"\"\r\n\t\t\t\t\t\t\t\t};`;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tPlaneGeometry: {\r\n\t\t\t\t\tenumerable: !1,\r\n\t\t\t\t\tvalue: class {\r\n\t\t\t\t\t\tconstructor(width, height, n, i, orientation) {\r\n\t\t\t\t\t\t\tcontext.createBuffer(),\r\n\t\t\t\t\t\t\t\t(this.attributes = {\r\n\t\t\t\t\t\t\t\t\tposition: new _miniGl.Attribute({\r\n\t\t\t\t\t\t\t\t\t\ttarget: context.ARRAY_BUFFER,\r\n\t\t\t\t\t\t\t\t\t\tsize: 3\r\n\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\tuv: new _miniGl.Attribute({ target: context.ARRAY_BUFFER, size: 2 }),\r\n\t\t\t\t\t\t\t\t\tuvNorm: new _miniGl.Attribute({\r\n\t\t\t\t\t\t\t\t\t\ttarget: context.ARRAY_BUFFER,\r\n\t\t\t\t\t\t\t\t\t\tsize: 2\r\n\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\tindex: new _miniGl.Attribute({\r\n\t\t\t\t\t\t\t\t\t\ttarget: context.ELEMENT_ARRAY_BUFFER,\r\n\t\t\t\t\t\t\t\t\t\tsize: 3,\r\n\t\t\t\t\t\t\t\t\t\ttype: context.UNSIGNED_SHORT\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\tthis.setTopology(n, i),\r\n\t\t\t\t\t\t\t\tthis.setSize(width, height, orientation);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tsetTopology(e = 1, t = 1) {\r\n\t\t\t\t\t\t\tconst n = this;\r\n\t\t\t\t\t\t\t(n.xSegCount = e),\r\n\t\t\t\t\t\t\t\t(n.ySegCount = t),\r\n\t\t\t\t\t\t\t\t(n.vertexCount = (n.xSegCount + 1) * (n.ySegCount + 1)),\r\n\t\t\t\t\t\t\t\t(n.quadCount = n.xSegCount * n.ySegCount * 2),\r\n\t\t\t\t\t\t\t\t(n.attributes.uv.values = new Float32Array(2 * n.vertexCount)),\r\n\t\t\t\t\t\t\t\t(n.attributes.uvNorm.values = new Float32Array(2 * n.vertexCount)),\r\n\t\t\t\t\t\t\t\t(n.attributes.index.values = new Uint16Array(3 * n.quadCount));\r\n\t\t\t\t\t\t\tfor (let e = 0; e <= n.ySegCount; e++)\r\n\t\t\t\t\t\t\t\tfor (let t = 0; t <= n.xSegCount; t++) {\r\n\t\t\t\t\t\t\t\t\tconst i = e * (n.xSegCount + 1) + t;\r\n\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t((n.attributes.uv.values[2 * i] = t \/ n.xSegCount),\r\n\t\t\t\t\t\t\t\t\t\t(n.attributes.uv.values[2 * i + 1] = 1 - e \/ n.ySegCount),\r\n\t\t\t\t\t\t\t\t\t\t(n.attributes.uvNorm.values[2 * i] = (t \/ n.xSegCount) * 2 - 1),\r\n\t\t\t\t\t\t\t\t\t\t(n.attributes.uvNorm.values[2 * i + 1] = 1 - (e \/ n.ySegCount) * 2),\r\n\t\t\t\t\t\t\t\t\t\tt < n.xSegCount && e < n.ySegCount)\r\n\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\tconst s = e * n.xSegCount + t;\r\n\t\t\t\t\t\t\t\t\t\t(n.attributes.index.values[6 * s] = i),\r\n\t\t\t\t\t\t\t\t\t\t\t(n.attributes.index.values[6 * s + 1] = i + 1 + n.xSegCount),\r\n\t\t\t\t\t\t\t\t\t\t\t(n.attributes.index.values[6 * s + 2] = i + 1),\r\n\t\t\t\t\t\t\t\t\t\t\t(n.attributes.index.values[6 * s + 3] = i + 1),\r\n\t\t\t\t\t\t\t\t\t\t\t(n.attributes.index.values[6 * s + 4] = i + 1 + n.xSegCount),\r\n\t\t\t\t\t\t\t\t\t\t\t(n.attributes.index.values[6 * s + 5] = i + 2 + n.xSegCount);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tn.attributes.uv.update(),\r\n\t\t\t\t\t\t\t\tn.attributes.uvNorm.update(),\r\n\t\t\t\t\t\t\t\tn.attributes.index.update(),\r\n\t\t\t\t\t\t\t\t_miniGl.debug(\"Geometry.setTopology\", {\r\n\t\t\t\t\t\t\t\t\tuv: n.attributes.uv,\r\n\t\t\t\t\t\t\t\t\tuvNorm: n.attributes.uvNorm,\r\n\t\t\t\t\t\t\t\t\tindex: n.attributes.index\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tsetSize(width = 1, height = 1, orientation = \"xz\") {\r\n\t\t\t\t\t\t\tconst geometry = this;\r\n\t\t\t\t\t\t\t(geometry.width = width),\r\n\t\t\t\t\t\t\t\t(geometry.height = height),\r\n\t\t\t\t\t\t\t\t(geometry.orientation = orientation),\r\n\t\t\t\t\t\t\t\t(geometry.attributes.position.values &&\r\n\t\t\t\t\t\t\t\t\tgeometry.attributes.position.values.length ===\r\n\t\t\t\t\t\t\t\t\t\t3 * geometry.vertexCount) ||\r\n\t\t\t\t\t\t\t\t\t(geometry.attributes.position.values = new Float32Array(\r\n\t\t\t\t\t\t\t\t\t\t3 * geometry.vertexCount\r\n\t\t\t\t\t\t\t\t\t));\r\n\t\t\t\t\t\t\tconst o = width \/ -2,\r\n\t\t\t\t\t\t\t\tr = height \/ -2,\r\n\t\t\t\t\t\t\t\tsegment_width = width \/ geometry.xSegCount,\r\n\t\t\t\t\t\t\t\tsegment_height = height \/ geometry.ySegCount;\r\n\t\t\t\t\t\t\tfor (let yIndex = 0; yIndex <= geometry.ySegCount; yIndex++) {\r\n\t\t\t\t\t\t\t\tconst t = r + yIndex * segment_height;\r\n\t\t\t\t\t\t\t\tfor (let xIndex = 0; xIndex <= geometry.xSegCount; xIndex++) {\r\n\t\t\t\t\t\t\t\t\tconst r = o + xIndex * segment_width,\r\n\t\t\t\t\t\t\t\t\t\tl = yIndex * (geometry.xSegCount + 1) + xIndex;\r\n\t\t\t\t\t\t\t\t\t(geometry.attributes.position.values[\r\n\t\t\t\t\t\t\t\t\t\t3 * l + \"xyz\".indexOf(orientation[0])\r\n\t\t\t\t\t\t\t\t\t] = r),\r\n\t\t\t\t\t\t\t\t\t\t(geometry.attributes.position.values[\r\n\t\t\t\t\t\t\t\t\t\t\t3 * l + \"xyz\".indexOf(orientation[1])\r\n\t\t\t\t\t\t\t\t\t\t] = -t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tgeometry.attributes.position.update(),\r\n\t\t\t\t\t\t\t\t_miniGl.debug(\"Geometry.setSize\", {\r\n\t\t\t\t\t\t\t\t\tposition: geometry.attributes.position\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tMesh: {\r\n\t\t\t\t\tenumerable: !1,\r\n\t\t\t\t\tvalue: class {\r\n\t\t\t\t\t\tconstructor(geometry, material) {\r\n\t\t\t\t\t\t\tconst mesh = this;\r\n\t\t\t\t\t\t\t(mesh.geometry = geometry),\r\n\t\t\t\t\t\t\t\t(mesh.material = material),\r\n\t\t\t\t\t\t\t\t(mesh.wireframe = !1),\r\n\t\t\t\t\t\t\t\t(mesh.attributeInstances = []),\r\n\t\t\t\t\t\t\t\tObject.entries(mesh.geometry.attributes).forEach(([e, attribute]) => {\r\n\t\t\t\t\t\t\t\t\tmesh.attributeInstances.push({\r\n\t\t\t\t\t\t\t\t\t\tattribute: attribute,\r\n\t\t\t\t\t\t\t\t\t\tlocation: attribute.attach(e, mesh.material.program)\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t_miniGl.meshes.push(mesh),\r\n\t\t\t\t\t\t\t\t_miniGl.debug(\"Mesh.constructor\", { mesh: mesh });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdraw() {\r\n\t\t\t\t\t\t\tcontext.useProgram(this.material.program),\r\n\t\t\t\t\t\t\t\tthis.material.uniformInstances.forEach(({ uniform: e, location: t }) =>\r\n\t\t\t\t\t\t\t\t\te.update(t)\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\tthis.attributeInstances.forEach(({ attribute: e, location: t }) =>\r\n\t\t\t\t\t\t\t\t\te.use(t)\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\tcontext.drawElements(\r\n\t\t\t\t\t\t\t\t\tthis.wireframe ? context.LINES : context.TRIANGLES,\r\n\t\t\t\t\t\t\t\t\tthis.geometry.attributes.index.values.length,\r\n\t\t\t\t\t\t\t\t\tcontext.UNSIGNED_SHORT,\r\n\t\t\t\t\t\t\t\t\t0\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tremove() {\r\n\t\t\t\t\t\t\t_miniGl.meshes = _miniGl.meshes.filter((e) => e != this);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tAttribute: {\r\n\t\t\t\t\tenumerable: !1,\r\n\t\t\t\t\tvalue: class {\r\n\t\t\t\t\t\tconstructor(e) {\r\n\t\t\t\t\t\t\t(this.type = context.FLOAT),\r\n\t\t\t\t\t\t\t\t(this.normalized = !1),\r\n\t\t\t\t\t\t\t\t(this.buffer = context.createBuffer()),\r\n\t\t\t\t\t\t\t\tObject.assign(this, e),\r\n\t\t\t\t\t\t\t\tthis.update();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tupdate() {\r\n\t\t\t\t\t\t\tvoid 0 !== this.values &&\r\n\t\t\t\t\t\t\t\t(context.bindBuffer(this.target, this.buffer),\r\n\t\t\t\t\t\t\t\tcontext.bufferData(this.target, this.values, context.STATIC_DRAW));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tattach(e, t) {\r\n\t\t\t\t\t\t\tconst n = context.getAttribLocation(t, e);\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\tthis.target === context.ARRAY_BUFFER &&\r\n\t\t\t\t\t\t\t\t\t(context.enableVertexAttribArray(n),\r\n\t\t\t\t\t\t\t\t\tcontext.vertexAttribPointer(\r\n\t\t\t\t\t\t\t\t\t\tn,\r\n\t\t\t\t\t\t\t\t\t\tthis.size,\r\n\t\t\t\t\t\t\t\t\t\tthis.type,\r\n\t\t\t\t\t\t\t\t\t\tthis.normalized,\r\n\t\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\t\t0\r\n\t\t\t\t\t\t\t\t\t)),\r\n\t\t\t\t\t\t\t\tn\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tuse(e) {\r\n\t\t\t\t\t\t\tcontext.bindBuffer(this.target, this.buffer),\r\n\t\t\t\t\t\t\t\tthis.target === context.ARRAY_BUFFER &&\r\n\t\t\t\t\t\t\t\t\t(context.enableVertexAttribArray(e),\r\n\t\t\t\t\t\t\t\t\tcontext.vertexAttribPointer(\r\n\t\t\t\t\t\t\t\t\t\te,\r\n\t\t\t\t\t\t\t\t\t\tthis.size,\r\n\t\t\t\t\t\t\t\t\t\tthis.type,\r\n\t\t\t\t\t\t\t\t\t\tthis.normalized,\r\n\t\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\t\t0\r\n\t\t\t\t\t\t\t\t\t));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\tconst a = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\r\n\t\t_miniGl.commonUniforms = {\r\n\t\t\tprojectionMatrix: new _miniGl.Uniform({ type: \"mat4\", value: a }),\r\n\t\t\tmodelViewMatrix: new _miniGl.Uniform({ type: \"mat4\", value: a }),\r\n\t\t\tresolution: new _miniGl.Uniform({ type: \"vec2\", value: [1, 1] }),\r\n\t\t\taspectRatio: new _miniGl.Uniform({ type: \"float\", value: 1 })\r\n\t\t};\r\n\t}\r\n\tsetSize(e = 640, t = 480) {\r\n\t\t(this.width = e),\r\n\t\t\t(this.height = t),\r\n\t\t\t(this.canvas.width = e),\r\n\t\t\t(this.canvas.height = t),\r\n\t\t\tthis.gl.viewport(0, 0, e, t),\r\n\t\t\t(this.commonUniforms.resolution.value = [e, t]),\r\n\t\t\t(this.commonUniforms.aspectRatio.value = e \/ t),\r\n\t\t\tthis.debug(\"MiniGL.setSize\", { width: e, height: t });\r\n\t}\r\n\tsetOrthographicCamera(e = 0, t = 0, n = 0, i = -2e3, s = 2e3) {\r\n\t\t(this.commonUniforms.projectionMatrix.value = [\r\n\t\t\t2 \/ this.width,\r\n\t\t\t0,\r\n\t\t\t0,\r\n\t\t\t0,\r\n\t\t\t0,\r\n\t\t\t2 \/ this.height,\r\n\t\t\t0,\r\n\t\t\t0,\r\n\t\t\t0,\r\n\t\t\t0,\r\n\t\t\t2 \/ (i - s),\r\n\t\t\t0,\r\n\t\t\te,\r\n\t\t\tt,\r\n\t\t\tn,\r\n\t\t\t1\r\n\t\t]),\r\n\t\t\tthis.debug(\r\n\t\t\t\t\"setOrthographicCamera\",\r\n\t\t\t\tthis.commonUniforms.projectionMatrix.value\r\n\t\t\t);\r\n\t}\r\n\trender() {\r\n\t\tthis.gl.clearColor(0, 0, 0, 0),\r\n\t\t\tthis.gl.clearDepth(1),\r\n\t\t\tthis.meshes.forEach((e) => e.draw());\r\n\t}\r\n}\r\nfunction e(object, propertyName, val) {\r\n\treturn (\r\n\t\tpropertyName in object\r\n\t\t\t? Object.defineProperty(object, propertyName, {\r\n\t\t\t\t\tvalue: val,\r\n\t\t\t\t\tenumerable: !0,\r\n\t\t\t\t\tconfigurable: !0,\r\n\t\t\t\t\twritable: !0\r\n\t\t\t  })\r\n\t\t\t: (object[propertyName] = val),\r\n\t\tobject\r\n\t);\r\n}\r\nclass Gradient {\r\n\tconstructor(...t) {\r\n\t\te(this, \"el\", void 0),\r\n\t\t\te(this, \"cssVarRetries\", 0),\r\n\t\t\te(this, \"maxCssVarRetries\", 200),\r\n\t\t\te(this, \"angle\", 0),\r\n\t\t\te(this, \"isLoadedClass\", !1),\r\n\t\t\te(this, \"isScrolling\", !1),\r\n\t\t\te(this, \"scrollingTimeout\", void 0),\r\n\t\t\te(this, \"scrollingRefreshDelay\", 200),\r\n\t\t\te(this, \"isIntersecting\", !1),\r\n\t\t\te(this, \"shaderFiles\", void 0),\r\n\t\t\te(this, \"vertexShader\", void 0),\r\n\t\t\te(this, \"sectionColors\", void 0),\r\n\t\t\te(this, \"computedCanvasStyle\", void 0),\r\n\t\t\te(this, \"conf\", void 0),\r\n\t\t\te(this, \"uniforms\", void 0),\r\n\t\t\te(this, \"t\", 1253106),\r\n\t\t\te(this, \"last\", 0),\r\n\t\t\te(this, \"width\", void 0),\r\n\t\t\te(this, \"minWidth\", 1111),\r\n\t\t\te(this, \"height\", 600),\r\n\t\t\te(this, \"xSegCount\", void 0),\r\n\t\t\te(this, \"ySegCount\", void 0),\r\n\t\t\te(this, \"mesh\", void 0),\r\n\t\t\te(this, \"material\", void 0),\r\n\t\t\te(this, \"geometry\", void 0),\r\n\t\t\te(this, \"minigl\", void 0),\r\n\t\t\te(this, \"scrollObserver\", void 0),\r\n\t\t\te(this, \"amp\", 320),\r\n\t\t\te(this, \"seed\", 5),\r\n\t\t\te(this, \"freqX\", 14e-5),\r\n\t\t\te(this, \"freqY\", 29e-5),\r\n\t\t\te(this, \"freqDelta\", 1e-5),\r\n\t\t\te(this, \"activeColors\", [1, 1, 1, 1]),\r\n\t\t\te(this, \"isMetaKey\", !1),\r\n\t\t\te(this, \"isGradientLegendVisible\", !1),\r\n\t\t\te(this, \"isMouseDown\", !1),\r\n\t\t\te(this, \"handleScroll\", () => {\r\n\t\t\t\tclearTimeout(this.scrollingTimeout),\r\n\t\t\t\t\t(this.scrollingTimeout = setTimeout(\r\n\t\t\t\t\t\tthis.handleScrollEnd,\r\n\t\t\t\t\t\tthis.scrollingRefreshDelay\r\n\t\t\t\t\t)),\r\n\t\t\t\t\tthis.isGradientLegendVisible && this.hideGradientLegend(),\r\n\t\t\t\t\tthis.conf.playing && ((this.isScrolling = !0), this.pause());\r\n\t\t\t}),\r\n\t\t\te(this, \"handleScrollEnd\", () => {\r\n\t\t\t\t(this.isScrolling = !1), this.isIntersecting && this.play();\r\n\t\t\t}),\r\n\t\t\te(this, \"resize\", () => {\r\n\t\t\t\t(this.width = window.innerWidth),\r\n\t\t\t\t\tthis.minigl.setSize(this.width, this.height),\r\n\t\t\t\t\tthis.minigl.setOrthographicCamera(),\r\n\t\t\t\t\t(this.xSegCount = Math.ceil(this.width * this.conf.density[0])),\r\n\t\t\t\t\t(this.ySegCount = Math.ceil(this.height * this.conf.density[1])),\r\n\t\t\t\t\tthis.mesh.geometry.setTopology(this.xSegCount, this.ySegCount),\r\n\t\t\t\t\tthis.mesh.geometry.setSize(this.width, this.height),\r\n\t\t\t\t\t(this.mesh.material.uniforms.u_shadow_power.value =\r\n\t\t\t\t\t\tthis.width < 600 ? 5 : 6);\r\n\t\t\t}),\r\n\t\t\te(this, \"handleMouseDown\", (e) => {\r\n\t\t\t\tthis.isGradientLegendVisible &&\r\n\t\t\t\t\t((this.isMetaKey = e.metaKey),\r\n\t\t\t\t\t(this.isMouseDown = !0),\r\n\t\t\t\t\t!1 === this.conf.playing && requestAnimationFrame(this.animate));\r\n\t\t\t}),\r\n\t\t\te(this, \"handleMouseUp\", () => {\r\n\t\t\t\tthis.isMouseDown = !1;\r\n\t\t\t}),\r\n\t\t\te(this, \"animate\", (e) => {\r\n\t\t\t\tif (!this.shouldSkipFrame(e) || this.isMouseDown) {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\t((this.t += Math.min(e - this.last, 1e3 \/ 15)),\r\n\t\t\t\t\t\t(this.last = e),\r\n\t\t\t\t\t\tthis.isMouseDown)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tlet e = 160;\r\n\t\t\t\t\t\tthis.isMetaKey && (e = -160), (this.t += e);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t(this.mesh.material.uniforms.u_time.value = this.t), this.minigl.render();\r\n\t\t\t\t}\r\n\t\t\t\tif (0 !== this.last && this.isStatic)\r\n\t\t\t\t\treturn this.minigl.render(), void this.disconnect();\r\n\t\t\t\t(this.conf.playing || this.isMouseDown) &&\r\n\t\t\t\t\trequestAnimationFrame(this.animate);\r\n\t\t\t}),\r\n\t\t\te(this, \"addIsLoadedClass\", () => {\r\n\t\t\t\t!this.isLoadedClass &&\r\n\t\t\t\t\t((this.isLoadedClass = !0),\r\n\t\t\t\t\tthis.el.classList.add(\"isLoaded\"),\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\tthis.el.parentElement.classList.add(\"isLoaded\");\r\n\t\t\t\t\t}, 3e3));\r\n\t\t\t}),\r\n\t\t\te(this, \"pause\", () => {\r\n\t\t\t\tthis.conf.playing = !1;\r\n\t\t\t}),\r\n\t\t\te(this, \"play\", () => {\r\n\t\t\t\trequestAnimationFrame(this.animate), (this.conf.playing = !0);\r\n\t\t\t}),\r\n\t\t\te(\r\n\t\t\t\tthis,\r\n\t\t\t\t\"initGradient\",\r\n\t\t\t\t(selector) => (\r\n\t\t\t\t\t(this.el = document.querySelector(selector)), this.connect(), this\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\tasync connect() {\r\n\t\t(this.shaderFiles = {\r\n\t\t\tvertex:\r\n\t\t\t\t\"varying vec3 v_color;\\n\\nvoid main() {\\n  float time = u_time * u_global.noiseSpeed;\\n\\n  vec2 noiseCoord = resolution * uvNorm * u_global.noiseFreq;\\n\\n  vec2 st = 1. - uvNorm.xy;\\n\\n  \/\/\\n  \/\/ Tilting the plane\\n  \/\/\\n\\n  \/\/ Front-to-back tilt\\n  float tilt = resolution.y \/ 2.0 * uvNorm.y;\\n\\n  \/\/ Left-to-right angle\\n  float incline = resolution.x * uvNorm.x \/ 2.0 * u_vertDeform.incline;\\n\\n  \/\/ Up-down shift to offset incline\\n  float offset = resolution.x \/ 2.0 * u_vertDeform.incline * mix(u_vertDeform.offsetBottom, u_vertDeform.offsetTop, uv.y);\\n\\n  \/\/\\n  \/\/ Vertex noise\\n  \/\/\\n\\n  float noise = snoise(vec3(\\n    noiseCoord.x * u_vertDeform.noiseFreq.x + time * u_vertDeform.noiseFlow,\\n    noiseCoord.y * u_vertDeform.noiseFreq.y,\\n    time * u_vertDeform.noiseSpeed + u_vertDeform.noiseSeed\\n  )) * u_vertDeform.noiseAmp;\\n\\n  \/\/ Fade noise to zero at edges\\n  noise *= 1.0 - pow(abs(uvNorm.y), 2.0);\\n\\n  \/\/ Clamp to 0\\n  noise = max(0.0, noise);\\n\\n  vec3 pos = vec3(\\n    position.x,\\n    position.y + tilt + incline + noise - offset,\\n    position.z\\n  );\\n\\n  \/\/\\n  \/\/ Vertex color, to be passed to fragment shader\\n  \/\/\\n\\n  if (u_active_colors[0] == 1.) {\\n    v_color = u_baseColor;\\n  }\\n\\n  for (int i = 0; i < u_waveLayers_length; i++) {\\n    if (u_active_colors[i + 1] == 1.) {\\n      WaveLayers layer = u_waveLayers[i];\\n\\n      float noise = smoothstep(\\n        layer.noiseFloor,\\n        layer.noiseCeil,\\n        snoise(vec3(\\n          noiseCoord.x * layer.noiseFreq.x + time * layer.noiseFlow,\\n          noiseCoord.y * layer.noiseFreq.y,\\n          time * layer.noiseSpeed + layer.noiseSeed\\n        )) \/ 2.0 + 0.5\\n      );\\n\\n      v_color = blendNormal(v_color, layer.color, pow(noise, 4.));\\n    }\\n  }\\n\\n  \/\/\\n  \/\/ Finish\\n  \/\/\\n\\n  gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.0);\\n}\",\r\n\t\t\tnoise:\r\n\t\t\t\t\"\/\/\\n\/\/ Description : Array and textureless GLSL 2D\/3D\/4D simplex\\n\/\/               noise functions.\\n\/\/      Author : Ian McEwan, Ashima Arts.\\n\/\/  Maintainer : stegu\\n\/\/     Lastmod : 20110822 (ijm)\\n\/\/     License : Copyright (C) 2011 Ashima Arts. All rights reserved.\\n\/\/               Distributed under the MIT License. See LICENSE file.\\n\/\/               https:\/\/github.com\/ashima\/webgl-noise\\n\/\/               https:\/\/github.com\/stegu\/webgl-noise\\n\/\/\\n\\nvec3 mod289(vec3 x) {\\n  return x - floor(x * (1.0 \/ 289.0)) * 289.0;\\n}\\n\\nvec4 mod289(vec4 x) {\\n  return x - floor(x * (1.0 \/ 289.0)) * 289.0;\\n}\\n\\nvec4 permute(vec4 x) {\\n    return mod289(((x*34.0)+1.0)*x);\\n}\\n\\nvec4 taylorInvSqrt(vec4 r)\\n{\\n  return 1.79284291400159 - 0.85373472095314 * r;\\n}\\n\\nfloat snoise(vec3 v)\\n{\\n  const vec2  C = vec2(1.0\/6.0, 1.0\/3.0) ;\\n  const vec4  D = vec4(0.0, 0.5, 1.0, 2.0);\\n\\n\/\/ First corner\\n  vec3 i  = floor(v + dot(v, C.yyy) );\\n  vec3 x0 =   v - i + dot(i, C.xxx) ;\\n\\n\/\/ Other corners\\n  vec3 g = step(x0.yzx, x0.xyz);\\n  vec3 l = 1.0 - g;\\n  vec3 i1 = min( g.xyz, l.zxy );\\n  vec3 i2 = max( g.xyz, l.zxy );\\n\\n  \/\/   x0 = x0 - 0.0 + 0.0 * C.xxx;\\n  \/\/   x1 = x0 - i1  + 1.0 * C.xxx;\\n  \/\/   x2 = x0 - i2  + 2.0 * C.xxx;\\n  \/\/   x3 = x0 - 1.0 + 3.0 * C.xxx;\\n  vec3 x1 = x0 - i1 + C.xxx;\\n  vec3 x2 = x0 - i2 + C.yyy; \/\/ 2.0*C.x = 1\/3 = C.y\\n  vec3 x3 = x0 - D.yyy;      \/\/ -1.0+3.0*C.x = -0.5 = -D.y\\n\\n\/\/ Permutations\\n  i = mod289(i);\\n  vec4 p = permute( permute( permute(\\n            i.z + vec4(0.0, i1.z, i2.z, 1.0 ))\\n          + i.y + vec4(0.0, i1.y, i2.y, 1.0 ))\\n          + i.x + vec4(0.0, i1.x, i2.x, 1.0 ));\\n\\n\/\/ Gradients: 7x7 points over a square, mapped onto an octahedron.\\n\/\/ The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294)\\n  float n_ = 0.142857142857; \/\/ 1.0\/7.0\\n  vec3  ns = n_ * D.wyz - D.xzx;\\n\\n  vec4 j = p - 49.0 * floor(p * ns.z * ns.z);  \/\/  mod(p,7*7)\\n\\n  vec4 x_ = floor(j * ns.z);\\n  vec4 y_ = floor(j - 7.0 * x_ );    \/\/ mod(j,N)\\n\\n  vec4 x = x_ *ns.x + ns.yyyy;\\n  vec4 y = y_ *ns.x + ns.yyyy;\\n  vec4 h = 1.0 - abs(x) - abs(y);\\n\\n  vec4 b0 = vec4( x.xy, y.xy );\\n  vec4 b1 = vec4( x.zw, y.zw );\\n\\n  \/\/vec4 s0 = vec4(lessThan(b0,0.0))*2.0 - 1.0;\\n  \/\/vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0;\\n  vec4 s0 = floor(b0)*2.0 + 1.0;\\n  vec4 s1 = floor(b1)*2.0 + 1.0;\\n  vec4 sh = -step(h, vec4(0.0));\\n\\n  vec4 a0 = b0.xzyw + s0.xzyw*sh.xxyy ;\\n  vec4 a1 = b1.xzyw + s1.xzyw*sh.zzww ;\\n\\n  vec3 p0 = vec3(a0.xy,h.x);\\n  vec3 p1 = vec3(a0.zw,h.y);\\n  vec3 p2 = vec3(a1.xy,h.z);\\n  vec3 p3 = vec3(a1.zw,h.w);\\n\\n\/\/Normalise gradients\\n  vec4 norm = taylorInvSqrt(vec4(dot(p0,p0), dot(p1,p1), dot(p2, p2), dot(p3,p3)));\\n  p0 *= norm.x;\\n  p1 *= norm.y;\\n  p2 *= norm.z;\\n  p3 *= norm.w;\\n\\n\/\/ Mix final noise value\\n  vec4 m = max(0.6 - vec4(dot(x0,x0), dot(x1,x1), dot(x2,x2), dot(x3,x3)), 0.0);\\n  m = m * m;\\n  return 42.0 * dot( m*m, vec4( dot(p0,x0), dot(p1,x1),\\n                                dot(p2,x2), dot(p3,x3) ) );\\n}\",\r\n\t\t\tblend:\r\n\t\t\t\t\"\/\/\\n\/\/ https:\/\/github.com\/jamieowen\/glsl-blend\\n\/\/\\n\\n\/\/ Normal\\n\\nvec3 blendNormal(vec3 base, vec3 blend) {\\n\\treturn blend;\\n}\\n\\nvec3 blendNormal(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendNormal(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n\/\/ Screen\\n\\nfloat blendScreen(float base, float blend) {\\n\\treturn 1.0-((1.0-base)*(1.0-blend));\\n}\\n\\nvec3 blendScreen(vec3 base, vec3 blend) {\\n\\treturn vec3(blendScreen(base.r,blend.r),blendScreen(base.g,blend.g),blendScreen(base.b,blend.b));\\n}\\n\\nvec3 blendScreen(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendScreen(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n\/\/ Multiply\\n\\nvec3 blendMultiply(vec3 base, vec3 blend) {\\n\\treturn base*blend;\\n}\\n\\nvec3 blendMultiply(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendMultiply(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n\/\/ Overlay\\n\\nfloat blendOverlay(float base, float blend) {\\n\\treturn base<0.5?(2.0*base*blend):(1.0-2.0*(1.0-base)*(1.0-blend));\\n}\\n\\nvec3 blendOverlay(vec3 base, vec3 blend) {\\n\\treturn vec3(blendOverlay(base.r,blend.r),blendOverlay(base.g,blend.g),blendOverlay(base.b,blend.b));\\n}\\n\\nvec3 blendOverlay(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendOverlay(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n\/\/ Hard light\\n\\nvec3 blendHardLight(vec3 base, vec3 blend) {\\n\\treturn blendOverlay(blend,base);\\n}\\n\\nvec3 blendHardLight(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendHardLight(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n\/\/ Soft light\\n\\nfloat blendSoftLight(float base, float blend) {\\n\\treturn (blend<0.5)?(2.0*base*blend+base*base*(1.0-2.0*blend)):(sqrt(base)*(2.0*blend-1.0)+2.0*base*(1.0-blend));\\n}\\n\\nvec3 blendSoftLight(vec3 base, vec3 blend) {\\n\\treturn vec3(blendSoftLight(base.r,blend.r),blendSoftLight(base.g,blend.g),blendSoftLight(base.b,blend.b));\\n}\\n\\nvec3 blendSoftLight(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendSoftLight(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n\/\/ Color dodge\\n\\nfloat blendColorDodge(float base, float blend) {\\n\\treturn (blend==1.0)?blend:min(base\/(1.0-blend),1.0);\\n}\\n\\nvec3 blendColorDodge(vec3 base, vec3 blend) {\\n\\treturn vec3(blendColorDodge(base.r,blend.r),blendColorDodge(base.g,blend.g),blendColorDodge(base.b,blend.b));\\n}\\n\\nvec3 blendColorDodge(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendColorDodge(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n\/\/ Color burn\\n\\nfloat blendColorBurn(float base, float blend) {\\n\\treturn (blend==0.0)?blend:max((1.0-((1.0-base)\/blend)),0.0);\\n}\\n\\nvec3 blendColorBurn(vec3 base, vec3 blend) {\\n\\treturn vec3(blendColorBurn(base.r,blend.r),blendColorBurn(base.g,blend.g),blendColorBurn(base.b,blend.b));\\n}\\n\\nvec3 blendColorBurn(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendColorBurn(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n\/\/ Vivid Light\\n\\nfloat blendVividLight(float base, float blend) {\\n\\treturn (blend<0.5)?blendColorBurn(base,(2.0*blend)):blendColorDodge(base,(2.0*(blend-0.5)));\\n}\\n\\nvec3 blendVividLight(vec3 base, vec3 blend) {\\n\\treturn vec3(blendVividLight(base.r,blend.r),blendVividLight(base.g,blend.g),blendVividLight(base.b,blend.b));\\n}\\n\\nvec3 blendVividLight(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendVividLight(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n\/\/ Lighten\\n\\nfloat blendLighten(float base, float blend) {\\n\\treturn max(blend,base);\\n}\\n\\nvec3 blendLighten(vec3 base, vec3 blend) {\\n\\treturn vec3(blendLighten(base.r,blend.r),blendLighten(base.g,blend.g),blendLighten(base.b,blend.b));\\n}\\n\\nvec3 blendLighten(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendLighten(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n\/\/ Linear burn\\n\\nfloat blendLinearBurn(float base, float blend) {\\n\\t\/\/ Note : Same implementation as BlendSubtractf\\n\\treturn max(base+blend-1.0,0.0);\\n}\\n\\nvec3 blendLinearBurn(vec3 base, vec3 blend) {\\n\\t\/\/ Note : Same implementation as BlendSubtract\\n\\treturn max(base+blend-vec3(1.0),vec3(0.0));\\n}\\n\\nvec3 blendLinearBurn(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendLinearBurn(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n\/\/ Linear dodge\\n\\nfloat blendLinearDodge(float base, float blend) {\\n\\t\/\/ Note : Same implementation as BlendAddf\\n\\treturn min(base+blend,1.0);\\n}\\n\\nvec3 blendLinearDodge(vec3 base, vec3 blend) {\\n\\t\/\/ Note : Same implementation as BlendAdd\\n\\treturn min(base+blend,vec3(1.0));\\n}\\n\\nvec3 blendLinearDodge(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendLinearDodge(base, blend) * opacity + base * (1.0 - opacity));\\n}\\n\\n\/\/ Linear light\\n\\nfloat blendLinearLight(float base, float blend) {\\n\\treturn blend<0.5?blendLinearBurn(base,(2.0*blend)):blendLinearDodge(base,(2.0*(blend-0.5)));\\n}\\n\\nvec3 blendLinearLight(vec3 base, vec3 blend) {\\n\\treturn vec3(blendLinearLight(base.r,blend.r),blendLinearLight(base.g,blend.g),blendLinearLight(base.b,blend.b));\\n}\\n\\nvec3 blendLinearLight(vec3 base, vec3 blend, float opacity) {\\n\\treturn (blendLinearLight(base, blend) * opacity + base * (1.0 - opacity));\\n}\",\r\n\t\t\tfragment:\r\n\t\t\t\t\"varying vec3 v_color;\\n\\nvoid main() {\\n  vec3 color = v_color;\\n  if (u_darken_top == 1.0) {\\n    vec2 st = gl_FragCoord.xy\/resolution.xy;\\n    color.g -= pow(st.y + sin(-12.0) * st.x, u_shadow_power) * 0.4;\\n  }\\n  gl_FragColor = vec4(color, 1.0);\\n}\"\r\n\t\t}),\r\n\t\t\t(this.conf = {\r\n\t\t\t\tpresetName: \"\",\r\n\t\t\t\twireframe: !1,\r\n\t\t\t\tdensity: [0.06, 0.16],\r\n\t\t\t\tzoom: 1,\r\n\t\t\t\trotation: 0,\r\n\t\t\t\tplaying: !0\r\n\t\t\t}),\r\n\t\t\tdocument.querySelectorAll(\"canvas\").length < 1\r\n\t\t\t\t? console.log(\"DID NOT LOAD HERO STRIPE CANVAS\")\r\n\t\t\t\t: ((this.minigl = new MiniGl(this.el, null, null, !0)),\r\n\t\t\t\t  requestAnimationFrame(() => {\r\n\t\t\t\t\t\tthis.el &&\r\n\t\t\t\t\t\t\t((this.computedCanvasStyle = getComputedStyle(this.el)),\r\n\t\t\t\t\t\t\tthis.waitForCssVars());\r\n\t\t\t\t  }));\r\n\t}\r\n\tdisconnect() {\r\n\t\tthis.scrollObserver &&\r\n\t\t\t(window.removeEventListener(\"scroll\", this.handleScroll),\r\n\t\t\twindow.removeEventListener(\"mousedown\", this.handleMouseDown),\r\n\t\t\twindow.removeEventListener(\"mouseup\", this.handleMouseUp),\r\n\t\t\twindow.removeEventListener(\"keydown\", this.handleKeyDown),\r\n\t\t\tthis.scrollObserver.disconnect()),\r\n\t\t\twindow.removeEventListener(\"resize\", this.resize);\r\n\t}\r\n\tinitMaterial() {\r\n\t\tthis.uniforms = {\r\n\t\t\tu_time: new this.minigl.Uniform({ value: 0 }),\r\n\t\t\tu_shadow_power: new this.minigl.Uniform({ value: 5 }),\r\n\t\t\tu_darken_top: new this.minigl.Uniform({\r\n\t\t\t\tvalue: \"\" === this.el.dataset.jsDarkenTop ? 1 : 0\r\n\t\t\t}),\r\n\t\t\tu_active_colors: new this.minigl.Uniform({\r\n\t\t\t\tvalue: this.activeColors,\r\n\t\t\t\ttype: \"vec4\"\r\n\t\t\t}),\r\n\t\t\tu_global: new this.minigl.Uniform({\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tnoiseFreq: new this.minigl.Uniform({\r\n\t\t\t\t\t\tvalue: [this.freqX, this.freqY],\r\n\t\t\t\t\t\ttype: \"vec2\"\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tnoiseSpeed: new this.minigl.Uniform({ value: 5e-6 })\r\n\t\t\t\t},\r\n\t\t\t\ttype: \"struct\"\r\n\t\t\t}),\r\n\t\t\tu_vertDeform: new this.minigl.Uniform({\r\n\t\t\t\tvalue: {\r\n\t\t\t\t\tincline: new this.minigl.Uniform({\r\n\t\t\t\t\t\tvalue: Math.sin(this.angle) \/ Math.cos(this.angle)\r\n\t\t\t\t\t}),\r\n\t\t\t\t\toffsetTop: new this.minigl.Uniform({ value: -0.5 }),\r\n\t\t\t\t\toffsetBottom: new this.minigl.Uniform({ value: -0.5 }),\r\n\t\t\t\t\tnoiseFreq: new this.minigl.Uniform({ value: [3, 4], type: \"vec2\" }),\r\n\t\t\t\t\tnoiseAmp: new this.minigl.Uniform({ value: this.amp }),\r\n\t\t\t\t\tnoiseSpeed: new this.minigl.Uniform({ value: 10 }),\r\n\t\t\t\t\tnoiseFlow: new this.minigl.Uniform({ value: 3 }),\r\n\t\t\t\t\tnoiseSeed: new this.minigl.Uniform({ value: this.seed })\r\n\t\t\t\t},\r\n\t\t\t\ttype: \"struct\",\r\n\t\t\t\texcludeFrom: \"fragment\"\r\n\t\t\t}),\r\n\t\t\tu_baseColor: new this.minigl.Uniform({\r\n\t\t\t\tvalue: this.sectionColors[0],\r\n\t\t\t\ttype: \"vec3\",\r\n\t\t\t\texcludeFrom: \"fragment\"\r\n\t\t\t}),\r\n\t\t\tu_waveLayers: new this.minigl.Uniform({\r\n\t\t\t\tvalue: [],\r\n\t\t\t\texcludeFrom: \"fragment\",\r\n\t\t\t\ttype: \"array\"\r\n\t\t\t})\r\n\t\t};\r\n\t\tfor (let e = 1; e < this.sectionColors.length; e += 1)\r\n\t\t\tthis.uniforms.u_waveLayers.value.push(\r\n\t\t\t\tnew this.minigl.Uniform({\r\n\t\t\t\t\tvalue: {\r\n\t\t\t\t\t\tcolor: new this.minigl.Uniform({\r\n\t\t\t\t\t\t\tvalue: this.sectionColors[e],\r\n\t\t\t\t\t\t\ttype: \"vec3\"\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tnoiseFreq: new this.minigl.Uniform({\r\n\t\t\t\t\t\t\tvalue: [\r\n\t\t\t\t\t\t\t\t2 + e \/ this.sectionColors.length,\r\n\t\t\t\t\t\t\t\t3 + e \/ this.sectionColors.length\r\n\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\ttype: \"vec2\"\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tnoiseSpeed: new this.minigl.Uniform({ value: 11 + 0.3 * e }),\r\n\t\t\t\t\t\tnoiseFlow: new this.minigl.Uniform({ value: 6.5 + 0.3 * e }),\r\n\t\t\t\t\t\tnoiseSeed: new this.minigl.Uniform({ value: this.seed + 10 * e }),\r\n\t\t\t\t\t\tnoiseFloor: new this.minigl.Uniform({ value: 0.1 }),\r\n\t\t\t\t\t\tnoiseCeil: new this.minigl.Uniform({ value: 0.63 + 0.07 * e })\r\n\t\t\t\t\t},\r\n\t\t\t\t\ttype: \"struct\"\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\treturn (\r\n\t\t\t(this.vertexShader = [\r\n\t\t\t\tthis.shaderFiles.noise,\r\n\t\t\t\tthis.shaderFiles.blend,\r\n\t\t\t\tthis.shaderFiles.vertex\r\n\t\t\t].join(\"\\n\\n\")),\r\n\t\t\tnew this.minigl.Material(\r\n\t\t\t\tthis.vertexShader,\r\n\t\t\t\tthis.shaderFiles.fragment,\r\n\t\t\t\tthis.uniforms\r\n\t\t\t)\r\n\t\t);\r\n\t}\r\n\tinitMesh() {\r\n\t\t(this.material = this.initMaterial()),\r\n\t\t\t(this.geometry = new this.minigl.PlaneGeometry()),\r\n\t\t\t(this.mesh = new this.minigl.Mesh(this.geometry, this.material));\r\n\t}\r\n\tshouldSkipFrame(e) {\r\n\t\treturn (\r\n\t\t\t!!window.document.hidden ||\r\n\t\t\t!this.conf.playing ||\r\n\t\t\tparseInt(e, 10) % 2 == 0 ||\r\n\t\t\tvoid 0\r\n\t\t);\r\n\t}\r\n\tupdateFrequency(e) {\r\n\t\t(this.freqX += e), (this.freqY += e);\r\n\t}\r\n\ttoggleColor(index) {\r\n\t\tthis.activeColors[index] = 0 === this.activeColors[index] ? 1 : 0;\r\n\t}\r\n\tshowGradientLegend() {\r\n\t\tthis.width > this.minWidth &&\r\n\t\t\t((this.isGradientLegendVisible = !0),\r\n\t\t\tdocument.body.classList.add(\"isGradientLegendVisible\"));\r\n\t}\r\n\thideGradientLegend() {\r\n\t\t(this.isGradientLegendVisible = !1),\r\n\t\t\tdocument.body.classList.remove(\"isGradientLegendVisible\");\r\n\t}\r\n\tinit() {\r\n\t\tthis.initGradientColors(),\r\n\t\t\tthis.initMesh(),\r\n\t\t\tthis.resize(),\r\n\t\t\trequestAnimationFrame(this.animate),\r\n\t\t\twindow.addEventListener(\"resize\", this.resize);\r\n\t}\r\n\twaitForCssVars() {\r\n\t\tif (\r\n\t\t\tthis.computedCanvasStyle &&\r\n\t\t\t-1 !==\r\n\t\t\t\tthis.computedCanvasStyle.getPropertyValue(\"--gradient-color-1\").indexOf(\"#\")\r\n\t\t)\r\n\t\t\tthis.init(), this.addIsLoadedClass();\r\n\t\telse {\r\n\t\t\tif (((this.cssVarRetries += 1), this.cssVarRetries > this.maxCssVarRetries))\r\n\t\t\t\treturn (\r\n\t\t\t\t\t(this.sectionColors = [16711680, 16711680, 16711935, 65280, 255]),\r\n\t\t\t\t\tvoid this.init()\r\n\t\t\t\t);\r\n\t\t\trequestAnimationFrame(() => this.waitForCssVars());\r\n\t\t}\r\n\t}\r\n\tinitGradientColors() {\r\n\t\tthis.sectionColors = [\r\n\t\t\t\"--gradient-color-1\",\r\n\t\t\t\"--gradient-color-2\",\r\n\t\t\t\"--gradient-color-3\",\r\n\t\t\t\"--gradient-color-4\"\r\n\t\t]\r\n\t\t\t.map((cssPropertyName) => {\r\n\t\t\t\tlet hex = this.computedCanvasStyle.getPropertyValue(cssPropertyName).trim();\r\n\t\t\t\tif (4 === hex.length) {\r\n\t\t\t\t\tconst hexTemp = hex\r\n\t\t\t\t\t\t.substr(1)\r\n\t\t\t\t\t\t.split(\"\")\r\n\t\t\t\t\t\t.map((hexTemp) => hexTemp + hexTemp)\r\n\t\t\t\t\t\t.join(\"\");\r\n\t\t\t\t\thex = `#${hexTemp}`;\r\n\t\t\t\t}\r\n\t\t\t\treturn hex && `0x${hex.substr(1)}`;\r\n\t\t\t})\r\n\t\t\t.filter(Boolean)\r\n\t\t\t.map(normalizeColor);\r\n\t}\r\n}\r\n\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-597ab5f e-flex e-con-boxed e-con e-parent\" data-id=\"597ab5f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-cb7f306 e-con-full e-flex e-con e-child\" data-id=\"cb7f306\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1b18314 elementor-widget__width-initial ha-css-transform-yes elementor-widget elementor-widget-text-editor\" data-id=\"1b18314\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Unternehmens- &amp; Projektfinanzierung ohne Umwege<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f210e41 elementor-widget__width-initial ha-css-transform-yes elementor-hidden-mobile elementor-widget elementor-widget-text-editor\" data-id=\"f210e41\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Wir verbinden Unternehmer, Projektentwickler und Investoren mit passenden Finanzierungspartnern \u2013 schnell, diskret und individuell gepr\u00fcft.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4815cc2 ha-css-transform-yes elementor-widget elementor-widget-button\" data-id=\"4815cc2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#elementor-action%3Aaction%3Dpopup%3Aopen%26settings%3DeyJpZCI6IjI3NzciLCJ0b2dnbGUiOmZhbHNlfQ%3D%3D\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Finanzierung erhalten<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9211f1d elementor-widget__width-initial ha-css-transform-yes elementor-widget elementor-widget-button\" data-id=\"9211f1d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#finanzierungen\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Finanzierungen ansehen \u2193  <\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3118079 ha-css-transform-yes elementor-widget elementor-widget-html\" data-id=\"3118079\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"vair-finance-ui-card\">\r\n  <div class=\"vair-card-header\">\r\n    <div>\r\n      <span class=\"vair-eyebrow\">Finanzierungsstatus<\/span>\r\n      <h3>Pr\u00fcfung aktiv<\/h3>\r\n    <\/div>\r\n    <div class=\"vair-status-dot\"><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"vair-kpi-grid\">\r\n    <div class=\"vair-kpi\">\r\n      <span>Partner gefunden<\/span>\r\n      <strong>12<\/strong>\r\n    <\/div>\r\n    <div class=\"vair-kpi\">\r\n      <span>Projektvolumen<\/span>\r\n      <strong>2,4 Mio. \u20ac<\/strong>\r\n    <\/div>\r\n    <div class=\"vair-kpi\">\r\n      <span>Kapital verf\u00fcgbar<\/span>\r\n      <strong>8,7 Mio. \u20ac<\/strong>\r\n    <\/div>\r\n    <div class=\"vair-kpi\">\r\n      <span>Matching Score<\/span>\r\n      <strong>94%<\/strong>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"vair-progress-area\">\r\n    <div class=\"vair-progress-row\">\r\n      <div>\r\n        <span>Matching Score<\/span>\r\n        <strong>94%<\/strong>\r\n      <\/div>\r\n      <div class=\"vair-progress-bar\">\r\n        <div style=\"width: 94%;\"><\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"vair-progress-row\">\r\n      <div>\r\n        <span>Kapitalpr\u00fcfung<\/span>\r\n        <strong>78%<\/strong>\r\n      <\/div>\r\n      <div class=\"vair-progress-bar\">\r\n        <div style=\"width: 78%;\"><\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"vair-chart-network\">\r\n    <div class=\"vair-chart\">\r\n      <span style=\"height: 42%;\"><\/span>\r\n      <span style=\"height: 65%;\"><\/span>\r\n      <span style=\"height: 48%;\"><\/span>\r\n      <span style=\"height: 82%;\"><\/span>\r\n      <span style=\"height: 70%;\"><\/span>\r\n      <span style=\"height: 92%;\"><\/span>\r\n    <\/div>\r\n\r\n    <svg class=\"vair-network\" viewBox=\"0 0 260 150\">\r\n      <defs>\r\n        <filter id=\"vairGlow\">\r\n          <feGaussianBlur stdDeviation=\"4\" result=\"blur\"\/>\r\n          <feMerge>\r\n            <feMergeNode in=\"blur\"\/>\r\n            <feMergeNode in=\"SourceGraphic\"\/>\r\n          <\/feMerge>\r\n        <\/filter>\r\n      <\/defs>\r\n\r\n      <line x1=\"45\" y1=\"78\" x2=\"115\" y2=\"35\"><\/line>\r\n      <line x1=\"115\" y1=\"35\" x2=\"205\" y2=\"70\"><\/line>\r\n      <line x1=\"45\" y1=\"78\" x2=\"128\" y2=\"115\"><\/line>\r\n      <line x1=\"128\" y1=\"115\" x2=\"205\" y2=\"70\"><\/line>\r\n      <line x1=\"115\" y1=\"35\" x2=\"128\" y2=\"115\"><\/line>\r\n\r\n      <circle cx=\"45\" cy=\"78\" r=\"11\"><\/circle>\r\n      <circle cx=\"115\" cy=\"35\" r=\"9\"><\/circle>\r\n      <circle cx=\"205\" cy=\"70\" r=\"12\"><\/circle>\r\n      <circle cx=\"128\" cy=\"115\" r=\"10\"><\/circle>\r\n\r\n      <circle class=\"vair-pulse\" cx=\"45\" cy=\"78\" r=\"18\"><\/circle>\r\n      <circle class=\"vair-pulse delay\" cx=\"205\" cy=\"70\" r=\"20\"><\/circle>\r\n    <\/svg>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n.vair-finance-ui-card {\r\n  width: 100%;\r\n  max-width: 420px;\r\n  padding: 20px;\r\n  border-radius: 22px;\r\n  background: rgba(255, 255, 255, 0.72);\r\n  border: 1px solid rgba(12, 44, 76, 0.14);\r\n  box-shadow: 0 24px 70px rgba(12, 44, 76, 0.16);\r\n  backdrop-filter: blur(18px);\r\n  -webkit-backdrop-filter: blur(18px);\r\n  font-family: Inter, Arial, sans-serif;\r\n  color: #0C2C4C;\r\n  overflow: hidden;\r\n  position: relative;\r\n}\r\n\r\n.vair-finance-ui-card::before {\r\n  content: \"\";\r\n  position: absolute;\r\n  inset: -40%;\r\n  background: radial-gradient(circle, rgba(12,44,76,0.16), transparent 55%);\r\n  animation: vairGlowMove 9s ease-in-out infinite;\r\n  pointer-events: none;\r\n}\r\n\r\n.vair-card-header,\r\n.vair-kpi-grid,\r\n.vair-progress-area,\r\n.vair-chart-network {\r\n  position: relative;\r\n  z-index: 2;\r\n}\r\n\r\n.vair-card-header {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: flex-start;\r\n  margin-bottom: 18px;\r\n}\r\n\r\n.vair-eyebrow {\r\n  display: block;\r\n  font-size: 12px;\r\n  font-weight: 700;\r\n  opacity: 0.62;\r\n  margin-bottom: 5px;\r\n}\r\n\r\n.vair-card-header h3 {\r\n  margin: 0;\r\n  font-size: 22px;\r\n  line-height: 1.1;\r\n  color: #0C2C4C;\r\n}\r\n\r\n.vair-status-dot {\r\n  width: 11px;\r\n  height: 11px;\r\n  border-radius: 999px;\r\n  background: #0C2C4C;\r\n  box-shadow: 0 0 0 8px rgba(12,44,76,0.1);\r\n  animation: vairStatusPulse 2.4s ease-in-out infinite;\r\n}\r\n\r\n.vair-kpi-grid {\r\n  display: grid;\r\n  grid-template-columns: repeat(2, 1fr);\r\n  gap: 10px;\r\n  margin-bottom: 18px;\r\n}\r\n\r\n.vair-kpi {\r\n  padding: 13px;\r\n  border-radius: 16px;\r\n  background: rgba(255,255,255,0.64);\r\n  border: 1px solid rgba(12,44,76,0.1);\r\n}\r\n\r\n.vair-kpi span {\r\n  display: block;\r\n  font-size: 11px;\r\n  font-weight: 700;\r\n  opacity: 0.58;\r\n  margin-bottom: 6px;\r\n}\r\n\r\n.vair-kpi strong {\r\n  font-size: 18px;\r\n  line-height: 1;\r\n  color: #0C2C4C;\r\n}\r\n\r\n.vair-progress-area {\r\n  display: grid;\r\n  gap: 12px;\r\n  margin-bottom: 18px;\r\n}\r\n\r\n.vair-progress-row > div:first-child {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  font-size: 12px;\r\n  font-weight: 700;\r\n  margin-bottom: 6px;\r\n}\r\n\r\n.vair-progress-row span {\r\n  opacity: 0.68;\r\n}\r\n\r\n.vair-progress-bar {\r\n  height: 7px;\r\n  border-radius: 999px;\r\n  background: rgba(12,44,76,0.11);\r\n  overflow: hidden;\r\n}\r\n\r\n.vair-progress-bar div {\r\n  height: 100%;\r\n  border-radius: inherit;\r\n  background: linear-gradient(90deg, rgba(12,44,76,0.55), #0C2C4C);\r\n  animation: vairProgress 1.8s ease-out both;\r\n}\r\n\r\n.vair-chart-network {\r\n  display: grid;\r\n  grid-template-columns: 0.9fr 1.1fr;\r\n  gap: 12px;\r\n  align-items: end;\r\n}\r\n\r\n.vair-chart {\r\n  height: 115px;\r\n  padding: 11px;\r\n  border-radius: 16px;\r\n  background: rgba(255,255,255,0.5);\r\n  border: 1px solid rgba(12,44,76,0.09);\r\n  display: flex;\r\n  align-items: end;\r\n  gap: 7px;\r\n}\r\n\r\n.vair-chart span {\r\n  flex: 1;\r\n  border-radius: 999px 999px 4px 4px;\r\n  background: linear-gradient(180deg, #0C2C4C, rgba(12,44,76,0.24));\r\n  animation: vairBarFloat 4s ease-in-out infinite;\r\n}\r\n\r\n.vair-chart span:nth-child(2) { animation-delay: -0.6s; }\r\n.vair-chart span:nth-child(3) { animation-delay: -1.2s; }\r\n.vair-chart span:nth-child(4) { animation-delay: -1.8s; }\r\n.vair-chart span:nth-child(5) { animation-delay: -2.4s; }\r\n.vair-chart span:nth-child(6) { animation-delay: -3s; }\r\n\r\n.vair-network {\r\n  width: 100%;\r\n  height: 115px;\r\n  padding: 9px;\r\n  border-radius: 16px;\r\n  background: rgba(255,255,255,0.5);\r\n  border: 1px solid rgba(12,44,76,0.09);\r\n}\r\n\r\n.vair-network line {\r\n  stroke: #0C2C4C;\r\n  stroke-width: 1.5;\r\n  opacity: 0.25;\r\n}\r\n\r\n.vair-network circle {\r\n  fill: #ffffff;\r\n  stroke: #0C2C4C;\r\n  stroke-width: 2;\r\n  filter: url(#vairGlow);\r\n}\r\n\r\n.vair-network .vair-pulse {\r\n  fill: none;\r\n  stroke: #0C2C4C;\r\n  stroke-width: 1;\r\n  opacity: 0.22;\r\n  animation: vairNodePulse 3.5s ease-in-out infinite;\r\n}\r\n\r\n.vair-network .delay {\r\n  animation-delay: -1.7s;\r\n}\r\n\r\n@keyframes vairGlowMove {\r\n  0%, 100% { transform: translate(-8%, -5%) scale(1); }\r\n  50% { transform: translate(8%, 5%) scale(1.08); }\r\n}\r\n\r\n@keyframes vairStatusPulse {\r\n  0%, 100% { box-shadow: 0 0 0 8px rgba(12,44,76,0.1); }\r\n  50% { box-shadow: 0 0 0 15px rgba(12,44,76,0.03); }\r\n}\r\n\r\n@keyframes vairProgress {\r\n  from { width: 0; }\r\n}\r\n\r\n@keyframes vairBarFloat {\r\n  0%, 100% { transform: scaleY(1); opacity: 0.8; }\r\n  50% { transform: scaleY(1.08); opacity: 1; }\r\n}\r\n\r\n@keyframes vairNodePulse {\r\n  0%, 100% { transform: scale(1); opacity: 0.18; }\r\n  50% { transform: scale(1.22); opacity: 0.34; }\r\n}\r\n\r\n@media (max-width: 767px) {\r\n  .vair-finance-ui-card {\r\n    max-width: 280px;\r\n    padding: 12px;\r\n    border-radius: 16px;\r\n    margin: 0 auto;\r\n  }\r\n\r\n  .vair-card-header {\r\n    margin-bottom: 12px;\r\n  }\r\n\r\n  .vair-eyebrow {\r\n    font-size: 10px;\r\n    margin-bottom: 3px;\r\n  }\r\n\r\n  .vair-card-header h3 {\r\n    font-size: 16px;\r\n  }\r\n\r\n  .vair-status-dot {\r\n    width: 8px;\r\n    height: 8px;\r\n  }\r\n\r\n  .vair-kpi-grid {\r\n    grid-template-columns: repeat(2, 1fr);\r\n    gap: 7px;\r\n    margin-bottom: 12px;\r\n  }\r\n\r\n  .vair-kpi {\r\n    padding: 8px;\r\n    border-radius: 12px;\r\n  }\r\n\r\n  .vair-kpi span {\r\n    font-size: 9px;\r\n    margin-bottom: 4px;\r\n  }\r\n\r\n  .vair-kpi strong {\r\n    font-size: 13px;\r\n  }\r\n\r\n  .vair-progress-area {\r\n    gap: 8px;\r\n    margin-bottom: 12px;\r\n  }\r\n\r\n  .vair-progress-row > div:first-child {\r\n    font-size: 10px;\r\n    margin-bottom: 4px;\r\n  }\r\n\r\n  .vair-progress-bar {\r\n    height: 5px;\r\n  }\r\n\r\n  .vair-chart-network {\r\n    grid-template-columns: 1fr 1fr;\r\n    gap: 8px;\r\n  }\r\n\r\n  .vair-chart,\r\n  .vair-network {\r\n    height: 72px;\r\n    padding: 7px;\r\n    border-radius: 12px;\r\n  }\r\n}\r\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-448775a elementor-widget__width-initial ha-css-transform-yes elementor-widget elementor-widget-html\" data-id=\"448775a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"vair-benefits-grid\">\r\n\r\n  <div class=\"vair-benefit-item\">\r\n    <div class=\"vair-icon\">\r\n      <svg viewBox=\"0 0 24 24\">\r\n        <path d=\"M8 12l2 2 4-4\"\/>\r\n        <path d=\"M3 12a9 9 0 1 0 18 0 9 9 0 0 0-18 0z\"\/>\r\n      <\/svg>\r\n    <\/div>\r\n\r\n    <h3>Ein Ansprechpartner f\u00fcr viele Finanzierungswege<\/h3>\r\n\r\n    <p>\r\n      Statt verschiedene Anbieter einzeln anzufragen, b\u00fcndelt VAIR WORLD unterschiedliche M\u00f6glichkeiten in einem Netzwerk.\r\n    <\/p>\r\n  <\/div>\r\n\r\n\r\n  <div class=\"vair-benefit-item\">\r\n    <div class=\"vair-icon\">\r\n      <svg viewBox=\"0 0 24 24\">\r\n        <path d=\"M11 4a7 7 0 1 0 0 14 7 7 0 0 0 0-14z\"\/>\r\n        <path d=\"M20 20l-4.35-4.35\"\/>\r\n        <path d=\"M8.5 11l1.8 1.8 3.2-3.6\"\/>\r\n      <\/svg>\r\n    <\/div>\r\n\r\n    <h3>Individuelle Vorpr\u00fcfung<\/h3>\r\n\r\n    <p>\r\n      Jedes Vorhaben wird nach Ziel, Kapitalbedarf, Ausgangslage und m\u00f6glicher Umsetzbarkeit eingeordnet.\r\n    <\/p>\r\n  <\/div>\r\n\r\n\r\n  <div class=\"vair-benefit-item\">\r\n    <div class=\"vair-icon\">\r\n      <svg viewBox=\"0 0 24 24\">\r\n        <path d=\"M12 3v18\"\/>\r\n        <path d=\"M3 12h18\"\/>\r\n        <path d=\"M5 7h14\"\/>\r\n        <path d=\"M5 17h14\"\/>\r\n        <path d=\"M12 3a9 9 0 0 1 0 18\"\/>\r\n        <path d=\"M12 3a9 9 0 0 0 0 18\"\/>\r\n      <\/svg>\r\n    <\/div>\r\n\r\n    <h3>Zugang zu Finanzierungspartnern<\/h3>\r\n\r\n    <p>\r\n      Wir verbinden Kunden mit passenden Partnern, Ansprechpartnern und M\u00f6glichkeiten aus unserem \u00d6kosystem.\r\n    <\/p>\r\n  <\/div>\r\n\r\n\r\n  <div class=\"vair-benefit-item\">\r\n    <div class=\"vair-icon\">\r\n      <svg viewBox=\"0 0 24 24\">\r\n        <path d=\"M7 11V8a5 5 0 0 1 10 0v3\"\/>\r\n        <path d=\"M6 11h12v9H6z\"\/>\r\n        <path d=\"M12 15v2\"\/>\r\n      <\/svg>\r\n    <\/div>\r\n\r\n    <h3>Diskrete Abwicklung<\/h3>\r\n\r\n    <p>\r\n      Finanzierungsanfragen werden vertraulich behandelt und strukturiert vorbereitet.\r\n    <\/p>\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n<style>\r\n\r\n.vair-benefits-grid {\r\n  display: grid;\r\n  grid-template-columns: repeat(4, 1fr);\r\n  max-width: 1200px;\r\n  margin: 0 auto;\r\n  border-left: 1px solid #e8edf3;\r\n  background: #fff;\r\n}\r\n\r\n.vair-benefit-item {\r\n  padding: 40px 30px;\r\n  border-right: 1px solid #e8edf3;\r\n  font-family: Arial, sans-serif;\r\n}\r\n\r\n.vair-icon {\r\n  margin-bottom: 24px;\r\n}\r\n\r\n.vair-icon svg {\r\n  width: 34px;\r\n  height: 34px;\r\n  stroke: #0C2C4C;\r\n  stroke-width: 1.8;\r\n  fill: none;\r\n  stroke-linecap: round;\r\n  stroke-linejoin: round;\r\n}\r\n\r\n.vair-benefit-item h3 {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 27px;\r\n  line-height: 1.08;\r\n  font-weight: 500;\r\n  color: #0C2C4C;\r\n  margin: 0 0 16px 0;\r\n}\r\n\r\n.vair-benefit-item p {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 15px;\r\n  line-height: 1.55;\r\n  font-weight: 400;\r\n  color: #0C2C4C;\r\n  margin: 0;\r\n}\r\n\r\n\/* Tablet *\/\r\n@media (max-width: 992px) {\r\n  .vair-benefits-grid {\r\n    grid-template-columns: repeat(2, 1fr);\r\n  }\r\n\r\n  .vair-benefit-item:nth-child(2) {\r\n    border-right: none;\r\n  }\r\n}\r\n\r\n\/* Mobile *\/\r\n@media (max-width: 600px) {\r\n  .vair-benefits-grid {\r\n    grid-template-columns: 1fr;\r\n    border-left: none;\r\n  }\r\n\r\n  .vair-benefit-item {\r\n    border-right: none;\r\n    border-bottom: 1px solid #e8edf3;\r\n  }\r\n}\r\n\r\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-424dc7d e-con-full e-flex e-con e-child\" data-id=\"424dc7d\" data-element_type=\"container\" data-e-type=\"container\" id=\"finanzierungen\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7fe9ec9 elementor-widget elementor-widget-html\" data-id=\"7fe9ec9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"vw-finance-slider\" id=\"vwFinanceSlider\">\r\n  <div class=\"vw-finance-top\">\r\n    <h2>Finanzierungsl\u00f6sungen<\/h2>\r\n\r\n    <div class=\"vw-nav\">\r\n      <button class=\"vw-arrow vw-prev\" type=\"button\" aria-label=\"Zur\u00fcck\">\r\n        <span>\u2039<\/span>\r\n      <\/button>\r\n      <button class=\"vw-arrow vw-next\" type=\"button\" aria-label=\"Weiter\">\r\n        <span>\u203a<\/span>\r\n      <\/button>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"vw-window\">\r\n    <div class=\"vw-track\">\r\n      <div class=\"vw-box selected\" id=\"autokredit\">\r\n        <div class=\"vw-gradient\">\r\n          <div class=\"vw-mockup\">\r\n            <div class=\"vw-card-icon\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <path d=\"M4 14l1.6-4.2A2.8 2.8 0 0 1 8.2 8h7.6a2.8 2.8 0 0 1 2.6 1.8L20 14\" \/>\r\n                <path d=\"M3 14h18v4H3z\" \/>\r\n                <path d=\"M6 14l1.2-3h9.6L18 14\" \/>\r\n                <path d=\"M7 18v1\" \/>\r\n                <path d=\"M17 18v1\" \/>\r\n                <circle cx=\"7\" cy=\"18\" r=\"1.8\" \/>\r\n                <circle cx=\"17\" cy=\"18\" r=\"1.8\" \/>\r\n                <path d=\"M9 11v3\" \/>\r\n                <path d=\"M15 11v3\" \/>\r\n              <\/svg>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <h3>Autokredit<\/h3>\r\n        <p>Flexible Laufzeiten<\/p>\r\n        <p>Digitale Abwicklung<\/p>\r\n        <p>Neu- & Gebrauchtwagen<\/p>\r\n        <button class=\"vw-popup-btn\" type=\"button\">Anmelden<\/button>\r\n      <\/div>\r\n\r\n      <div class=\"vw-box\" id=\"immobilienkredit\">\r\n        <div class=\"vw-gradient\">\r\n          <div class=\"vw-mockup\">\r\n            <div class=\"vw-card-icon\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <path d=\"M3 11l9-7 9 7\" \/>\r\n                <path d=\"M5 10v10h14V10\" \/>\r\n                <path d=\"M9 20v-6h6v6\" \/>\r\n              <\/svg>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <h3>Immobilienkredit<\/h3>\r\n        <p>Individuelle Konzepte<\/p>\r\n        <p>Internationale L\u00f6sungen<\/p>\r\n        <p>Langfristige Sicherheit<\/p>\r\n        <button class=\"vw-popup-btn\" type=\"button\">Anmelden<\/button>\r\n      <\/div>\r\n\r\n      <div class=\"vw-box\" id=\"projektfinanzierung\">\r\n        <div class=\"vw-gradient\">\r\n          <div class=\"vw-mockup\">\r\n            <div class=\"vw-card-icon\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <path d=\"M4 20V6\" \/>\r\n                <path d=\"M4 6h7l1 3h8v8h-8l-1-3H4\" \/>\r\n              <\/svg>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <h3>Projektfinanzierung<\/h3>\r\n        <p>Unternehmensprojekte<\/p>\r\n        <p>Wachstumsunterst\u00fctzung<\/p>\r\n        <p>Individuelle L\u00f6sungen<\/p>\r\n        <button class=\"vw-popup-btn\" type=\"button\">Anmelden<\/button>\r\n      <\/div>\r\n\r\n      <div class=\"vw-box\">\r\n        <div class=\"vw-gradient\">\r\n          <div class=\"vw-mockup\">\r\n            <div class=\"vw-card-icon\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <path d=\"M4 19h16\" \/>\r\n                <path d=\"M7 16l4-4 3 3 5-7\" \/>\r\n                <path d=\"M15 8h4v4\" \/>\r\n              <\/svg>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <h3>Investmentkredit<\/h3>\r\n        <p>Expansion & Investitionen<\/p>\r\n        <p>Flexible Modelle<\/p>\r\n        <p>Bis zu 500.000\u20ac<\/p>\r\n        <button class=\"vw-popup-btn\" type=\"button\">Anmelden<\/button>\r\n      <\/div>\r\n\r\n      <div class=\"vw-box\" id=\"goldkredit\">\r\n        <div class=\"vw-gradient\">\r\n          <div class=\"vw-mockup\">\r\n            <div class=\"vw-card-icon\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <path d=\"M7 9h10l3 10H4z\" \/>\r\n                <path d=\"M9 9l1-4h4l1 4\" \/>\r\n                <path d=\"M8 15h8\" \/>\r\n              <\/svg>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <h3>Goldkredit<\/h3>\r\n        <p>Finanzierung gegen Edelmetalle<\/p>\r\n        <p>Diskrete Abwicklung<\/p>\r\n        <p>Schutz Ihrer Werte<\/p>\r\n        <button class=\"vw-popup-btn\" type=\"button\">Anmelden<\/button>\r\n      <\/div>\r\n\r\n      <div class=\"vw-box\">\r\n        <div class=\"vw-gradient\">\r\n          <div class=\"vw-mockup\">\r\n            <div class=\"vw-card-icon\">\r\n              <svg viewBox=\"0 0 24 24\">\r\n                <path d=\"M7 8h10v12H7z\" \/>\r\n                <path d=\"M9 8V6a3 3 0 0 1 6 0v2\" \/>\r\n                <path d=\"M12 13v3\" \/>\r\n              <\/svg>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <h3>Pfandkredit<\/h3>\r\n        <p>Schnelle Liquidit\u00e4t<\/p>\r\n        <p>Flexible R\u00fcckzahlung<\/p>\r\n        <p>Finanzierung gegen Werte<\/p>\r\n        <button class=\"vw-popup-btn\" type=\"button\">Anmelden<\/button>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n#vwFinanceSlider {\r\n  width: 100%;\r\n  padding: 60px 0;\r\n  overflow: hidden;\r\n  font-family: Arial, sans-serif;\r\n}\r\n\r\n#vwFinanceSlider .vw-finance-top {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  gap: 20px;\r\n  margin-bottom: 35px;\r\n}\r\n\r\n#vwFinanceSlider .vw-finance-top h2 {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 27px;\r\n  line-height: 1.08;\r\n  font-weight: 500;\r\n  color: #0C2C4C;\r\n  margin: 0;\r\n  padding-left: 430px;\r\n}\r\n\r\n#vwFinanceSlider .vw-nav {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 12px;\r\n  padding-right: 30px;\r\n}\r\n\r\n#vwFinanceSlider .vw-arrow {\r\n  width: 42px;\r\n  height: 42px;\r\n  min-width: 42px;\r\n  min-height: 42px;\r\n  border-radius: 50%;\r\n  border: 1px solid rgba(12,44,76,.18);\r\n  background: #ffffff;\r\n  color: #0C2C4C;\r\n  cursor: pointer;\r\n  padding: 0;\r\n  margin: 0;\r\n  display: inline-flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  box-shadow: 0 8px 22px rgba(12,44,76,.10);\r\n  transition: all .25s ease;\r\n}\r\n\r\n#vwFinanceSlider .vw-arrow span {\r\n  display: block;\r\n  font-size: 28px;\r\n  line-height: 1;\r\n  transform: translateY(-1px);\r\n}\r\n\r\n#vwFinanceSlider .vw-arrow:hover {\r\n  background: #B49C44;\r\n  color: #ffffff;\r\n  border-color: #B49C44;\r\n}\r\n\r\n#vwFinanceSlider .vw-window {\r\n  width: 100%;\r\n  overflow-x: auto;\r\n  overflow-y: hidden;\r\n  cursor: grab;\r\n  user-select: none;\r\n  scroll-behavior: smooth;\r\n  scrollbar-width: none;\r\n  -ms-overflow-style: none;\r\n  padding: 10px 30px 40px;\r\n}\r\n\r\n#vwFinanceSlider .vw-window::-webkit-scrollbar {\r\n  display: none;\r\n}\r\n\r\n#vwFinanceSlider .vw-window.dragging {\r\n  cursor: grabbing;\r\n  scroll-behavior: auto;\r\n}\r\n\r\n#vwFinanceSlider .vw-track {\r\n  display: flex;\r\n  gap: 28px;\r\n  width: max-content;\r\n}\r\n\r\n#vwFinanceSlider .vw-box {\r\n  flex: 0 0 340px;\r\n  background: #ffffff;\r\n  border-radius: 22px;\r\n  padding: 26px;\r\n  min-height: 430px;\r\n  cursor: pointer;\r\n  border: 1px solid rgba(12,44,76,.08);\r\n  box-shadow: 0 18px 45px rgba(12,44,76,.10);\r\n  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;\r\n  scroll-margin-top: 110px;\r\n}\r\n\r\n#vwFinanceSlider .vw-box:hover {\r\n  transform: translateY(-6px);\r\n  box-shadow: 0 24px 58px rgba(12,44,76,.14);\r\n}\r\n\r\n#vwFinanceSlider .vw-box.selected {\r\n  border-color: rgba(180,156,68,.75);\r\n  box-shadow: 0 24px 60px rgba(12,44,76,.16);\r\n}\r\n\r\n#vwFinanceSlider .vw-gradient {\r\n  height: 205px;\r\n  border-radius: 18px;\r\n  margin-bottom: 28px;\r\n  position: relative;\r\n  overflow: hidden;\r\n  background: linear-gradient(135deg, #B49C44 0%, #f6f2e3 42%, #0C2C4C 100%);\r\n}\r\n\r\n#vwFinanceSlider .vw-box.selected .vw-gradient {\r\n  background: linear-gradient(135deg, #B49C44 0%, #ffffff 36%, #0C2C4C 100%);\r\n}\r\n\r\n#vwFinanceSlider .vw-mockup {\r\n  position: absolute;\r\n  left: 42px;\r\n  right: 42px;\r\n  top: 42px;\r\n  bottom: 42px;\r\n  background: rgba(255,255,255,.88);\r\n  border-radius: 16px;\r\n  box-shadow: 0 20px 40px rgba(12,44,76,.18);\r\n}\r\n\r\n#vwFinanceSlider .vw-card-icon {\r\n  position: absolute;\r\n  inset: 0;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n}\r\n\r\n#vwFinanceSlider .vw-card-icon svg {\r\n  width: 74px;\r\n  height: 74px;\r\n  fill: none;\r\n  stroke: #B49C44;\r\n  stroke-width: 1.8;\r\n  stroke-linecap: round;\r\n  stroke-linejoin: round;\r\n  filter: drop-shadow(0 6px 10px rgba(12,44,76,.12));\r\n}\r\n\r\n#vwFinanceSlider h3 {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 27px;\r\n  line-height: 1.08;\r\n  font-weight: 500;\r\n  color: #0C2C4C;\r\n  margin: 0 0 18px;\r\n}\r\n\r\n#vwFinanceSlider p {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 15px;\r\n  line-height: 1.55;\r\n  font-weight: 400;\r\n  color: #0C2C4C;\r\n  margin: 11px 0;\r\n  padding-left: 25px;\r\n  position: relative;\r\n}\r\n\r\n#vwFinanceSlider p:before {\r\n  content: \"\u2713\";\r\n  position: absolute;\r\n  left: 0;\r\n  top: 0;\r\n  color: #B49C44;\r\n  font-weight: 700;\r\n}\r\n\r\n#vwFinanceSlider .vw-popup-btn {\r\n  margin-top: 18px;\r\n  background: #B49C44;\r\n  color: #ffffff;\r\n  border: none;\r\n  border-radius: 999px;\r\n  padding: 12px 22px;\r\n  font-size: 15px;\r\n  font-weight: 700;\r\n  cursor: pointer;\r\n  transition: all .25s ease;\r\n}\r\n\r\n#vwFinanceSlider .vw-popup-btn:hover {\r\n  background: #0C2C4C;\r\n}\r\n\r\n@media(max-width: 767px) {\r\n  #vwFinanceSlider {\r\n    padding: 40px 20px;\r\n    overflow: visible;\r\n  }\r\n\r\n  #vwFinanceSlider .vw-finance-top {\r\n    display: block;\r\n    margin-bottom: 25px;\r\n  }\r\n\r\n  #vwFinanceSlider .vw-finance-top h2 {\r\n  font-size: 27px;\r\n  line-height: 1.08;\r\n  font-weight: 500;\r\n  padding-left: 0;\r\n  text-align: center;\r\n  width: 100%;\r\n  margin: 0 auto;\r\n}\r\n\r\n  #vwFinanceSlider .vw-nav {\r\n    display: none;\r\n  }\r\n\r\n  #vwFinanceSlider .vw-window {\r\n    padding: 0;\r\n    overflow: visible;\r\n    cursor: default;\r\n    user-select: auto;\r\n  }\r\n\r\n  #vwFinanceSlider .vw-track {\r\n    width: 100%;\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 22px;\r\n  }\r\n\r\n  #vwFinanceSlider .vw-box {\r\n    width: 100%;\r\n    flex: none;\r\n    min-height: auto;\r\n    padding: 22px;\r\n  }\r\n\r\n  #vwFinanceSlider .vw-box:hover {\r\n    transform: none;\r\n  }\r\n\r\n  #vwFinanceSlider .vw-gradient {\r\n    height: 185px;\r\n    margin-bottom: 24px;\r\n  }\r\n\r\n  #vwFinanceSlider .vw-mockup {\r\n    left: 32px;\r\n    right: 32px;\r\n    top: 36px;\r\n    bottom: 36px;\r\n  }\r\n\r\n  #vwFinanceSlider h3 {\r\n    font-size: 19px;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<script>\r\n(function () {\r\n  function initFinanceSlider() {\r\n    const slider = document.getElementById(\"vwFinanceSlider\");\r\n    if (!slider || slider.dataset.ready === \"true\") return;\r\n\r\n    slider.dataset.ready = \"true\";\r\n\r\n    const windowEl = slider.querySelector(\".vw-window\");\r\n    const cards = Array.from(slider.querySelectorAll(\".vw-box\"));\r\n    const prev = slider.querySelector(\".vw-prev\");\r\n    const next = slider.querySelector(\".vw-next\");\r\n\r\n    let isDown = false;\r\n    let startX = 0;\r\n    let scrollLeft = 0;\r\n    let moved = false;\r\n\r\n    function isMobile() {\r\n      return window.matchMedia(\"(max-width: 767px)\").matches;\r\n    }\r\n\r\n    function cardStep() {\r\n      const firstCard = cards[0];\r\n      if (!firstCard) return 360;\r\n      return firstCard.offsetWidth + 28;\r\n    }\r\n\r\n    function selectCard(card) {\r\n  cards.forEach(function (item) {\r\n    item.classList.remove(\"selected\");\r\n  });\r\n\r\n  card.classList.add(\"selected\");\r\n\r\n  if (!isMobile()) {\r\n    card.scrollIntoView({\r\n      behavior: \"smooth\",\r\n      block: \"nearest\",\r\n      inline: \"center\"\r\n    });\r\n  }\r\n}\r\n\r\nfunction selectCardFromHash() {\r\n  const hash = window.location.hash;\r\n  if (!hash) return;\r\n\r\n  const target = slider.querySelector(hash);\r\n  if (!target || !target.classList.contains(\"vw-box\")) return;\r\n\r\n  selectCard(target);\r\n}\r\n\r\nselectCardFromHash();\r\n\r\nwindow.addEventListener(\"hashchange\", function () {\r\n  selectCardFromHash();\r\n});\r\n\r\n    cards.forEach(function (card) {\r\n      const button = card.querySelector(\".vw-popup-btn\");\r\n\r\n      card.addEventListener(\"click\", function () {\r\n        if (moved) return;\r\n        selectCard(card);\r\n      });\r\n\r\n      if (button) {\r\n        button.addEventListener(\"click\", function (e) {\r\n          e.stopPropagation();\r\n\r\n          if (typeof elementorProFrontend !== \"undefined\") {\r\n            elementorProFrontend.modules.popup.showPopup({\r\n              id: 2777\r\n            });\r\n          }\r\n        });\r\n      }\r\n    });\r\n\r\n    if (next) {\r\n      next.addEventListener(\"click\", function () {\r\n        if (isMobile()) return;\r\n\r\n        windowEl.scrollBy({\r\n          left: cardStep(),\r\n          behavior: \"smooth\"\r\n        });\r\n      });\r\n    }\r\n\r\n    if (prev) {\r\n      prev.addEventListener(\"click\", function () {\r\n        if (isMobile()) return;\r\n\r\n        windowEl.scrollBy({\r\n          left: -cardStep(),\r\n          behavior: \"smooth\"\r\n        });\r\n      });\r\n    }\r\n\r\n    windowEl.addEventListener(\"mousedown\", function (e) {\r\n      if (isMobile()) return;\r\n\r\n      isDown = true;\r\n      moved = false;\r\n      windowEl.classList.add(\"dragging\");\r\n      startX = e.pageX - windowEl.offsetLeft;\r\n      scrollLeft = windowEl.scrollLeft;\r\n    });\r\n\r\n    windowEl.addEventListener(\"mouseleave\", function () {\r\n      isDown = false;\r\n      windowEl.classList.remove(\"dragging\");\r\n    });\r\n\r\n    windowEl.addEventListener(\"mouseup\", function () {\r\n      isDown = false;\r\n      windowEl.classList.remove(\"dragging\");\r\n\r\n      setTimeout(function () {\r\n        moved = false;\r\n      }, 80);\r\n    });\r\n\r\n    windowEl.addEventListener(\"mousemove\", function (e) {\r\n      if (!isDown || isMobile()) return;\r\n      e.preventDefault();\r\n\r\n      const x = e.pageX - windowEl.offsetLeft;\r\n      const walk = (x - startX) * 1.2;\r\n\r\n      if (Math.abs(walk) > 5) moved = true;\r\n\r\n      windowEl.scrollLeft = scrollLeft - walk;\r\n    });\r\n\r\n    windowEl.addEventListener(\"touchstart\", function (e) {\r\n      if (isMobile()) return;\r\n\r\n      moved = false;\r\n      startX = e.touches[0].pageX - windowEl.offsetLeft;\r\n      scrollLeft = windowEl.scrollLeft;\r\n    }, { passive: true });\r\n\r\n    windowEl.addEventListener(\"touchmove\", function (e) {\r\n      if (isMobile()) return;\r\n\r\n      const x = e.touches[0].pageX - windowEl.offsetLeft;\r\n      const walk = x - startX;\r\n\r\n      if (Math.abs(walk) > 5) moved = true;\r\n    }, { passive: true });\r\n\r\n    windowEl.addEventListener(\"touchend\", function () {\r\n      setTimeout(function () {\r\n        moved = false;\r\n      }, 80);\r\n    });\r\n  }\r\n\r\n  if (document.readyState === \"loading\") {\r\n    document.addEventListener(\"DOMContentLoaded\", initFinanceSlider);\r\n  } else {\r\n    initFinanceSlider();\r\n  }\r\n\r\n  window.addEventListener(\"load\", initFinanceSlider);\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e0d4d64 elementor-widget elementor-widget-html\" data-id=\"e0d4d64\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n.vair-stats-section {\r\n  font-family: Arial, sans-serif;\r\n  display: grid;\r\n  grid-template-columns: repeat(2, 1fr);\r\n  gap: 32px;\r\n  max-width: 980px;\r\n  margin: 0 auto;\r\n}\r\n\r\n.vair-stat {\r\n  display: flex;\r\n  flex-direction: column;\r\n  height: 100%;\r\n}\r\n\r\n.vair-text {\r\n  min-height: 210px;\r\n}\r\n\r\n.vair-stat h3 {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 27px;\r\n  line-height: 1.08;\r\n  font-weight: 500;\r\n  color: #0C2C4C;\r\n  margin: 0 0 18px;\r\n}\r\n\r\n.vair-stat p,\r\n.vair-caption {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 15px;\r\n  line-height: 1.55;\r\n  font-weight: 400;\r\n  color: #0C2C4C;\r\n}\r\n\r\n.vair-number-box {\r\n  background: #f6f8fb;\r\n  border: 1px solid #e7edf3;\r\n  border-radius: 8px;\r\n  height: 210px;\r\n  display: flex;\r\n  flex-direction: column;\r\n  justify-content: center;\r\n  align-items: center;\r\n  text-align: center;\r\n}\r\n\r\n.vair-number {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 64px;\r\n  font-weight: 700;\r\n  line-height: 1;\r\n  background: linear-gradient(90deg, #0C2C4C, #B49C44);\r\n  -webkit-background-clip: text;\r\n  -webkit-text-fill-color: transparent;\r\n  background-clip: text;\r\n  margin-bottom: 14px;\r\n}\r\n\r\n.vair-caption {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 15px;\r\n  font-weight: 400;\r\n  color: #0C2C4C;\r\n}\r\n\r\n@media (max-width: 768px) {\r\n  .vair-stats-section {\r\n    grid-template-columns: 1fr;\r\n  }\r\n\r\n  .vair-text {\r\n    min-height: auto;\r\n    margin-bottom: 24px;\r\n  }\r\n\r\n\r\n}\r\n<\/style>\r\n\r\n<div class=\"vair-stats-section\">\r\n\r\n  <div class=\"vair-stat\">\r\n    <div class=\"vair-text\">\r\n      <h3>Individuelle L\u00f6sungen f\u00fcr jede Finanzierungssituation<\/h3>\r\n      <p>\r\n        Wir begleiten Unternehmen mit klar strukturierten Ans\u00e4tzen in den wichtigsten Finanzierungsbereichen \u2013 passend zu Bedarf, Wachstum und Zielsetzung.\r\n      <\/p>\r\n    <\/div>\r\n    <div class=\"vair-number-box\">\r\n      <div class=\"vair-number\">3<\/div>\r\n      <div class=\"vair-caption\">L\u00f6sungsbereiche<\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"vair-stat\">\r\n    <div class=\"vair-text\">\r\n      <h3>Vielf\u00e4ltige Modelle f\u00fcr mehr finanzielle Flexibilit\u00e4t<\/h3>\r\n      <p>\r\n        Von klassischen Finanzierungsl\u00f6sungen bis zu spezialisierten Kontomodellen schaffen wir Zugang zu Optionen, die sich flexibel an Ihr Unternehmen anpassen.\r\n      <\/p>\r\n    <\/div>\r\n    <div class=\"vair-number-box\">\r\n      <div class=\"vair-number\">16+<\/div>\r\n      <div class=\"vair-caption\">Finanzierungs- und Kontomodelle<\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"vair-stat\">\r\n    <div class=\"vair-text\">\r\n      <h3>Starke Partner f\u00fcr nachhaltige Ergebnisse<\/h3>\r\n      <p>\r\n        Durch unser gewachsenes Netzwerk verbinden wir Unternehmen mit passenden Ansprechpartnern, Finanzierungspartnern und strategischen M\u00f6glichkeiten.\r\n      <\/p>\r\n    <\/div>\r\n    <div class=\"vair-number-box\">\r\n      <div class=\"vair-number\">1<\/div>\r\n      <div class=\"vair-caption\">gro\u00dfes Netzwerk<\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"vair-stat\">\r\n    <div class=\"vair-text\">\r\n      <h3>Ganzheitliche Betreuung von Anfang bis Abschluss<\/h3>\r\n      <p>\r\n        Wir unterst\u00fctzen Sie nicht nur bei der Auswahl, sondern begleiten den gesamten Prozess transparent, pers\u00f6nlich und l\u00f6sungsorientiert.\r\n      <\/p>\r\n    <\/div>\r\n    <div class=\"vair-number-box\">\r\n      <div class=\"vair-number\">360\u00b0<\/div>\r\n      <div class=\"vair-caption\">Begleitung<\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2828940 elementor-widget elementor-widget-html\" data-id=\"2828940\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n.vair-faq {\r\n  font-family: Arial, sans-serif;\r\n  max-width: 980px;\r\n  margin: 0 auto;\r\n  padding: 40px 20px;\r\n}\r\n\r\n.vair-faq-title {\r\n  text-align: center;\r\n  margin-bottom: 36px;\r\n}\r\n\r\n.vair-faq-title span {\r\n  color: #B49C44;\r\n  font-size: 15px;\r\n  font-weight: 400;\r\n  letter-spacing: 2px;\r\n  text-transform: uppercase;\r\n}\r\n\r\n.vair-faq-title h2 {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 27px;\r\n  line-height: 1.08;\r\n  font-weight: 500;\r\n  color: #0C2C4C;\r\n  margin: 0;\r\n}\r\n\r\n.vair-faq-item {\r\n  background: #ffffff;\r\n  border-radius: 18px;\r\n  margin-bottom: 18px;\r\n  box-shadow: 0 14px 35px rgba(12, 44, 76, 0.12);\r\n  overflow: hidden;\r\n  border: 1px solid rgba(12, 44, 76, 0.08);\r\n}\r\n\r\n.vair-faq-question {\r\n  width: 100%;\r\n  background: transparent !important;\r\n  border: none !important;\r\n  outline: none !important;\r\n  box-shadow: none !important;\r\n  padding: 26px 30px;\r\n  cursor: pointer;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  color: #0C2C4C !important;\r\n  font-family: Arial, sans-serif;\r\n  font-size: 27px;\r\n  line-height: 1.08;\r\n  font-weight: 500;\r\n  text-align: left;\r\n}\r\n\r\n.vair-faq-question:hover,\r\n.vair-faq-question:focus,\r\n.vair-faq-question:active {\r\n  background: transparent !important;\r\n  color: #0C2C4C !important;\r\n  border: none !important;\r\n  outline: none !important;\r\n  box-shadow: none !important;\r\n}\r\n\r\n.vair-faq-question-left {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 20px;\r\n}\r\n\r\n.vair-faq-icon {\r\n  min-width: 38px;\r\n  width: 38px;\r\n  height: 38px;\r\n  border-radius: 50%;\r\n  background: linear-gradient(135deg, #0C2C4C, #B49C44);\r\n  color: #ffffff;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 26px;\r\n  font-weight: 400;\r\n  transition: 0.3s ease;\r\n}\r\n\r\n.vair-faq-arrow {\r\n  color: #B49C44;\r\n  font-size: 24px;\r\n  transition: 0.3s ease;\r\n  margin-left: 20px;\r\n  flex-shrink: 0;\r\n}\r\n\r\n.vair-faq-answer {\r\n  max-height: 0;\r\n  overflow: hidden;\r\n  transition: max-height 0.35s ease;\r\n}\r\n\r\n.vair-faq-answer p {\r\n  font-family: Arial, sans-serif;\r\n  color: #0C2C4C;\r\n  font-size: 15px;\r\n  line-height: 1.55;\r\n  font-weight: 400;\r\n  margin: 0;\r\n  padding: 0 30px 28px 88px;\r\n}\r\n\r\n.vair-faq-item.active .vair-faq-answer {\r\n  max-height: 500px;\r\n}\r\n\r\n.vair-faq-item.active .vair-faq-icon {\r\n  background: linear-gradient(135deg, #B49C44, #0C2C4C);\r\n}\r\n\r\n.vair-faq-item.active .vair-faq-icon::before {\r\n  content: \"\u2212\";\r\n}\r\n\r\n.vair-faq-item:not(.active) .vair-faq-icon::before {\r\n  content: \"+\";\r\n}\r\n\r\n.vair-faq-item.active .vair-faq-arrow {\r\n  transform: rotate(180deg);\r\n}\r\n\r\n@media (max-width: 768px) {\r\n  .vair-faq {\r\n    padding: 35px 16px;\r\n    max-width: 100%;\r\n  }\r\n\r\n  .vair-faq-title {\r\n    margin-bottom: 26px;\r\n  }\r\n\r\n  .vair-faq-title span {\r\n    font-size: 13px;\r\n    letter-spacing: 1.6px;\r\n  }\r\n\r\n  .vair-faq-title h2 {\r\n    font-size: 24px;\r\n    line-height: 1.25;\r\n  }\r\n\r\n  .vair-faq-item {\r\n    border-radius: 16px;\r\n    margin-bottom: 14px;\r\n    box-shadow: 0 10px 26px rgba(12, 44, 76, 0.10);\r\n  }\r\n\r\n  .vair-faq-question {\r\n    padding: 20px 16px;\r\n    font-size: 16px;\r\n    line-height: 1.35;\r\n    align-items: flex-start;\r\n    gap: 10px;\r\n  }\r\n\r\n  .vair-faq-question-left {\r\n    display: grid;\r\n    grid-template-columns: 34px 1fr;\r\n    gap: 12px;\r\n    align-items: flex-start;\r\n    min-width: 0;\r\n    flex: 1;\r\n  }\r\n\r\n  .vair-faq-question-left span:last-child {\r\n    display: block;\r\n    white-space: normal;\r\n    overflow-wrap: break-word;\r\n    word-break: normal;\r\n    max-width: 100%;\r\n  }\r\n\r\n  .vair-faq-icon {\r\n    min-width: 34px;\r\n    width: 34px;\r\n    height: 34px;\r\n    font-size: 23px;\r\n  }\r\n\r\n  .vair-faq-arrow {\r\n    display: none;\r\n  }\r\n\r\n  .vair-faq-answer p {\r\n    font-size: 15px;\r\n    line-height: 1.65;\r\n    padding: 0 16px 22px 62px;\r\n  }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n  .vair-faq {\r\n    padding: 30px 14px;\r\n  }\r\n\r\n  .vair-faq-title h2 {\r\n    font-size: 22px;\r\n  }\r\n\r\n  .vair-faq-question {\r\n    padding: 18px 14px;\r\n    font-size: 15.5px;\r\n  }\r\n\r\n  .vair-faq-question-left {\r\n    grid-template-columns: 32px 1fr;\r\n    gap: 10px;\r\n  }\r\n\r\n  .vair-faq-icon {\r\n    min-width: 32px;\r\n    width: 32px;\r\n    height: 32px;\r\n    font-size: 22px;\r\n  }\r\n\r\n  .vair-faq-answer p {\r\n    padding: 0 14px 22px 56px;\r\n    font-size: 14.5px;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<div class=\"vair-faq\">\r\n  <div class=\"vair-faq-title\">\r\n   \r\n    <h2>H\u00e4ufig gestellte Fragen<\/h2>\r\n  <\/div>\r\n\r\n  <div class=\"vair-faq-item active\">\r\n    <button class=\"vair-faq-question\" type=\"button\">\r\n      <div class=\"vair-faq-question-left\">\r\n        <span class=\"vair-faq-icon\"><\/span>\r\n        <span>F\u00fcr wen ist die Finanzierung \u00fcber Vair geeignet?<\/span>\r\n      <\/div>\r\n      <span class=\"vair-faq-arrow\">\u2304<\/span>\r\n    <\/button>\r\n    <div class=\"vair-faq-answer\">\r\n      <p>Unsere Finanzierungsl\u00f6sungen richten sich an Unternehmer, Selbstst\u00e4ndige, Projektentwickler, Investoren und Privatpersonen mit konkretem Kapitalbedarf. Ob Unternehmenswachstum, Immobilienprojekt, Fahrzeugfinanzierung oder individuelle Projektfinanzierung \u2014 wir pr\u00fcfen, welche M\u00f6glichkeiten zu Ihrer Situation passen.<\/p>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"vair-faq-item\">\r\n    <button class=\"vair-faq-question\" type=\"button\">\r\n      <div class=\"vair-faq-question-left\">\r\n        <span class=\"vair-faq-icon\"><\/span>\r\n        <span>Welche Finanzierungen sind m\u00f6glich?<\/span>\r\n      <\/div>\r\n      <span class=\"vair-faq-arrow\">\u2304<\/span>\r\n    <\/button>\r\n    <div class=\"vair-faq-answer\">\r\n      <p>M\u00f6glich sind unter anderem Unternehmensfinanzierungen, Projektfinanzierungen, Immobilienfinanzierungen, Fahrzeugfinanzierungen, Investmentkredite, Goldkredite, Pfandkredite sowie alternative Finanzierungsl\u00f6sungen au\u00dferhalb klassischer Bankwege.<\/p>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"vair-faq-item\">\r\n    <button class=\"vair-faq-question\" type=\"button\">\r\n      <div class=\"vair-faq-question-left\">\r\n        <span class=\"vair-faq-icon\"><\/span>\r\n        <span>Was unterscheidet Vair von einer klassischen Bank?<\/span>\r\n      <\/div>\r\n      <span class=\"vair-faq-arrow\">\u2304<\/span>\r\n    <\/button>\r\n    <div class=\"vair-faq-answer\">\r\n      <p>Vair ist nicht auf klassische Bankprozesse beschr\u00e4nkt. Wir betrachten Ihre Situation individuell und pr\u00fcfen alternative Wege \u00fcber unser Netzwerk aus Finanzierungspartnern, Investoren und spezialisierten Kontakten. Dadurch k\u00f6nnen auch L\u00f6sungen entstehen, wenn klassische Banken ablehnen oder zu lange brauchen.<\/p>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\ndocument.querySelectorAll('.vair-faq-question').forEach(function(button) {\r\n  button.addEventListener('click', function() {\r\n    const item = this.closest('.vair-faq-item');\r\n\r\n    document.querySelectorAll('.vair-faq-item').forEach(function(faq) {\r\n      if (faq !== item) {\r\n        faq.classList.remove('active');\r\n      }\r\n    });\r\n\r\n    item.classList.toggle('active');\r\n  });\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ab660b9 elementor-widget elementor-widget-html\" data-id=\"ab660b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"process-flow\">\r\n  <h2 class=\"process-title\">Wie funktioniert es?<\/h2>\r\n\r\n  <div class=\"process-steps\">\r\n    <div class=\"process-card\">\r\n      <div class=\"icon\">\u2709<\/div>\r\n      <span>Anfrage einreichen<\/span>\r\n      <div class=\"hover-text\">\r\n        Sie beschreiben kurz Ihren Kapitalbedarf, Ihr Projekt und den gew\u00fcnschten Finanzierungsrahmen.\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"process-card\">\r\n      <div class=\"icon\">\u2713<\/div>\r\n      <span>Pr\u00fcfung &amp; Einordnung<\/span>\r\n      <div class=\"hover-text\">\r\n        Wir pr\u00fcfen Ihre Angaben, stellen R\u00fcckfragen und bewerten passende Finanzierungswege.\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"process-card\">\r\n      <div class=\"icon\">\u2194<\/div>\r\n      <span>Matching mit Partnern<\/span>\r\n      <div class=\"hover-text\">\r\n        Bei passender Ausgangslage bringen wir Sie mit geeigneten Kapitalgebern zusammen.\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"process-card\">\r\n      <div class=\"icon\">\u2699<\/div>\r\n      <span>Umsetzung begleiten<\/span>\r\n      <div class=\"hover-text\">\r\n        Wir unterst\u00fctzen bei Struktur, Unterlagen und Kommunikation bis zur konkreten L\u00f6sung.\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n.process-flow {\r\n  font-family: Arial, sans-serif;\r\n  color: #0C2C4C;\r\n  width: 100%;\r\n  margin: 0 auto;\r\n}\r\n\r\n.process-title {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 27px !important;\r\n  line-height: 1.08;\r\n  font-weight: 500;\r\n  color: #0C2C4C;\r\n  margin: 0 0 18px 0;\r\n  text-align: center;\r\n}\r\n\r\n.process-steps {\r\n  display: flex;\r\n  gap: 16px;\r\n  justify-content: center;\r\n  align-items: stretch;\r\n  flex-wrap: wrap;\r\n}\r\n\r\n.process-card {\r\n  position: relative;\r\n  background: #ffffff;\r\n  border: 1px solid #e2e8f0;\r\n  border-radius: 8px;\r\n  padding: 16px;\r\n  width: 210px;\r\n  min-height: 110px;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 14px;\r\n  color: #0C2C4C;\r\n  font-family: Arial, sans-serif;\r\n  font-size: 15px;\r\n  font-weight: 400;\r\n  cursor: pointer;\r\n}\r\n\r\n.icon {\r\n  width: 42px;\r\n  height: 42px;\r\n  min-width: 42px;\r\n  border-radius: 8px;\r\n  background: rgba(12, 44, 76, 0.10);\r\n  color: #0C2C4C;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 20px;\r\n}\r\n\r\n.hover-text {\r\n  display: none;\r\n  position: absolute;\r\n  top: calc(100% + 10px);\r\n  left: 0;\r\n  right: 0;\r\n  background: #ffffff;\r\n  border: 1px solid #e2e8f0;\r\n  border-radius: 8px;\r\n  padding: 14px;\r\n  color: #0C2C4C;\r\n  font-family: Arial, sans-serif;\r\n  font-size: 15px;\r\n  line-height: 1.55;\r\n  font-weight: 400;\r\n  z-index: 10;\r\n  box-shadow: 0 8px 20px rgba(12, 44, 76, 0.10);\r\n}\r\n\r\n.process-card:hover .hover-text {\r\n  display: block;\r\n}\r\n\r\n@media (max-width: 768px) {\r\n  .process-steps {\r\n    flex-direction: column;\r\n  }\r\n\r\n  .process-card {\r\n    width: 100%;\r\n  }\r\n}\r\n.process-flow h2.process-title {\r\n  font-family: Arial, sans-serif !important;\r\n  font-size: 27px !important;\r\n  line-height: 1.08 !important;\r\n  font-weight: 500 !important;\r\n  color: #0C2C4C !important;\r\n  margin: 0 0 18px 0 !important;\r\n  text-align: center !important;\r\n}\r\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3aa71c7 e-flex e-con-boxed e-con e-parent\" data-id=\"3aa71c7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-af40ccf elementor-widget elementor-widget-html\" data-id=\"af40ccf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .vair-footer {\r\n  font-family: Arial, sans-serif;\r\n  color: #0C2C4C;\r\n  background: #fff;\r\n  padding: 50px 50px 70px;\r\n}\r\n\r\n  .vair-footer-grid {\r\n    display: grid;\r\n    grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr;\r\n    gap: 55px;\r\n    max-width: 1140px;\r\n    margin: 0 auto;\r\n    align-items: start;\r\n  }\r\n\r\n  .vair-logo-space {\r\n    height: 76px;\r\n    margin-bottom: 10px;\r\n  }\r\n\r\n  .vair-footer-brand p,\r\n.vair-footer a,\r\n.vair-cta-text p {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 15px;\r\n  line-height: 1.55;\r\n  font-weight: 400;\r\n  color: #0C2C4C;\r\n}\r\n\r\n  .vair-footer h4,\r\n.vair-cta-text h3 {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 27px;\r\n  line-height: 1.08;\r\n  font-weight: 500;\r\n  color: #0C2C4C;\r\n  margin: 0 0 22px;\r\n  text-align: left;\r\n}\r\n\r\n.vair-footer a {\r\n  display: block;\r\n  font-family: Arial, sans-serif;\r\n  font-size: 15px;\r\n  line-height: 1.55;\r\n  font-weight: 400;\r\n  color: #0C2C4C;\r\n  text-decoration: none;\r\n  margin-bottom: 12px;\r\n  text-align: left;\r\n}\r\n\r\n  .vair-footer a:hover {\r\n  color: #031322;\r\n}\r\n\r\n  .vair-cta {\r\n    max-width: 1140px;\r\n    margin: 60px auto 0;\r\n    background: #eef6ff;\r\n    border-radius: 10px;\r\n    display: grid;\r\n    grid-template-columns: 1fr 260px;\r\n    align-items: center;\r\n    min-height: 72px;\r\n  }\r\n\r\n  .vair-cta-text {\r\n    padding: 11px 28px;\r\n  }\r\n\r\n  .vair-cta-text h3 {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 27px;\r\n  line-height: 1.08;\r\n  font-weight: 500;\r\n  color: #0C2C4C;\r\n  margin: 0 0 6px;\r\n}\r\n\r\n.vair-cta-text p {\r\n  margin: 0;\r\n  font-size: 15px;\r\n  line-height: 1.25;\r\n  max-width: 520px;\r\n}\r\n\r\n  .vair-button-space {\r\n    min-height: 42px;\r\n  }\r\n\r\n  @media (max-width: 900px) {\r\n    .vair-footer {\r\n      padding: 45px 25px 55px;\r\n    }\r\n\r\n    .vair-footer-grid {\r\n      grid-template-columns: 1fr 1fr;\r\n      gap: 35px;\r\n      text-align: center;\r\n    }\r\n\r\n    .vair-footer-brand {\r\n      grid-column: 1 \/ -1;\r\n      text-align: center;\r\n    }\r\n\r\n    .vair-footer-brand p {\r\n      margin: 0 auto;\r\n    }\r\n\r\n    .vair-logo-space {\r\n      height: 35px;\r\n    }\r\n\r\n    .vair-cta {\r\n      grid-template-columns: 1fr;\r\n      text-align: center;\r\n      margin-top: 45px;\r\n      padding-bottom: 18px;\r\n    }\r\n\r\n    .vair-cta-text p {\r\n      margin: 0 auto;\r\n    }\r\n\r\n    .vair-button-space {\r\n      min-height: 36px;\r\n    }\r\n  }\r\n\r\n  @media (max-width: 600px) {\r\n    .vair-footer-grid {\r\n      grid-template-columns: 1fr;\r\n      gap: 30px;\r\n    }\r\n\r\n    .vair-footer h4 {\r\n      margin-bottom: 14px;\r\n    }\r\n\r\n    .vair-footer a {\r\n      margin-bottom: 11px;\r\n    }\r\n\r\n    .vair-cta-text {\r\n      padding: 22px 18px 8px;\r\n    }\r\n\r\n    @media (max-width: 600px) {\r\n  .vair-cta-text h3 {\r\n    font-family: Arial, sans-serif;\r\n    font-size: 27px;\r\n    line-height: 1.08;\r\n    font-weight: 500;\r\n    color: #0C2C4C;\r\n    text-align: center;\r\n    margin: 0 0 14px;\r\n  }\r\n\r\n  .vair-cta-text p {\r\n    text-align: center;\r\n  }\r\n}\r\n\r\n.vair-cta-text p {\r\n  font-family: Arial, sans-serif;\r\n  font-size: 15px;\r\n  line-height: 1.55;\r\n  font-weight: 400;\r\n  color: #0C2C4C;\r\n}\r\n\r\n.vair-footer h4,\r\n.vair-footer a {\r\n  text-align: center;\r\n}\r\n\r\n}\r\n<\/style>\r\n\r\n<footer class=\"vair-footer\">\r\n  <div class=\"vair-footer-grid\">\r\n\r\n    <div class=\"vair-footer-brand\">\r\n      <div class=\"vair-logo-space\"><\/div>\r\n      <p>Das Business-\u00d6kosystem f\u00fcr Unternehmer, Investoren und Gr\u00fcnder.<\/p>\r\n    <\/div>\r\n\r\n    <div>\r\n      <h4>Finanzierung<\/h4>\r\n     <a href=\"\/finanzierung-testseite\/#autokredit\">Autokredit<\/a>\r\n      <a href=\"\/finanzierung-testseite\/#immobilienkredit\">Immobilienkredit<\/a>\r\n      <a href=\"\/finanzierung-testseite\/#projektfinanzierung\">Projektfinanzierung<\/a>\r\n      <a href=\"\/finanzierung-testseite\/#goldkredit\">Goldkredit<\/a>\r\n    <\/div>\r\n\r\n    <div>\r\n      <h4>Fahrzeuge<\/h4>\r\n      <a href=\"\/fahrzeuge-testseite\/#fahrzeughandel\">Fahrzeughandel<\/a>\r\n      <a href=\"\/fahrzeuge-testseite\/#absatzfinanzierung\">Absatzfinanzierung<\/a>\r\n      <a href=\"\/fahrzeuge-testseite\/#einkaufsfinanzierung\">Einkaufsfinanzierung<\/a>\r\n      <a href=\"\/fahrzeuge-testseite\/#flottenloesungen\">Flottenl\u00f6sungen<\/a>\r\n    <\/div>\r\n\r\n    <div>\r\n  <h4>Konto<\/h4>\r\n      <a href=\"\/konto-testseite\/#geschaeftskonto\">Gesch\u00e4ftskonto<\/a>\r\n      <a href=\"\/konto-testseite\/#sparkonto\">Sparkonto<\/a>\r\n      <a href=\"\/konto-testseite\/#privatkonto\">Privatkonto<\/a>\r\n      <a href=\"\/konto-testseite\/#goldkonto\">Goldkonto<\/a>\r\n<\/div>\r\n\r\n    <div>\r\n      <h4>Support<\/h4>\r\n      <a href=\"\/ueber-uns-testseite\/\">\u00dcber uns<\/a>\r\n      <a href=\"\/kontakt-testseite\/\">Kontakt<\/a>\r\n      <a href=\"\/datenschutz-testseite\/\">Datenschutz<\/a>\r\n      <a href=\"\/impressum-testseite\/\">Impressum<\/a>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n  <div class=\"vair-cta\">\r\n    <div class=\"vair-cta-text\">\r\n      <h3>Bereit zu starten?<\/h3>\r\n      <p>Treten Sie unserem \u00d6kosystem bei und finden Sie die perfekte Finanzierungsl\u00f6sung f\u00fcr Ihr Unternehmen.<\/p>\r\n    <\/div>\r\n\r\n    <div class=\"vair-button-space\"><\/div>\r\n  <\/div>\r\n<\/footer>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-82d4fd2 ha-css-transform-yes elementor-widget elementor-widget-theme-site-logo elementor-widget-image\" data-id=\"82d4fd2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-site-logo.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/vair.world\/en\">\n\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"555\" height=\"245\" src=\"https:\/\/vair.world\/wp-content\/uploads\/2024\/03\/Logo_Vair_komplett_4c_compressed.svg\" class=\"attachment-full size-full wp-image-526\" alt=\"\" \/>\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9f397c6 elementor-widget__width-initial ha-css-transform-yes elementor-widget elementor-widget-button\" data-id=\"9f397c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#elementor-action%3Aaction%3Dpopup%3Aopen%26settings%3DeyJpZCI6IjI3NzciLCJ0b2dnbGUiOmZhbHNlfQ%3D%3D\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Anfrage senden<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n    <div class=\"xs_social_share_widget xs_share_url after_content \t\tmain_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content\">\n\n\t\t\n        <ul>\n\t\t\t        <\/ul>\n    <\/div> \n","protected":false},"excerpt":{"rendered":"<p>Unternehmens- &amp; Projektfinanzierung ohne Umwege Wir verbinden Unternehmer, Projektentwickler und Investoren mit passenden Finanzierungspartnern \u2013 schnell, diskret und individuell gepr\u00fcft. Finanzierung erhalten Finanzierungen ansehen \u2193 Finanzierungsstatus Pr\u00fcfung aktiv Partner gefunden 12 Projektvolumen 2,4 Mio. \u20ac Kapital verf\u00fcgbar 8,7 Mio. \u20ac Matching Score 94% Matching Score 94% Kapitalpr\u00fcfung 78% Ein Ansprechpartner f\u00fcr viele Finanzierungswege Statt verschiedene [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_angie_page":false,"postBodyCss":"","postBodyMargin":[],"postBodyPadding":[],"postBodyBackground":{"backgroundType":"classic","gradient":""},"footnotes":""},"class_list":["post-2982","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vair.world\/en\/wp-json\/wp\/v2\/pages\/2982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vair.world\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vair.world\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vair.world\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/vair.world\/en\/wp-json\/wp\/v2\/comments?post=2982"}],"version-history":[{"count":313,"href":"https:\/\/vair.world\/en\/wp-json\/wp\/v2\/pages\/2982\/revisions"}],"predecessor-version":[{"id":5691,"href":"https:\/\/vair.world\/en\/wp-json\/wp\/v2\/pages\/2982\/revisions\/5691"}],"wp:attachment":[{"href":"https:\/\/vair.world\/en\/wp-json\/wp\/v2\/media?parent=2982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}