{"id":1,"date":"2019-03-07T15:04:55","date_gmt":"2019-03-07T14:04:55","guid":{"rendered":"http:\/\/wip.fashionforfuture.bz.it\/?p=1"},"modified":"2026-03-30T17:44:48","modified_gmt":"2026-03-30T15:44:48","slug":"hallo-welt","status":"publish","type":"post","link":"https:\/\/fashionforfuture.bz.it\/it\/hallo-welt\/","title":{"rendered":"Hallo Welt!"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder l\u00f6sche ihn und beginne mit dem Schreiben!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder l\u00f6sche ihn und beginne mit dem Schreiben!<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"class_list":["post-1","post","type-post","status-publish","hentry","category-work"],"grid":"{\"colCount\":12,\"colGutter\":1,\"rowGutters\":[2,1],\"rowGutter\":0,\"frameMargin\":5,\"leftFrameMargin\":1,\"rightFrameMargin\":1,\"topFrameMargin\":\"0\",\"mus\":{\"colGutterMu\":\"%\",\"rowGutterMu\":\"%\",\"topFrameMu\":\"%\",\"bottomFrameMu\":\"px\",\"frameMu\":\"%\"},\"bottomFrameMargin\":1,\"rowAttrs\":[{\"row100vh\":false,\"rowcustomheight\":\"100svh\",\"relid\":1},{\"row100vh\":false,\"relid\":3},{\"relid\":9}],\"bgColor\":null,\"bgImage\":null,\"cont\":[{\"type\":\"html\",\"cont\":\"<style>\\r\\n     :root {\\r\\n        --dominant-color: #ffffff;\\r\\n        --opposite-color: #000000;\\r\\n    }\\r\\n    .samecolor { color: var(--dominant-color); }\\r\\n    .oppositecolor { color: var(--opposite-color)!important; }\\r\\n     .samecolorbg {\\r\\n         background-color: var(--dominant-color);\\r\\n    }\\r\\n\\r\\n    #gradient-canvas {\\r\\n        position: absolute;\\r\\n        top: 0;\\r\\n        left: 0;\\r\\n        width: 100vw;\\r\\n        height: 100vh;\\r\\n        z-index: -1;\\r\\n        pointer-events: none;\\r\\n        \/* Let clicks pass through to other UI elements *\/\\r\\n    }\\r\\n<\/style>\\r\\n<canvas id=\\\"gradient-canvas\\\"><\/canvas>\\r\\n\\r\\n   <script>\\r\\n        \/**\\r\\n         * ==========================================\\r\\n         * CONFIGURATION\\r\\n         * ==========================================\\r\\n         *\/\\r\\n\\r\\n        \/\/ Define our 4 aura colors\\r\\n        const COLORS = [\\r\\n            [0.910, 0.533, 0.722], \/\/ Pink\\r\\n            [0.945, 0.365, 0.184], \/\/ Orange\\r\\n            [0.878, 0.898, 0.369], \/\/ Yellow\\r\\n            [0.302, 0.506, 0.761]  \/\/ Blue\\r\\n        ];\\r\\n\\r\\n        \/\/ Randomly select one color to be overwhelmingly dominant on each load!\\r\\n        const dominantIndex = Math.floor(Math.random() * COLORS.length);\\r\\n\\r\\n        \/\/ Map the colors dynamically to specific node counts\\r\\n        const CONFIG_PALETTE = COLORS.map((color, index) => {\\r\\n            return {\\r\\n                color: color,\\r\\n                \/\/ The dominant color gets 12 nodes, the rest get 2\\r\\n                count: index === dominantIndex ? 12 : 2\\r\\n            };\\r\\n        });\\r\\n\\r\\n        \/\/ Find the dominant color\\r\\n        const domColor = COLORS[dominantIndex];\\r\\n\\r\\n        \/\/ Find the most contrasting color in the palette by comparing mathematical RGB distance\\r\\n        let maxDist = -1;\\r\\n        let oppositeColor = COLORS[0];\\r\\n        COLORS.forEach(c => {\\r\\n            const dist = Math.sqrt(Math.pow(domColor[0] - c[0], 2) + Math.pow(domColor[1] - c[1], 2) + Math.pow(domColor[2] - c[2], 2));\\r\\n            if (dist > maxDist) {\\r\\n                maxDist = dist;\\r\\n                oppositeColor = c;\\r\\n            }\\r\\n        });\\r\\n\\r\\n        \/\/ Convert the raw RGB floats back into CSS rgb() strings\\r\\n        const domHex = `rgb(${Math.round(domColor[0] * 255)}, ${Math.round(domColor[1] * 255)}, ${Math.round(domColor[2] * 255)})`;\\r\\n        const oppHex = `rgb(${Math.round(oppositeColor[0] * 255)}, ${Math.round(oppositeColor[1] * 255)}, ${Math.round(oppositeColor[2] * 255)})`;\\r\\n\\r\\n        \/\/ Update the global CSS variables on the root document element!\\r\\n        document.documentElement.style.setProperty('--dominant-color', domHex);\\r\\n        document.documentElement.style.setProperty('--opposite-color', oppHex);\\r\\n\\r\\n        \/\/ Parse palette into a flat list of node colors\\r\\n        let initialNodes = [];\\r\\n        CONFIG_PALETTE.forEach(c => {\\r\\n            for (let i = 0; i < c.count; i++) {\\r\\n                initialNodes.push(c.color);\\r\\n            }\\r\\n        });\\r\\n        const NUM_NODES = initialNodes.length;\\r\\n\\r\\n        const CONFIG = {\\r\\n            repelRadius: 450,\\r\\n            repelStrength: 0.13,\\r\\n            floatSpeed: 0.3,\\r\\n            fluidity: 4.2, \/\/ Lower = harder voronoi \/ blobs, Higher = soft gradients\\r\\n            noiseAmount: 0.02\\r\\n        };\\r\\n\\r\\n        \/**\\r\\n         * ==========================================\\r\\n         * WEBGL SETUP (Dynamically Injected!)\\r\\n         * ==========================================\\r\\n         *\/\\r\\n        const canvas = document.getElementById('gradient-canvas');\\r\\n        const gl = canvas.getContext('webgl', { preserveDrawingBuffer: false }) || canvas.getContext('experimental-webgl');\\r\\n\\r\\n        if (!gl) {\\r\\n            alert(\\\"WebGL not supported in this browser.\\\");\\r\\n        }\\r\\n\\r\\n        \/\/ A simple full-screen triangle vertex shader (more efficient than a quad)\\r\\n        const vsSource = `\\r\\n        attribute vec2 a_position;\\r\\n        void main() {\\r\\n            gl_Position = vec4(a_position, 0.0, 1.0);\\r\\n        }\\r\\n    `;\\r\\n\\r\\n        \/\/ We dynamically inject unrolled GLSL shader maths mathematically perfectly \\r\\n        \/\/ based on however many NUM_NODES were configured by the user.\\r\\n        let uniformsStr = \\\"\\\";\\r\\n        let calcStr = \\\"\\\";\\r\\n        let sumStr = \\\"float totalWeight = \\\";\\r\\n        let finalColStr = \\\"vec3 finalColor = vec3(0.0);\\\\n\\\";\\r\\n\\r\\n        for (let i = 0; i < NUM_NODES; i++) {\\r\\n            uniformsStr += `        uniform vec2 u_pos${i};\\\\n`;\\r\\n            uniformsStr += `        uniform vec3 u_col${i};\\\\n`;\\r\\n            calcStr += `            float w${i} = getWeight(uv, u_pos${i} \/ u_resolution.xy, aspect);\\\\n`;\\r\\n            sumStr += (i === 0 ? `w${i}` : ` + w${i}`);\\r\\n            finalColStr += `            finalColor += u_col${i} * w${i};\\\\n`;\\r\\n        }\\r\\n        sumStr += \\\";\\\\n\\\";\\r\\n\\r\\n        const fsSource = `\\r\\n        #ifdef GL_FRAGMENT_PRECISION_HIGH\\r\\n            precision highp float;\\r\\n        #else\\r\\n            precision mediump float;\\r\\n        #endif\\r\\n        \\r\\n        uniform vec2 u_resolution;\\r\\n        uniform float u_fluidity;\\r\\n        uniform float u_noiseAmount;\\r\\n\\r\\n        \/\/ Auto-generated hardcoded node locations for ultimate WebKit safety\\r\\n${uniformsStr}\\r\\n\\r\\n        \/\/ High precision pseudo-random generator\\r\\n        float random(vec2 st) {\\r\\n            return fract(sin(dot(st.xy, vec2(12.9898,78.233))) * 43758.5453123);\\r\\n        }\\r\\n\\r\\n        \/\/ Exponential Softmin for a beautiful, vibrant Voronoi color blend!\\r\\n        float getWeight(vec2 uv, vec2 pos, float aspect) {\\r\\n            vec2 aspect_uv = vec2(uv.x * aspect, uv.y);\\r\\n            vec2 aspect_pos = vec2(pos.x * aspect, pos.y);\\r\\n            float d = distance(aspect_uv, aspect_pos);\\r\\n            \/\/ exp() produces true smooth Voronoi boundaries instead of muddy blobs\\r\\n            return exp(-d * u_fluidity * 4.0);\\r\\n        }\\r\\n\\r\\n        void main() {\\r\\n            vec2 uv = gl_FragCoord.xy \/ u_resolution.xy;\\r\\n            float aspect = u_resolution.x \/ u_resolution.y;\\r\\n\\r\\n            \/\/ Auto-generated calc\\r\\n${calcStr}\\r\\n            ${sumStr}\\r\\n            \/\/ Auto-generated blend\\r\\n${finalColStr}\\r\\n\\r\\n            if (totalWeight > 0.0) {\\r\\n                finalColor \/= totalWeight;\\r\\n            }\\r\\n\\r\\n            \/\/ Apply slight grain to prevent color banding on retina displays\\r\\n            float noise = (random(uv) - 0.5) * u_noiseAmount;\\r\\n            finalColor += noise;\\r\\n\\r\\n            gl_FragColor = vec4(finalColor, 1.0);\\r\\n        }\\r\\n    `;\\r\\n\\r\\n        function createShader(gl, type, source) {\\r\\n            const shader = gl.createShader(type);\\r\\n            gl.shaderSource(shader, source);\\r\\n            gl.compileShader(shader);\\r\\n            if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {\\r\\n                console.error(\\\"Shader syntax error:\\\", gl.getShaderInfoLog(shader));\\r\\n                gl.deleteShader(shader);\\r\\n                return null;\\r\\n            }\\r\\n            return shader;\\r\\n        }\\r\\n\\r\\n        const vertexShader = createShader(gl, gl.VERTEX_SHADER, vsSource);\\r\\n        const fragmentShader = createShader(gl, gl.FRAGMENT_SHADER, fsSource);\\r\\n\\r\\n        const program = gl.createProgram();\\r\\n        gl.attachShader(program, vertexShader);\\r\\n        gl.attachShader(program, fragmentShader);\\r\\n        gl.linkProgram(program);\\r\\n\\r\\n        if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {\\r\\n            console.error(gl.getProgramInfoLog(program));\\r\\n        }\\r\\n        gl.useProgram(program);\\r\\n\\r\\n        \/\/ Single large triangle covering the entire screen (-1 to 3 handles entire clip space)\\r\\n        const positionBuffer = gl.createBuffer();\\r\\n        gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);\\r\\n        gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([\\r\\n            -1.0, -1.0,\\r\\n            3.0, -1.0,\\r\\n            -1.0, 3.0\\r\\n        ]), gl.STATIC_DRAW);\\r\\n\\r\\n        const positionLocation = gl.getAttribLocation(program, \\\"a_position\\\");\\r\\n        gl.enableVertexAttribArray(positionLocation);\\r\\n        gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);\\r\\n\\r\\n        \/\/ Uniform Locations\\r\\n        const locResolution = gl.getUniformLocation(program, \\\"u_resolution\\\");\\r\\n        const locFluidity = gl.getUniformLocation(program, \\\"u_fluidity\\\");\\r\\n        const locNoiseAmount = gl.getUniformLocation(program, \\\"u_noiseAmount\\\");\\r\\n\\r\\n        const locPos = [];\\r\\n        const locCol = [];\\r\\n        for (let i = 0; i < NUM_NODES; i++) {\\r\\n            locPos.push(gl.getUniformLocation(program, \\\"u_pos\\\" + i));\\r\\n            locCol.push(gl.getUniformLocation(program, \\\"u_col\\\" + i));\\r\\n        }\\r\\n\\r\\n        \/**\\r\\n         * ==========================================\\r\\n         * PHYSICS & RENDER LOOP\\r\\n         * ==========================================\\r\\n         *\/\\r\\n        let nodes = [];\\r\\n        let mouse = { x: -1000, y: -1000 };\\r\\n\\r\\n        function initNodes() {\\r\\n            nodes = [];\\r\\n            const dpr = Math.min(window.devicePixelRatio || 1, 2);\\r\\n            for (let i = 0; i < NUM_NODES; i++) {\\r\\n                nodes.push({\\r\\n                    x: (Math.random() * window.innerWidth) * dpr,\\r\\n                    y: (Math.random() * window.innerHeight) * dpr,\\r\\n                    \/\/ Give them strong initial directional speeds so they start moving instantly\\r\\n                    vx: (Math.random() > 0.5 ? 1 : -1) * (1.5 + Math.random()) * dpr,\\r\\n                    vy: (Math.random() > 0.5 ? 1 : -1) * (1.5 + Math.random()) * dpr,\\r\\n                    color: initialNodes[i]\\r\\n                });\\r\\n            }\\r\\n        }\\r\\n\\r\\n        function resize() {\\r\\n            \/\/ Handle High-DPI displays safely to ensure sharp rendering\\r\\n            const dpr = Math.min(window.devicePixelRatio || 1, 2);\\r\\n            canvas.width = window.innerWidth * dpr;\\r\\n            canvas.height = window.innerHeight * dpr;\\r\\n            gl.viewport(0, 0, canvas.width, canvas.height);\\r\\n            gl.uniform2f(locResolution, canvas.width, canvas.height);\\r\\n        }\\r\\n\\r\\n        \/\/ Event Listeners\\r\\n        window.addEventListener('resize', resize);\\r\\n        window.addEventListener('mousemove', (e) => {\\r\\n            const dpr = Math.min(window.devicePixelRatio || 1, 2);\\r\\n            mouse.x = e.clientX * dpr;\\r\\n            mouse.y = (window.innerHeight - e.clientY) * dpr;\\r\\n        });\\r\\n        window.addEventListener('mouseleave', () => {\\r\\n            mouse.x = -1000;\\r\\n            mouse.y = -1000;\\r\\n        });\\r\\n        window.addEventListener('touchstart', (e) => {\\r\\n            const dpr = Math.min(window.devicePixelRatio || 1, 2);\\r\\n            mouse.x = e.touches[0].clientX * dpr;\\r\\n            mouse.y = (window.innerHeight - e.touches[0].clientY) * dpr;\\r\\n        }, { passive: true });\\r\\n        window.addEventListener('touchmove', (e) => {\\r\\n            const dpr = Math.min(window.devicePixelRatio || 1, 2);\\r\\n            mouse.x = e.touches[0].clientX * dpr;\\r\\n            mouse.y = (window.innerHeight - e.touches[0].clientY) * dpr;\\r\\n        }, { passive: true });\\r\\n        window.addEventListener('touchend', () => {\\r\\n            mouse.x = -1000;\\r\\n            mouse.y = -1000;\\r\\n        });\\r\\n\\r\\n        function render() {\\r\\n            const dpr = Math.min(window.devicePixelRatio || 1, 2);\\r\\n            const margin = 200 * dpr;\\r\\n            const width = window.innerWidth * dpr;\\r\\n            const height = window.innerHeight * dpr;\\r\\n\\r\\n            nodes.forEach((node, i) => {\\r\\n                \/\/ Mouse repel physics\\r\\n                let dx = node.x - mouse.x;\\r\\n                let dy = node.y - mouse.y;\\r\\n                let distToMouse = Math.sqrt(dx * dx + dy * dy);\\r\\n\\r\\n                \/\/ Scale repel radius relative to Device Pixel Ratio\\r\\n                const effectiveRepel = CONFIG.repelRadius * dpr;\\r\\n\\r\\n                \/\/ Heavily Reactive Repel\\r\\n                if (distToMouse > 0.1 && distToMouse < effectiveRepel) {\\r\\n                    let force = (effectiveRepel - distToMouse) \/ effectiveRepel;\\r\\n                    node.vx += (dx \/ distToMouse) * force * 1.5 * dpr;\\r\\n                    node.vy += (dy \/ distToMouse) * force * 1.5 * dpr;\\r\\n                }\\r\\n\\r\\n                \/\/ Keep them smoothly bounded by gently steering them when they hit the screen edges\\r\\n                if (node.x < 0) node.vx += 0.15 * dpr;\\r\\n                if (node.x > width) node.vx -= 0.15 * dpr;\\r\\n                if (node.y < 0) node.vy += 0.15 * dpr;\\r\\n                if (node.y > height) node.vy -= 0.15 * dpr;\\r\\n\\r\\n                \/\/ Cap the maximum speed to prevent them from flying out of bounds\\r\\n                const maxSpeed = 4.5 * dpr;\\r\\n                let speed = Math.sqrt(node.vx * node.vx + node.vy * node.vy);\\r\\n                if (speed > maxSpeed) {\\r\\n                    node.vx = (node.vx \/ speed) * maxSpeed;\\r\\n                    node.vy = (node.vy \/ speed) * maxSpeed;\\r\\n                }\\r\\n\\r\\n                \/\/ Extremely minimal friction so they never lose their momentum\\r\\n                node.vx *= 0.99;\\r\\n                node.vy *= 0.99;\\r\\n\\r\\n                \/\/ Ensure they never stop moving completely\\r\\n                if (speed < 0.5 * dpr) {\\r\\n                    node.vx *= 1.1;\\r\\n                    node.vy *= 1.1;\\r\\n                }\\r\\n\\r\\n                \/\/ Apply velocity to position\\r\\n                node.x += node.vx;\\r\\n                node.y += node.vy;\\r\\n\\r\\n                \/\/ Feed updated individual uniforms to the GPU \\r\\n                \/\/ (Completely bypasses any bug-prone uniform arrays)\\r\\n                gl.uniform2f(locPos[i], node.x, node.y);\\r\\n                gl.uniform3f(locCol[i], node.color[0], node.color[1], node.color[2]);\\r\\n            });\\r\\n\\r\\n            gl.uniform1f(locFluidity, CONFIG.fluidity);\\r\\n            gl.uniform1f(locNoiseAmount, CONFIG.noiseAmount);\\r\\n\\r\\n            gl.drawArrays(gl.TRIANGLES, 0, 3);\\r\\n\\r\\n            requestAnimationFrame(render);\\r\\n        }\\r\\n\\r\\n        \/\/ Ignite the canvas\\r\\n        initNodes();\\r\\n        resize();\\r\\n        render();\\r\\n\\r\\n    <\/script>\",\"align\":\"top\",\"row\":0,\"col\":0,\"colspan\":1,\"offsetx\":0,\"offsety\":0,\"spaceabove\":0,\"spacebelow\":0,\"yvel\":1,\"push\":0,\"relid\":2,\"config\":{\"label\":\"Noise\"},\"absolute_position\":true,\"lock\":false,\"frameOverflow\":\"left\"},{\"type\":\"stack\",\"cont\":[{\"type\":\"text\",\"cont\":\"<p style=\\\"text-align: right;\\\"><span style=\\\"font-family: forma-djr-micro, sans-serif; font-size: 50px;\\\">WE ARE <\/span><\/p>\\n<p style=\\\"text-align: right;\\\"><span style=\\\"font-family: forma-djr-micro, sans-serif; font-size: 50px;\\\">FASHION REVOLUTION<\/span><\/p>\\n<p style=\\\"text-align: right;\\\"><span style=\\\"font-family: forma-djr-micro, sans-serif; font-size: 50px;\\\">\\u00a0IN SOUTH TYROL<\/span><\/p>\",\"align\":\"bottom\",\"row\":0,\"col\":0,\"colspan\":12,\"offsetx\":0,\"offsety\":0,\"spaceabove\":0,\"spacebelow\":0,\"yvel\":1,\"push\":0,\"relid\":4,\"absolute_position\":false}],\"align\":\"bottom\",\"row\":0,\"col\":0,\"colspan\":12,\"offsetx\":0,\"offsety\":0,\"spaceabove\":0,\"spacebelow\":0,\"yvel\":1,\"push\":0,\"relid\":6,\"absolute_position\":true,\"stackRowGutter\":0,\"stackRowGutterMu\":\"%\",\"frameOverflow\":\"\"},{\"type\":\"text\",\"cont\":\"<p style=\\\"text-align: right;\\\"><span style=\\\"font-size: 100px;\\\"><strong><span class=\\\"oppositecolor\\\" style=\\\"font-family: forma-djr-micro, sans-serif;\\\">Fashion For<\/span><\/strong><\/span><\/p>\\n<p style=\\\"text-align: right;\\\"><span style=\\\"font-size: 100px;\\\"><strong><span class=\\\"oppositecolor\\\" style=\\\"font-family: forma-djr-micro, sans-serif;\\\">Future<br \/><\/span><\/strong><\/span><\/p>\",\"align\":\"top\",\"row\":0,\"col\":6,\"colspan\":6,\"offsetx\":0,\"offsety\":0,\"spaceabove\":0,\"spacebelow\":0,\"yvel\":1,\"push\":6,\"relid\":5,\"absolute_position\":true},{\"type\":\"text\",\"cont\":\"<p style=\\\"text-align: left;\\\"><span style=\\\"font-family: forma-djr-micro, sans-serif;\\\">We are Fashion Revolution in South Tyrol. With a series of participatory initiatives and downtown happenings, this year\\u2019s Fashion For Future will (re)present itself as an inspiring festival.<\/span><\/p>\\n<p style=\\\"text-align: left;\\\"><span style=\\\"font-family: forma-djr-micro, sans-serif;\\\">Get ready for the 4th edition of Fashion For Future from 21\\u201325 April 2026.<\/span><\/p>\\n<p style=\\\"text-align: left;\\\"><span style=\\\"font-family: forma-djr-micro, sans-serif;\\\">Organisational Team 2026: Annalena Egger (OEW \\u2013 Organization for a Solidary World), Brigitte Gritsch (World Shops South Tyrol), Susanne Barta (Journalist and Slow Fashion Blogger), Aart van Bezooijen (unibz \\u2013 Faculty of Design and Art)<\/span><\/p>\",\"align\":\"top\",\"row\":1,\"col\":0,\"colspan\":6,\"offsetx\":0,\"offsety\":0,\"spaceabove\":0,\"spacebelow\":0,\"yvel\":1,\"push\":0,\"relid\":8,\"absolute_position\":false},{\"type\":\"carousel\",\"cont\":\"\",\"align\":\"top\",\"row\":1,\"col\":6,\"colspan\":6,\"offsetx\":0,\"offsety\":0,\"spaceabove\":0,\"spacebelow\":0,\"yvel\":1,\"push\":0,\"relid\":7,\"carousel_options\":{\"random\":false,\"autoplay\":false,\"showMultipleSlides\":false,\"freeScroll\":false,\"mousewheelScroll\":false,\"size\":\"aspectRatioOfFirstElement\",\"useCustomFixedHeightPhone\":false,\"fixedHeightPhone\":\"\",\"slidesWidth\":\"null\",\"transition\":\"sliding\",\"loop\":\"1\",\"spaceBetween\":0,\"captionsUnderSlides\":false,\"darkGradientAtBottom\":false,\"darkGradientAtTop\":false,\"darkGradientAtTopColor\":\"#000000\",\"darkGradientAtBottomColor\":\"#000000\",\"autoplaySpeed\":2000,\"autoplayDelay\":0,\"transitionSpeed\":300},\"carousel\":[{\"type\":\"img\",\"attid\":15,\"cont\":\"\/wp-content\/uploads\/2019\/03\/171406954_1784125475080542_6630508336406699907_n.jpg\",\"sizes\":{\"full\":\"\/wp-content\/uploads\/2019\/03\/171406954_1784125475080542_6630508336406699907_n.jpg\",\"_1280\":\"\/wp-content\/uploads\/2019\/03\/171406954_1784125475080542_6630508336406699907_n-1280x1280.jpg\",\"_1024\":\"\/wp-content\/uploads\/2019\/03\/171406954_1784125475080542_6630508336406699907_n-1024x1024.jpg\",\"_768\":\"\/wp-content\/uploads\/2019\/03\/171406954_1784125475080542_6630508336406699907_n-768x768.jpg\",\"_512\":\"\/wp-content\/uploads\/2019\/03\/171406954_1784125475080542_6630508336406699907_n-512x512.jpg\",\"_265\":\"\/wp-content\/uploads\/2019\/03\/171406954_1784125475080542_6630508336406699907_n-265x265.jpg\"},\"w\":1440,\"h\":1440,\"ar\":1,\"alt\":\"\"}],\"absolute_position\":false,\"frameOverflow\":\"\"},{\"type\":\"marquee\",\"cont\":\"\",\"align\":\"top\",\"row\":2,\"col\":0,\"colspan\":12,\"offsetx\":0,\"offsety\":0,\"spaceabove\":0,\"spacebelow\":0,\"yvel\":1,\"push\":0,\"relid\":10,\"config\":{\"desktop\":{\"spacebetween\":10,\"spacebetween_mu\":\"px\",\"imageheight\":50,\"imageheight_mu\":\"px\",\"spacetop\":0,\"spacetop_mu\":\"px\",\"spacebottom\":0,\"spacebottom_mu\":\"px\",\"speed\":60},\"tablet\":{\"spacebetween\":10,\"spacebetween_mu\":\"px\",\"imageheight\":50,\"imageheight_mu\":\"px\",\"spacetop\":0,\"spacetop_mu\":\"px\",\"spacebottom\":0,\"spacebottom_mu\":\"px\",\"speed\":60},\"phone\":{\"spacebetween\":10,\"spacebetween_mu\":\"px\",\"imageheight\":50,\"imageheight_mu\":\"px\",\"spacetop\":0,\"spacetop_mu\":\"px\",\"spacebottom\":0,\"spacebottom_mu\":\"px\",\"speed\":60},\"speed\":60,\"reversedirection\":false,\"startonscreen\":true,\"textformat\":\"Default\",\"pauseonhover\":false,\"startonhover\":false,\"alignment\":\"middle\",\"elements\":[{\"cont\":\"<p><strong><span style=\\\"font-family: forma-djr-micro, sans-serif; font-size: 50px;\\\">FASHION FOR FUTURE - WE ARE FASHION REVOLUTION IN SOUTH TYROL<\/span><\/strong><\/p>\",\"type\":\"text\"}],\"separator\":\"-\",\"borderTopWidth\":0,\"borderBottomWidth\":0,\"borderColor\":\"\",\"backgroundColor\":\"\"},\"absolute_position\":false,\"frameOverflow\":\"both\"}]}","phonegrid":"","_links":{"self":[{"href":"https:\/\/fashionforfuture.bz.it\/it\/wp-json\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fashionforfuture.bz.it\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fashionforfuture.bz.it\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fashionforfuture.bz.it\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fashionforfuture.bz.it\/it\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":0,"href":"https:\/\/fashionforfuture.bz.it\/it\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"wp:attachment":[{"href":"https:\/\/fashionforfuture.bz.it\/it\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fashionforfuture.bz.it\/it\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fashionforfuture.bz.it\/it\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}