{"id":9319,"date":"2026-11-11T21:45:19","date_gmt":"2026-11-11T21:45:19","guid":{"rendered":"https:\/\/hosting4agency.com\/?page_id=9319"},"modified":"2026-11-11T21:55:38","modified_gmt":"2026-11-11T21:55:38","slug":"where-we-are","status":"publish","type":"page","link":"https:\/\/hosting4agency.com\/en\/where-we-are\/","title":{"rendered":"Where we are"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"9319\" class=\"elementor elementor-9319\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-31039ed e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"31039ed\" data-element_type=\"container\" data-e-type=\"container\" id=\"globo-dove-siamo\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6f6012b h4a-globo__scena elementor-widget elementor-widget-html\" data-id=\"6f6012b\" 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>\n\/* ===== globo.css \u2014 la pagina \u00abDove siamo\u00bb di Hosting4Agency (globo che segue lo scroll) =====\n   Si aggancia agli ID dei container (#globo-dove-siamo, #tappa-\u2026): in Elementor 4.3 le classi CSS dei container\n   impostate da REST non escono nella pagina, gli ID s\u00ec (11\/11\/2026). Altezze, allineamenti, larghezze e tipografia\n   delle tappe stanno nelle impostazioni di Elementor: qui c'\u00e8 solo quello che Elementor non fa da s\u00e9. *\/\n\n\/* il contenitore di tutta la pagina: il cielo blu di H4A, pi\u00f9 scuro ai bordi *\/\n#globo-dove-siamo {\n  background: radial-gradient(120% 90% at 68% 42%, #1f2c8f 0%, #141c63 45%, #0b0f3a 100%);\n  color: #fff;\n}\n\n\/* il widget HTML con il canvas: resta fermo mentre le tappe scorrono sopra *\/\n#globo-dove-siamo .h4a-globo__scena {\n  position: sticky !important;\n  top: 0;\n  height: 100vh;\n  width: 100%;\n  margin-bottom: -100vh !important;\n  z-index: 0;\n  pointer-events: none;\n}\n#globo-dove-siamo .h4a-globo__scena > .elementor-widget-container { height: 100%; }\n#globo-dove-siamo .h4a-globo__canvas { display: block; width: 100%; height: 100vh; }\n\n\/* le tappe stanno sopra il globo *\/\n#globo-dove-siamo > [id^=\"tappa-\"] { position: relative; z-index: 1; }\n#globo-dove-siamo .elementor-heading-title { text-wrap: balance; }\n#globo-dove-siamo .elementor-widget-text-editor p { margin: 0; text-wrap: pretty; }\n#globo-dove-siamo .elementor-widget-text-editor a { color: #00B488; text-decoration: underline; text-underline-offset: 3px; }\n#globo-dove-siamo .elementor-widget-text-editor a:hover { color: #fff; }\n#globo-dove-siamo .globo-novita {\n  display: inline-block; margin-left: .4em; padding: .15em .5em; border-radius: 999px;\n  font-size: .45em; letter-spacing: .08em; vertical-align: .55em;\n  background: #00B488; color: #0b0f3a;\n}\n\n\/* telefono: il globo in alto, il testo in basso su un velo, per leggerlo sopra le linee *\/\n@media (max-width: 767px) {\n  #globo-dove-siamo > [id^=\"tappa-\"] > .e-con {\n    background: rgba(11, 15, 58, .72);\n    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);\n    border-radius: 14px;\n  }\n}\n<\/style>\n<canvas class=\"h4a-globo__canvas\" aria-hidden=\"true\"><\/canvas>\n<script>\n\/* ===== globo.js \u2014 la mappa del mondo di \u00abDove siamo\u00bb (Hosting4Agency) =====\n   Scritto da ELAN42 il 11\/11\/2026, ispirato al ritmo di aroneu.com (nessun codice preso da l\u00ec).\n   Cosa fa: un globo in un <canvas> che resta fermo mentre il testo scorre; ogni tappa della pagina (un container\n   Elementor con l'ID \u00abtappa-\u2026\u00bb, dentro quello con l'ID \u00abglobo-dove-siamo\u00bb) porta la camera su un punto del mondo.\n   - pallini bianchi: i server, che \u00absparano\u00bb dati verso gli altri server e lo studio di Venezia;\n   - pallini verdi: i progetti di forestazione, con radici sottili che scendono verso il centro della Terra;\n   - pallino rosso: lo studio di Venezia.\n   Dove si cambia cosa: i luoghi in PUNTI, le inquadrature in TAPPE. I testi stanno nei widget di Elementor.\n   La libreria topojson-client e le coste (world-atlas, Natural Earth, pubblico dominio) arrivano da jsDelivr; la\n   geometria \u00e8 fatta qui, senza d3. *\/\n(function () {\n  'use strict';\n  var radice = document.getElementById('globo-dove-siamo');   \/\/ il container Elementor con ID \u00abglobo-dove-siamo\u00bb\n  var canvas = radice && radice.querySelector('canvas.h4a-globo__canvas');\n  if (!canvas) return;\n\n  \/* I luoghi: dalla pagina gogreen.host\/dove-siamo (11\/11\/2026), pi\u00f9 Singapore e la foresta nel Sud-est asiatico.\n     Le coordinate delle foreste sono quelle della regione del progetto, non del singolo bosco. *\/\n  var PUNTI = [\n    { id: 'norimberga', tipo: 'server', nome: 'Norimberga', en: 'Nuremberg', lon: 11.08, lat: 49.45 },\n    { id: 'falkenstein', tipo: 'server', nome: 'Falkenstein', lon: 12.37, lat: 50.48 },\n    { id: 'helsinki', tipo: 'server', nome: 'Helsinki', lon: 24.94, lat: 60.17 },\n    { id: 'hillsboro', tipo: 'server', nome: 'Hillsboro', lon: -122.99, lat: 45.52 },\n    { id: 'singapore', tipo: 'server', nome: 'Singapore', lon: 103.82, lat: 1.35 },\n    { id: 'venezia', tipo: 'studio', nome: 'Venezia', en: 'Venice', lon: 12.32, lat: 45.43 },\n    { id: 'ticino', tipo: 'foresta', nome: 'Parco del Ticino', en: 'Ticino Park', lon: 8.85, lat: 45.42, etichetta: 'sinistra' },\n    { id: 'amazzonia', tipo: 'foresta', nome: 'Amazzonia', en: 'Amazon', lon: -60.0, lat: -3.1 },\n    { id: 'madagascar', tipo: 'foresta', nome: 'Madagascar', lon: 47.5, lat: -18.9 },\n    { id: 'sudest-asiatico', tipo: 'foresta', nome: 'Sud-est asiatico', en: 'Southeast Asia', lon: 114.0, lat: 0.5 }\n  ];\n\n  \/* la lingua delle etichette sul globo: quella della pagina (WPML mette lang=\"en-US\" sulla versione inglese) *\/\n  var INGLESE = \/^en\/i.test(document.documentElement.lang || '');\n\n  \/* Le inquadrature, una per tappa: centro (lon, lat), zoom (1 = il globo intero riempie lo schermo),\n     dx = spostamento orizzontale del globo in frazioni di larghezza (verso il lato opposto al testo). *\/\n  var TAPPE = {\n    'tappa-inizio': { lon: 20, lat: 25, zoom: 0.78, dx: 0.16 },\n    'tappa-germania': { lon: 11.7, lat: 50.0, zoom: 7.5, dx: 0.18 },\n    'tappa-helsinki': { lon: 20.0, lat: 56.0, zoom: 3.4, dx: -0.16 },\n    'tappa-hillsboro': { lon: -110, lat: 40, zoom: 1.6, dx: 0.2 },\n    'tappa-singapore': { lon: 92, lat: 10, zoom: 2.2, dx: -0.16 },\n    'tappa-radici': { lon: 0, lat: 8, zoom: 1.05, dx: 0.14 },\n    \/* sulle foreste la camera guarda 18\u00b0 pi\u00f9 a sud: la foresta sta in alto e le radici scendono verso il centro\n       del globo, cio\u00e8 verso il basso. Inquadrata al centro, una radice punterebbe dritta verso chi guarda e non si vedrebbe. *\/\n    'tappa-ticino': { lon: 9.5, lat: 27, zoom: 1.8, dx: -0.17 },\n    'tappa-amazzonia': { lon: -59, lat: -21, zoom: 1.8, dx: 0.17 },\n    'tappa-madagascar': { lon: 47, lat: -37, zoom: 1.8, dx: -0.17 },\n    'tappa-sudest-asiatico': { lon: 113, lat: -17, zoom: 1.8, dx: 0.17 },\n    'tappa-venezia': { lon: 12.33, lat: 45.44, zoom: 14, dx: -0.17 },\n    'tappa-fine': { lon: 40, lat: 18, zoom: 0.92, dx: 0 }\n  };\n\n  var COLORI = {\n    costa: 'rgba(214,224,255,', sfera: 'rgba(255,255,255,0.16)', griglia: 'rgba(255,255,255,',\n    arco: 'rgba(255,255,255,', dato: '#ffffff', server: '#ffffff', foresta: '#00B488',\n    radice: 'rgba(0,180,136,', studio: '#E14E5B', etichetta: 'rgba(255,255,255,0.82)'\n  };\n\n  var CDN = 'https:\/\/cdn.jsdelivr.net\/npm\/';\n  var meno = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  var R = Math.PI \/ 180;\n\n  \/* ---- geometria: niente librerie, solo vettori sulla sfera unitaria ---- *\/\n  function vettore(lon, lat) {\n    return [Math.cos(lat * R) * Math.cos(lon * R), Math.cos(lat * R) * Math.sin(lon * R), Math.sin(lat * R)];\n  }\n  function distanza(a, b) { return Math.acos(Math.max(-1, Math.min(1, a[0] * b[0] + a[1] * b[1] + a[2] * b[2]))); }\n  function lungo(a, b, t) {   \/\/ il punto a una frazione t dell'arco di cerchio massimo da a a b\n    var d = distanza(a, b); if (d < 1e-9) return a.slice();\n    var s = Math.sin(d), p = Math.sin((1 - t) * d) \/ s, q = Math.sin(t * d) \/ s;\n    return [a[0] * p + b[0] * q, a[1] * p + b[1] * q, a[2] * p + b[2] * q];\n  }\n  function lonlat(v) { return [Math.atan2(v[1], v[0]) \/ R, Math.asin(Math.max(-1, Math.min(1, v[2]))) \/ R]; }\n\n  \/* le coste diventano punti una volta sola (passo in gradi), poi a ogni fotogramma si disegnano solo quelli visibili:\n     ridisegnare il contorno tratteggiato a ogni fotogramma costava pi\u00f9 di 100 ms da vicino (misurato l'11\/11\/2026) *\/\n  function campiona(geo, passo) {\n    var out = [];\n    (function anelli(c) {\n      if (typeof c[0][0] === 'number') {\n        for (var i = 1; i < c.length; i++) {\n          var a = c[i - 1], b = c[i], dl = b[0] - a[0];\n          if (Math.abs(dl) > 180) continue;   \/\/ il salto dell'antimeridiano\n          var n = Math.max(1, Math.ceil(Math.hypot(dl * Math.cos(a[1] * R), b[1] - a[1]) \/ passo));\n          for (var k = 0; k < n; k++) { var v = vettore(a[0] + dl * k \/ n, a[1] + (b[1] - a[1]) * k \/ n); out.push(v[0], v[1], v[2]); }\n        }\n      } else c.forEach(anelli);\n    })(geo.coordinates);\n    return new Float32Array(out);\n  }\n\n  var s = document.createElement('script');\n  s.src = CDN + 'topojson-client@3.1.0\/dist\/topojson-client.min.js';\n  s.onload = avvia;\n  document.head.appendChild(s);\n\n  function avvia() {\n    var topojson = window.topojson;\n    var ctx = canvas.getContext('2d');\n    var terra = { basso: null, alto: null };\n    fetch(CDN + 'world-atlas@2.0.2\/land-110m.json').then(function (r) { return r.json(); })\n      .then(function (t) { terra.basso = campiona(topojson.mesh(t, t.objects.land), 0.45); });\n    fetch(CDN + 'world-atlas@2.0.2\/land-50m.json').then(function (r) { return r.json(); })\n      .then(function (t) { terra.alto = campiona(topojson.mesh(t, t.objects.land), 0.07); });\n\n    \/* la rotazione della camera, calcolata una volta per fotogramma: prima la longitudine, poi la latitudine *\/\n    var m = [1, 0, 0, 0, 1, 0, 0, 0, 1], cx = 0, cy = 0, scala = 1;\n    function camera(lon, lat) {\n      var l = -lon * R, f = -lat * R, cl = Math.cos(l), sl = Math.sin(l), cf = Math.cos(f), sf = Math.sin(f);\n      m = [cl * cf, -sl * cf, -sf, sl, cl, 0, cl * sf, -sl * sf, cf];\n    }\n    var P = { x: 0, y: 0, fronte: 0, fuori: 0 };   \/\/ un solo oggetto riusato: niente spazzatura a ogni punto\n    function schermo(v, r) {\n      var X = m[0] * v[0] + m[1] * v[1] + m[2] * v[2], Y = m[3] * v[0] + m[4] * v[1] + m[5] * v[2], Z = m[6] * v[0] + m[7] * v[1] + m[8] * v[2];\n      P.x = cx + scala * r * Y; P.y = cy - scala * r * Z; P.fronte = X; P.fuori = r * Math.sqrt(Y * Y + Z * Z);\n      return P;\n    }\n    function visibile(p) { return p.fronte > 0 || p.fuori > 1; }\n\n    \/* ---- i flussi di dati: da ogni server verso gli altri server e verso lo studio ---- *\/\n    PUNTI.forEach(function (p) { p.v = vettore(p.lon, p.lat); });\n    var server = PUNTI.filter(function (p) { return p.tipo === 'server'; });\n    var studio = PUNTI.filter(function (p) { return p.tipo === 'studio'; });\n    var FLUSSI = [];\n    server.forEach(function (a, i) {\n      server.slice(i + 1).concat(studio).forEach(function (b) {\n        var dist = distanza(a.v, b.v), pts = [];\n        for (var k = 0; k <= 48; k++) pts.push({ v: lungo(a.v, b.v, k \/ 48), r: 1 + 0.18 * dist * Math.sin(Math.PI * k \/ 48) });\n        FLUSSI.push({ pts: pts, fase: Math.random(), vel: 0.07 \/ Math.max(0.35, dist) });\n      });\n    });\n\n    \/* ---- le radici: rami che scendono dalla foresta verso il centro, con piccole deviazioni ---- *\/\n    function caso(s) { return function () { s = (s * 16807) % 2147483647; return s \/ 2147483647; }; }\n    PUNTI.forEach(function (p, n) {\n      if (p.tipo !== 'foresta') return;\n      var rnd = caso(97 + n * 131), rami = [];\n      (function ramo(lon, lat, r, prof, dir) {\n        var linea = [{ v: vettore(lon, lat), r: r }];\n        while (r > 0.5 + 0.08 * prof && linea.length < 48) {\n          dir += (rnd() - 0.5) * 0.9;\n          lon += Math.cos(dir) * 0.55; lat += Math.sin(dir) * 0.55;\n          r -= 0.012 + rnd() * 0.01;\n          linea.push({ v: vettore(lon, lat), r: r });\n          if (prof < 3 && rnd() < 0.09) ramo(lon, lat, r, prof + 1, dir + (rnd() < 0.5 ? 1 : -1) * (0.6 + rnd()));\n        }\n        if (linea.length > 1) rami.push({ linea: linea, prof: prof });\n      })(p.lon, p.lat, 1, 0, rnd() * 6.28);\n      for (var k = 0; k < 4; k++) {\n        (function ramo2(dir) {\n          var lon = p.lon, lat = p.lat, r = 1, linea = [{ v: vettore(lon, lat), r: r }];\n          while (r > 0.72 && linea.length < 30) {\n            dir += (rnd() - 0.5) * 0.8; lon += Math.cos(dir) * 0.45; lat += Math.sin(dir) * 0.45;\n            r -= 0.01 + rnd() * 0.01; linea.push({ v: vettore(lon, lat), r: r });\n          }\n          rami.push({ linea: linea, prof: 1 });\n        })(k * 1.57 + rnd());\n      }\n      p.rami = rami;\n    });\n\n    \/* ---- la griglia di punti della sfera, che si vede da lontano ---- *\/\n    var g = [];\n    for (var la = -84; la <= 84; la += 3) {\n      var passo = 3 \/ Math.max(0.15, Math.cos(la * R));\n      for (var lo = -180; lo < 180; lo += passo) { var v = vettore(lo, la); g.push(v[0], v[1], v[2]); }\n    }\n    var GRIGLIA = new Float32Array(g);\n\n    \/* ---- la camera segue lo scroll: l'obiettivo si ricalcola solo quando si scorre ---- *\/\n    var tappe = [].slice.call(radice.querySelectorAll('[id^=\"tappa-\"]')).filter(function (e) { return TAPPE[e.id]; });\n    var cam = { lon: 20, lat: 25, zoom: 0.78, dx: 0.16 }, meta = { lon: 20, lat: 25, zoom: 0.78, dx: 0.16 };\n    var mobile = false;\n    function obiettivo() {\n      var mezzo = window.innerHeight \/ 2, prima = null, dopo = null;\n      tappe.forEach(function (e) {\n        var b = e.getBoundingClientRect(), c = b.top + b.height \/ 2 - mezzo;\n        if (c <= 0) prima = { e: e, c: c }; else if (!dopo) dopo = { e: e, c: c };\n      });\n      if (!prima) prima = dopo; if (!dopo) dopo = prima; if (!prima) return;\n      var a = TAPPE[prima.e.id], b = TAPPE[dopo.e.id];\n      var f = prima === dopo ? 0 : -prima.c \/ (dopo.c - prima.c);\n      f = Math.max(0, Math.min(1, f)); f = f * f * (3 - 2 * f);\n      var va = vettore(a.lon, a.lat), vb = vettore(b.lon, b.lat), ll = lonlat(lungo(va, vb, f)), dist = distanza(va, vb);\n      var z = Math.exp(Math.log(a.zoom) * (1 - f) + Math.log(b.zoom) * f) * (1 - 0.55 * Math.sin(Math.PI * f) * Math.min(1, dist \/ 0.9));\n      meta = { lon: ll[0], lat: ll[1], zoom: z, dx: a.dx * (1 - f) + b.dx * f };\n    }\n\n    var larg = 0, alt = 0, dpr = 1, carattere = '500 12px sans-serif';\n    function misura() {\n      dpr = Math.min(1.5, window.devicePixelRatio || 1);\n      larg = canvas.clientWidth; alt = canvas.clientHeight;\n      canvas.width = Math.round(larg * dpr); canvas.height = Math.round(alt * dpr);\n      mobile = larg < 768;\n      carattere = '500 12px ' + getComputedStyle(radice).fontFamily;\n      obiettivo();\n    }\n\n    function puntini(arr, colore, lato, cosVista) {   \/\/ i punti di arr che stanno sul davanti e dentro lo schermo\n      ctx.fillStyle = colore;\n      var h = lato \/ 2;\n      for (var i = 0; i < arr.length; i += 3) {\n        var X = m[0] * arr[i] + m[1] * arr[i + 1] + m[2] * arr[i + 2];\n        if (X <= cosVista) continue;\n        var Y = m[3] * arr[i] + m[4] * arr[i + 1] + m[5] * arr[i + 2], Z = m[6] * arr[i] + m[7] * arr[i + 1] + m[8] * arr[i + 2];\n        var x = cx + scala * Y, y = cy - scala * Z;\n        if (x < -2 || y < -2 || x > larg + 2 || y > alt + 2) continue;\n        ctx.fillRect(x - h, y - h, lato, lato);\n      }\n    }\n\n    var nascita = {};\n    function disegna(ora) {\n      var t = ora \/ 1000;\n      var k = meno || radice.hasAttribute('data-globo-subito') ? 1 : 0.09;   \/\/ data-globo-subito: per il collaudo\n      cam.lon += (((meta.lon - cam.lon + 540) % 360) - 180) * k;\n      cam.lat += (meta.lat - cam.lat) * k;\n      cam.zoom *= Math.pow(meta.zoom \/ cam.zoom, k);\n      cam.dx += (meta.dx - cam.dx) * k;\n\n      ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n      ctx.clearRect(0, 0, larg, alt);\n      scala = Math.min(larg, alt) * 0.46 * cam.zoom;\n      cx = larg \/ 2 + (mobile ? 0 : cam.dx * larg); cy = alt \/ 2 - (mobile ? alt * 0.12 : 0);\n      camera(cam.lon, cam.lat);\n      \/\/ quanto della sfera pu\u00f2 stare nello schermo: i punti pi\u00f9 lontani dal centro della vista non si proiettano nemmeno\n      var raggio = Math.hypot(Math.max(cx, larg - cx), Math.max(cy, alt - cy)) \/ scala;\n      var cosVista = raggio >= 1 ? 0 : Math.cos(Math.asin(raggio));\n\n      \/\/ la sfera e la sua griglia di punti, che svanisce avvicinandosi\n      ctx.beginPath(); ctx.arc(cx, cy, scala, 0, 6.2832); ctx.strokeStyle = COLORI.sfera; ctx.lineWidth = 1; ctx.stroke();\n      var ag = Math.max(0, Math.min(1, (2.0 - cam.zoom) \/ 1.1));\n      if (ag > 0.02) puntini(GRIGLIA, COLORI.griglia + (0.3 * ag) + ')', 1.1, 0);\n\n      \/\/ le coste, a puntini\n      var vicino = cam.zoom > 2.2 && terra.alto, costa = vicino ? terra.alto : terra.basso;\n      if (costa) puntini(costa, COLORI.costa + (0.5 + 0.4 * Math.min(1, cam.zoom \/ 2.5)) + ')', vicino ? 1.3 : 1.1, cosVista);\n\n      \/\/ le radici delle foreste\n      PUNTI.forEach(function (p) {\n        if (!p.rami) return;\n        var fronte = schermo(p.v, 1).fronte;\n        if (fronte < -0.1) return;\n        if (!(p.id in nascita) && cam.zoom > 1.6 && fronte > 0.3) nascita[p.id] = t;\n        var cresci = meno ? 1 : (p.id in nascita ? Math.min(1, (t - nascita[p.id]) \/ 3.5) : 0.25);\n        \/\/ da vicino (zoom alto) le radici diventerebbero righe lunghe quanto lo schermo: svaniscono\n        var luce = Math.max(0, Math.min(1, fronte * 1.6)) * (0.75 + 0.25 * Math.sin(t * 1.3 + p.lon)) * Math.max(0, Math.min(1, (5 - cam.zoom) \/ 2));\n        if (luce <= 0) return;\n        p.rami.forEach(function (rm) {\n          var n = Math.min(rm.linea.length, Math.max(2, Math.floor(rm.linea.length * cresci)));\n          ctx.beginPath();\n          for (var j = 0; j < n; j++) {\n            var q = schermo(rm.linea[j].v, rm.linea[j].r);\n            if (j) ctx.lineTo(q.x, q.y); else ctx.moveTo(q.x, q.y);\n          }\n          ctx.strokeStyle = COLORI.radice + (0.9 * luce \/ (1 + rm.prof * 0.45)) + ')';\n          ctx.lineWidth = Math.max(0.6, 1.6 - rm.prof * 0.3) * Math.min(1.6, 0.8 + cam.zoom * 0.1);\n          ctx.stroke();\n        });\n      });\n\n      \/\/ gli archi, tutti in un tracciato solo, e i dati che li percorrono\n      ctx.beginPath();\n      FLUSSI.forEach(function (fl) {\n        var su = false;\n        for (var j = 0; j < fl.pts.length; j++) {\n          var q = schermo(fl.pts[j].v, fl.pts[j].r);\n          if (visibile(q)) { if (su) ctx.lineTo(q.x, q.y); else ctx.moveTo(q.x, q.y); su = true; } else su = false;\n        }\n      });\n      ctx.strokeStyle = COLORI.arco + '0.16)'; ctx.lineWidth = 0.8; ctx.stroke();\n      if (!meno) {\n        ctx.fillStyle = COLORI.dato;\n        FLUSSI.forEach(function (fl) {\n          for (var d = 0; d < 2; d++) {\n            var pos = (t * fl.vel + fl.fase + d * 0.5) % 1;\n            for (var c2 = 0; c2 < 7; c2++) {\n              var u = pos - c2 * 0.008; if (u < 0) break;\n              var idx = u * (fl.pts.length - 1), i0 = Math.floor(idx), fr = idx - i0;\n              var A = fl.pts[i0], B = fl.pts[Math.min(i0 + 1, fl.pts.length - 1)];\n              var q2 = schermo(lungo(A.v, B.v, fr), A.r + (B.r - A.r) * fr);\n              if (!visibile(q2)) break;\n              ctx.globalAlpha = 0.9 * (1 - c2 \/ 7);\n              var rr = c2 ? 1.1 : 1.7;\n              ctx.fillRect(q2.x - rr, q2.y - rr, rr * 2, rr * 2);\n            }\n          }\n        });\n        ctx.globalAlpha = 1;\n      }\n\n      \/\/ i punti, con un alone fatto da un cerchio pi\u00f9 grande e trasparente (lo shadowBlur costava troppo)\n      ctx.font = carattere;\n      PUNTI.forEach(function (p) {\n        var q = schermo(p.v, 1);\n        if (q.fronte < 0) return;\n        var x = q.x, y = q.y, a = Math.min(1, q.fronte * 2.5), r = p.tipo === 'server' ? 3.2 : 3.6;\n        if (x < -40 || y < -40 || x > larg + 40 || y > alt + 40) return;\n        if (p.tipo === 'server' && !meno) {   \/\/ l'impulso del server che trasmette\n          var ph = (t * 0.8 + p.lon \/ 50) % 1;\n          ctx.beginPath(); ctx.arc(x, y, r + ph * 14, 0, 6.283);\n          ctx.strokeStyle = 'rgba(255,255,255,' + (0.5 * (1 - ph) * a) + ')'; ctx.lineWidth = 1; ctx.stroke();\n        }\n        ctx.fillStyle = COLORI[p.tipo];\n        ctx.globalAlpha = 0.22 * a; ctx.beginPath(); ctx.arc(x, y, r + 4, 0, 6.283); ctx.fill();\n        ctx.globalAlpha = a; ctx.beginPath(); ctx.arc(x, y, r, 0, 6.283); ctx.fill();\n        if (cam.zoom > 1.25) {\n          ctx.fillStyle = COLORI.etichetta; ctx.textAlign = p.etichetta === 'sinistra' ? 'right' : 'left';\n          ctx.fillText(INGLESE && p.en ? p.en : p.nome, x + (p.etichetta === 'sinistra' ? -8 : 8), y + 4);\n        }\n        ctx.globalAlpha = 1;\n      });\n      ctx.textAlign = 'left';\n    }\n\n    radice.globoMisura = function (n) {   \/\/ collaudo: quanto costa un fotogramma (ms), senza aspettare lo schermo\n      obiettivo(); var a = performance.now(); for (var i = 0; i < n; i++) disegna(a + i * 16); return (performance.now() - a) \/ n;\n    };\n    var acceso = false, fotogramma = 0;\n    function giro(ora) { if (!acceso) return; disegna(ora); fotogramma = requestAnimationFrame(giro); }\n    new IntersectionObserver(function (v) {\n      var dentro = v[0].isIntersecting;\n      if (dentro && !acceso) { acceso = true; obiettivo(); fotogramma = requestAnimationFrame(giro); }\n      if (!dentro) { acceso = false; cancelAnimationFrame(fotogramma); }\n    }).observe(radice);\n    window.addEventListener('scroll', obiettivo, { passive: true });\n    window.addEventListener('resize', misura);\n    misura();\n  }\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cae98eb e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"cae98eb\" data-element_type=\"container\" data-e-type=\"container\" id=\"tappa-inizio\">\n\t\t<div class=\"elementor-element elementor-element-d593694 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"d593694\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-81d6de3 elementor-widget elementor-widget-heading\" data-id=\"81d6de3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Where we are<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fa21207 elementor-widget elementor-widget-text-editor\" data-id=\"fa21207\" 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>Three data centres and two DNS servers running on renewable energy, four forests and a studio in Venice. This is where your website lives.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\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-e5f75b4 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"e5f75b4\" data-element_type=\"container\" data-e-type=\"container\" id=\"tappa-venezia\">\n\t\t<div class=\"elementor-element elementor-element-c084faa e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"c084faa\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-57a80fc elementor-widget elementor-widget-heading\" data-id=\"57a80fc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Venice<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-577cb95 elementor-widget elementor-widget-text-editor\" data-id=\"577cb95\" 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>Our studio. This is where we keep our backup servers and our local LLMs. 100% carbon neutral. <a href=\"https:\/\/gogreen.host\/en\/progetti-en\/venezia-una-citta-unica\/\">Venice, a one-of-a-kind city<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\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-b10aa24 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"b10aa24\" data-element_type=\"container\" data-e-type=\"container\" id=\"tappa-germania\">\n\t\t<div class=\"elementor-element elementor-element-357de3f e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"357de3f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-990d1ef elementor-widget elementor-widget-heading\" data-id=\"990d1ef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Nuremberg and Falkenstein<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-52f6ea4 elementor-widget elementor-widget-text-editor\" data-id=\"52f6ea4\" 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>Our first two data centres are in Germany, powered by 100% renewable energy: hydroelectric.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\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-7bef0e1 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"7bef0e1\" data-element_type=\"container\" data-e-type=\"container\" id=\"tappa-helsinki\">\n\t\t<div class=\"elementor-element elementor-element-46ff8e1 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"46ff8e1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d6b895d elementor-widget elementor-widget-heading\" data-id=\"d6b895d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Helsinki<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4fd0b55 elementor-widget elementor-widget-text-editor\" data-id=\"4fd0b55\" 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>The third is in Finland, powered by 100% renewable energy: geothermal and wind.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\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-71cc06a e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"71cc06a\" data-element_type=\"container\" data-e-type=\"container\" id=\"tappa-hillsboro\">\n\t\t<div class=\"elementor-element elementor-element-a555db7 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"a555db7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e43ff90 elementor-widget elementor-widget-heading\" data-id=\"e43ff90\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Hillsboro, Oregon<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d95a10a elementor-widget elementor-widget-text-editor\" data-id=\"d95a10a\" 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>Across the ocean, DNS for those with clients in the United States.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\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-2fc1678 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"2fc1678\" data-element_type=\"container\" data-e-type=\"container\" id=\"tappa-singapore\">\n\t\t<div class=\"elementor-element elementor-element-9058fe7 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"9058fe7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a4bb520 elementor-widget elementor-widget-heading\" data-id=\"a4bb520\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Singapore <span class=\"globo-novita\">NEW<\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a1c1166 elementor-widget elementor-widget-text-editor\" data-id=\"a1c1166\" 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>On the other side of the world, DNS for those with clients in Asia.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\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-c3049e7 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"c3049e7\" data-element_type=\"container\" data-e-type=\"container\" id=\"tappa-radici\">\n\t\t<div class=\"elementor-element elementor-element-e04f03a e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"e04f03a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8d358c4 elementor-widget elementor-widget-heading\" data-id=\"8d358c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The roots<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-81e3775 elementor-widget elementor-widget-text-editor\" data-id=\"81e3775\" 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>The white dots transmit data. The green ones are the reforestation projects we support with LifeGate and WOWnature: with their carbon credits we have offset all the CO\u2082 emitted by our work since we started, in 2017.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\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-c680f5e e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"c680f5e\" data-element_type=\"container\" data-e-type=\"container\" id=\"tappa-ticino\">\n\t\t<div class=\"elementor-element elementor-element-b82925a e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"b82925a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b650c0f elementor-widget elementor-widget-heading\" data-id=\"b650c0f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Ticino Park<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2cccb93 elementor-widget elementor-widget-text-editor\" data-id=\"2cccb93\" 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>8,778 m\u00b2 of woodland in the Ticino Valley Natural Park, funded with carbon credits from LifeGate\u2019s Impatto Zero project. They offset 4,389 kg of CO\u2082 from our work (LifeGate certificate no. 655.02.430). <a href=\"https:\/\/gogreen.host\/en\/progetti-en\/il-progetto-impatto-zero\/\">The Zero Impact project<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\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-e212edd e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"e212edd\" data-element_type=\"container\" data-e-type=\"container\" id=\"tappa-amazzonia\">\n\t\t<div class=\"elementor-element elementor-element-24285ca e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"24285ca\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-69168bd elementor-widget elementor-widget-heading\" data-id=\"69168bd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Amazon<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b407e84 elementor-widget elementor-widget-text-editor\" data-id=\"b407e84\" 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>Foreste in Piedi (Standing Forests): since 2012 LifeGate, with the non-profits ICEI and AVIVE, has protected 560 hectares of the Amazon entrusted to 27 families of the San Pedro community. In 2020 we protected 420 m\u00b2 of it. <a href=\"https:\/\/gogreen.host\/en\/progetti-en\/il-progetto-foreste-in-piedi\/\">The Standing Forests project<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\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-8224497 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"8224497\" data-element_type=\"container\" data-e-type=\"container\" id=\"tappa-madagascar\">\n\t\t<div class=\"elementor-element elementor-element-8fb3286 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"8fb3286\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1668895 elementor-widget elementor-widget-heading\" data-id=\"1668895\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Madagascar<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e775b5e elementor-widget elementor-widget-text-editor\" data-id=\"e775b5e\" 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>The Ilena reserve, part of the Impatto Zero project: more than 115 hectares replanted with native species grown in the reserve\u2019s own nursery. We have taken part since 2023. <a href=\"https:\/\/gogreen.host\/en\/progetti-en\/impatto-zero-arriva-in-madagascar\/\">Zero Impact arrives in Madagascar<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\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-50ca55d e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"50ca55d\" data-element_type=\"container\" data-e-type=\"container\" id=\"tappa-sudest-asiatico\">\n\t\t<div class=\"elementor-element elementor-element-4b1d7d3 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"4b1d7d3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9295424 elementor-widget elementor-widget-heading\" data-id=\"9295424\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Southeast Asia <span class=\"globo-novita\">NEW<\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5209d2c elementor-widget elementor-widget-text-editor\" data-id=\"5209d2c\" 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>40 carbon credits from forestry projects in the region, to be purchased by the end of 2026.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\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-9a8bcf4 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"9a8bcf4\" data-element_type=\"container\" data-e-type=\"container\" id=\"tappa-fine\">\n\t\t<div class=\"elementor-element elementor-element-aba1e5a e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"aba1e5a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cf9255f elementor-widget elementor-widget-heading\" data-id=\"cf9255f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Your website is a seed<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8dc6434 elementor-widget elementor-widget-text-editor\" data-id=\"8dc6434\" 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>Every website you host with us is part of this map. It can become a meadow, a wood, a forest.<\/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-26e60c6 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"26e60c6\" 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=\"\/en\/#pacchetti-hosting\">\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\">Choose your plan<\/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>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Where we are Three data centres and two DNS servers running on renewable energy, four forests and a studio in Venice. This is where your website lives. Venice Our studio. This is where we keep our backup servers and our local LLMs. 100% carbon neutral. Venice, a one-of-a-kind city Nuremberg and Falkenstein Our first two data centres are in Germany, powered by 100% renewable energy: hydroelectric. Helsinki The third is in Finland, powered by 100% renewable energy: geothermal and wind. Hillsboro, Oregon Across the ocean, DNS for those with clients in the United States. Singapore NEW On the other side of the world, DNS for those with clients in Asia. The roots The white dots transmit data. The green ones are the reforestation projects we support with LifeGate and WOWnature: with their carbon credits we have offset all the CO\u2082 emitted by our work since we started, in 2017. Ticino Park 8,778 m\u00b2 of woodland in the Ticino Valley Natural Park, funded with carbon credits from LifeGate\u2019s Impatto Zero project. They offset 4,389 kg of CO\u2082 from our work (LifeGate certificate no. 655.02.430). The Zero Impact project Amazon Foreste in Piedi (Standing Forests): since 2012 LifeGate, with the non-profits ICEI and AVIVE, has protected 560 hectares of the Amazon entrusted to 27 families of the San Pedro community. In 2020 we protected 420 m\u00b2 of it. The Standing Forests project Madagascar The Ilena reserve, part of the Impatto Zero project: more than 115 hectares replanted with native species grown in the reserve\u2019s own nursery. We have taken part since 2023. Zero Impact arrives in Madagascar Southeast Asia NEW 40 carbon credits from forestry projects in the region, to be purchased by the end of 2026. Your website is a seed Every website you host with us is part of this map. It can become a meadow, a wood, a forest. Choose your plan<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-9319","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Where we are - Hosting4Agency<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hosting4agency.com\/en\/where-we-are\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Where we are - Hosting4Agency\" \/>\n<meta property=\"og:description\" content=\"Where we are Three data centres and two DNS servers running on renewable energy, four forests and a studio in Venice. This is where your website lives. Venice Our studio. This is where we keep our backup servers and our local LLMs. 100% carbon neutral. Venice, a one-of-a-kind city Nuremberg and Falkenstein Our first two data centres are in Germany, powered by 100% renewable energy: hydroelectric. Helsinki The third is in Finland, powered by 100% renewable energy: geothermal and wind. Hillsboro, Oregon Across the ocean, DNS for those with clients in the United States. Singapore NEW On the other side of the world, DNS for those with clients in Asia. The roots The white dots transmit data. The green ones are the reforestation projects we support with LifeGate and WOWnature: with their carbon credits we have offset all the CO\u2082 emitted by our work since we started, in 2017. Ticino Park 8,778 m\u00b2 of woodland in the Ticino Valley Natural Park, funded with carbon credits from LifeGate\u2019s Impatto Zero project. They offset 4,389 kg of CO\u2082 from our work (LifeGate certificate no. 655.02.430). The Zero Impact project Amazon Foreste in Piedi (Standing Forests): since 2012 LifeGate, with the non-profits ICEI and AVIVE, has protected 560 hectares of the Amazon entrusted to 27 families of the San Pedro community. In 2020 we protected 420 m\u00b2 of it. The Standing Forests project Madagascar The Ilena reserve, part of the Impatto Zero project: more than 115 hectares replanted with native species grown in the reserve\u2019s own nursery. We have taken part since 2023. Zero Impact arrives in Madagascar Southeast Asia NEW 40 carbon credits from forestry projects in the region, to be purchased by the end of 2026. Your website is a seed Every website you host with us is part of this map. It can become a meadow, a wood, a forest. Choose your plan\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hosting4agency.com\/en\/where-we-are\/\" \/>\n<meta property=\"og:site_name\" content=\"Hosting4Agency\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hosting4agency\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-11T21:55:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hosting4agency.com\/wp-content\/uploads\/2025\/05\/cropped-Logo-Ridotto-5.png\" \/>\n\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/hosting4agency.com\\\/en\\\/where-we-are\\\/\",\"url\":\"https:\\\/\\\/hosting4agency.com\\\/en\\\/where-we-are\\\/\",\"name\":\"Where we are - Hosting4Agency\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hosting4agency.com\\\/en\\\/#website\"},\"datePublished\":\"2026-11-11T21:45:19+00:00\",\"dateModified\":\"2026-11-11T21:55:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/hosting4agency.com\\\/en\\\/where-we-are\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/hosting4agency.com\\\/en\\\/where-we-are\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/hosting4agency.com\\\/en\\\/where-we-are\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/hosting4agency.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Where we are\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/hosting4agency.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/hosting4agency.com\\\/en\\\/\",\"name\":\"Hosting 4 Agency\",\"description\":\"Hosting B2B2B per Agenzie\",\"publisher\":{\"@id\":\"https:\\\/\\\/hosting4agency.com\\\/en\\\/#organization\"},\"alternateName\":\"H4A\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/hosting4agency.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/hosting4agency.com\\\/en\\\/#organization\",\"name\":\"Hosting 4 Agency\",\"url\":\"https:\\\/\\\/hosting4agency.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/hosting4agency.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/hosting4agency.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Logo-Ridotto-5.png\",\"contentUrl\":\"https:\\\/\\\/hosting4agency.com\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Logo-Ridotto-5.png\",\"width\":512,\"height\":512,\"caption\":\"Hosting 4 Agency\"},\"image\":{\"@id\":\"https:\\\/\\\/hosting4agency.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hosting4agency\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Where we are - Hosting4Agency","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hosting4agency.com\/en\/where-we-are\/","og_locale":"en_US","og_type":"article","og_title":"Where we are - Hosting4Agency","og_description":"Where we are Three data centres and two DNS servers running on renewable energy, four forests and a studio in Venice. This is where your website lives. Venice Our studio. This is where we keep our backup servers and our local LLMs. 100% carbon neutral. Venice, a one-of-a-kind city Nuremberg and Falkenstein Our first two data centres are in Germany, powered by 100% renewable energy: hydroelectric. Helsinki The third is in Finland, powered by 100% renewable energy: geothermal and wind. Hillsboro, Oregon Across the ocean, DNS for those with clients in the United States. Singapore NEW On the other side of the world, DNS for those with clients in Asia. The roots The white dots transmit data. The green ones are the reforestation projects we support with LifeGate and WOWnature: with their carbon credits we have offset all the CO\u2082 emitted by our work since we started, in 2017. Ticino Park 8,778 m\u00b2 of woodland in the Ticino Valley Natural Park, funded with carbon credits from LifeGate\u2019s Impatto Zero project. They offset 4,389 kg of CO\u2082 from our work (LifeGate certificate no. 655.02.430). The Zero Impact project Amazon Foreste in Piedi (Standing Forests): since 2012 LifeGate, with the non-profits ICEI and AVIVE, has protected 560 hectares of the Amazon entrusted to 27 families of the San Pedro community. In 2020 we protected 420 m\u00b2 of it. The Standing Forests project Madagascar The Ilena reserve, part of the Impatto Zero project: more than 115 hectares replanted with native species grown in the reserve\u2019s own nursery. We have taken part since 2023. Zero Impact arrives in Madagascar Southeast Asia NEW 40 carbon credits from forestry projects in the region, to be purchased by the end of 2026. Your website is a seed Every website you host with us is part of this map. It can become a meadow, a wood, a forest. Choose your plan","og_url":"https:\/\/hosting4agency.com\/en\/where-we-are\/","og_site_name":"Hosting4Agency","article_publisher":"https:\/\/www.facebook.com\/hosting4agency","article_modified_time":"2026-11-11T21:55:38+00:00","og_image":[{"width":512,"height":512,"url":"https:\/\/hosting4agency.com\/wp-content\/uploads\/2025\/05\/cropped-Logo-Ridotto-5.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/hosting4agency.com\/en\/where-we-are\/","url":"https:\/\/hosting4agency.com\/en\/where-we-are\/","name":"Where we are - Hosting4Agency","isPartOf":{"@id":"https:\/\/hosting4agency.com\/en\/#website"},"datePublished":"2026-11-11T21:45:19+00:00","dateModified":"2026-11-11T21:55:38+00:00","breadcrumb":{"@id":"https:\/\/hosting4agency.com\/en\/where-we-are\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hosting4agency.com\/en\/where-we-are\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/hosting4agency.com\/en\/where-we-are\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hosting4agency.com\/en\/"},{"@type":"ListItem","position":2,"name":"Where we are"}]},{"@type":"WebSite","@id":"https:\/\/hosting4agency.com\/en\/#website","url":"https:\/\/hosting4agency.com\/en\/","name":"Hosting 4 Agency","description":"Hosting B2B2B per Agenzie","publisher":{"@id":"https:\/\/hosting4agency.com\/en\/#organization"},"alternateName":"H4A","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hosting4agency.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/hosting4agency.com\/en\/#organization","name":"Hosting 4 Agency","url":"https:\/\/hosting4agency.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hosting4agency.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/hosting4agency.com\/wp-content\/uploads\/2025\/05\/Logo-Ridotto-5.png","contentUrl":"https:\/\/hosting4agency.com\/wp-content\/uploads\/2025\/05\/Logo-Ridotto-5.png","width":512,"height":512,"caption":"Hosting 4 Agency"},"image":{"@id":"https:\/\/hosting4agency.com\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hosting4agency"]}]}},"_links":{"self":[{"href":"https:\/\/hosting4agency.com\/en\/wp-json\/wp\/v2\/pages\/9319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hosting4agency.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hosting4agency.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hosting4agency.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hosting4agency.com\/en\/wp-json\/wp\/v2\/comments?post=9319"}],"version-history":[{"count":4,"href":"https:\/\/hosting4agency.com\/en\/wp-json\/wp\/v2\/pages\/9319\/revisions"}],"predecessor-version":[{"id":9330,"href":"https:\/\/hosting4agency.com\/en\/wp-json\/wp\/v2\/pages\/9319\/revisions\/9330"}],"wp:attachment":[{"href":"https:\/\/hosting4agency.com\/en\/wp-json\/wp\/v2\/media?parent=9319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}