{"id":7,"date":"2025-11-25T20:08:23","date_gmt":"2025-11-25T20:08:23","guid":{"rendered":"https:\/\/stjohnscinestg.wpenginepowered.com\/?page_id=7"},"modified":"2025-12-12T19:51:11","modified_gmt":"2025-12-12T19:51:11","slug":"home","status":"publish","type":"page","link":"https:\/\/stjohnscinema.com\/","title":{"rendered":"St Johns Twin Cinemas"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"7\" class=\"elementor elementor-7\">\n\t\t\t\t<div class=\"elementor-element elementor-element-845fdce e-flex e-con-boxed e-con e-parent\" data-id=\"845fdce\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-72196bf elementor-widget elementor-widget-heading\" data-id=\"72196bf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">ST JOHNS TWIN CINEMAS<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-235da56 elementor-widget elementor-widget-heading\" data-id=\"235da56\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">First Run Cinema serving Beer, Wine &amp; Pizza\n<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a634029 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"a634029\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">SHOWTIMES: (503) 286-1768<\/h4>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-30e81fe e-flex e-con-boxed e-con e-parent\" data-id=\"30e81fe\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-dc5598b e-con-full e-flex e-con e-child\" data-id=\"dc5598b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7e888f9 elementor-widget elementor-widget-heading\" data-id=\"7e888f9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">NOW PLAYING<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b8497a elementor-widget elementor-widget-shortcode\" data-id=\"0b8497a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@3.4.1\/dist\/css\/bootstrap.min.css\" integrity=\"sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu\" crossorigin=\"anonymous\">\n<style>\nhtml,\nbody {\n    font-size: 16px;\n}\nbody {\n    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;\n    font-weight: 400;\n}\n.veezi-film-panel {\n    line-height: 2;\n}\n.veezi-film-panel + hr {\n    border: none;\n    border-top: rgba(0, 0, 0, 0.18) 1px solid;\n    margin: 2em 0 !important;\n}\n.veezi-film-panel img {\n    margin: 1.4em 0 1em;\n}\n.veezi-date-sessions a {\n    margin: 4px !important;\n    padding: 10px;\n}\n\n.veezi-film-content {\n    border: 1px solid black;\n    padding: 1em;\n    border-radius: 1em;\n    font-style: oblique;\n}\n\n.showtimes {\n    display: inline-flex;\n}\n<\/style>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@3.4.1\/dist\/js\/bootstrap.min.js\" integrity=\"sha384-aJ21OjlMXNL5UyIl\/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd\" crossorigin=\"anonymous\"><\/script>\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/mustache@4.2.0\/mustache.min.js\"><\/script>\n\n<div id=\"target\">Loading...<\/div>\n\n<script id=\"template\" type=\"x-tmpl-mustache\">\n{{#groupedFilms}}\n<div class=\"row veezi-film-panel \">\n    <div class=\"col-md-3 veezi-film-media\">\n        <div><img decoding=\"async\" src=\"{{FilmData.FilmPosterUrl}}\" \/><\/div>\n        {{#FilmData.FilmTrailerUrl}}\n        <div><button type=\"button\" class=\"btn btn-default\" data-video=\"{{FilmData.FilmTrailerUrl}}\" data-toggle=\"modal\" data-target=\"#videoModal\">Play trailer<\/button><\/div>\n        {{\/FilmData.FilmTrailerUrl}}\n    <\/div>\n    \n    <div class=\"col-md-6 veezi-film-info\">\n        <h3>{{FilmData.Title}}<\/h3>\n        <div class=\"hidden-xs\">{{FilmData.Synopsis}}<\/div>\n    <\/div>\n    \n    <div class=\"col-md-3 veezi-film-data\">\n        <div class=\"veezi-film-rated\"><span style=\"font-weight: 500;\">Rated:<\/span>{{FilmData.Rating}}<\/div>\n        <div class=\"veezi-film-content\">{{FilmData.Content}}<\/div>\n        <div class=\"veezi-sessions-panel\">\n            <h4>SHOWTIMES <br><span style=\"font-size: 0.8em;\"> click time to buy tickets<\/span><\/h4>\n            <div class=\"veezi-dates-panel\">\n               {{#Dates}}\n                <div class=\"veezi-date-panel\">\n                    <div class=\"veezi-date\">{{Date}}<\/div>\n                    <div class=\"veezi-date-sessions\">\n                        {{#Sessions}}\n                        <div class=\"showtimes\"><a class=\"btn btn-default\" href=\"{{SessionData.Url}}\" target=\"_blanc\" data-session-id=\"{{SessionData.Id}}\">{{Time}}<\/a><\/div>\n                        {{\/Sessions}}\n                    <\/div>\n                <\/div>\n                {{\/Dates}}\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<hr \/>\n{{\/groupedFilms}}\n<\/script>\n\n<div class=\"modal fade\" id=\"videoModal\" tabindex=\"-1\" role=\"dialog\">\n    <div class=\"modal-dialog modal-dialog-centered modal-lg\" role=\"document\">\n        <div class=\"modal-content\">\n            <div class=\"modal-header bg-dark border-dark\">\n                <button type=\"button\" class=\"close text-white\" data-dismiss=\"modal\">&times;<\/button>\n            <\/div>\n            <div class=\"modal-body bg-dark p-0\">\n                <div class=\"modal-media-container embed-responsive embed-responsive-16by9\">\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n<script>\n(function($) {\n$(function(){\n    var veeziApi = {};\n    \n    veeziApi.call = function(path, async, backcall) {\n        $.ajax({\n            url: 'https:\/\/api.us.veezi.com\/v1\/'+path,\n            dataType: 'json',\n            async: async,\n            headers: { 'VeeziAccessToken': 'fp0p77m149y3fa8ttrvqhr7e5g' },\n            success: function (data) {\n                backcall(data);\n            }\n        });\n    };\n    \n    veeziApi.call('websession', true, function (data) {\n        var groupedFilms = [];\n            \n        $(data).each(function(i, sData){\n                var filmId = sData.FilmId;\n                \n                if (typeof groupedFilms[ filmId ] == 'undefined') {\n                    var groupedFilm = {\n                        Title: sData.Title,\n                        FilmId: filmId,\n                        FilmData: null,\n                        Dates: [],\n\t\t\tFirstSessionDateTime: null\n                    };\n                    \n                    veeziApi.call('film\/'+filmId, false, function (fData) {\n                        groupedFilm.FilmData = fData;\n                    });\n                    \n                    groupedFilms[ filmId ] = groupedFilm;\n                }\n                \n                var preShowStartTime = new Date(sData.PreShowStartTime+'.000+00:00');\n\n                var dateK = preShowStartTime.toLocaleString('en-US', {timeZone: 'UTC',  year: '2-digit', month: '2-digit', day: '2-digit'});\n                var dateV = preShowStartTime.toLocaleString('en-US', {timeZone: 'UTC',  weekday: 'long', month: 'long', day: 'numeric'});\n                var timeK = preShowStartTime.toLocaleString('en-US', {timeZone: 'UTC',  hour: '2-digit', minute: '2-digit', hour12: false });\n                var timeV = preShowStartTime.toLocaleString('en-US', {timeZone: 'UTC',  hour: 'numeric', minute: 'numeric', hour12: true });\n                \n\t\tvar dateTimeK = preShowStartTime.toLocaleString('en-US', {timeZone: 'UTC',  year: '2-digit', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false});\n\n\t\tif (groupedFilms[ filmId ].FirstSessionDateTime == null || groupedFilms[ filmId ].FirstSessionDateTime > dateTimeK) {\n\t\t    groupedFilms[ filmId ].FirstSessionDateTime = dateTimeK;\n\t\t}\n\n                if (typeof groupedFilms[ filmId ].Dates[ dateK ] == 'undefined') {\n                    groupedFilms[ filmId ].Dates[ dateK ] = {\n                        DateK: dateK,\n                        Date: dateV,\n                        Sessions: []\n                    };\n                }\n                \n                groupedFilms[ filmId ].Dates[ dateK ].Sessions.push({\n                    TimeK: timeK,\n                    Time: timeV,\n                    SessionData: sData\n                });\n        });\n            \n        \/\/groupedFilms = Object.values(groupedFilms); \n        groupedFilms = Object.keys(groupedFilms).map(function(key) {\n            return groupedFilms[key];\n        });\n        \n        $(groupedFilms).each(function(i, groupedFilm){\n            \/\/ change associative array to array\n            \/\/groupedFilm.Dates = Object.values(groupedFilm.Dates);\n            groupedFilm.Dates = Object.keys(groupedFilm.Dates).map(function(key) {\n                return groupedFilm.Dates[key];\n            });\n            \n            \/\/ sort dates \n            groupedFilm.Dates.sort(function (a, b) {\n                return a.DateK.localeCompare(b.DateK);\n            });\n                \n            \/\/ sort times \n            $(groupedFilm.Dates).each(function(j, date){\n                date.Sessions.sort(function (a, b) {\n                    return a.TimeK.localeCompare(b.TimeK);\n                });\n            });\n        });\n\n        \/\/ filter films\n\tconst today = new Date();\n\ttoday.setHours(0, 0, 0, 0);\n\n\tconst comingSoonDate = new Date();\n\tcomingSoonDate.setDate(today.getDate() + 7); \/\/ 7 days\n\tcomingSoonDate.setHours(0, 0, 0, 0);\n\t\/\/ comingSoonDate.setHours(23, 59, 59, 999); \n\n\tgroupedFilms = groupedFilms.filter(groupedFilm => {\n\t    \/\/ first session strictly less than coming soond date \n\t    return (new Date(groupedFilm.FirstSessionDateTime)).getTime() < comingSoonDate.getTime();\n\t});\n\n\t\/\/ sort films \n        groupedFilms.sort(function (a, b) {\n            return a.FirstSessionDateTime.localeCompare(b.FirstSessionDateTime);\n        });\n            \n\tvar rendered = 'Nothing is currently scheduled.  Please check back to see now playing.';\n\n\tif (groupedFilms.length > 0) {\n\t    var template = $('#template').html();\n\t    rendered = Mustache.render(template, { groupedFilms: groupedFilms });\n\t}\n\n        $('#target').html(rendered);\n    });\n        \n    \/\/ Set iframe attributes when the show instance method is called\n    $(\"#videoModal\").on(\"show.bs.modal\", function(event) {\n        var button = $(event.relatedTarget);\n        var modal = $(this);\n        var url = button.data(\"video\").replace('\/watch?v=', '\/embed\/')+'?autoplay=1&rel=0&controls=1&showinfo=0';\n        \n        var frame = $('<iframe width=\"640\" height=\"480\" frameborder=\"0\" allow=\"autoplay; fullscreen\" \/>');\n      \t\n    \t$(frame).hide().attr('src', url+'?autoplay=1&rel=0&controls=1&showinfo=0');\n    \t\n    \t$(frame).on('load',function() {\n    \t\t$(this).show();\n    \t});\n    \t\n    \t$('.modal-media-container', modal).html(frame);\n    });\n\n    \/\/ Remove iframe attributes when the modal has finished being hidden from the user\n    $(\"#videoModal\").on(\"hidden.bs.modal\", function() {\n        var modal = $(this);\n        $('.modal-media-container', modal).html('');\n    });\n});\n})(jQuery);\n<\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a222aec e-flex e-con-boxed e-con e-parent\" data-id=\"a222aec\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-8283b3c e-con-full e-flex e-con e-child\" data-id=\"8283b3c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b6f9903 elementor-widget elementor-widget-heading\" data-id=\"b6f9903\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">ALL SHOW TIMES VALID EVERYDAY- <\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-63d8833 elementor-widget elementor-widget-text-editor\" data-id=\"63d8833\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>unless otherwise specified below\u00a0<\/p><div class=\"edit\"><p>All showings before 6pm<br \/>are\u00a0<b>Matinees: $9.00 per person<\/b><\/p><p>All showings after 6pm are<br \/><b>General Admission: $11.00 per person<br \/><\/b><b>Senior Citizen:\u00a0 $9.00 per person<\/b><\/p><p><i>Service fees apply<\/i><\/p><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4cb982d e-con-full e-flex e-con e-child\" data-id=\"4cb982d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b9d5463 e-flex e-con-boxed e-con e-parent\" data-id=\"b9d5463\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f5dc7ad elementor-widget elementor-widget-text-editor\" data-id=\"f5dc7ad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h3><b>~ ID Required for rated R Movies ~<br \/><br \/><\/b><\/h3><p>Box office opens 30 minutes before first show of the day.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e57bd9e e-flex e-con-boxed e-con e-parent\" data-id=\"e57bd9e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[],&quot;background_slideshow_loop&quot;:&quot;yes&quot;,&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-53647e2 e-flex e-con-boxed e-con e-child\" data-id=\"53647e2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ed73dab elementor-widget elementor-widget-heading\" data-id=\"ed73dab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Our OnScreen advertising partners<\/h2>\t\t\t\t<\/div>\n\t\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<div class=\"elementor-element elementor-element-acc8e6a elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"acc8e6a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c22fe4 elementor-widget elementor-widget-heading\" data-id=\"4c22fe4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">YOUR ADVERTISEMENT HERE<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c301bb elementor-align-center elementor-widget elementor-widget-button\" data-id=\"3c301bb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\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\">Learn More<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\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>ST JOHNS TWIN CINEMAS First Run Cinema serving Beer, Wine &amp; Pizza SHOWTIMES: (503) 286-1768 NOW PLAYING Loading&#8230; &times; ALL [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-7","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/stjohnscinema.com\/wp-json\/wp\/v2\/pages\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stjohnscinema.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/stjohnscinema.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/stjohnscinema.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/stjohnscinema.com\/wp-json\/wp\/v2\/comments?post=7"}],"version-history":[{"count":0,"href":"https:\/\/stjohnscinema.com\/wp-json\/wp\/v2\/pages\/7\/revisions"}],"wp:attachment":[{"href":"https:\/\/stjohnscinema.com\/wp-json\/wp\/v2\/media?parent=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}