diff --git a/pages/about.php b/pages/about.php index 577bda5..a33eac0 100644 --- a/pages/about.php +++ b/pages/about.php @@ -6,23 +6,23 @@ */ return <<<'ORIBI_SYNC_CONTENT' - + - + - + - + - + @@ -30,7 +30,7 @@ return <<<'ORIBI_SYNC_CONTENT' - + @@ -38,5 +38,5 @@ return <<<'ORIBI_SYNC_CONTENT' - + ORIBI_SYNC_CONTENT; diff --git a/pages/contact.php b/pages/contact.php index 5c1f571..6ae5f03 100644 --- a/pages/contact.php +++ b/pages/contact.php @@ -6,7 +6,7 @@ */ return <<<'ORIBI_SYNC_CONTENT' - + diff --git a/pages/corporate.php b/pages/corporate.php index ec93b2d..6edbf5c 100644 --- a/pages/corporate.php +++ b/pages/corporate.php @@ -7,9 +7,9 @@ * Post Types: page */ ?> - + - + @@ -24,13 +24,13 @@ - + - + diff --git a/pages/demo.php b/pages/demo.php index c7cb7ef..a50c208 100644 --- a/pages/demo.php +++ b/pages/demo.php @@ -12,7 +12,7 @@ return <<<'ORIBI_SYNC_CONTENT' - + @@ -23,5 +23,5 @@ return <<<'ORIBI_SYNC_CONTENT' - + ORIBI_SYNC_CONTENT; diff --git a/pages/design.php b/pages/design.php index 071a5cc..44ddbd4 100644 --- a/pages/design.php +++ b/pages/design.php @@ -35,12 +35,12 @@ return <<<'ORIBI_SYNC_CONTENT' - + - + ORIBI_SYNC_CONTENT; diff --git a/pages/devices.php b/pages/devices.php index 6c12986..2926a92 100644 --- a/pages/devices.php +++ b/pages/devices.php @@ -8,12 +8,12 @@ return <<<'ORIBI_SYNC_CONTENT' - + - + @@ -25,10 +25,10 @@ return <<<'ORIBI_SYNC_CONTENT' - + - + @@ -44,7 +44,7 @@ return <<<'ORIBI_SYNC_CONTENT'

Bring Your Own Player (BYO)

-

Already have compatible hardware? Connect it to your Command Center at the same per-screen rate — no premium for BYO. Set it up yourself using our step-by-step guides, or pay a one-time $99 professional setup fee and our team will configure and connect your device for you.

+

Already have compatible hardware? Connect it to your Command Center at the same per-screen rate. No premium for BYO. Set it up yourself using our step-by-step guides, or pay a one-time $99 professional setup fee and our team will configure and connect your device for you.

