{"id":26326,"date":"2026-08-27T19:21:17","date_gmt":"2026-08-27T19:21:17","guid":{"rendered":"https:\/\/nomadacademy.org\/?page_id=26326"},"modified":"2026-08-28T08:20:53","modified_gmt":"2026-08-28T08:20:53","slug":"nomad-films","status":"publish","type":"page","link":"https:\/\/nomadacademy.org\/hi\/nomad-films\/","title":{"rendered":"Student Films"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"26326\" class=\"elementor elementor-26326\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f5f0cdc e-flex e-con-boxed e-con e-parent\" data-id=\"f5f0cdc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3051a30 elementor-widget elementor-widget-html\" data-id=\"3051a30\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"nvw-root\" id=\"nvw-root\">\n  <div class=\"nvw-hero\">\n    <div class=\"nvw-hero-inner\">\n      <img decoding=\"async\" class=\"nvw-hero-logo\" src=\"https:\/\/nomadacademy.org\/wp-content\/uploads\/2024\/01\/nomad_academy_white.png\" alt=\"Nomad Academy\" onerror=\"this.style.display='none'\">\n      <p>Outreach videos and Gospel ad projects made by Nomad Academy students, shared with their permission.<\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"nvw-rows\" id=\"nvw-rows\">\n    <div class=\"nvw-loading\" id=\"nvw-loading\">Loading videos\u2026<\/div>\n  <\/div>\n\n  <div class=\"nvw-modal\" id=\"nvw-modal\" aria-hidden=\"true\">\n    <div class=\"nvw-modal-backdrop\" id=\"nvw-modal-backdrop\"><\/div>\n    <div class=\"nvw-modal-body\">\n      <button type=\"button\" class=\"nvw-modal-close\" id=\"nvw-modal-close\" aria-label=\"Close\">\u00d7<\/button>\n      <div class=\"nvw-modal-video-wrap\">\n        <div class=\"nvw-modal-spinner\" id=\"nvw-modal-spinner\"><\/div>\n        <video id=\"nvw-modal-video\" controls playsinline><\/video>\n      <\/div>\n      <div class=\"nvw-modal-info\">\n        <h2 id=\"nvw-modal-title\"><\/h2>\n        <p id=\"nvw-modal-student\"><\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n.nvw-root{\n  --nvw-navy:#1F2438;\n  --nvw-blue:#203154;\n  --nvw-sky:#57CEEA;\n  --nvw-orange:#F04E36;\n  --nvw-text:#F4F6FA;\n  --nvw-muted:#B7BFD3;\n  font-family:'Work Sans', Arial, sans-serif;\n  background:var(--nvw-navy);\n  color:var(--nvw-text);\n  padding:0 0 60px;\n  margin:0;\n  border-radius:4px;\n  overflow:hidden;\n}\n.nvw-root *{box-sizing:border-box;}\n.nvw-hero{\n  background:linear-gradient(135deg, var(--nvw-blue) 0%, var(--nvw-navy) 70%);\n  padding:56px 24px 40px;\n  text-align:center;\n  border-bottom:1px solid rgba(255,255,255,.08);\n}\n.nvw-hero-logo{max-height:48px;margin-bottom:18px;}\n.nvw-hero p{\n  max-width:640px;\n  margin:0 auto;\n  color:var(--nvw-muted);\n  font-size:16px;\n  line-height:1.5;\n}\n.nvw-loading{padding:40px 24px;color:var(--nvw-muted);text-align:center;}\n.nvw-row{margin:36px 0 0;}\n.nvw-row-head{\n  display:flex;\n  align-items:baseline;\n  justify-content:space-between;\n  padding:0 24px;\n  margin-bottom:14px;\n}\n.nvw-row-head h2{\n  font-family:'League Spartan','Work Sans',Arial,sans-serif;\n  font-size:22px;\n  font-weight:700;\n  margin:0;\n  color:var(--nvw-text);\n}\n.nvw-row-head span{color:var(--nvw-muted);font-size:13px;}\n.nvw-track{\n  display:flex;\n  gap:14px;\n  overflow-x:auto;\n  padding:4px 24px 16px;\n  scroll-snap-type:x proximity;\n  -webkit-overflow-scrolling:touch;\n}\n.nvw-track::-webkit-scrollbar{height:8px;}\n.nvw-track::-webkit-scrollbar-thumb{background:var(--nvw-blue);border-radius:8px;}\n.nvw-card{\n  position:relative;\n  flex:0 0 auto;\n  width:260px;\n  aspect-ratio:16\/9;\n  border-radius:6px;\n  overflow:hidden;\n  cursor:pointer;\n  scroll-snap-align:start;\n  border:1px solid rgba(255,255,255,.08);\n  transition:transform .18s ease;\n}\n.nvw-card:hover{transform:scale(1.045);z-index:2;}\n.nvw-card-art{\n  position:absolute;inset:0;\n  display:flex;align-items:center;justify-content:center;\n}\n.nvw-card-art svg{width:34px;height:34px;opacity:.35;}\n.nvw-card-overlay{\n  position:absolute;inset:0;\n  display:flex;flex-direction:column;justify-content:flex-end;\n  background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.82) 100%);\n  padding:10px 12px;\n}\n.nvw-card-title{\n  font-size:13.5px;font-weight:600;line-height:1.25;\n  margin:0 0 3px;\n  color:#fff;\n  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;\n}\n.nvw-card-student{\n  font-size:11.5px;color:var(--nvw-sky);margin:0;font-weight:500;\n}\n.nvw-play{\n  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.92);\n  width:44px;height:44px;border-radius:50%;\n  background:rgba(240,78,54,.92);\n  display:flex;align-items:center;justify-content:center;\n  opacity:0;transition:opacity .15s ease, transform .15s ease;\n  pointer-events:none;\n}\n.nvw-card:hover .nvw-play{opacity:1;transform:translate(-50%,-50%) scale(1);}\n.nvw-play svg{width:16px;height:16px;fill:#fff;margin-left:2px;}\n.nvw-empty{padding:16px 24px;color:var(--nvw-muted);font-size:14px;}\n\n.nvw-modal{\n  position:fixed;inset:0;z-index:99999;\n  display:none;align-items:center;justify-content:center;\n  padding:20px;\n}\n.nvw-modal.nvw-open{display:flex;}\n.nvw-modal-backdrop{position:absolute;inset:0;background:rgba(5,7,15,.92);}\n.nvw-modal-body{\n  position:relative;z-index:1;\n  width:100%;max-width:880px;\n  background:var(--nvw-blue);\n  border-radius:8px;\n  overflow:hidden;\n  box-shadow:0 20px 60px rgba(0,0,0,.5);\n}\n.nvw-modal-video-wrap{position:relative;background:#000;}\n.nvw-modal-body video{width:100%;max-height:70vh;display:block;background:#000;position:relative;z-index:1;}\n.nvw-modal-spinner{\n  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);\n  width:34px;height:34px;border-radius:50%;\n  border:3px solid rgba(255,255,255,.25);border-top-color:var(--nvw-sky);\n  animation:nvwspin .8s linear infinite;\n  z-index:0;\n}\n@keyframes nvwspin{to{transform:translate(-50%,-50%) rotate(360deg);}}\n.nvw-modal-info{padding:16px 20px 20px;}\n.nvw-modal-info h2{\n  font-family:'League Spartan','Work Sans',Arial,sans-serif;\n  font-size:18px;margin:0 0 4px;color:#fff;\n}\n.nvw-modal-info p{margin:0;color:var(--nvw-sky);font-size:13.5px;font-weight:500;}\n.nvw-modal-close{\n  position:absolute;top:10px;right:10px;z-index:2;\n  width:34px;height:34px;border-radius:50%;\n  background:rgba(0,0,0,.55);color:#fff;border:0;\n  font-size:22px;line-height:1;cursor:pointer;\n}\n@media (max-width:600px){\n  .nvw-hero{padding:40px 16px 28px;}\n  .nvw-row-head{padding:0 16px;}\n  .nvw-track{padding:4px 16px 16px;}\n  .nvw-card{width:200px;}\n}\n<\/style>\n\n<script>\n(function(){\n  var API = 'https:\/\/nomadacademy.org\/wp-json\/nomad\/v1\/public-video-wall';\n  var ART_GRADIENTS = {\n    outreach: 'linear-gradient(135deg, #203154 0%, #1F2438 100%)',\n    gospel:   'linear-gradient(135deg, #57CEEA 0%, #203154 55%, #1F2438 100%)'\n  };\n  var FILM_SVG = '<svg viewBox=\"0 0 24 24\" fill=\"#F4F6FA\"><path d=\"M18 3v2h-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z\"\/><\/svg>';\n\n  function el(tag, cls, html){\n    var e = document.createElement(tag);\n    if (cls) e.className = cls;\n    if (html !== undefined) e.innerHTML = html;\n    return e;\n  }\n\n  function escapeHtml(s){\n    return String(s == null ? '' : s).replace(\/[&<>\"']\/g, function(c){\n      return {'&':'&','<':'<','>':'>','\"':'\"',\"'\":'''}[c];\n    });\n  }\n\n  function makeCard(item, categoryKey){\n    var card = el('div', 'nvw-card');\n    card.style.background = ART_GRADIENTS[categoryKey] || ART_GRADIENTS.outreach;\n    card.setAttribute('role', 'button');\n    card.setAttribute('tabindex', '0');\n\n    var art = el('div', 'nvw-card-art', FILM_SVG);\n    card.appendChild(art);\n\n    var overlay = el('div', 'nvw-card-overlay');\n    var title = el('p', 'nvw-card-title', escapeHtml(item.title || 'Untitled'));\n    var student = el('p', 'nvw-card-student', escapeHtml(item.student_name || ''));\n    overlay.appendChild(title);\n    overlay.appendChild(student);\n    card.appendChild(overlay);\n\n    var play = el('div', 'nvw-play', '<svg viewBox=\"0 0 24 24\"><path d=\"M8 5v14l11-7z\"\/><\/svg>');\n    card.appendChild(play);\n\n    function open(){ openModal(item); }\n    card.addEventListener('click', open);\n    card.addEventListener('keydown', function(e){\n      if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); open(); }\n    });\n\n    return card;\n  }\n\n  function openModal(item){\n    var modal = document.getElementById('nvw-modal');\n    var video = document.getElementById('nvw-modal-video');\n    var spinner = document.getElementById('nvw-modal-spinner');\n    var title = document.getElementById('nvw-modal-title');\n    var student = document.getElementById('nvw-modal-student');\n    spinner.style.display = 'block';\n    video.src = item.video_url;\n    title.textContent = item.title || 'Untitled';\n    student.textContent = item.student_name ? ('Submitted by ' + item.student_name) : '';\n    modal.classList.add('nvw-open');\n    modal.setAttribute('aria-hidden', 'false');\n    video.play().catch(function(){});\n  }\n\n  function closeModal(){\n    var modal = document.getElementById('nvw-modal');\n    var video = document.getElementById('nvw-modal-video');\n    video.pause();\n    video.removeAttribute('src');\n    video.load();\n    modal.classList.remove('nvw-open');\n    modal.setAttribute('aria-hidden', 'true');\n  }\n\n  document.getElementById('nvw-modal-video').addEventListener('canplay', function(){\n    document.getElementById('nvw-modal-spinner').style.display = 'none';\n  });\n  document.getElementById('nvw-modal-close').addEventListener('click', closeModal);\n  document.getElementById('nvw-modal-backdrop').addEventListener('click', closeModal);\n  document.addEventListener('keydown', function(e){\n    if (e.key === 'Escape') closeModal();\n  });\n\n  function renderRow(key, section){\n    var row = el('div', 'nvw-row');\n    var head = el('div', 'nvw-row-head');\n    head.appendChild(el('h2', null, escapeHtml(section.label)));\n    head.appendChild(el('span', null, section.items.length + (section.items.length === 1 ? ' video' : ' videos')));\n    row.appendChild(head);\n\n    if (!section.items.length) {\n      row.appendChild(el('div', 'nvw-empty', 'No approved videos yet \u2014 check back soon.'));\n      return row;\n    }\n\n    var track = el('div', 'nvw-track');\n    section.items.forEach(function(item){\n      track.appendChild(makeCard(item, key));\n    });\n    row.appendChild(track);\n    return row;\n  }\n\n  fetch(API, { credentials: 'omit' })\n    .then(function(r){ return r.json(); })\n    .then(function(data){\n      var rows = document.getElementById('nvw-rows');\n      var loading = document.getElementById('nvw-loading');\n      if (loading) loading.remove();\n      var order = ['outreach', 'gospel'];\n      order.forEach(function(key){\n        if (data[key]) rows.appendChild(renderRow(key, data[key]));\n      });\n      if (!order.some(function(k){ return data[k] && data[k].items.length; })) {\n        rows.appendChild(el('div', 'nvw-empty', 'No approved videos yet \u2014 check back soon.'));\n      }\n    })\n    .catch(function(){\n      var rows = document.getElementById('nvw-rows');\n      rows.innerHTML = '<div class=\"nvw-empty\">Videos could not be loaded right now. Please try again later.<\/div>';\n    });\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Outreach videos and Gospel ad projects made by Nomad Academy students, shared with their permission. Loading videos\u2026 \u00d7<\/p>","protected":false},"author":20,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-fullscreen.php","meta":{"footnotes":""},"class_list":["post-26326","page","type-page","status-publish","hentry"],"app_access":{"can_access":true,"restrict_message":null},"_links":{"self":[{"href":"https:\/\/nomadacademy.org\/hi\/wp-json\/wp\/v2\/pages\/26326","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nomadacademy.org\/hi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nomadacademy.org\/hi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nomadacademy.org\/hi\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/nomadacademy.org\/hi\/wp-json\/wp\/v2\/comments?post=26326"}],"version-history":[{"count":13,"href":"https:\/\/nomadacademy.org\/hi\/wp-json\/wp\/v2\/pages\/26326\/revisions"}],"predecessor-version":[{"id":26339,"href":"https:\/\/nomadacademy.org\/hi\/wp-json\/wp\/v2\/pages\/26326\/revisions\/26339"}],"wp:attachment":[{"href":"https:\/\/nomadacademy.org\/hi\/wp-json\/wp\/v2\/media?parent=26326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}