{"id":4858,"date":"2026-03-29T09:30:47","date_gmt":"2026-03-29T09:30:47","guid":{"rendered":"https:\/\/adriafly.me\/?page_id=4858"},"modified":"2026-04-21T09:53:25","modified_gmt":"2026-04-21T09:53:25","slug":"letilista","status":"publish","type":"page","link":"https:\/\/adriafly.me\/en\/letilista\/","title":{"rendered":"Local Paragliding Sites"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div style=\"position:relative; width:100%;\">\n  <a href=\"https:\/\/adriafly.me\/letiliste\/poletiste\/\" target=\"_blank\" style=\"text-decoration:none; color:white;\">\n    \n    <img decoding=\"async\" src=\"https:\/\/adriafly.me\/wp-content\/uploads\/kamere\/poletiste\/288.jpg\" \n         style=\"width:100%; display:block; border-radius:10px;\" \/>\n\n    <div id=\"wind-overlay\"\n         style=\"position:absolute; bottom:3%; left:3%;\n                font-size:clamp(14px, 2.5vw, 22px);\n                font-weight:600;\n                color:white;\n                text-shadow:0 0 8px rgba(0,0,0,0.8);\n                display:flex; align-items:center; gap:8px;\">\n      \n      <span>Dizdarica<\/span>\n      <span id=\"arrow\" style=\"display:inline-block;\">\u2191<\/span>\n      <span id=\"wind-speed\">&#8212; m\/s<\/span>\n    \n    <\/div>\n\n  <\/a>\n<\/div>\n\n<script>\nfunction getRotation(direction) {\n  const map = {\n    \"N\": 0, \"NNE\": 22.5, \"NE\": 45, \"ENE\": 67.5,\n    \"E\": 90, \"ESE\": 112.5, \"SE\": 135, \"SSE\": 157.5,\n    \"S\": 180, \"SSW\": 202.5, \"SW\": 225, \"WSW\": 247.5,\n    \"W\": 270, \"WNW\": 292.5, \"NW\": 315, \"NNW\": 337.5\n  };\n  return map[direction] || 0;\n}\n\nasync function loadWind() {\n  try {\n    const res = await fetch(\"https:\/\/adriafly.me\/wp-content\/meteo\/meteo-proxy.php\");\n    const json = await res.json();\n    const latest = json.data[0];\n\n    const speed = parseFloat(latest.wind_speed).toFixed(1);\n    const direction = latest.wind_direction;\n\n    document.getElementById(\"wind-speed\").innerHTML = speed + \" m\/s\";\n\n    \/\/ \u2714\ufe0f fix: meteorolo\u0161ki smjer \u2192 vizualni smjer (+180\u00b0)\n    const rotation = (getRotation(direction) + 180) % 360;\n    document.getElementById(\"arrow\").style.transform = \"rotate(\" + rotation + \"deg)\";\n    \n  } catch (e) {\n    document.getElementById(\"wind-speed\").innerHTML = \"--\";\n  }\n}\n\nloadWind();\nsetInterval(loadWind, 90000);\n<\/script>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div style=\"position:relative; width:100%; aspect-ratio:16\/9; overflow:hidden; border-radius:10px;\">\n  <a href=\"https:\/\/adriafly.me\/leotar-gljiva\/\" target=\"_blank\" style=\"text-decoration:none; color:white;\">\n\n    <img id=\"gljiva-img\"\n         style=\"width:100%; height:100%; object-fit:cover;\" \/>\n\n    <div style=\"position:absolute; bottom:3%; left:3%;\n                font-size:clamp(14px,2.5vw,22px);\n                font-weight:600;\n                color:white;\n                text-shadow:0 0 8px rgba(0,0,0,0.8);\n                display:flex; align-items:center; gap:8px;\">\n\n      <span>Gljiva<\/span>\n      <span id=\"arrow-gljiva\">\u2191<\/span>\n      <span id=\"wind-gljiva\">&#8212; m\/s<\/span>\n\n    <\/div>\n\n  <\/a>\n<\/div>\n\n<script>\n\n\/\/ ================= WIND =================\nfunction rotGljiva(deg){ return (deg + 180) % 360; }\n\nfunction setColorGljiva(speed){\n  let color = \"white\";\n  if (speed > 5) color = \"#facc15\";\n  if (speed > 8) color = \"#ef4444\";\n  document.getElementById(\"wind-gljiva\").style.color = color;\n}\n\n\/\/ ================= FIND LAST IMAGE =================\nfunction findLatestImage(callback){\n\n  const baseUrl = \"https:\/\/holfuy.com\/dynamic\/camsave\/s386\/\";\n  const now = new Date();\n\n  const pad = n => String(n).padStart(2,'0');\n\n  function tryOffset(offset){\n\n    let d = new Date(now);\n    d.setMinutes(now.getMinutes() - offset);\n\n    const url =\n      baseUrl +\n      d.getFullYear()+\"-\"+pad(d.getMonth()+1)+\"-\"+pad(d.getDate())+\n      \"_\"+pad(d.getHours())+\":\"+pad(d.getMinutes())+\n      \".jpg\";\n\n    const img = new Image();\n\n    img.onload = () => callback(url);\n\n    img.onerror = () => {\n      if(offset < 720){ \/\/ do 12h unazad\n        tryOffset(offset + 1);\n      } else {\n        console.log(\"No image found\");\n      }\n    };\n\n    img.src = url;\n  }\n\n  tryOffset(0);\n}\n\n\/\/ ================= MAIN LOAD =================\nasync function loadGljiva(){\n\n  try {\n\n    const res = await fetch(\"\/wp-admin\/admin-ajax.php?action=adriafly_holfuy_data_386\");\n    const json = await res.json();\n\n    if(!json.success) throw \"\";\n\n    const d = json.data.last;\n\n    \/\/ WIND\n    const speed = d.wind_speed \/ 3.6;\n\n    document.getElementById(\"wind-gljiva\").innerHTML = speed.toFixed(1) + \" m\/s\";\n    document.getElementById(\"arrow-gljiva\").style.transform =\n      \"rotate(\" + rotGljiva(d.wind_dir || 0) + \"deg)\";\n\n    setColorGljiva(speed);\n\n    \/\/ ================= IMAGE (FIXED) =================\n    const img = document.getElementById(\"gljiva-img\");\n\n    findLatestImage(function(url){\n      img.src = url + \"?t=\" + Date.now();\n    });\n\n    \/\/ OFFLINE CHECK\n    const lastTime = new Date(d.timestamp.replace(\/-\/g,'\/'));\n    if(Date.now() - lastTime > 3600*1000){\n      document.getElementById(\"wind-gljiva\").innerHTML = \"OFF\";\n    }\n\n  } catch(e){\n    document.getElementById(\"wind-gljiva\").innerHTML = \"--\";\n  }\n}\n\n\/\/ INIT\nloadGljiva();\nsetInterval(loadGljiva, 90000);\n\n<\/script>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div style=\"position:relative; width:100%; aspect-ratio:16\/9; overflow:hidden; border-radius:10px;\">\n  <a href=\"https:\/\/adriafly.me\/decic\/\" target=\"_blank\" style=\"text-decoration:none; color:white;\">\n    \n    <img decoding=\"async\" src=\"https:\/\/adriafly.me\/wp-content\/uploads\/2025\/04\/decic-3.jpg\"\n         style=\"width:100%; height:100%; object-fit:cover;\" \/>\n\n    <div style=\"position:absolute; bottom:3%; left:3%;\n                font-size:clamp(14px,2.5vw,22px);\n                font-weight:600;\n                color:white;\n                text-shadow:0 0 8px rgba(0,0,0,0.8);\n                display:flex; align-items:center; gap:8px;\">\n      \n      <span>De\u010di\u0107<\/span>\n      <span id=\"arrow-decic\">\u2191<\/span>\n      <span id=\"wind-decic\">&#8212; m\/s<\/span>\n\n    <\/div>\n\n  <\/a>\n<\/div>\n\n<script>\n\/\/ ================= HELPERS =================\nfunction setColor(speed){\n  let color = \"white\";\n  if (speed > 5) color = \"#facc15\";\n  if (speed > 8) color = \"#ef4444\";\n  document.getElementById(\"wind-decic\").style.color = color;\n}\n\nconst dirMap = {\n  N:0, NE:45, E:90, SE:135, S:180, SW:225, W:270, NW:315,\n  NNE:22.5, ENE:67.5, ESE:112.5, SSE:157.5,\n  SSW:202.5, WSW:247.5, WNW:292.5, NNW:337.5\n};\n\n\/\/ ================= WIND =================\nasync function loadDecic(){\n  try {\n    const r = await fetch(\"https:\/\/adriafly.me\/wp-content\/meteo\/meteo-decic.php\");\n    const j = await r.json();\n\n    const d = j.data[0];\n\n    const speed = parseFloat(d.wind_speed) \/ 3.6;\n\n    document.getElementById(\"wind-decic\").innerHTML =\n      speed.toFixed(1) + \" m\/s\";\n\n    \/\/ \u2714\ufe0f fix: +180\u00b0\n    document.getElementById(\"arrow-decic\").style.transform =\n      \"rotate(\" + ((dirMap[d.wind_direction] || 0) + 180) % 360 + \"deg)\";\n\n    setColor(speed);\n\n  } catch(e){\n    document.getElementById(\"wind-decic\").innerHTML = \"--\";\n  }\n}\n\nloadDecic();\nsetInterval(loadDecic,90000);\n<\/script>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div style=\"position:relative; width:100%;  overflow:hidden; border-radius:10px;\">\n  <a href=\"https:\/\/adriafly.me\/ljubuski-kula\/\" target=\"_blank\" style=\"text-decoration:none; color:white;\">\n\n    <!-- VIDEO -->\n    <video id=\"video-kula\" autoplay muted playsinline\n           style=\"width:100%; height:100%; object-fit:cover;\"><\/video>\n\n    <!-- OVERLAY -->\n    <div style=\"position:absolute; bottom:3%; left:3%;\n                font-size:clamp(14px,2.5vw,22px);\n                font-weight:600;\n                color:white;\n                text-shadow:0 0 8px rgba(0,0,0,0.8);\n                display:flex; align-items:center; gap:8px;\">\n      \n      <span>Kula<\/span>\n      <span id=\"arrow-kula\">\u2191<\/span>\n      <span id=\"wind-kula\">&#8212; m\/s<\/span>\n\n    <\/div>\n\n  <\/a>\n<\/div>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/hls.js@latest\"><\/script>\n\n<script>\n\/\/ ================= VIDEO =================\nconst video = document.getElementById('video-kula');\nconst src = \"https:\/\/cdn-006.whatsupcams.com\/hls\/ba_ljubuski01.m3u8\";\n\nif (Hls.isSupported()) {\n  const hls = new Hls();\n  hls.loadSource(src);\n  hls.attachMedia(video);\n} else if (video.canPlayType('application\/vnd.apple.mpegurl')) {\n  video.src = src;\n}\n\n\/\/ ================= HELPERS =================\nfunction rot(deg){ return (deg + 180) % 360; }\n\nfunction setColor(speed){\n  let color = \"white\";\n  if (speed > 5) color = \"#facc15\";\n  if (speed > 8) color = \"#ef4444\";\n  document.getElementById(\"wind-kula\").style.color = color;\n}\n\n\/\/ ================= WIND =================\nasync function loadKula(){\n  try {\n    const r = await fetch(\"\/wp-admin\/admin-ajax.php?action=adriafly_holfuy_data_1400\");\n    const j = await r.json();\n    if(!j.success) throw \"\";\n\n    const d = j.data.last;\n    const speed = d.wind_speed \/ 3.6;\n\n    document.getElementById(\"wind-kula\").innerHTML = speed.toFixed(1)+\" m\/s\";\n    document.getElementById(\"arrow-kula\").style.transform =\n      \"rotate(\"+ rot(d.wind_dir||0) +\"deg)\";\n\n    setColor(speed);\n\n    \/\/ OFFLINE detekcija\n    const lastTime = new Date(d.timestamp.replace(\/-\/g,'\/'));\n    if (Date.now() - lastTime > 3600*1000){\n      document.getElementById(\"wind-kula\").innerHTML = \"OFF\";\n    }\n\n  } catch(e){\n    document.getElementById(\"wind-kula\").innerHTML=\"--\";\n  }\n}\n\nloadKula();\nsetInterval(loadKula,90000);\n<\/script>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div style=\"position:relative; width:100%; aspect-ratio:16\/9; overflow:hidden; border-radius:10px;\">\n  <a href=\"https:\/\/adriafly.me\/brajici\/\" target=\"_blank\" style=\"text-decoration:none; color:white;\">\n    \n    <img decoding=\"async\" src=\"https:\/\/paraglidingmontenegro.me\/wp-content\/uploads\/2016\/06\/Paragliding-Brajici5.jpg\"\n         style=\"width:100%; height:100%; object-fit:cover;\" \/>\n\n    <div style=\"position:absolute; bottom:3%; left:3%;\n                font-size:clamp(14px,2.5vw,22px);\n                font-weight:600;\n                color:white;\n                text-shadow:0 0 8px rgba(0,0,0,0.8);\n                display:flex; align-items:center; gap:8px;\">\n      \n      <span>Braji\u0107i<\/span>\n      <span id=\"arrow-brajici\">\u2191<\/span>\n      <span id=\"wind-brajici\">&#8212; m\/s<\/span>\n\n    <\/div>\n\n  <\/a>\n<\/div>\n\n<script>\n\/\/ ================= HELPERS =================\nfunction setColorBrajici(speed){\n  let color = \"white\";\n  if (speed > 5) color = \"#facc15\";\n  if (speed > 8) color = \"#ef4444\";\n  document.getElementById(\"wind-brajici\").style.color = color;\n}\n\nconst dirMapBrajici = {\n  N:0, NE:45, E:90, SE:135, S:180, SW:225, W:270, NW:315,\n  NNE:22.5, ENE:67.5, ESE:112.5, SSE:157.5,\n  SSW:202.5, WSW:247.5, WNW:292.5, NNW:337.5\n};\n\n\/\/ ================= WIND =================\nasync function loadBrajici(){\n  try {\n    const r = await fetch(\"https:\/\/adriafly.me\/wp-content\/meteo\/meteo-brajici.php\");\n    const j = await r.json();\n\n    const d = j.data[0];\n    const speed = parseFloat(d.wind_speed);\n\n    document.getElementById(\"wind-brajici\").innerHTML =\n      speed.toFixed(1) + \" m\/s\";\n\n    \/\/ \u2714\ufe0f fix: +180\u00b0\n    document.getElementById(\"arrow-brajici\").style.transform =\n      \"rotate(\" + ((dirMapBrajici[d.wind_direction] || 0) + 180) % 360 + \"deg)\";\n\n    setColorBrajici(speed);\n\n  } catch(e){\n    document.getElementById(\"wind-brajici\").innerHTML = \"--\";\n  }\n}\n\nloadBrajici();\nsetInterval(loadBrajici, 90000);\n<\/script>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div style=\"position:relative; width:100%; aspect-ratio:16\/9; overflow:hidden; border-radius:10px;\">\n  <a href=\"https:\/\/adriafly.me\/andrijevica-balj\/\" target=\"_blank\" style=\"text-decoration:none; color:white;\">\n    \n    <img decoding=\"async\" src=\"https:\/\/www.mojacrnagora.rs\/wp-content\/uploads\/2019\/09\/selo-mala-crna-gora.jpg\"\n         style=\"width:100%; height:100%; object-fit:cover;\" \/>\n\n    <div style=\"position:absolute; bottom:3%; left:3%;\n                font-size:clamp(14px,2.5vw,22px);\n                font-weight:600;\n                color:white;\n                text-shadow:0 0 8px rgba(0,0,0,0.8);\n                display:flex; align-items:center; gap:8px;\">\n      \n      <span>Balj<\/span>\n      <span id=\"arrow-balj\">\u2191<\/span>\n      <span id=\"wind-balj\">&#8212; m\/s<\/span>\n\n    <\/div>\n\n  <\/a>\n<\/div>\n\n<script>\n\/\/ ================= HELPERS =================\nfunction setColorBalj(speed){\n  let color = \"white\";\n  if (speed > 5) color = \"#facc15\";\n  if (speed > 8) color = \"#ef4444\";\n  document.getElementById(\"wind-balj\").style.color = color;\n}\n\nconst dirMapBalj = {\n  N:0, NE:45, E:90, SE:135, S:180, SW:225, W:270, NW:315,\n  NNE:22.5, ENE:67.5, ESE:112.5, SSE:157.5,\n  SSW:202.5, WSW:247.5, WNW:292.5, NNW:337.5\n};\n\n\/\/ ================= WIND =================\nasync function loadBalj(){\n  try {\n    const r = await fetch(\"https:\/\/adriafly.me\/wp-content\/meteo\/meteo-balj.php\");\n    const j = await r.json();\n\n    const d = j.data[0];\n    const speed = parseFloat(d.wind_speed);\n\n    document.getElementById(\"wind-balj\").innerHTML =\n      speed.toFixed(1) + \" m\/s\";\n\n    \/\/ \u2714\ufe0f fix: +180\u00b0\n    document.getElementById(\"arrow-balj\").style.transform =\n      \"rotate(\" + ((dirMapBalj[d.wind_direction] || 0) + 180) % 360 + \"deg)\";\n\n    setColorBalj(speed);\n\n  } catch(e){\n    document.getElementById(\"wind-balj\").innerHTML = \"--\";\n  }\n}\n\nloadBalj();\nsetInterval(loadBalj, 90000);\n<\/script>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div style=\"position:relative; width:100%; aspect-ratio:16\/9; overflow:hidden; border-radius:10px;\">\n  <a href=\"https:\/\/adriafly.me\/zlatibor-vojska\/\" target=\"_blank\" style=\"text-decoration:none; color:white;\">\n    \n    <img decoding=\"async\" src=\"https:\/\/www.paraglidingserbia.com\/images\/HQ-ArmyNorth.jpg\"\n         style=\"width:100%; height:100%; object-fit:cover;\" \/>\n\n    <div style=\"position:absolute; bottom:3%; left:3%;\n                font-size:clamp(14px,2.5vw,22px);\n                font-weight:600;\n                color:white;\n                text-shadow:0 0 8px rgba(0,0,0,0.8);\n                display:flex; align-items:center; gap:8px;\">\n      \n      <span>Zlatibor<\/span>\n      <span id=\"arrow-zlatibor\">\u2191<\/span>\n      <span id=\"wind-zlatibor\">&#8212; m\/s<\/span>\n\n    <\/div>\n\n  <\/a>\n<\/div>\n\n<script>\n\/\/ ================= HELPERS =================\nfunction setColorZlatibor(speed){\n  let color = \"white\";\n  if (speed > 5) color = \"#facc15\";\n  if (speed > 8) color = \"#ef4444\";\n  document.getElementById(\"wind-zlatibor\").style.color = color;\n}\n\nconst dirMapZlatibor = {\n  N:0, NE:45, E:90, SE:135, S:180, SW:225, W:270, NW:315,\n  NNE:22.5, ENE:67.5, ESE:112.5, SSE:157.5,\n  SSW:202.5, WSW:247.5, WNW:292.5, NNW:337.5\n};\n\n\/\/ ================= WIND =================\nasync function loadZlatibor(){\n  try {\n    const r = await fetch(\"https:\/\/adriafly.me\/wp-content\/meteo\/meteo-vojska.php\");\n    const j = await r.json();\n\n    const d = j.data[0];\n    const speed = parseFloat(d.wind_speed);\n\n    document.getElementById(\"wind-zlatibor\").innerHTML =\n      speed.toFixed(1) + \" m\/s\";\n\n    \/\/ \u2714\ufe0f fix: +180\u00b0\n    document.getElementById(\"arrow-zlatibor\").style.transform =\n      \"rotate(\" + ((dirMapZlatibor[d.wind_direction] || 0) + 180) % 360 + \"deg)\";\n\n    setColorZlatibor(speed);\n\n  } catch(e){\n    document.getElementById(\"wind-zlatibor\").innerHTML = \"--\";\n  }\n}\n\nloadZlatibor();\nsetInterval(loadZlatibor, 90000);\n<\/script>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div style=\"position:relative; width:100%; aspect-ratio:16\/9; overflow:hidden; border-radius:10px;\">\n  <a href=\"https:\/\/adriafly.me\/drvar-kruskovac\/\" target=\"_blank\" style=\"text-decoration:none; color:white;\">\n    \n    <img decoding=\"async\" src=\"https:\/\/paraglajdingdrvar.com\/wp-content\/uploads\/2023\/07\/METEO-STANICA-na-poletistu-Kruskovac-Paraglajding-klub-Drvar-2.jpg\"\n         style=\"width:100%; height:100%; object-fit:cover;\" \/>\n\n    <div style=\"position:absolute; bottom:3%; left:3%;\n                font-size:clamp(14px,2.5vw,22px);\n                font-weight:600;\n                color:white;\n                text-shadow:0 0 8px rgba(0,0,0,0.8);\n                display:flex; align-items:center; gap:8px;\">\n      \n      <span>Kru\u0161kovac<\/span>\n      <span id=\"arrow-kruskovac\">\u2191<\/span>\n      <span id=\"wind-kruskovac\">&#8212; m\/s<\/span>\n\n    <\/div>\n\n  <\/a>\n<\/div>\n\n<script>\n\/\/ ================= HELPERS =================\nfunction setColorkruskovac(speed){\n  let color = \"white\";\n  if (speed > 5) color = \"#facc15\";\n  if (speed > 8) color = \"#ef4444\";\n  document.getElementById(\"wind-kruskovac\").style.color = color;\n}\n\nconst dirMapkruskovac = {\n  N:0, NE:45, E:90, SE:135, S:180, SW:225, W:270, NW:315,\n  NNE:22.5, ENE:67.5, ESE:112.5, SSE:157.5,\n  SSW:202.5, WSW:247.5, WNW:292.5, NNW:337.5\n};\n\n\/\/ ================= WIND =================\nasync function loadkruskovac(){\n  try {\n    const r = await fetch(\"https:\/\/adriafly.me\/wp-content\/meteo\/meteo-kruskovac.php\");\n    const j = await r.json();\n\n    const d = j.data[0];\n    const speed = parseFloat(d.wind_speed);\n\n    document.getElementById(\"wind-kruskovac\").innerHTML =\n      speed.toFixed(1) + \" m\/s\";\n\n    \/\/ \u2714\ufe0f fix: +180\u00b0\n    document.getElementById(\"arrow-kruskovac\").style.transform =\n      \"rotate(\" + ((dirMapkruskovac[d.wind_direction] || 0) + 180) % 360 + \"deg)\";\n\n    setColorkruskovac(speed);\n\n  } catch(e){\n    document.getElementById(\"wind-kruskovac\").innerHTML = \"--\";\n  }\n}\n\nloadkruskovac();\nsetInterval(loadkruskovac, 90000);\n<\/script>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div style=\"position:relative; width:100%; aspect-ratio:16\/9; overflow:hidden; border-radius:10px;\">\n  <a href=\"https:\/\/adriafly.me\/kamera-gozd\/\" target=\"_blank\" style=\"text-decoration:none; color:white;\">\n    \n    <img decoding=\"async\" src=\"https:\/\/jpkkriskagora.si\/wp-content\/uploads\/webcam74\/144.jpg\"\n         style=\"width:100%; height:100%; object-fit:cover;\" \/>\n\n    <div style=\"position:absolute; bottom:3%; left:3%;\n                font-size:clamp(14px,2.5vw,22px);\n                font-weight:600;\n                color:white;\n                text-shadow:0 0 8px rgba(0,0,0,0.8);\n                display:flex; align-items:center; gap:8px;\">\n      \n      <span>Gozd<\/span>\n      <span id=\"arrow-gozd\">\u2191<\/span>\n      <span id=\"wind-gozd\">&#8212; m\/s<\/span>\n\n    <\/div>\n\n  <\/a>\n<\/div>\n\n<script>\n\/\/ ================= HELPERS =================\nfunction setColorGozd(speed){\n  let color = \"white\";\n  if (speed > 5) color = \"#facc15\";\n  if (speed > 8) color = \"#ef4444\";\n  document.getElementById(\"wind-gozd\").style.color = color;\n}\n\n\/\/ Skytech koristi brojeve 0\u20137\nfunction mapWindDir(code){\n  const map = {0:315,1:270,2:225,3:180,4:135,5:90,6:45,7:0};\n  return map[code] ?? 0;\n}\n\nfunction rotateTo(d){\n  return (d + 180) % 360;\n}\n\n\/\/ ================= WIND =================\nasync function loadGozd(){\n  try {\n    const r = await fetch(\"\/wp-admin\/admin-ajax.php?action=skytech_gozd_proxy\");\n    const j = await r.json();\n\n    if(!j.success){\n      document.getElementById(\"wind-gozd\").innerHTML = \"--\";\n      return;\n    }\n\n    const d = j.data.last;\n\n    const speed = parseFloat(d.wind_speed);\n\n    document.getElementById(\"wind-gozd\").innerHTML =\n      speed.toFixed(1) + \" m\/s\";\n\n    const dir = mapWindDir(d.wind_direction);\n\n    document.getElementById(\"arrow-gozd\").style.transform =\n      \"rotate(\" + rotateTo(dir) + \"deg)\";\n\n    setColorGozd(speed);\n\n  } catch(e){\n    document.getElementById(\"wind-gozd\").innerHTML = \"--\";\n  }\n}\n\nloadGozd();\nsetInterval(loadGozd, 90000);\n<\/script>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-text-align-center\">Pred vama se nalazi pregled letili\u0161ta prijateljskuh klubova iz regiona. Podaci su prikupljeni preko javno objavljenih informacija, kao i prikupljanjem na terenu. Savjetujemo da se sa lokalitetima upoznate uz pomo\u0107 lokalnih pilota. <br>U\u010dinite Va\u0161 let bezbjednim i zabavnim.<br>\u017delimo vam ugodne letove, Va\u0161 <a href=\"https:\/\/adriafly.me\/\">Adriafly<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dizdarica \u2191 &#8212; m\/s Gljiva \u2191 &#8212; m\/s De\u010di\u0107 \u2191 &#8212; m\/s Kula \u2191 &#8212; m\/s Braji\u0107i \u2191 &#8212; m\/s Balj \u2191 &#8212; m\/s Zlatibor \u2191 &#8212; m\/s Kru\u0161kovac \u2191 &#8212; m\/s Gozd \u2191 &#8212; m\/s Pred vama se nalazi pregled letili\u0161ta prijateljskuh klubova iz regiona. Podaci su prikupljeni preko [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3894,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4858","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Letili\u0161ta u regionu - Adriafly - Paragliding Club<\/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:\/\/adriafly.me\/en\/letilista\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Letili\u0161ta u regionu - Adriafly - Paragliding Club\" \/>\n<meta property=\"og:description\" content=\"Dizdarica \u2191 &#8212; m\/s Gljiva \u2191 &#8212; m\/s De\u010di\u0107 \u2191 &#8212; m\/s Kula \u2191 &#8212; m\/s Braji\u0107i \u2191 &#8212; m\/s Balj \u2191 &#8212; m\/s Zlatibor \u2191 &#8212; m\/s Kru\u0161kovac \u2191 &#8212; m\/s Gozd \u2191 &#8212; m\/s Pred vama se nalazi pregled letili\u0161ta prijateljskuh klubova iz regiona. Podaci su prikupljeni preko [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/adriafly.me\/en\/letilista\/\" \/>\n<meta property=\"og:site_name\" content=\"Adriafly - Paragliding Club\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/AdriaFly\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-21T09:53:25+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/adriafly.me\/wp-content\/uploads\/2025\/08\/drvar-15.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1889\" \/>\n\t<meta property=\"og:image:height\" content=\"1055\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/adriafly.me\\\/letilista\\\/\",\"url\":\"https:\\\/\\\/adriafly.me\\\/letilista\\\/\",\"name\":\"Letili\u0161ta u regionu - Adriafly - Paragliding Club\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/adriafly.me\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/adriafly.me\\\/letilista\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/adriafly.me\\\/letilista\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/adriafly.me\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/drvar-15.jpg\",\"datePublished\":\"2026-03-29T09:30:47+00:00\",\"dateModified\":\"2026-04-21T09:53:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/adriafly.me\\\/letilista\\\/#breadcrumb\"},\"inLanguage\":\"en-NZ\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/adriafly.me\\\/letilista\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-NZ\",\"@id\":\"https:\\\/\\\/adriafly.me\\\/letilista\\\/#primaryimage\",\"url\":\"https:\\\/\\\/adriafly.me\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/drvar-15.jpg\",\"contentUrl\":\"https:\\\/\\\/adriafly.me\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/drvar-15.jpg\",\"width\":1889,\"height\":1055},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/adriafly.me\\\/letilista\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Po\u010detna\",\"item\":\"https:\\\/\\\/adriafly.me\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Letili\u0161ta u regionu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/adriafly.me\\\/#website\",\"url\":\"https:\\\/\\\/adriafly.me\\\/\",\"name\":\"Adriafly - Paragliding Club\",\"description\":\"Paraglajding klub Herceg Novi\",\"publisher\":{\"@id\":\"https:\\\/\\\/adriafly.me\\\/#organization\"},\"alternateName\":\"Adriafly\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/adriafly.me\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-NZ\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/adriafly.me\\\/#organization\",\"name\":\"Adriafly - Paragliding Club\",\"url\":\"https:\\\/\\\/adriafly.me\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-NZ\",\"@id\":\"https:\\\/\\\/adriafly.me\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/adriafly.me\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/02-LOGO-nobackgr.png\",\"contentUrl\":\"https:\\\/\\\/adriafly.me\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/02-LOGO-nobackgr.png\",\"width\":1536,\"height\":1349,\"caption\":\"Adriafly - Paragliding Club\"},\"image\":{\"@id\":\"https:\\\/\\\/adriafly.me\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/AdriaFly\",\"https:\\\/\\\/www.instagram.com\\\/adriafly.me\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Letili\u0161ta u regionu - Adriafly - Paragliding Club","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:\/\/adriafly.me\/en\/letilista\/","og_locale":"en_US","og_type":"article","og_title":"Letili\u0161ta u regionu - Adriafly - Paragliding Club","og_description":"Dizdarica \u2191 &#8212; m\/s Gljiva \u2191 &#8212; m\/s De\u010di\u0107 \u2191 &#8212; m\/s Kula \u2191 &#8212; m\/s Braji\u0107i \u2191 &#8212; m\/s Balj \u2191 &#8212; m\/s Zlatibor \u2191 &#8212; m\/s Kru\u0161kovac \u2191 &#8212; m\/s Gozd \u2191 &#8212; m\/s Pred vama se nalazi pregled letili\u0161ta prijateljskuh klubova iz regiona. Podaci su prikupljeni preko [&hellip;]","og_url":"https:\/\/adriafly.me\/en\/letilista\/","og_site_name":"Adriafly - Paragliding Club","article_publisher":"https:\/\/www.facebook.com\/AdriaFly","article_modified_time":"2026-04-21T09:53:25+00:00","og_image":[{"width":1889,"height":1055,"url":"http:\/\/adriafly.me\/wp-content\/uploads\/2025\/08\/drvar-15.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/adriafly.me\/letilista\/","url":"https:\/\/adriafly.me\/letilista\/","name":"Letili\u0161ta u regionu - Adriafly - Paragliding Club","isPartOf":{"@id":"https:\/\/adriafly.me\/#website"},"primaryImageOfPage":{"@id":"https:\/\/adriafly.me\/letilista\/#primaryimage"},"image":{"@id":"https:\/\/adriafly.me\/letilista\/#primaryimage"},"thumbnailUrl":"https:\/\/adriafly.me\/wp-content\/uploads\/2025\/08\/drvar-15.jpg","datePublished":"2026-03-29T09:30:47+00:00","dateModified":"2026-04-21T09:53:25+00:00","breadcrumb":{"@id":"https:\/\/adriafly.me\/letilista\/#breadcrumb"},"inLanguage":"en-NZ","potentialAction":[{"@type":"ReadAction","target":["https:\/\/adriafly.me\/letilista\/"]}]},{"@type":"ImageObject","inLanguage":"en-NZ","@id":"https:\/\/adriafly.me\/letilista\/#primaryimage","url":"https:\/\/adriafly.me\/wp-content\/uploads\/2025\/08\/drvar-15.jpg","contentUrl":"https:\/\/adriafly.me\/wp-content\/uploads\/2025\/08\/drvar-15.jpg","width":1889,"height":1055},{"@type":"BreadcrumbList","@id":"https:\/\/adriafly.me\/letilista\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Po\u010detna","item":"https:\/\/adriafly.me\/"},{"@type":"ListItem","position":2,"name":"Letili\u0161ta u regionu"}]},{"@type":"WebSite","@id":"https:\/\/adriafly.me\/#website","url":"https:\/\/adriafly.me\/","name":"Adriafly - Paragliding Club","description":"Paraglajding klub Herceg Novi","publisher":{"@id":"https:\/\/adriafly.me\/#organization"},"alternateName":"Adriafly","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/adriafly.me\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-NZ"},{"@type":"Organization","@id":"https:\/\/adriafly.me\/#organization","name":"Adriafly - Paragliding Club","url":"https:\/\/adriafly.me\/","logo":{"@type":"ImageObject","inLanguage":"en-NZ","@id":"https:\/\/adriafly.me\/#\/schema\/logo\/image\/","url":"https:\/\/adriafly.me\/wp-content\/uploads\/2025\/08\/02-LOGO-nobackgr.png","contentUrl":"https:\/\/adriafly.me\/wp-content\/uploads\/2025\/08\/02-LOGO-nobackgr.png","width":1536,"height":1349,"caption":"Adriafly - Paragliding Club"},"image":{"@id":"https:\/\/adriafly.me\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/AdriaFly","https:\/\/www.instagram.com\/adriafly.me\/"]}]}},"_links":{"self":[{"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/pages\/4858","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/comments?post=4858"}],"version-history":[{"count":6,"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/pages\/4858\/revisions"}],"predecessor-version":[{"id":5087,"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/pages\/4858\/revisions\/5087"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/media\/3894"}],"wp:attachment":[{"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/media?parent=4858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}