@@ -54,24 +54,24 @@ return <<<'ORIBI_SYNC_CONTENT' - - - + + + - + - + - - + + diff --git a/pages/education.php b/pages/education.php index e487db0..d476df6 100644 --- a/pages/education.php +++ b/pages/education.php @@ -7,10 +7,10 @@ * Post Types: page */ ?> - + - + @@ -24,13 +24,13 @@ - + - + - + diff --git a/pages/faq.php b/pages/faq.php index 1c251ed..e236173 100644 --- a/pages/faq.php +++ b/pages/faq.php @@ -9,9 +9,9 @@ return <<<'ORIBI_SYNC_CONTENT' - + - + @@ -23,21 +23,21 @@ return <<<'ORIBI_SYNC_CONTENT' - + - + - + - + - - + + diff --git a/pages/features.php b/pages/features.php index 62c7fad..0fd80b8 100644 --- a/pages/features.php +++ b/pages/features.php @@ -8,7 +8,7 @@ return <<<'ORIBI_SYNC_CONTENT' - + @@ -31,11 +31,11 @@ return <<<'ORIBI_SYNC_CONTENT' - + - - + + @@ -43,18 +43,16 @@ return <<<'ORIBI_SYNC_CONTENT' - - - - + + - + - + @@ -67,10 +65,10 @@ return <<<'ORIBI_SYNC_CONTENT' - + - + diff --git a/pages/fitness.php b/pages/fitness.php index 9508f1a..d19cbe1 100644 --- a/pages/fitness.php +++ b/pages/fitness.php @@ -9,7 +9,7 @@ ?> - + @@ -24,13 +24,13 @@ - + - + diff --git a/pages/healthcare.php b/pages/healthcare.php index a00998b..3eafcc8 100644 --- a/pages/healthcare.php +++ b/pages/healthcare.php @@ -7,12 +7,12 @@ * Post Types: page */ ?> - + - + - + @@ -24,13 +24,13 @@ - + - + diff --git a/pages/home.php b/pages/home.php index fffa1b1..f10e6be 100644 --- a/pages/home.php +++ b/pages/home.php @@ -6,16 +6,16 @@ */ return <<<'ORIBI_SYNC_CONTENT' - + - + - + - + @@ -36,11 +36,8 @@ return <<<'ORIBI_SYNC_CONTENT' - - - - - + + diff --git a/pages/hospitality.php b/pages/hospitality.php index a0dbeb9..905797f 100644 --- a/pages/hospitality.php +++ b/pages/hospitality.php @@ -7,11 +7,11 @@ * Post Types: page */ ?> - + - + - + @@ -30,7 +30,7 @@ - + diff --git a/pages/kiosks.php b/pages/kiosks.php index 4616b94..01b1013 100644 --- a/pages/kiosks.php +++ b/pages/kiosks.php @@ -7,10 +7,10 @@ * Post Types: page */ ?> - + - + @@ -25,11 +25,11 @@ - + - + - + diff --git a/pages/outdoor.php b/pages/outdoor.php index 23a5d11..8a6c161 100644 --- a/pages/outdoor.php +++ b/pages/outdoor.php @@ -7,11 +7,11 @@ * Post Types: page */ ?> - + - + - + @@ -31,7 +31,7 @@ - + diff --git a/pages/partners.php b/pages/partners.php index ec93d87..3f6d03a 100644 --- a/pages/partners.php +++ b/pages/partners.php @@ -7,11 +7,11 @@ * Post Types: page */ ?> - + - - + + diff --git a/pages/pricing.php b/pages/pricing.php index 61c04df..9bb0fa3 100644 --- a/pages/pricing.php +++ b/pages/pricing.php @@ -19,16 +19,16 @@ return <<<'ORIBI_SYNC_CONTENT' - + - + - + - + - + ORIBI_SYNC_CONTENT; diff --git a/pages/resources.php b/pages/resources.php deleted file mode 100644 index 72ace06..0000000 --- a/pages/resources.php +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ORIBI_SYNC_CONTENT; diff --git a/pages/retail.php b/pages/retail.php index 891e530..8121a32 100644 --- a/pages/retail.php +++ b/pages/retail.php @@ -7,9 +7,9 @@ * Post Types: page */ ?> - + - + @@ -24,13 +24,13 @@ - + - + diff --git a/pages/security.php b/pages/security.php index ee9ba2f..390168e 100644 --- a/pages/security.php +++ b/pages/security.php @@ -10,21 +10,21 @@ - + - + - + - + - + diff --git a/pages/solutions.php b/pages/solutions.php index 065fed0..ce850fc 100644 --- a/pages/solutions.php +++ b/pages/solutions.php @@ -9,23 +9,21 @@ return <<<'ORIBI_SYNC_CONTENT' - + - + - + - - - + - + diff --git a/theme/assets/css/main.css b/theme/assets/css/main.css index 83addc7..1234d37 100644 --- a/theme/assets/css/main.css +++ b/theme/assets/css/main.css @@ -12115,6 +12115,196 @@ p:last-child { margin-bottom: 0; } } } +/* ═══════════════════════════════════════════════════════════ + COMPATIBLE TOUCHSCREEN DISPLAYS ANIMATION + intro-section touchscreenAnim – kiosks page + ═══════════════════════════════════════════════════════════ */ + +.about-intro-visual.has-touchscreen-anim { + background: none; + box-shadow: none; + aspect-ratio: unset; + font-size: inherit; + color: inherit; +} + +.ts-stage { + width: 100%; + max-width: 380px; + margin: 0 auto; + display: flex; + align-items: flex-end; + justify-content: center; + gap: 1.75rem; + padding: 1.5rem 0; +} + +/* ── Panel shell ───────────────────────────────────────────── */ +.ts-panel { + display: flex; + flex-direction: column; + align-items: center; +} + +/* ── Bezel ─────────────────────────────────────────────────── */ +.ts-bezel { + background: #141418; + border-radius: 8px; + padding: 4px; + box-shadow: 0 12px 40px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.04); + position: relative; +} + +.ts-bezel--large { width: 152px; height: 210px; } +.ts-bezel--small { width: 96px; height: 126px; } + +/* ── Screen ────────────────────────────────────────────────── */ +.ts-screen { + width: 100%; + height: 100%; + border-radius: 5px; + background: linear-gradient(160deg, #0c1016 0%, #111827 100%); + position: relative; + overflow: hidden; + padding: 8px; + box-sizing: border-box; +} + +/* Subtle scan line */ +.ts-screen::after { + content: ''; + position: absolute; + left: 0; top: 0; width: 100%; height: 2px; + background: linear-gradient(90deg, transparent, rgba(var(--color-primary-rgb), 0.2), transparent); + animation: ts-scan 5s linear infinite; + pointer-events: none; +} + +@keyframes ts-scan { + 0% { top: 0; opacity: 0; } + 5% { opacity: 1; } + 95% { opacity: 1; } + 100% { top: 100%; opacity: 0; } +} + +/* ── UI chrome ─────────────────────────────────────────────── */ +.ts-ui-header { + height: 22px; + background: rgba(var(--color-primary-rgb), 0.25); + border-radius: 4px; + margin-bottom: 8px; + position: relative; +} + +.ts-ui-header::before { + content: ''; + position: absolute; + left: 6px; top: 7px; + width: 40px; height: 5px; + background: rgba(255,255,255,0.35); + border-radius: 3px; +} + +.ts-ui-header--sm { height: 16px; margin-bottom: 6px; } +.ts-ui-header--sm::before { width: 28px; height: 4px; top: 4px; } + +.ts-ui-row { + height: 15px; + background: rgba(255,255,255,0.07); + border-radius: 3px; + margin-bottom: 5px; +} + +/* rows pulse in sync with the touch ripples */ +.ts-ui-row--1 { animation: ts-row-pulse 6s ease-in-out infinite; animation-delay: 0.8s; } +.ts-ui-row--2 { animation: ts-row-pulse 6s ease-in-out infinite; animation-delay: 2.4s; } +.ts-ui-row--3 { animation: ts-row-pulse 6s ease-in-out infinite; animation-delay: 4.0s; } +.ts-ui-row--4 { animation: ts-row-pulse 6s ease-in-out infinite; animation-delay: 5.2s; } +.ts-ui-row--s1 { animation: ts-row-pulse 5s ease-in-out infinite; animation-delay: 1.2s; } +.ts-ui-row--s2 { animation: ts-row-pulse 5s ease-in-out infinite; animation-delay: 2.8s; } +.ts-ui-row--s3 { animation: ts-row-pulse 5s ease-in-out infinite; animation-delay: 4.2s; } + +@keyframes ts-row-pulse { + 0%, 100% { background: rgba(255,255,255,0.07); } + 15%, 28% { background: rgba(var(--color-primary-rgb), 0.28); + box-shadow: 0 0 8px rgba(var(--color-primary-rgb), 0.15); } +} + +.ts-ui-btn { + height: 18px; + background: rgba(var(--color-primary-rgb), 0.35); + border-radius: 4px; + margin-top: 8px; + animation: ts-btn-glow 4s ease-in-out infinite; +} + +@keyframes ts-btn-glow { + 0%, 100% { background: rgba(var(--color-primary-rgb), 0.35); } + 50% { background: rgba(var(--color-primary-rgb), 0.6); } +} + +/* ── Touch ripples ─────────────────────────────────────────── */ +.ts-ripple { + position: absolute; + width: 0; height: 0; + border-radius: 50%; + border: 2px solid rgba(255,255,255,0.55); + transform: translate(-50%, -50%); + pointer-events: none; + opacity: 0; +} + +.ts-ripple--a { left: 50%; top: 40%; animation: ts-ripple-expand 6s ease-out infinite; animation-delay: 1.0s; } +.ts-ripple--b { left: 25%; top: 57%; animation: ts-ripple-expand 6s ease-out infinite; animation-delay: 2.6s; } +.ts-ripple--c { left: 68%; top: 72%; animation: ts-ripple-expand 6s ease-out infinite; animation-delay: 4.2s; } +.ts-ripple--d { left: 55%; top: 55%; animation: ts-ripple-expand 5s ease-out infinite; animation-delay: 1.5s; } + +@keyframes ts-ripple-expand { + 0% { width: 0; height: 0; opacity: 0.9; } + 30% { opacity: 0.5; } + 100% { width: 52px; height: 52px; opacity: 0; } +} + +/* ── Stand (large floor panel) ─────────────────────────────── */ +.ts-stand { display: flex; flex-direction: column; align-items: center; } + +.ts-stem { + width: 10px; height: 28px; + background: #141418; + border-radius: 0 0 3px 3px; +} + +.ts-base { + width: 64px; height: 7px; + background: #141418; + border-radius: 4px; +} + +/* ── Feet (small countertop unit) ───────────────────────────── */ +.ts-feet { display: flex; justify-content: space-between; width: 56px; } + +.ts-foot { + width: 12px; height: 5px; + background: #141418; + border-radius: 0 0 3px 3px; +} + +@media (prefers-reduced-motion: reduce) { + .ts-screen::after, + .ts-ripple, + .ts-ui-btn { animation: none; opacity: 1; } + .ts-ui-row { animation: none; background: rgba(255,255,255,0.1) !important; } + .ts-ui-row--1, .ts-ui-row--3, .ts-ui-row--s2 { + background: rgba(var(--color-primary-rgb), 0.22) !important; + } +} + +@media (max-width: 480px) { + .ts-stage { gap: 1.25rem; } + .ts-bezel--large { width: 120px; height: 168px; } + .ts-bezel--small { width: 76px; height: 100px; } +} + /* ═══════════════════════════════════════════════════════════ SELF CHECK-IN KIOSK ANIMATION Used on the kiosks page – platform-row selfCheckInAnim diff --git a/theme/assets/js/solutions-animator.js b/theme/assets/js/solutions-animator.js index c2b67dc..e63503b 100644 --- a/theme/assets/js/solutions-animator.js +++ b/theme/assets/js/solutions-animator.js @@ -134,25 +134,25 @@ var DATA_SETS = [ [ - { time: '10:14', dest: 'London Victoria', plat: '2', status: 'On Time', cls: 'on-time' }, - { time: '10:22', dest: 'Brighton', plat: '4', status: 'On Time', cls: 'on-time' }, - { time: '10:31', dest: 'Gatwick Airport', plat: '1', status: 'Delayed', cls: 'delayed' }, - { time: '10:45', dest: 'London Bridge', plat: '3', status: 'On Time', cls: 'on-time' }, - { time: '11:02', dest: 'East Croydon', plat: '2', status: 'On Time', cls: 'on-time' }, + { time: '10:14', dest: 'Saratoga Springs', plat: '2', status: 'On Time', cls: 'on-time' }, + { time: '10:22', dest: 'Schenectady', plat: '4', status: 'On Time', cls: 'on-time' }, + { time: '10:31', dest: 'Albany Airport', plat: '1', status: 'Delayed', cls: 'delayed' }, + { time: '10:45', dest: 'Albany-Rensselaer', plat: '3', status: 'On Time', cls: 'on-time' }, + { time: '11:02', dest: 'Hudson', plat: '2', status: 'On Time', cls: 'on-time' }, ], [ - { time: '10:22', dest: 'Brighton', plat: '4', status: 'On Time', cls: 'on-time' }, - { time: '10:31', dest: 'Gatwick Airport', plat: '1', status: 'Delayed', cls: 'delayed' }, - { time: '10:45', dest: 'London Bridge', plat: '3', status: 'On Time', cls: 'on-time' }, - { time: '11:02', dest: 'East Croydon', plat: '2', status: 'On Time', cls: 'on-time' }, - { time: '11:14', dest: 'London Victoria', plat: '2', status: 'On Time', cls: 'on-time' }, + { time: '10:22', dest: 'Schenectady', plat: '4', status: 'On Time', cls: 'on-time' }, + { time: '10:31', dest: 'Albany Airport', plat: '1', status: 'Delayed', cls: 'delayed' }, + { time: '10:45', dest: 'Albany-Rensselaer', plat: '3', status: 'On Time', cls: 'on-time' }, + { time: '11:02', dest: 'Hudson', plat: '2', status: 'On Time', cls: 'on-time' }, + { time: '11:14', dest: 'Saratoga Springs', plat: '2', status: 'On Time', cls: 'on-time' }, ], [ - { time: '10:31', dest: 'Gatwick Airport', plat: '1', status: 'Delayed', cls: 'delayed' }, - { time: '10:45', dest: 'London Bridge', plat: '3', status: 'On Time', cls: 'on-time' }, - { time: '11:02', dest: 'East Croydon', plat: '2', status: 'On Time', cls: 'on-time' }, - { time: '11:14', dest: 'London Victoria', plat: '2', status: 'On Time', cls: 'on-time' }, - { time: '11:28', dest: 'Three Bridges', plat: '4', status: 'Cancelled', cls: 'cancelled'}, + { time: '10:31', dest: 'Albany Airport', plat: '1', status: 'Delayed', cls: 'delayed' }, + { time: '10:45', dest: 'Albany-Rensselaer', plat: '3', status: 'On Time', cls: 'on-time' }, + { time: '11:02', dest: 'Hudson', plat: '2', status: 'On Time', cls: 'on-time' }, + { time: '11:14', dest: 'Saratoga Springs', plat: '2', status: 'On Time', cls: 'on-time' }, + { time: '11:28', dest: 'Utica', plat: '4', status: 'Cancelled', cls: 'cancelled'}, ], ]; diff --git a/theme/blocks/editor.js b/theme/blocks/editor.js index c10109a..e1d03ff 100644 --- a/theme/blocks/editor.js +++ b/theme/blocks/editor.js @@ -609,6 +609,7 @@ bundleAnim: { type: 'boolean', default: false }, demoAnim: { type: 'boolean', default: false }, featuresAnim: { type: 'boolean', default: false }, + touchscreenAnim: { type: 'boolean', default: false }, imgId: { type: 'number', default: 0 }, imgUrl: { type: 'string', default: '' }, imgAlt: { type: 'string', default: '' }, @@ -653,7 +654,8 @@ el(TG, { label: 'Cloud Server Animation', checked: a.cloudAnim, onChange: function (v) { s({ cloudAnim: v }); } }), el(TG, { label: 'Player + Display Bundle Animation', checked: !!a.bundleAnim, onChange: function (v) { s({ bundleAnim: v }); } }), el(TG, { label: 'Command Center Demo Animation', checked: !!a.demoAnim, onChange: function (v) { s({ demoAnim: v }); } }), - el(TG, { label: 'Feature Ticker Animation', checked: !!a.featuresAnim, onChange: function (v) { s({ featuresAnim: v }); } }) + el(TG, { label: 'Feature Ticker Animation', checked: !!a.featuresAnim, onChange: function (v) { s({ featuresAnim: v }); } }), + el(TG, { label: 'Touchscreen Displays Animation', checked: !!a.touchscreenAnim, onChange: function (v) { s({ touchscreenAnim: v }); } }) ), el(PB, { title: 'Visual Image', initialOpen: false }, el(MUC, null, @@ -687,7 +689,7 @@ el(RT, { tagName: 'h2', style: { marginBottom: '1.5rem' }, value: a.heading, onChange: function (v) { s({ heading: v }); }, placeholder: 'Heading...' }), el(RT, { tagName: 'p', className: 'lead', value: a.description, onChange: function (v) { s({ description: v }); }, placeholder: 'Description...' }) ), - el('div', { className: 'about-intro-visual' + (a.cloudAnim ? ' has-cloud-anim' : (a.bundleAnim ? ' has-pkg-anim' : (a.demoAnim ? ' has-demo-anim' : (a.featuresAnim ? ' has-features-anim' : (a.imgUrl ? ' has-img' : ''))))), style: a.reversed ? { direction: 'ltr' } : {} }, visualContent) + el('div', { className: 'about-intro-visual' + (a.cloudAnim ? ' has-cloud-anim' : (a.bundleAnim ? ' has-pkg-anim' : (a.demoAnim ? ' has-demo-anim' : (a.featuresAnim ? ' has-features-anim' : (a.touchscreenAnim ? ' has-touchscreen-anim' : (a.imgUrl ? ' has-img' : '')))))), style: a.reversed ? { direction: 'ltr' } : {} }, visualContent) ) ) ) diff --git a/theme/blocks/index.php b/theme/blocks/index.php index 3861b44..a24f8ac 100644 --- a/theme/blocks/index.php +++ b/theme/blocks/index.php @@ -343,6 +343,7 @@ add_action('init', function () { 'bundleAnim' => ['type' => 'boolean', 'default' => false], 'demoAnim' => ['type' => 'boolean', 'default' => false], 'featuresAnim' => ['type' => 'boolean', 'default' => false], + 'touchscreenAnim' => ['type' => 'boolean', 'default' => false], 'imgId' => ['type' => 'number', 'default' => 0], 'imgUrl' => ['type' => 'string', 'default' => ''], 'imgAlt' => ['type' => 'string', 'default' => ''], @@ -1015,7 +1016,7 @@ function oribi_render_intro_section($a)

-
> +
> '; @@ -1105,6 +1106,37 @@ function oribi_render_intro_section($a) $feat .= '
'; echo $feat; } + elseif (!empty($a['touchscreenAnim'])) { + $ts = ''; // .ts-stage + echo $ts; + } else { echo wp_kses_post($a['visual']); } @@ -2574,7 +2606,7 @@ function oribi_render_platform_row($a) $ea .= '
'; // edu-board__rows $ea .= '
'; $ea .= '!'; - $ea .= 'Fire drill scheduled — 15:45 today'; + $ea .= 'Fire drill scheduled at 15:45 today'; $ea .= '
'; $ea .= ''; // edu-board $ea .= ''; // edu-stage @@ -2657,7 +2689,7 @@ function oribi_render_platform_row($a) $la .= ''; $la .= ''; $la .= ''; - $la .= '
Orders / hr — last 60 min
'; + $la .= '
Orders / hr, last 60 min
'; $la .= ''; // ld-chart $la .= '
'; @@ -2689,7 +2721,7 @@ function oribi_render_platform_row($a) $hca .= '
'; $hca .= '
Now Serving
'; $hca .= '
A042
'; - $hca .= '
Counter 3 — Dr. Patel
'; + $hca .= '
Counter 3: Dr. Patel
'; $hca .= '
'; $hca .= '
'; @@ -2709,7 +2741,7 @@ function oribi_render_platform_row($a) } $hca .= '
'; // hc-counters - $hca .= ''; + $hca .= ''; $hca .= '
'; // hc-board $hca .= ''; // hc-stage @@ -2730,11 +2762,11 @@ function oribi_render_platform_row($a) $ta .= '
'; $departures = [ - ['time' => '10:14', 'destination' => 'London Victoria', 'platform' => '2', 'status' => 'On Time', 'status_cls' => 'on-time'], - ['time' => '10:22', 'destination' => 'Brighton', 'platform' => '4', 'status' => 'On Time', 'status_cls' => 'on-time'], - ['time' => '10:31', 'destination' => 'Gatwick Airport', 'platform' => '1', 'status' => 'Delayed', 'status_cls' => 'delayed'], - ['time' => '10:45', 'destination' => 'London Bridge', 'platform' => '3', 'status' => 'On Time', 'status_cls' => 'on-time'], - ['time' => '11:02', 'destination' => 'East Croydon', 'platform' => '2', 'status' => 'On Time', 'status_cls' => 'on-time'], + ['time' => '10:14', 'destination' => 'Saratoga Springs', 'platform' => '2', 'status' => 'On Time', 'status_cls' => 'on-time'], + ['time' => '10:22', 'destination' => 'Schenectady', 'platform' => '4', 'status' => 'On Time', 'status_cls' => 'on-time'], + ['time' => '10:31', 'destination' => 'Albany Airport', 'platform' => '1', 'status' => 'Delayed', 'status_cls' => 'delayed'], + ['time' => '10:45', 'destination' => 'Albany-Rensselaer','platform' => '3', 'status' => 'On Time', 'status_cls' => 'on-time'], + ['time' => '11:02', 'destination' => 'Hudson', 'platform' => '2', 'status' => 'On Time', 'status_cls' => 'on-time'], ]; foreach ($departures as $d) { $ta .= '
'; @@ -2808,7 +2840,7 @@ function oribi_render_platform_row($a) $lb .= '
'; $lb .= '
Welcome
We hope you enjoy your stay
'; $lb .= '
Hotel Amenities
☉ Pool
⚛ Spa
♨ Restaurant
⌖ Gym
'; - $lb .= '
Today\'s Events
10:00Yoga on the Terrace
14:00Wine Tasting
19:00Live Jazz — Lobby Bar
'; + $lb .= '
Today\'s Events
10:00Yoga on the Terrace
14:00Wine Tasting
19:00Live Jazz: Lobby Bar
'; $lb .= '
'; $lb .= '
Wi-Fi: GrandGuest
'; $lb .= '
'; @@ -2860,9 +2892,9 @@ function oribi_render_platform_row($a) $wf .= '
You are here
'; $wf .= '
'; $wf .= '
'; - $wf .= '
Fashion — Level 1
'; - $wf .= '
Electronics — Level 2
'; - $wf .= '
Food Hall — Ground
'; + $wf .= '
Fashion: Level 1
'; + $wf .= '
Electronics: Level 2
'; + $wf .= '
Food Hall: Ground Floor
'; $wf .= '
'; $wf .= ''; $wf .= ''; @@ -2893,7 +2925,7 @@ function oribi_render_platform_row($a) $an .= '
'; $an .= '
Company Updates● Live
'; $an .= '
'; - $an .= '
Urgent
Fire Drill — 2 PM Today
All staff evacuate via nearest exit. Assembly point: Car Park B.
'; + $an .= '
Urgent
Fire Drill: 2 PM Today
All staff evacuate via nearest exit. Assembly point: Car Park B.
'; $an .= '
Celebration
Welcome New Starters!
Say hello to 5 new team members joining Engineering & Design.
'; $an .= '
HR Notice
Benefits Enrolment Open
Deadline: March 31. Visit the HR portal to review your options.
'; $an .= '
'; @@ -3118,12 +3150,12 @@ function oribi_render_platform_row($a) $sg .= '
'; $sg .= '
HQ48
'; $sg .= '
'; - $sg .= '
London24
'; + $sg .= '
Saratoga Springs24
'; $sg .= '
'; - $sg .= '
Oxford St12
'; - $sg .= '
Canary Wharf12
'; + $sg .= '
Broadway12
'; + $sg .= '
Congress Park12
'; $sg .= '
'; - $sg .= '
Manchester24
'; + $sg .= '
Albany24
'; $sg .= '
'; $sg .= '
'; $sg .= '
Push Update
'; @@ -3144,7 +3176,7 @@ function oribi_render_platform_row($a) $mo .= '
Conf-A
'; $mo .= '
Conf-B
'; $mo .= '
'; - $mo .= '
Live Screenshot — Lobby-01
'; + $mo .= '
Live Screenshot: Lobby-01
'; $mo .= ''; $mo .= ''; $visual_html = $mo; @@ -3157,7 +3189,7 @@ function oribi_render_platform_row($a) $pw .= '
Find Department
'; $pw .= ''; $pw .= '
'; - $pw .= '
Cardiology — Level 3, Wing B
'; + $pw .= '
Cardiology: Level 3, Wing B
'; $pw .= '
You are here
Cardiology
'; $pw .= '
'; $pw .= '
A&EPharmacyRadiology
';