{"id":8779,"date":"2026-07-15T15:46:27","date_gmt":"2026-07-15T11:16:27","guid":{"rendered":"https:\/\/afghanbiblecollege.org\/?page_id=8779"},"modified":"2026-07-15T21:25:44","modified_gmt":"2026-07-15T16:55:44","slug":"bible-land-3d","status":"publish","type":"page","link":"https:\/\/afghanbiblecollege.org\/en\/bible-land-3d\/","title":{"rendered":"3D Tour of the Holy Land"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"8779\" class=\"elementor elementor-8779\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-be300d4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"be300d4\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d2a9c9e\" data-id=\"d2a9c9e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b69fd88 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b69fd88\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0e0e73f\" data-id=\"0e0e73f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e2933a8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e2933a8\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1939619\" data-id=\"1939619\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2a03d8e elementor-widget elementor-widget-html\" data-id=\"2a03d8e\" 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<!-- ABC Bible Lands 3D Tour -- PROTOTYPE (draft page only, not linked from site navigation yet) -->\n<div id=\"abc-bt-root\" class=\"abc-bt-root\">\n\n  <div id=\"abc-bt-data\" class=\"abc-bt-data\" hidden>\n    <div class=\"abc-bt-loc\" data-id=\"ephesus\" data-lat=\"37.9495\" data-lon=\"27.3639\">\n      <span class=\"abc-bt-loc-name\">\u0627\u0641\u0633\u0633 (Ephesus)<\/span>\n      <span class=\"abc-bt-loc-desc\">\u06cc\u06a9\u06cc \u0627\u0632 \u0647\u0641\u062a \u06a9\u0644\u06cc\u0633\u0627\u06cc \u0645\u0630\u06a9\u0648\u0631 \u062f\u0631 \u0645\u06a9\u0627\u0634\u0641\u0647 \u06f2 \u062a\u0627 \u06f3\u061b \u0646\u0632\u062f\u06cc\u06a9 \u0634\u0647\u0631 \u0627\u0645\u0631\u0648\u0632\u06cc \u0633\u0644\u0686\u0648\u06a9\u060c \u0627\u0633\u062a\u0627\u0646 \u0627\u0632\u0645\u06cc\u0631\u060c \u062a\u0631\u06a9\u06cc\u0647.<\/span>\n    <\/div>\n    <div class=\"abc-bt-loc\" data-id=\"smyrna\" data-lat=\"38.4237\" data-lon=\"27.1428\">\n      <span class=\"abc-bt-loc-name\">\u0627\u0633\u0645\u06cc\u0631\u0646\u0627 (Smyrna \/ \u0130zmir)<\/span>\n      <span class=\"abc-bt-loc-desc\">\u06cc\u06a9\u06cc \u0627\u0632 \u0647\u0641\u062a \u06a9\u0644\u06cc\u0633\u0627\u06cc \u0645\u0630\u06a9\u0648\u0631 \u062f\u0631 \u0645\u06a9\u0627\u0634\u0641\u0647 \u06f2 \u062a\u0627 \u06f3\u061b \u0634\u0647\u0631 \u0627\u0645\u0631\u0648\u0632\u06cc \u0627\u0632\u0645\u06cc\u0631\u060c \u062a\u0631\u06a9\u06cc\u0647.<\/span>\n    <\/div>\n    <div class=\"abc-bt-loc\" data-id=\"pergamum\" data-lat=\"39.1183\" data-lon=\"27.1844\">\n      <span class=\"abc-bt-loc-name\">\u067e\u0631\u063a\u0627\u0645\u0648\u0645 (Pergamum \/ Bergama)<\/span>\n      <span class=\"abc-bt-loc-desc\">\u06cc\u06a9\u06cc \u0627\u0632 \u0647\u0641\u062a \u06a9\u0644\u06cc\u0633\u0627\u06cc \u0645\u0630\u06a9\u0648\u0631 \u062f\u0631 \u0645\u06a9\u0627\u0634\u0641\u0647 \u06f2 \u062a\u0627 \u06f3\u061b \u0634\u0647\u0631 \u0627\u0645\u0631\u0648\u0632\u06cc \u0628\u0631\u06af\u0627\u0645\u0627\u060c \u062a\u0631\u06a9\u06cc\u0647.<\/span>\n    <\/div>\n    <div class=\"abc-bt-loc\" data-id=\"thyatira\" data-lat=\"38.9172\" data-lon=\"27.8461\">\n      <span class=\"abc-bt-loc-name\">\u062a\u06cc\u0627\u062a\u06cc\u0631\u0627 (Thyatira \/ Akhisar)<\/span>\n      <span class=\"abc-bt-loc-desc\">\u06cc\u06a9\u06cc \u0627\u0632 \u0647\u0641\u062a \u06a9\u0644\u06cc\u0633\u0627\u06cc \u0645\u0630\u06a9\u0648\u0631 \u062f\u0631 \u0645\u06a9\u0627\u0634\u0641\u0647 \u06f2 \u062a\u0627 \u06f3\u061b \u0634\u0647\u0631 \u0627\u0645\u0631\u0648\u0632\u06cc \u0622\u0642\u062d\u0635\u0627\u0631\u060c \u062a\u0631\u06a9\u06cc\u0647.<\/span>\n    <\/div>\n    <div class=\"abc-bt-loc\" data-id=\"sardis\" data-lat=\"38.4879\" data-lon=\"28.0403\">\n      <span class=\"abc-bt-loc-name\">\u0633\u0627\u0631\u062f\u0633 (Sardis \/ Sart)<\/span>\n      <span class=\"abc-bt-loc-desc\">\u06cc\u06a9\u06cc \u0627\u0632 \u0647\u0641\u062a \u06a9\u0644\u06cc\u0633\u0627\u06cc \u0645\u0630\u06a9\u0648\u0631 \u062f\u0631 \u0645\u06a9\u0627\u0634\u0641\u0647 \u06f2 \u062a\u0627 \u06f3\u061b \u0646\u0632\u062f\u06cc\u06a9 \u0634\u0647\u0631 \u0627\u0645\u0631\u0648\u0632\u06cc \u0633\u0627\u0644\u06cc\u062e\u0644\u06cc\u060c \u062a\u0631\u06a9\u06cc\u0647.<\/span>\n    <\/div>\n    <div class=\"abc-bt-loc\" data-id=\"philadelphia\" data-lat=\"38.3527\" data-lon=\"28.5178\">\n      <span class=\"abc-bt-loc-name\">\u0641\u06cc\u0644\u0627\u062f\u0644\u0641\u06cc\u0627 (Philadelphia \/ Ala\u015fehir)<\/span>\n      <span class=\"abc-bt-loc-desc\">\u06cc\u06a9\u06cc \u0627\u0632 \u0647\u0641\u062a \u06a9\u0644\u06cc\u0633\u0627\u06cc \u0645\u0630\u06a9\u0648\u0631 \u062f\u0631 \u0645\u06a9\u0627\u0634\u0641\u0647 \u06f2 \u062a\u0627 \u06f3\u061b \u0634\u0647\u0631 \u0627\u0645\u0631\u0648\u0632\u06cc \u0622\u0644\u0627\u0634\u0647\u06cc\u0631\u060c \u062a\u0631\u06a9\u06cc\u0647.<\/span>\n    <\/div>\n    <div class=\"abc-bt-loc\" data-id=\"laodicea\" data-lat=\"37.8386\" data-lon=\"29.1081\">\n      <span class=\"abc-bt-loc-name\">\u0644\u0627\u0626\u0648\u062f\u06cc\u06a9\u06cc\u0647 (Laodicea)<\/span>\n      <span class=\"abc-bt-loc-desc\">\u06cc\u06a9\u06cc \u0627\u0632 \u0647\u0641\u062a \u06a9\u0644\u06cc\u0633\u0627\u06cc \u0645\u0630\u06a9\u0648\u0631 \u062f\u0631 \u0645\u06a9\u0627\u0634\u0641\u0647 \u06f2 \u062a\u0627 \u06f3\u061b \u0646\u0632\u062f\u06cc\u06a9 \u0634\u0647\u0631 \u0627\u0645\u0631\u0648\u0632\u06cc \u062f\u0646\u06cc\u0632\u0644\u06cc\u060c \u062a\u0631\u06a9\u06cc\u0647.<\/span>\n    <\/div>\n  <\/div>\n\n  <div class=\"abc-bt-toolbar\">\n    <span class=\"abc-bt-title\">\u062a\u0648\u0631 \u0633\u0647\u200c\u0628\u0639\u062f\u06cc \u0647\u0641\u062a \u06a9\u0644\u06cc\u0633\u0627 -- \u063a\u0631\u0628 \u062a\u0631\u06a9\u06cc\u0647 (\u067e\u06cc\u0634\u200c\u0646\u0645\u0627\u06cc\u0634)<\/span>\n    <button type=\"button\" id=\"abc-bt-reset\" class=\"abc-bt-btn abc-bt-btn-reset\">\n      <span aria-hidden=\"true\">&#10227;<\/span> <span>\u0628\u0627\u0632\u0646\u0634\u0627\u0646\u06cc \u0646\u0645\u0627<\/span>\n    <\/button>\n  <\/div>\n\n  <div class=\"abc-bt-stage\" id=\"abc-bt-stage\">\n    <div id=\"abc-bt-loading\" class=\"abc-bt-loading\" role=\"status\" aria-live=\"polite\">\n      <div class=\"abc-bt-spinner\" aria-hidden=\"true\"><\/div>\n      <span>\u062f\u0631 \u062d\u0627\u0644 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u062a\u0648\u0631 \u0633\u0647\u200c\u0628\u0639\u062f\u06cc...<\/span>\n    <\/div>\n\n    <div id=\"abc-bt-nowebgl\" class=\"abc-bt-nowebgl\" hidden>\n      <p>\u0645\u0631\u0648\u0631\u06af\u0631 \u06cc\u0627 \u062f\u0633\u062a\u06af\u0627\u0647 \u0634\u0645\u0627 \u0627\u0632 \u0646\u0645\u0627\u06cc\u0634 \u0633\u0647\u200c\u0628\u0639\u062f\u06cc (WebGL) \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0646\u0645\u06cc\u200c\u06a9\u0646\u062f\u061b \u0644\u0637\u0641\u0627\u064b \u0627\u0632 \u0645\u0631\u0648\u0631\u06af\u0631\u06cc \u0628\u0647\u200c\u0631\u0648\u0632\u062a\u0631 \u06cc\u0627 \u062f\u0633\u062a\u06af\u0627\u0647 \u062f\u06cc\u06af\u0631\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n      <p class=\"abc-bt-placeholder-tag\">[\u067e\u06cc\u0627\u0645 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0628\u062f\u0648\u0646 WebGL -- \u067e\u06cc\u0634\u200c\u0646\u0648\u06cc\u0633]<\/p>\n    <\/div>\n\n    <canvas id=\"abc-bt-canvas\" class=\"abc-bt-canvas\"><\/canvas>\n    <div id=\"abc-bt-markers\" class=\"abc-bt-markers\"><\/div>\n    <p class=\"abc-bt-hint\">\u0631\u0627\u0647\u0646\u0645\u0627: \u0628\u0631\u0627\u06cc \u0686\u0631\u062e\u0627\u0646\u062f\u0646 \u0646\u0645\u0627 \u0645\u0627\u0648\u0633 \u06cc\u0627 \u0627\u0646\u06af\u0634\u062a \u0631\u0627 \u0628\u06a9\u0634\u06cc\u062f\u061b \u0628\u0631\u0627\u06cc \u067e\u06cc\u0645\u0627\u06cc\u0634 \u0645\u06cc\u0627\u0646 \u0646\u0634\u0627\u0646\u0647\u200c\u0647\u0627 \u0627\u0632 \u06a9\u0644\u06cc\u062f Tab \u0648 \u0628\u0631\u0627\u06cc \u0628\u0627\u0632\u06a9\u0631\u062f\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0627\u0632 Enter \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n  <\/div>\n\n  <div id=\"abc-bt-panel\" class=\"abc-bt-panel\" role=\"dialog\" aria-labelledby=\"abc-bt-panel-title\" hidden>\n    <button type=\"button\" id=\"abc-bt-close\" class=\"abc-bt-close\" aria-label=\"\u0628\u0633\u062a\u0646\">&times;<\/button>\n    <h3 id=\"abc-bt-panel-title\" class=\"abc-bt-panel-title\"><\/h3>\n    <p id=\"abc-bt-panel-desc\" class=\"abc-bt-panel-desc\"><\/p>\n    <p class=\"abc-bt-placeholder-tag\">[\u0645\u062a\u0646 \u0622\u0645\u0648\u0632\u0634\u06cc \u0646\u0645\u0648\u0646\u0647 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u067e\u06cc\u0634\u200c\u0646\u0648\u06cc\u0633 -- \u062f\u0631 \u0627\u0646\u062a\u0638\u0627\u0631 \u0628\u0627\u0632\u0628\u06cc\u0646\u06cc \u0648 \u062a\u06a9\u0645\u06cc\u0644 \u0646\u0647\u0627\u06cc\u06cc \u0645\u062d\u062a\u0648\u0627]<\/p>\n    <div class=\"abc-bt-panel-nav\">\n      <button type=\"button\" id=\"abc-bt-prev\" class=\"abc-bt-btn\">&lsaquo; \u0642\u0628\u0644\u06cc<\/button>\n      <span id=\"abc-bt-counter\" class=\"abc-bt-counter\"><\/span>\n      <button type=\"button\" id=\"abc-bt-next\" class=\"abc-bt-btn\">\u0628\u0639\u062f\u06cc &rsaquo;<\/button>\n    <\/div>\n  <\/div>\n\n  <p class=\"abc-bt-footnote\">\u0646\u0633\u062e\u0647\u200c\u06cc \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc (Prototype) -- \u0645\u062e\u062a\u0635\u0627\u062a \u062c\u063a\u0631\u0627\u0641\u06cc\u0627\u06cc\u06cc \u0646\u0634\u0627\u0646\u0647\u200c\u0647\u0627 \u0628\u0631 \u067e\u0627\u06cc\u0647\u200c\u06cc \u0645\u0648\u0642\u0639\u06cc\u062a \u0634\u0646\u0627\u062e\u062a\u0647\u200c\u0634\u062f\u0647\u200c\u06cc \u0627\u06cc\u0646 \u0634\u0647\u0631\u0647\u0627\u0633\u062a\u061b \u067e\u0633\u062a\u06cc\u200c\u0648\u0628\u0644\u0646\u062f\u06cc \u0632\u0645\u06cc\u0646 \u0628\u0647\u200c\u0635\u0648\u0631\u062a \u0646\u0645\u0627\u062f\u06cc\u0646 \u062a\u0631\u0633\u06cc\u0645 \u0634\u062f\u0647 \u0648 \u0628\u0631\u06af\u0631\u0641\u062a\u0647 \u0627\u0632 \u062f\u0627\u062f\u0647\u200c\u06cc \u0627\u0631\u062a\u0641\u0627\u0639\u06cc \u0648\u0627\u0642\u0639\u06cc \u0646\u06cc\u0633\u062a.<\/p>\n<\/div>\n<style>\n\/* ===== ABC Bible Lands 3D Tour -- Prototype styles (scoped to #abc-bt-root) ===== *\/\n#abc-bt-root{ --abc-accent:#7a2331; --abc-gold:#c9a227; box-sizing:border-box; max-width:100%; width:100%; overflow:hidden; color:#222; background:#faf7f2; border:1px solid #e2ddd3; border-radius:8px; padding:16px; margin:0 auto; }\n#abc-bt-root *{ box-sizing:border-box; }\n#abc-bt-root .abc-bt-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:10px; }\n#abc-bt-root .abc-bt-title{ font-weight:700; font-size:15px; }\n#abc-bt-root .abc-bt-btn{ cursor:pointer; border:1px solid var(--abc-accent); background:#fff; color:var(--abc-accent); border-radius:6px; padding:6px 12px; font-size:13px; font-weight:600; display:inline-flex; align-items:center; gap:6px; }\n#abc-bt-root .abc-bt-btn:hover{ background:var(--abc-accent); color:#fff; }\n#abc-bt-root .abc-bt-btn:focus-visible{ outline:3px solid var(--abc-gold); outline-offset:2px; }\n#abc-bt-root .abc-bt-stage{ position:relative; width:100%; height:480px; max-height:70vh; background:linear-gradient(#dfeaf2,#f4efe4); border-radius:8px; overflow:hidden; }\n#abc-bt-root .abc-bt-canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; touch-action:none; }\n#abc-bt-root .abc-bt-loading, #abc-bt-root .abc-bt-nowebgl{ position:absolute; inset:0; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; padding:20px; background:rgba(250,247,242,0.94); z-index:5; }\n#abc-bt-root .abc-bt-loading:not([hidden]), #abc-bt-root .abc-bt-nowebgl:not([hidden]){ display:flex; }\n#abc-bt-root .abc-bt-spinner{ width:34px; height:34px; border-radius:50%; border:4px solid #e2ddd3; border-top-color:var(--abc-accent); animation:abc-bt-spin 0.9s linear infinite; }\n@media (prefers-reduced-motion: reduce){ #abc-bt-root .abc-bt-spinner{ animation:none; } }\n@keyframes abc-bt-spin{ to{ transform:rotate(360deg); } }\n#abc-bt-root .abc-bt-markers{ position:absolute; inset:0; pointer-events:none; z-index:4; }\n#abc-bt-root .abc-bt-marker-btn{ position:absolute; transform:translate(-50%,-100%); pointer-events:auto; width:26px; height:26px; border-radius:50% 50% 50% 0; background:var(--abc-accent); border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.4); cursor:pointer; padding:0; transform-origin:center bottom; rotate:-45deg; }\n#abc-bt-root .abc-bt-marker-btn:hover, #abc-bt-root .abc-bt-marker-btn:focus-visible{ background:var(--abc-gold); scale:1.25; }\n#abc-bt-root .abc-bt-marker-btn:focus-visible{ outline:3px solid #1a73e8; outline-offset:3px; }\n#abc-bt-root .abc-bt-marker-label{ position:absolute; bottom:100%; left:50%; transform:translateX(-50%) rotate(45deg); white-space:nowrap; background:#222; color:#fff; font-size:11px; padding:2px 6px; border-radius:4px; margin-bottom:4px; opacity:0; transition:opacity .15s; }\n@media (prefers-reduced-motion: reduce){ #abc-bt-root .abc-bt-marker-label{ transition:none; } }\n#abc-bt-root .abc-bt-marker-btn:hover .abc-bt-marker-label, #abc-bt-root .abc-bt-marker-btn:focus-visible .abc-bt-marker-label{ opacity:1; }\n#abc-bt-root .abc-bt-hint{ font-size:12px; color:#666; margin:8px 2px 0; }\n#abc-bt-root .abc-bt-footnote{ font-size:11px; color:#888; margin-top:10px; }\n#abc-bt-root .abc-bt-placeholder-tag{ font-size:11px; color:#a15b00; background:#fff4df; border:1px dashed #e0b876; padding:4px 8px; border-radius:4px; display:inline-block; }\n#abc-bt-root .abc-bt-panel{ margin-top:14px; border:1px solid #e2ddd3; border-radius:8px; padding:16px; background:#fff; position:relative; }\n#abc-bt-root .abc-bt-panel-title{ margin:0 26px 8px 0; font-size:17px; }\n#abc-bt-root .abc-bt-panel-desc{ margin:0 0 8px; line-height:1.8; font-size:14px; }\n#abc-bt-root .abc-bt-close{ position:absolute; top:10px; inset-inline-end:10px; width:28px; height:28px; border-radius:50%; border:1px solid #ccc; background:#fff; color:#333; cursor:pointer; font-size:18px; line-height:1; }\n#abc-bt-root .abc-bt-close:hover{ background:#f2f2f2; }\n#abc-bt-root .abc-bt-panel-nav{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; }\n#abc-bt-root .abc-bt-counter{ font-size:12px; color:#777; direction:ltr; unicode-bidi:isolate; }\n@media (max-width:600px){ #abc-bt-root .abc-bt-stage{ height:320px; } #abc-bt-root .abc-bt-title{ font-size:13px; } }\nhtml[dir=\"rtl\"] #abc-bt-root .abc-bt-panel-title{ margin:0 0 8px 26px; }\n<\/style>\n<script>\n(function(){\n  \"use strict\";\n  var ROOT_ID = \"abc-bt-root\";\n  var THREE_JS_URL = \"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/three.js\/r128\/three.min.js\";\n  var ORBIT_CONTROLS_URL = \"https:\/\/cdn.jsdelivr.net\/npm\/three@0.128.0\/examples\/js\/controls\/OrbitControls.js\";\n  var root = document.getElementById(ROOT_ID);\n  if (!root) return;\n  var stage = document.getElementById(\"abc-bt-stage\");\n  var canvas = document.getElementById(\"abc-bt-canvas\");\n  var loadingEl = document.getElementById(\"abc-bt-loading\");\n  var noWebglEl = document.getElementById(\"abc-bt-nowebgl\");\n  var markersLayer = document.getElementById(\"abc-bt-markers\");\n  var panel = document.getElementById(\"abc-bt-panel\");\n  var panelTitle = document.getElementById(\"abc-bt-panel-title\");\n  var panelDesc = document.getElementById(\"abc-bt-panel-desc\");\n  var panelCounter = document.getElementById(\"abc-bt-counter\");\n  var btnClose = document.getElementById(\"abc-bt-close\");\n  var btnPrev = document.getElementById(\"abc-bt-prev\");\n  var btnNext = document.getElementById(\"abc-bt-next\");\n  var btnReset = document.getElementById(\"abc-bt-reset\");\n  var reduceMotion = window.matchMedia && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n  var dataEls = root.querySelectorAll(\"#abc-bt-data .abc-bt-loc\");\n  var locations = Array.prototype.map.call(dataEls, function(el){\n    return {\n      id: el.getAttribute(\"data-id\"),\n      lat: parseFloat(el.getAttribute(\"data-lat\")),\n      lon: parseFloat(el.getAttribute(\"data-lon\")),\n      name: el.querySelector(\".abc-bt-loc-name\").textContent.trim(),\n      desc: el.querySelector(\".abc-bt-loc-desc\").textContent.trim()\n    };\n  });\n  var BOUNDS = { lonMin: 26.6, lonMax: 29.3, latMin: 37.6, latMax: 39.3 };\n  var PLANE_W = 12, PLANE_D = 7.5;\n  function project(lat, lon){\n    var x = ((lon - BOUNDS.lonMin) \/ (BOUNDS.lonMax - BOUNDS.lonMin) - 0.5) * PLANE_W;\n    var z = ((BOUNDS.latMax - lat) \/ (BOUNDS.latMax - BOUNDS.latMin) - 0.5) * PLANE_D;\n    return { x: x, z: z };\n  }\n  function supportsWebGL(){\n    try{\n      var c = document.createElement(\"canvas\");\n      return !!(window.WebGLRenderingContext && (c.getContext(\"webgl\") || c.getContext(\"experimental-webgl\")));\n    }catch(e){ return false; }\n  }\n  if (!supportsWebGL()){\n    loadingEl.hidden = true;\n    noWebglEl.hidden = false;\n    return;\n  }\n  function loadScript(src){\n    return new Promise(function(resolve, reject){\n      var s = document.createElement(\"script\");\n      s.src = src;\n      s.async = true;\n      s.onload = resolve;\n      s.onerror = function(){ reject(new Error(\"Failed to load \" + src)); };\n      document.body.appendChild(s);\n    });\n  }\n  var loadTimeout = setTimeout(function(){\n    loadingEl.innerHTML = \"<p>\u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u0628\u06cc\u0634 \u0627\u0632 \u062d\u062f \u0645\u0639\u0645\u0648\u0644 \u0637\u0648\u0644 \u06a9\u0634\u06cc\u062f. \u0644\u0637\u0641\u0627\u064b \u0627\u062a\u0635\u0627\u0644 \u0627\u06cc\u0646\u062a\u0631\u0646\u062a \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u0648 \u0635\u0641\u062d\u0647 \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\";\n  }, 15000);\n  Promise.resolve()\n    .then(function(){ if (window.THREE) return; return loadScript(THREE_JS_URL); })\n    .then(function(){ if (window.THREE && window.THREE.OrbitControls) return; return loadScript(ORBIT_CONTROLS_URL); })\n    .then(function(){ clearTimeout(loadTimeout); initScene(); })\n    .catch(function(err){\n      clearTimeout(loadTimeout);\n      loadingEl.innerHTML = \"<p>\u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u062a\u0648\u0631 \u0633\u0647\u200c\u0628\u0639\u062f\u06cc \u0628\u0627 \u062e\u0637\u0627 \u0645\u0648\u0627\u062c\u0647 \u0634\u062f. \u0644\u0637\u0641\u0627\u064b \u0628\u0639\u062f\u0627\u064b \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0644\u0627\u0634 \u06a9\u0646\u06cc\u062f.<\/p>\";\n      if (window.console) console.error(\"[ABC Bible Tour]\", err);\n    });\n  function initScene(){\n    var THREE = window.THREE;\n    var renderer = new THREE.WebGLRenderer({ canvas: canvas, antialias: true, alpha: true });\n    renderer.setPixelRatio(Math.min(window.devicePixelRatio || 1, 2));\n    var scene = new THREE.Scene();\n    var camera = new THREE.PerspectiveCamera(45, 1, 0.1, 100);\n    var initialCamPos = new THREE.Vector3(0, 8.5, 8.5);\n    var initialTarget = new THREE.Vector3(0, 0, 0);\n    camera.position.copy(initialCamPos);\n    scene.add(new THREE.AmbientLight(0xffffff, 0.8));\n    var sun = new THREE.DirectionalLight(0xffffff, 0.6);\n    sun.position.set(6, 10, 4);\n    scene.add(sun);\n    var sea = new THREE.Mesh(\n      new THREE.PlaneGeometry(PLANE_W * 1.4, PLANE_D * 1.4),\n      new THREE.MeshStandardMaterial({ color: 0x8fb8cc })\n    );\n    sea.rotation.x = -Math.PI \/ 2;\n    sea.position.y = -0.06;\n    scene.add(sea);\n    var landGeo = new THREE.PlaneGeometry(PLANE_W, PLANE_D, 60, 40);\n    var posAttr = landGeo.attributes.position;\n    for (var i = 0; i < posAttr.count; i++){\n      var vx = posAttr.getX(i), vy = posAttr.getY(i);\n      var h = 0.18 * Math.sin(vx * 1.3) * Math.cos(vy * 1.6) + 0.10 * Math.sin(vx * 3.1 + vy * 2.2);\n      posAttr.setZ(i, h);\n    }\n    landGeo.computeVertexNormals();\n    var land = new THREE.Mesh(\n      landGeo,\n      new THREE.MeshStandardMaterial({ color: 0xb9a072, flatShading: true })\n    );\n    land.rotation.x = -Math.PI \/ 2;\n    scene.add(land);\n    var pinGroup = new THREE.Group();\n    scene.add(pinGroup);\n    var pinMeshes = locations.map(function(loc){\n      var p = project(loc.lat, loc.lon);\n      var mesh = new THREE.Mesh(\n        new THREE.ConeGeometry(0.12, 0.4, 12),\n        new THREE.MeshStandardMaterial({ color: 0x7a2331 })\n      );\n      mesh.position.set(p.x, 0.35, p.z);\n      mesh.rotation.x = Math.PI;\n      mesh.userData.locId = loc.id;\n      pinGroup.add(mesh);\n      return mesh;\n    });\n    var controls = new THREE.OrbitControls(camera, renderer.domElement);\n    controls.target.copy(initialTarget);\n    controls.enableDamping = !reduceMotion;\n    controls.dampingFactor = 0.08;\n    controls.minDistance = 4;\n    controls.maxDistance = 16;\n    controls.maxPolarAngle = Math.PI \/ 2 - 0.05;\n    controls.update();\n    function resize(){\n      var w = stage.clientWidth, h = stage.clientHeight;\n      renderer.setSize(w, h, false);\n      camera.aspect = w \/ h;\n      camera.updateProjectionMatrix();\n    }\n    resize();\n    if (window.ResizeObserver){ new ResizeObserver(resize).observe(stage); }\n    else { window.addEventListener(\"resize\", resize); }\n    var markerBtns = locations.map(function(loc, idx){\n      var btn = document.createElement(\"button\");\n      btn.type = \"button\";\n      btn.className = \"abc-bt-marker-btn\";\n      btn.setAttribute(\"aria-label\", loc.name);\n      var label = document.createElement(\"span\");\n      label.className = \"abc-bt-marker-label\";\n      label.textContent = loc.name;\n      btn.appendChild(label);\n      btn.addEventListener(\"click\", function(){ openPanel(idx); });\n      markersLayer.appendChild(btn);\n      return btn;\n    });\n    var tmpVec = new THREE.Vector3();\n    function updateMarkerPositions(){\n      var w = stage.clientWidth, h = stage.clientHeight;\n      pinMeshes.forEach(function(mesh, idx){\n        tmpVec.copy(mesh.position);\n        tmpVec.y += 0.3;\n        tmpVec.project(camera);\n        var x = (tmpVec.x * 0.5 + 0.5) * w;\n        var y = (-tmpVec.y * 0.5 + 0.5) * h;\n        var btn = markerBtns[idx];\n        var behind = tmpVec.z > 1;\n        btn.style.display = behind ? \"none\" : \"block\";\n        btn.style.left = x + \"px\";\n        btn.style.top = y + \"px\";\n      });\n    }\n    function animate(){\n      requestAnimationFrame(animate);\n      controls.update();\n      updateMarkerPositions();\n      renderer.render(scene, camera);\n    }\n    animate();\n    var currentIndex = -1;\n    function openPanel(idx){\n      currentIndex = (idx + locations.length) % locations.length;\n      var loc = locations[currentIndex];\n      panelTitle.textContent = loc.name;\n      panelDesc.textContent = loc.desc;\n      panelCounter.textContent = (currentIndex + 1) + \" \/ \" + locations.length;\n      panel.hidden = false;\n      btnClose.focus();\n    }\n    function closePanel(){ panel.hidden = true; }\n    btnClose.addEventListener(\"click\", closePanel);\n    btnPrev.addEventListener(\"click\", function(){ if (currentIndex >= 0) openPanel(currentIndex - 1); });\n    btnNext.addEventListener(\"click\", function(){ if (currentIndex >= 0) openPanel(currentIndex + 1); });\n    document.addEventListener(\"keydown\", function(e){\n      if (e.key === \"Escape\" && !panel.hidden) closePanel();\n    });\n    var resetAnimId = null;\n    function flushControlsAndReset(){\n      \/\/ Clear any residual OrbitControls rotation\/pan\/zoom delta before resetting,\n      \/\/ otherwise leftover damped momentum gets re-applied on top of the restored position.\n      var dampingWas = controls.enableDamping;\n      controls.enableDamping = false;\n      controls.update();\n      controls.reset();\n      controls.enableDamping = dampingWas;\n    }\n    btnReset.addEventListener(\"click\", function(){\n      if (resetAnimId) { cancelAnimationFrame(resetAnimId); resetAnimId = null; }\n      controls.enabled = false;\n      if (reduceMotion){\n        flushControlsAndReset();\n        controls.enabled = true;\n      } else {\n        var startPos = camera.position.clone();\n        var startTarget = controls.target.clone();\n        var t0 = performance.now();\n        var dur = 500;\n        (function tick(){\n          var t = Math.min(1, (performance.now() - t0) \/ dur);\n          var e = 1 - Math.pow(1 - t, 3);\n          camera.position.lerpVectors(startPos, initialCamPos, e);\n          controls.target.lerpVectors(startTarget, initialTarget, e);\n          camera.lookAt(controls.target);\n          if (t < 1){ resetAnimId = requestAnimationFrame(tick); }\n          else {\n            flushControlsAndReset();\n            controls.enabled = true;\n            resetAnimId = null;\n          }\n        })();\n      }\n    });\n    loadingEl.hidden = true;\n  }\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u0627\u0641\u0633\u0633 (Ephesus) \u06cc\u06a9\u06cc \u0627\u0632 \u0647\u0641\u062a \u06a9\u0644\u06cc\u0633\u0627\u06cc \u0645\u0630\u06a9\u0648\u0631 \u062f\u0631 \u0645\u06a9\u0627\u0634\u0641\u0647 \u06f2 \u062a\u0627 \u06f3\u061b \u0646\u0632\u062f\u06cc\u06a9 \u0634\u0647\u0631 \u0627\u0645\u0631\u0648\u0632\u06cc \u0633\u0644\u0686\u0648\u06a9\u060c \u0627\u0633\u062a\u0627\u0646 \u0627\u0632\u0645\u06cc\u0631\u060c \u062a\u0631\u06a9\u06cc\u0647. \u0627\u0633\u0645\u06cc\u0631\u0646\u0627 (Smyrna \/ \u0130zmir) \u06cc\u06a9\u06cc \u0627\u0632 \u0647\u0641\u062a \u06a9\u0644\u06cc\u0633\u0627\u06cc \u0645\u0630\u06a9\u0648\u0631 \u062f\u0631 \u0645\u06a9\u0627\u0634\u0641\u0647 \u06f2 \u062a\u0627 \u06f3\u061b \u0634\u0647\u0631 \u0627\u0645\u0631\u0648\u0632\u06cc \u0627\u0632\u0645\u06cc\u0631\u060c \u062a\u0631\u06a9\u06cc\u0647. \u067e\u0631\u063a\u0627\u0645\u0648\u0645 (Pergamum \/ Bergama) \u06cc\u06a9\u06cc \u0627\u0632 \u0647\u0641\u062a \u06a9\u0644\u06cc\u0633\u0627\u06cc \u0645\u0630\u06a9\u0648\u0631 \u062f\u0631 \u0645\u06a9\u0627\u0634\u0641\u0647 \u06f2 \u062a\u0627 \u06f3\u061b \u0634\u0647\u0631 \u0627\u0645\u0631\u0648\u0632\u06cc \u0628\u0631\u06af\u0627\u0645\u0627\u060c \u062a\u0631\u06a9\u06cc\u0647. [&hellip;]<\/p>\n","protected":false},"author":20,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_angie_page":false,"footnotes":""},"class_list":["post-8779","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/afghanbiblecollege.org\/en\/wp-json\/wp\/v2\/pages\/8779","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afghanbiblecollege.org\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/afghanbiblecollege.org\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/afghanbiblecollege.org\/en\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/afghanbiblecollege.org\/en\/wp-json\/wp\/v2\/comments?post=8779"}],"version-history":[{"count":0,"href":"https:\/\/afghanbiblecollege.org\/en\/wp-json\/wp\/v2\/pages\/8779\/revisions"}],"wp:attachment":[{"href":"https:\/\/afghanbiblecollege.org\/en\/wp-json\/wp\/v2\/media?parent=8779"}],"curies":[{"name":"WordPerfect","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}