{"id":4614,"date":"2026-08-07T14:15:11","date_gmt":"2026-08-07T18:15:11","guid":{"rendered":"https:\/\/shape.ca\/?post_type=job-listing&#038;p=4614"},"modified":"2026-08-07T14:15:12","modified_gmt":"2026-08-07T18:15:12","slug":"marketing-manager-uptown","status":"publish","type":"job-listing","link":"https:\/\/shape.ca\/zh-hans\/job-listing\/marketing-manager-uptown\/","title":{"rendered":"Marketing Manager, Uptown"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A<\/strong><strong>ABOUT SHAPE<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SHAPE is the real estate investment, development and management company leading some of the largest and most exciting projects in North America including The Amazing Brentwood, The City of Lougheed and RC at CF Richmond Centre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Through our fully integrated platform, SHAPE specializes in complete neighbourhoods with a top-calibre mix of shops, restaurants, residences, entertainment and a complete range of daily services on rapid transit. By executing on every stage of the real estate process, from land acquisition to property management, we are able to collaborate more efficiently, work seamlessly and perform at the highest level. Every SHAPE property reflects lasting vision, bold creativity and obsessive attention to detail.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Our projects are complex, our vision is simple: deliver social and financial value for generations. With a proven ability to raise the bar across our diverse portfolio of assets, we build on where we\u2019ve been to push the edge of better: for industry standards, quality of life and return on investment.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>ABOUT UPTOWN<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uptown is more than a shopping centre. It is an artfully designed social gathering place\u2014a vibrant hub for commerce and culture where people can shop, dine, work, and, in the future, live. Centrally located and easily accessible, Uptown serves as a focal point for Greater Victoria, offering the Island\u2019s premier mix of shops, restaurants, and entertainment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uptown takes pride in operating to the highest of standards. From day-to-day operations to the year-round care of its lush landscaping and public spaces, every detail is thoughtfully maintained to create an exceptional experience for visitors, tenants, and the community.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>ABOUT THE ROLE<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As a senior individual contributor reporting directly to the General Manager, this role is responsible for Uptown&#8217;s marketing strategy + creative brand presence \u2014 across digital channels, on-site environments, and community activations. The ideal candidate brings deep expertise across social media, graphic design campaign management, and placemaking, paired with the critical thinking and communication skills to operate at a high level in a complex, mixed-use property environment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Primary Job Responsibilities<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Marketing Strategy + Planning<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Develop and own Uptown&#8217;s annual marketing plan, encompassing campaign calendars, budget allocation, channel mix, and performance targets.<\/li>\n\n\n\n<li>Align marketing strategy with property leasing goals, tenant mix, and broader asset positioning \u2014 reporting directly to the GM on outcomes and opportunities.<\/li>\n\n\n\n<li>Identify trends in retail, mixed-use, and community-driven marketing to ensure Uptown remains competitive and culturally relevant.<\/li>\n\n\n\n<li>Partner with tenants, operations, and senior leadership to ensure marketing efforts support the full property ecosystem and long-term growth strategy.<\/li>\n\n\n\n<li>Communicate marketing strategies, plans, and performance results clearly and confidently to internal stakeholders, tenants, and senior leadership \u2014 both in writing and in presentation settings.<\/li>\n\n\n\n<li>Build and maintain strong working relationships across the property team, with tenants, and with external partners and vendors through clear, professional, and proactive communication.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Social Media Management<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Own and manage Uptown&#8217;s social media presence end-to-end, including channel \u00a0\u00a0\u00a0strategy, content calendar, and publishing schedule.<\/li>\n\n\n\n<li>Develop and publish original content that authentically reflects the property, its tenants, and the broader Uptown community.<\/li>\n\n\n\n<li>Lead day-to-day community social management \u2014 responding to comments and messages with a consistent, on-brand voice that builds trust and engagement.<\/li>\n\n\n\n<li>Capture and edit property, tenant, event, and lifestyle imagery to a professional standard for use across all digital channels.<\/li>\n\n\n\n<li>Curate and program tenant features, seasonal moments, promotions, and activations across the feed while maintaining the property&#8217;s digital asset library.<\/li>\n\n\n\n<li>Track, analyze, and report on performance metrics \u2014 including engagement, reach, and audience growth \u2014 with actionable recommendations that inform strategy and drive continuous improvement.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Creative Campaigns<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Strategize with marketing and corporate teams in creative ideation for Uptown&#8217;s seasonal and brand campaigns from concept through execution.<\/li>\n\n\n\n<li>Present innovative creative concepts for promotions, events, and activations that push beyond convention and reflect the evolving character of property.<\/li>\n\n\n\n<li>Apply critical thinking to evaluate creative approaches, balance competing priorities, and make informed decisions that serve both tenant and property goals.<\/li>\n\n\n\n<li>Plan, execute, and manage paid advertising campaigns across digital and print channels \u2014 including media buying, audience targeting, copywriting, and performance analysis.<\/li>\n\n\n\n<li>Leverage experience across campaign types \u2014 including brand awareness, promotional, and event-driven \u2014 to deliver results that move the needle for tenants and the property.<\/li>\n\n\n\n<li>Translate business objectives into marketing strategies that drive measurable traffic and sales results for tenants and the property.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Environmental + Graphic Design<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bring a keen eye for interior design and placemaking to environmental design concepts \u2014 creating spaces, moments, and installations that are visually compelling and experientially meaningful.<\/li>\n\n\n\n<li>Develop seasonal d\u00e9cor direction and supporting materials that enhance the on-site guest experience and reflect the property&#8217;s aesthetic sensibility.<\/li>\n\n\n\n<li>Manage web assets, banners, and imagery to maximize digital performance and brand presence.<\/li>\n\n\n\n<li>The ability to create collateral including window vinyls, digital screen content, operational signage, and newsletters.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Qualifications<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>Required Knowledge, Skills, and Abilities<\/em><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Strong graphic design skills with proficiency in Adobe Creative Suite (Photoshop, Illustrator, InDesign, Premiere or equivalent).<\/li>\n\n\n\n<li>A keen eye for interior design, environmental aesthetics, and placemaking \u2014 with the ability to translate spatial vision into compelling on-site experiences.<\/li>\n\n\n\n<li>Innovative thinker who brings fresh, original ideas and isn&#8217;t afraid to push creative boundaries.<\/li>\n\n\n\n<li>Strong critical thinking skills \u2014 able to assess competing priorities, evaluate creative and strategic options, and make sound decisions independently.<\/li>\n\n\n\n<li>Exceptional written and verbal communication skills, with confidence presenting to senior leadership and engaging with tenants and community partners.<\/li>\n\n\n\n<li>Highly organized, self-directed, and comfortable operating as a senior individual contributor with broad ownership and minimal oversight.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>Required Training and Experience<\/em><\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Post-secondary education in marketing, communications, digital media or a related field or equivalent education and experience<\/li>\n\n\n\n<li>5+ years of experience in marketing, brand, or creative roles \u2014 ideally within retail, real estate, or mixed-use property environments<\/li>\n\n\n\n<li>Proven experience developing and executing multi-channel marketing plans and paid advertising campaigns across digital and print.<\/li>\n\n\n\n<li>Demonstrated ability to produce professional photography and video content for social media and marketing channels.<\/li>\n\n\n\n<li>Experience with social media management, community engagement, and analytics platforms.<\/li>\n\n\n\n<li>Experience working in a fast-paced, multi-stakeholder environment with the ability to manage multiple projects simultaneously<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Working Conditions<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The successful candidate may expect a comfortable and collaborative work environment at Uptown., a SHAPE managed property located in Victoria. Due to the nature of this role, the candidate will be required to work weekends or extended hours, as necessary.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Salary: $80,000\/year<\/p>\n\n\n<script>\nvar gform;gform||(document.addEventListener(\"gform_main_scripts_loaded\",function(){gform.scriptsLoaded=!0}),document.addEventListener(\"gform\/theme\/scripts_loaded\",function(){gform.themeScriptsLoaded=!0}),window.addEventListener(\"DOMContentLoaded\",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>\"function\"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn(\"The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1.\"),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener(\"gform_main_scripts_loaded\",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener(\"gform\/theme\/scripts_loaded\",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener(\"DOMContentLoaded\",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook(\"action\",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook(\"filter\",o,r,e,t)},doAction:function(o){gform.doHook(\"action\",o,arguments)},applyFilters:function(o){return gform.doHook(\"filter\",o,arguments)},removeAction:function(o,r){gform.removeHook(\"action\",o,r)},removeFilter:function(o,r,e){gform.removeHook(\"filter\",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+\"_\"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){\"function\"!=typeof(t=o.callable)&&(t=window[t]),\"action\"==r?t.apply(null,e):e[0]=t.apply(null,e)})),\"filter\"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});\n<\/script>\n\n                <div class='gf_browser_gecko gform_wrapper gravity-theme gform-theme--no-framework' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_103' >\n                        <div class='gform_heading'>\n                            <h2 class=\"gform_title\">Apply &#8211; Marketing Manager, Uptown<\/h2>\n                            <p class='gform_description'><\/p>\n                        <\/div><form method='post' enctype='multipart\/form-data'  id='gform_103'  action='\/zh-hans\/wp-json\/wp\/v2\/job-listing\/4614' data-formid='103' novalidate>\n                        <div class='gform-body gform_body'><div id='gform_fields_103' class='gform_fields top_label form_sublabel_below description_above validation_below'><div id=\"field_103_12\" class=\"gfield gfield--type-honeypot gform_validation_container field_sublabel_below gfield--has-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_103_12'>X\/Twitter<\/label><div class='gfield_description' id='gfield_description_103_12'>\u8fd9\u4e2a\u5b57\u6bb5\u662f\u7528\u4e8e\u9a8c\u8bc1\u76ee\u7684\uff0c\u5e94\u8be5\u4fdd\u6301\u4e0d\u53d8\u3002<\/div><div class='ginput_container'><input name='input_12' id='input_103_12' type='text' value='' autocomplete='new-password'\/><\/div><\/div><fieldset id=\"field_103_3\" class=\"gfield gfield--type-name gfield--width-full field_sublabel_above gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><legend class='gfield_label gform-field-label gfield_label_before_complex' >Name<\/legend><div class='ginput_complex ginput_container ginput_container--name no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gform-grid-row' id='input_103_3'>\n                            \n                            <span id='input_103_3_3_container' class='name_first gform-grid-col gform-grid-col--size-auto' >\n                                                    <label for='input_103_3_3' class='gform-field-label gform-field-label--type-sub '>\u7b2c\u4e00\u9875<\/label>\n                                                    <input type='text' name='input_3.3' id='input_103_3_3' value=''   aria-required='false'     \/>\n                                                <\/span>\n                            \n                            <span id='input_103_3_6_container' class='name_last gform-grid-col gform-grid-col--size-auto' >\n                                                            <label for='input_103_3_6' class='gform-field-label gform-field-label--type-sub '>\u540e\u4e00\u9875<\/label>\n                                                            <input type='text' name='input_3.6' id='input_103_3_6' value=''   aria-required='false'     \/>\n                                                        <\/span>\n                            \n                        <\/div><\/fieldset><div id=\"field_103_4\" class=\"gfield gfield--type-email gfield--width-full field_sublabel_below gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_103_4'>Email<\/label><div class='ginput_container ginput_container_email'>\n                            <input name='input_4' id='input_103_4' type='email' value='' class='large'     aria-invalid=\"false\"  \/>\n                        <\/div><\/div><div id=\"field_103_5\" class=\"gfield gfield--type-textarea gfield--width-full field_sublabel_below gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_103_5'>Message<\/label><div class='ginput_container ginput_container_textarea'><textarea name='input_5' id='input_103_5' class='textarea large'      aria-invalid=\"false\"   rows='10' cols='50'><\/textarea><\/div><\/div><div id=\"field_103_7\" class=\"gfield gfield--type-fileupload gfield--width-full break-before gfield_contains_required field_sublabel_below gfield--has-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_103_7'>Resume<span class=\"gfield_required\"><span class=\"gfield_required gfield_required_text\">(Required)<\/span><\/span><\/label><div class='gfield_description' id='gfield_description_103_7'>Upload your resume in PDF format. You may include all documents (cover letter, supporting documents) in this file or use the document uploads below.<\/div><div class='ginput_container ginput_container_fileupload'><input type='hidden' name='MAX_FILE_SIZE' value='26214400' \/><input name='input_7' id='input_103_7' type='file' class='large' aria-describedby=\"gfield_upload_rules_103_7 gfield_description_103_7\" onchange='javascript:gformValidateFileSize( this, 26214400 );'  \/><span class='gfield_description gform_fileupload_rules' id='gfield_upload_rules_103_7'>Accepted file types: pdf, Max. file size: 25 MB.<\/span><div class='gfield_description validation_message gfield_validation_message validation_message--hidden-on-empty' id='live_validation_message_103_7'><\/div> <\/div><\/div><div id=\"field_103_8\" class=\"gfield gfield--type-fileupload gfield--width-full field_sublabel_below gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_103_8'>Cover Letter<\/label><div class='ginput_container ginput_container_fileupload'><input type='hidden' name='MAX_FILE_SIZE' value='26214400' \/><input name='input_8' id='input_103_8' type='file' class='large' aria-describedby=\"gfield_upload_rules_103_8\" onchange='javascript:gformValidateFileSize( this, 26214400 );'  \/><span class='gfield_description gform_fileupload_rules' id='gfield_upload_rules_103_8'>Accepted file types: pdf, Max. file size: 25 MB.<\/span><div class='gfield_description validation_message gfield_validation_message validation_message--hidden-on-empty' id='live_validation_message_103_8'><\/div> <\/div><\/div><div id=\"field_103_10\" class=\"gfield gfield--type-fileupload gfield--width-full field_sublabel_below gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_103_10'>Other Document #1<\/label><div class='ginput_container ginput_container_fileupload'><input type='hidden' name='MAX_FILE_SIZE' value='26214400' \/><input name='input_10' id='input_103_10' type='file' class='large' aria-describedby=\"gfield_upload_rules_103_10\" onchange='javascript:gformValidateFileSize( this, 26214400 );'  \/><span class='gfield_description gform_fileupload_rules' id='gfield_upload_rules_103_10'>Accepted file types: pdf, Max. file size: 25 MB.<\/span><div class='gfield_description validation_message gfield_validation_message validation_message--hidden-on-empty' id='live_validation_message_103_10'><\/div> <\/div><\/div><div id=\"field_103_9\" class=\"gfield gfield--type-fileupload gfield--width-full field_sublabel_below gfield--no-description field_description_above field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_103_9'>Other Document #2<\/label><div class='ginput_container ginput_container_fileupload'><input type='hidden' name='MAX_FILE_SIZE' value='26214400' \/><input name='input_9' id='input_103_9' type='file' class='large' aria-describedby=\"gfield_upload_rules_103_9\" onchange='javascript:gformValidateFileSize( this, 26214400 );'  \/><span class='gfield_description gform_fileupload_rules' id='gfield_upload_rules_103_9'>Accepted file types: pdf, Max. file size: 25 MB.<\/span><div class='gfield_description validation_message gfield_validation_message validation_message--hidden-on-empty' id='live_validation_message_103_9'><\/div> <\/div><\/div><div id=\"field_103_11\" class=\"gfield gfield--type-captcha field_sublabel_below gfield--no-description field_description_above hidden_label field_validation_below gfield_visibility_visible\"  ><label class='gfield_label gform-field-label' for='input_103_11'>CAPTCHA<\/label><div id='input_103_11' class='ginput_container ginput_recaptcha' data-sitekey='6LdkXAorAAAAAIJar2uzqeT8lFdMVw3oBfQbgqWd'  data-theme='light' data-tabindex='-1' data-size='invisible' data-badge='bottomright'><\/div><\/div><\/div><\/div>\n        <div class='gform-footer gform_footer top_label'> <input type='submit' id='gform_submit_button_103' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' value='Submit'  \/> \n            <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_103' value='postback' \/>\n            <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_103' id='gform_theme_103' value='gravity-theme' \/>\n            <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_103' id='gform_style_settings_103' value='{&quot;inputPrimaryColor&quot;:&quot;#204ce5&quot;}' \/>\n            <input type='hidden' class='gform_hidden' name='is_submit_103' value='1' \/>\n            <input type='hidden' class='gform_hidden' name='gform_submit' value='103' \/>\n            \n            <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='CAD' value='80tjfRV5zVTFXSf+myFVKz2\/1ZPWonYITMwh8ZX6hb8zsklsxDc+NGM\/maZ6LgN5TQR1hdTuevl6daBsV+NIGz\/uJbOi7YUIMDIgF6gzQCRiM+A=' \/>\n            <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' \/>\n            <input type='hidden' class='gform_hidden' name='state_103' value='WyJbXSIsIjk1YTVjN2ZlYWYxMGQ3OTgzNzFjZDA4MDFmYzY2YzBiIl0=' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_103' id='gform_target_page_number_103' value='0' \/>\n            <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_103' id='gform_source_page_number_103' value='1' \/>\n            <input type='hidden' name='gform_field_values' value='' \/>\n            \n        <\/div>\n                        <p style=\"display: none !important;\" class=\"akismet-fields-container\" data-prefix=\"ak_\"><label>&#916;<textarea name=\"ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label><input type=\"hidden\" id=\"ak_js_1\" name=\"ak_js\" value=\"38\"\/><script>\ndocument.getElementById( \"ak_js_1\" ).setAttribute( \"value\", ( new Date() ).getTime() );\n<\/script>\n<\/p><\/form>\n                        <\/div><script>\ngform.initializeOnLoaded( function() {gformInitSpinner( 103, 'https:\/\/shape.ca\/wp-content\/plugins\/gravityforms\/images\/spinner.svg', true );jQuery('#gform_ajax_frame_103').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_103');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_103').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_103').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_103').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_103').removeClass('gform_validation_error');}setTimeout( function() { \/* delay the scroll by 50 milliseconds to fix a bug in chrome *\/  }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_103').val();gformInitSpinner( 103, 'https:\/\/shape.ca\/wp-content\/plugins\/gravityforms\/images\/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [103, current_page]);window['gf_submitting_103'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_103').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [103]);window['gf_submitting_103'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_103').text());}else{jQuery('#gform_103').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger(\"gform_pre_post_render\", [{ formId: \"103\", currentPage: \"current_page\", abort: function() { this.preventDefault(); } }]);        if (event && event.defaultPrevented) {                return;        }        const gformWrapperDiv = document.getElementById( \"gform_wrapper_103\" );        if ( gformWrapperDiv ) {            const visibilitySpan = document.createElement( \"span\" );            visibilitySpan.id = \"gform_visibility_test_103\";            gformWrapperDiv.insertAdjacentElement( \"afterend\", visibilitySpan );        }        const visibilityTestDiv = document.getElementById( \"gform_visibility_test_103\" );        let postRenderFired = false;        function triggerPostRender() {            if ( postRenderFired ) {                return;            }            postRenderFired = true;            gform.core.triggerPostRenderEvents( 103, current_page );            if ( visibilityTestDiv ) {                visibilityTestDiv.parentNode.removeChild( visibilityTestDiv );            }        }        function debounce( func, wait, immediate ) {            var timeout;            return function() {                var context = this, args = arguments;                var later = function() {                    timeout = null;                    if ( !immediate ) func.apply( context, args );                };                var callNow = immediate && !timeout;                clearTimeout( timeout );                timeout = setTimeout( later, wait );                if ( callNow ) func.apply( context, args );            };        }        const debouncedTriggerPostRender = debounce( function() {            triggerPostRender();        }, 200 );        if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) {            const observer = new MutationObserver( ( mutations ) => {                mutations.forEach( ( mutation ) => {                    if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) {                        debouncedTriggerPostRender();                        observer.disconnect();                    }                });            });            observer.observe( document.body, {                attributes: true,                childList: false,                subtree: true,                attributeFilter: [ 'style', 'class' ],            });        } else {            triggerPostRender();        }    } );} );\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"featured_media":0,"template":"","class_list":["post-4614","job-listing","type-job-listing","status-publish","hentry"],"mb":[],"acf":[],"mfb_rest_fields":["title"],"_links":{"self":[{"href":"https:\/\/shape.ca\/zh-hans\/wp-json\/wp\/v2\/job-listing\/4614","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shape.ca\/zh-hans\/wp-json\/wp\/v2\/job-listing"}],"about":[{"href":"https:\/\/shape.ca\/zh-hans\/wp-json\/wp\/v2\/types\/job-listing"}],"wp:attachment":[{"href":"https:\/\/shape.ca\/zh-hans\/wp-json\/wp\/v2\/media?parent=4614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}