{"id":37,"date":"2026-04-01T03:20:09","date_gmt":"2026-04-01T03:20:09","guid":{"rendered":"https:\/\/benjamingriffin.com\/?page_id=37"},"modified":"2026-04-07T03:16:25","modified_gmt":"2026-04-07T03:16:25","slug":"home","status":"publish","type":"page","link":"https:\/\/benjamingriffin.com\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"37\" class=\"elementor elementor-37\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c741ea8 e-flex e-con-boxed e-con e-parent\" data-id=\"c741ea8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4e8d864 elementor-widget elementor-widget-html\" data-id=\"4e8d864\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n  \/* --- LOCKDOWN STYLE --- *\/\n  #holding-page-overlay {\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    background-color: #000000;\n    z-index: 2147483647; \n    overflow-y: auto;    \n    -webkit-overflow-scrolling: touch; \n    font-family: \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n    color: #ffffff;\n  }\n\n  \/* --- SCROLL WRAPPER --- *\/\n  .scroll-wrapper {\n    display: flex;\n    flex-direction: column;\n    min-height: 100%;\n    min-height: 100dvh; \n    padding: 60px 20px;\n    box-sizing: border-box;\n    justify-content: center; \n  }\n\n  \/* --- VIDEO BACKGROUND --- *\/\n  .bg-video {\n    position: fixed; \n    top: 0;\n    left: 0;\n    width: 100vw;\n    height: 100vh;\n    object-fit: cover;\n    z-index: 1;\n  }\n\n  \/* --- DARK TINT --- *\/\n  .overlay-tint {\n    position: fixed; \n    top: 0;\n    left: 0;\n    width: 100vw;\n    height: 100vh;\n    background: rgba(0, 0, 0, 0.4); \n    z-index: 2;\n  }\n\n  \/* --- MAIN CONTENT CARD --- *\/\n  .content-card {\n    position: relative;\n    z-index: 10;\n    width: 100%;\n    max-width: 500px; \n    margin: auto; \n    background: rgba(0, 0, 0, 0.3); \n    backdrop-filter: blur(10px);    \n    -webkit-backdrop-filter: blur(10px);\n    padding: 50px 30px;\n    border-radius: 16px; \n    text-align: center;\n    border: 1px solid rgba(255, 255, 255, 0.15);\n    box-shadow: 0 20px 60px rgba(0,0,0,0.5);\n    animation: fadeIn 1.5s ease-out;\n    transition: background 0.4s ease, backdrop-filter 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;\n    overflow: hidden; \n  }\n\n  .content-card.clear-bg {\n    background: transparent;\n    backdrop-filter: blur(0px);\n    -webkit-backdrop-filter: blur(0px);\n    border-color: transparent;\n    box-shadow: none;\n  }\n\n  .btn-toggle-bg {\n    position: absolute;\n    top: 15px;\n    right: 20px;\n    font-size: 2rem;\n    color: rgba(255, 255, 255, 0.5);\n    cursor: pointer;\n    line-height: 1;\n    transition: color 0.3s ease, transform 0.3s ease;\n    z-index: 20;\n    font-weight: 300;\n  }\n  .btn-toggle-bg:hover {\n    color: #ffffff;\n    transform: scale(1.1);\n  }\n\n  \/* --- PROFILE PICTURE --- *\/\n  .profile-pic {\n    display: block;\n    width: 160px; \n    height: 160px; \n    margin: 0 auto 10px auto; \n    border-radius: 50%;\n    object-fit: cover;\n    border: 2px solid rgba(255, 255, 255, 0.4);\n    box-shadow: 0 8px 20px rgba(0,0,0,0.4);\n    cursor: pointer;\n    transition: border-color 0.4s ease, box-shadow 0.4s ease, transform 0.2s ease;\n  }\n  .profile-pic:hover {\n    transform: scale(1.05);\n    border-color: rgba(255, 255, 255, 0.8);\n  }\n  .content-card.clear-bg .profile-pic {\n    border-color: rgba(255, 255, 255, 0.8);\n    box-shadow: 0 8px 20px rgba(0,0,0,0.8);\n  }\n\n  \/* --- LIGHTBOX --- *\/\n  .lightbox-overlay {\n    display: none;\n    position: fixed;\n    top: 0; left: 0; width: 100%; height: 100%;\n    background: rgba(0, 0, 0, 0.85);\n    backdrop-filter: blur(5px);\n    z-index: 9999;\n    place-items: center;\n    opacity: 0;\n    transition: opacity 0.3s ease;\n  }\n  .lightbox-overlay.active { display: grid; opacity: 1; }\n  .lightbox-img {\n    max-width: 90%; max-height: 80vh;\n    border-radius: 12px;\n    box-shadow: 0 10px 40px rgba(0,0,0,0.8);\n    transform: scale(0.9); transition: transform 0.3s ease;\n  }\n  .lightbox-overlay.active .lightbox-img { transform: scale(1); }\n  .lightbox-close {\n    position: absolute; top: 20px; right: 30px;\n    font-size: 3rem; color: rgba(255, 255, 255, 0.6);\n    cursor: pointer; line-height: 1; font-weight: 300; transition: color 0.2s; z-index: 10000;\n  }\n  .lightbox-close:hover { color: #ffffff; }\n\n  \/* --- TYPOGRAPHY --- *\/\n  .profile-name {\n    font-size: 2rem; font-weight: 700; letter-spacing: 1px; margin: 0 0 8px 0; \n    color: #ffffff; text-shadow: 0 2px 10px rgba(0,0,0,0.8);\n  }\n  \n  .profile-headline {\n    font-size: 0.95rem; font-weight: 400; line-height: 1.5;\n    color: rgba(255, 255, 255, 0.95); margin: 0 auto 8px auto;\n    max-width: 95%; text-shadow: 0 1px 5px rgba(0,0,0,0.8);\n  }\n\n  .location-text {\n    font-size: 0.85rem; font-weight: 500; color: rgba(255, 255, 255, 0.7);\n    margin: 0 0 25px 0; text-shadow: 0 1px 4px rgba(0,0,0,0.8);\n    display: flex; align-items: center; justify-content: center; gap: 5px;\n  }\n\n  \/* --- TIP SECTION --- *\/\n  .tip-container {\n    margin-top: 15px; \n  }\n  .tip-toggle {\n    background: none; border: none; color: rgba(255,255,255,0.7);\n    font-size: 0.85rem; font-weight: 500; cursor: pointer;\n    display: inline-flex; align-items: center; gap: 6px;\n    transition: color 0.2s ease; padding: 5px 10px;\n  }\n  .tip-toggle:hover { color: #FFD700; }\n  .tip-toggle svg { opacity: 0.8; }\n  .tip-content {\n    max-height: 0; overflow: hidden; opacity: 0;\n    transition: max-height 0.4s ease, opacity 0.4s ease, margin 0.4s ease;\n    background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1);\n    border-radius: 8px; text-align: left; font-size: 0.85rem; line-height: 1.6;\n    color: rgba(255, 255, 255, 0.9);\n  }\n  .tip-content.active { max-height: 600px; opacity: 1; margin-top: 10px; padding: 20px; }\n  .tip-quote {\n    margin: 15px 0 0 0; padding-left: 12px; border-left: 2px solid #FFD700;\n    font-style: italic; color: rgba(255, 255, 255, 0.75);\n  }\n  .tip-quote span {\n    display: block; margin-top: 5px; font-weight: 600;\n    color: #FFD700; font-size: 0.8rem; font-style: normal;\n  }\n\n  \/* --- LINK BUTTONS --- *\/\n  .link-btn {\n    display: block; width: 100%; padding: 16px 20px; margin-bottom: 15px;\n    background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.3);\n    border-radius: 8px; color: #ffffff; font-size: 1rem; font-weight: 500;\n    letter-spacing: 0.5px; text-decoration: none; transition: all 0.3s ease;\n    text-shadow: 0 1px 3px rgba(0,0,0,0.5); box-sizing: border-box; cursor: pointer;\n  }\n  \n  .link-btn:hover, .link-btn:active {\n    background: #FFD700; color: #000000; border-color: #FFD700; font-weight: 700;\n    transform: translateY(-2px); box-shadow: 0 5px 15px rgba(255, 215, 0, 0.4); text-shadow: none;\n  }\n  .content-card.clear-bg .link-btn {\n    background: rgba(0, 0, 0, 0.4); border-color: rgba(255, 255, 255, 0.5);\n  }\n  .content-card.clear-bg .link-btn:hover, .content-card.clear-bg .link-btn:active {\n    background: #FFD700; color: #000000; border-color: #FFD700;\n  }\n\n  \/* --- SHARED SUB-VIEWS (Quotes, News) --- *\/\n  #quotes-view, #news-view {\n    display: none; text-align: center; animation: fadeIn 0.4s ease-out;\n  }\n  \n  .view-header { text-align: left; margin-bottom: 20px; }\n  .btn-back {\n    background: none; border: none; color: rgba(255,255,255,0.7);\n    font-size: 0.85rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;\n    cursor: pointer; padding: 0; text-shadow: 0 1px 3px rgba(0,0,0,0.5);\n    transition: color 0.2s; display: inline-flex; align-items: center;\n  }\n  .btn-back:hover { color: #FFD700; }\n\n  .view-title {\n    font-size: 1.4rem; font-weight: 700; letter-spacing: 0.5px;\n    color: #ffffff; margin: 0 0 15px 0; line-height: 1.3;\n    text-shadow: 0 2px 5px rgba(0,0,0,0.6);\n  }\n\n  \/* --- QUOTES INTERFACE --- *\/\n  .quote-card {\n    background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 12px; padding: 35px 20px; margin-bottom: 25px;\n    box-shadow: 0 10px 30px rgba(0,0,0,0.2); min-height: 180px; \n    display: flex; flex-direction: column; align-items: center; justify-content: center;\n  }\n  \n  .quote-text {\n    font-size: 1.25rem; font-style: italic; line-height: 1.6;\n    color: #ffffff; text-shadow: 0 2px 8px rgba(0,0,0,0.8); white-space: pre-wrap; \n  }\n  \n  .quote-author {\n    margin-top: 25px; color: #FFD700; font-weight: 700; font-size: 0.85rem;\n    letter-spacing: 1px; text-transform: uppercase; text-shadow: 0 1px 5px rgba(0,0,0,0.8);\n  }\n  .quote-author::before { content: \"\u2014 \"; }\n\n  .quote-controls {\n    display: flex; align-items: center; justify-content: space-between; gap: 15px;\n  }\n  \n  .nav-btn {\n    background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2);\n    color: #fff; padding: 10px 20px; border-radius: 8px; cursor: pointer;\n    font-size: 0.9rem; font-weight: 500; transition: all 0.2s ease;\n    display: flex; align-items: center; gap: 6px;\n  }\n  .nav-btn:hover {\n    background: #FFD700; color: #000; border-color: #FFD700; font-weight: 700;\n  }\n\n  .controls-center {\n    display: flex; flex-direction: column; align-items: center; gap: 8px;\n  }\n  .quote-counter {\n    font-size: 0.75rem; font-weight: 600; letter-spacing: 2px; color: rgba(255, 255, 255, 0.5);\n  }\n  .btn-share-discreet {\n    background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.15); \n    color: rgba(255,255,255,0.8); cursor: pointer; transition: all 0.2s ease;\n    display: flex; align-items: center; justify-content: center;\n    width: 42px; height: 42px; border-radius: 50%;\n  }\n  .btn-share-discreet:hover { \n    background: #FFD700; color: #000; border-color: #FFD700; \n    transform: translateY(-2px); box-shadow: 0 4px 10px rgba(255, 215, 0, 0.3);\n  }\n\n  \/* --- SCROLLABLE LISTS (News) --- *\/\n  .scroll-list {\n    display: flex; flex-direction: column; gap: 12px;\n    max-height: 55vh; overflow-y: auto; padding-right: 10px;\n    text-align: left;\n  }\n  \n  .scroll-list::-webkit-scrollbar { width: 6px; }\n  .scroll-list::-webkit-scrollbar-track { background: rgba(255,255,255,0.05); border-radius: 10px; }\n  .scroll-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.2); border-radius: 10px; }\n  .scroll-list::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.4); }\n\n  .list-item {\n    background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.15);\n    border-radius: 12px; padding: 18px 20px; text-decoration: none; color: #ffffff;\n    transition: all 0.2s ease; display: flex; flex-direction: column; gap: 6px;\n  }\n  .list-item:hover {\n    background: #FFD700; color: #000000; border-color: #FFD700;\n    transform: translateY(-2px); box-shadow: 0 5px 15px rgba(255, 215, 0, 0.4);\n  }\n  \n  \/* News Specific Styling *\/\n  .news-intro {\n    font-size: 0.9rem; line-height: 1.6; color: rgba(255,255,255,0.85);\n    margin: 0 0 20px 0; text-shadow: 0 1px 3px rgba(0,0,0,0.6);\n  }\n  .news-source {\n    font-size: 0.75rem; font-weight: 700; text-transform: uppercase;\n    letter-spacing: 1px; color: #FFD700; text-shadow: 0 1px 3px rgba(0,0,0,0.8);\n  }\n  .news-title {\n    font-size: 1rem; font-weight: 600; line-height: 1.4;\n    text-shadow: 0 1px 3px rgba(0,0,0,0.6);\n  }\n  .list-item:hover .news-source { color: #000000; text-shadow: none; opacity: 0.8; }\n  .list-item:hover .news-title { text-shadow: none; }\n\n  \/* --- FOOTER --- *\/\n  .footer-copyright {\n    position: relative; z-index: 10; margin-top: 40px; margin-left: auto; margin-right: auto;\n    max-width: 600px; font-size: 0.7rem; color: rgba(255,255,255,0.5);\n    letter-spacing: 0.5px; text-align: center; line-height: 1.6; text-shadow: 0 1px 5px rgba(0,0,0,0.8);\n  }\n  .footer-rights { display: block; margin-top: 8px; font-weight: 600; text-transform: uppercase; }\n\n  @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }\n  html { margin-top: 0 !important; }\n  #wpadminbar { display: none !important; }\n<\/style>\n\n<div id=\"holding-page-overlay\">\n  \n  <video class=\"bg-video\" autoplay muted loop playsinline>\n    <source src=\"https:\/\/benjamingriffin.com\/wp-content\/uploads\/2026\/04\/MobileThemeNew.mp4\" type=\"video\/mp4\" media=\"(max-width: 768px)\">\n    <source src=\"https:\/\/benjamingriffin.com\/wp-content\/uploads\/2026\/04\/DesktopTheme3.mp4\" type=\"video\/mp4\">\n  <\/video>\n\n  <div class=\"overlay-tint\"><\/div>\n\n  <div class=\"scroll-wrapper\">\n    <div class=\"content-card\" id=\"mainContentCard\">\n      <div class=\"btn-toggle-bg\" onclick=\"toggleCardBg()\" title=\"Clear Background\">&times;<\/div>\n\n      <div id=\"profile-view\">\n        <img decoding=\"async\" src=\"https:\/\/benjamingriffin.com\/wp-content\/uploads\/2026\/04\/BenGriffinProfile.png\" alt=\"Ben Griffin\" class=\"profile-pic\" onclick=\"openLightbox()\" title=\"Click to expand\">\n        \n        <h1 class=\"profile-name\">Ben Griffin<\/h1>\n        <div class=\"profile-headline\">Consumer Affairs, Comms & Financial Services Executive - Enjoying a break before relocating home to Queensland\u2600\ufe0f<\/div>\n        <div class=\"location-text\">&#128205; Melbourne, Victoria Australia<\/div>\n        \n        <a href=\"https:\/\/www.linkedin.com\/in\/benjamincgriffin\/\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"link-btn\">LinkedIn<\/a>\n        <a class=\"link-btn\" onclick=\"openNewsView()\">News links<\/a>\n        <a href=\"https:\/\/vimeo.com\/showcase\/12081240?share=copy&fl=sm&fe=fs\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"link-btn\">Media clips<\/a>\n        <a class=\"link-btn\" onclick=\"openQuotesView()\">Wise sayings<\/a>\n        <a href=\"mailto:info@benjamingriffin.com\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"link-btn\">Contact<\/a>\n\n        <div class=\"tip-container\">\n          <button class=\"tip-toggle\" onclick=\"toggleTip()\">\n            <svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n              <circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle>\n              <line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"><\/line>\n              <line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"><\/line>\n            <\/svg>\n            What is this?\n          <\/button>\n          <div class=\"tip-content\" id=\"tipContent\">\n            This page brings together links relevant to my professional experience and work.<br><br>\n            Like any website, a page like this can make it easier and more effective to communicate with people, alongside your LinkedIn presence and business cards.\n            \n            <blockquote class=\"tip-quote\">\n              \u201cThe single biggest problem in communication is the illusion that it has taken place.\u201d\n              <span>\u2014 George Bernard Shaw<\/span>\n            <\/blockquote>\n          <\/div>\n        <\/div>\n\n      <\/div>\n\n      <div id=\"quotes-view\">\n        <div class=\"view-header\">\n          <button class=\"btn-back\" onclick=\"closeQuotesView()\" title=\"Go Back\">&#8592; Back<\/button>\n        <\/div>\n        \n        <h2 class=\"view-title\">Wise Sayings<\/h2>\n        \n        <div class=\"quote-card\">\n          <div id=\"quote-display\" class=\"quote-text\">Loading...<\/div>\n          <div id=\"quote-author\" class=\"quote-author\">Loading...<\/div>\n        <\/div>\n\n        <div class=\"quote-controls\">\n          <button class=\"nav-btn\" onclick=\"prevQuote()\">&#8592; Prev<\/button>\n          \n          <div class=\"controls-center\">\n            <div id=\"quote-counter\" class=\"quote-counter\">1 \/ 14<\/div>\n            <button class=\"btn-share-discreet\" onclick=\"shareQuote()\" title=\"Share Quote\">\n              <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                <path d=\"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8\"><\/path>\n                <polyline points=\"16 6 12 2 8 6\"><\/polyline>\n                <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"15\"><\/line>\n              <\/svg>\n            <\/button>\n          <\/div>\n          \n          <button class=\"nav-btn\" onclick=\"nextQuote()\">Next &#8594;<\/button>\n        <\/div>\n      <\/div>\n\n      <div id=\"news-view\">\n        <div class=\"view-header\">\n          <button class=\"btn-back\" onclick=\"closeNewsView()\" title=\"Go Back\">&#8592; Back<\/button>\n        <\/div>\n        <h2 class=\"view-title\">In the News<\/h2>\n        <div class=\"news-intro\">News articles raising awareness of consumer issues where I have provided commentary as a spokesperson.<\/div>\n        <div id=\"news-list-container\" class=\"scroll-list\">\n          <\/div>\n      <\/div>\n\n    <\/div>\n\n    <div class=\"footer-copyright\">\n      For professional networking purposes only. Background video content may include attributed third-party material, with all rights remaining to their respective owners. Website design by Ben Griffin, 2026.\n      <span class=\"footer-rights\">ALL RIGHTS RESERVED.<\/span>\n    <\/div>\n  <\/div>\n\n  <div id=\"imageLightbox\" class=\"lightbox-overlay\" onclick=\"closeLightbox(event)\">\n    <span class=\"lightbox-close\" onclick=\"closeLightbox(event)\" title=\"Minimize\">&times;<\/span>\n    <img decoding=\"async\" src=\"https:\/\/benjamingriffin.com\/wp-content\/uploads\/2026\/04\/BenGriffinProfile.png\" alt=\"Ben Griffin Expanded\" class=\"lightbox-img\">\n  <\/div>\n\n<\/div>\n\n<script>\n  \/\/ --- BACKGROUND & LIGHTBOX LOGIC ---\n  function toggleCardBg() { document.getElementById('mainContentCard').classList.toggle('clear-bg'); }\n  function openLightbox() { document.getElementById('imageLightbox').classList.add('active'); }\n  function closeLightbox(e) {\n    if (e.target.id === 'imageLightbox' || e.target.classList.contains('lightbox-close')) {\n      document.getElementById('imageLightbox').classList.remove('active');\n    }\n  }\n\n  \/\/ --- TIP DROPDOWN LOGIC ---\n  function toggleTip() {\n    document.getElementById('tipContent').classList.toggle('active');\n  }\n\n  \/\/ --- QUOTES LOGIC ---\n  let quotesData = [\n    { text: `\u201cThe great enemy of truth is very often not the lie, deliberate, contrived and dishonest, but the myth, persistent, persuasive and unrealistic.\u201d`, author: \"John F. Kennedy, Yale University commencement address, 11 June 1962\" },\n    { text: `\u201cIt usually takes me more than three weeks to prepare a good impromptu speech.\u201d`, author: \"Mark Twain (commonly attributed)\" },\n    { text: `\u201cThe fewer the words, the better the prayer.\u201d`, author: \"Martin Luther\" },\n    { text: `\u201cApathy is one of the characteristic responses of any living organism when it is subjected to stimuli too intense or too complicated to cope with. The cure for apathy is comprehension.\u201d`, author: \"John Dos Passos\" },\n    { text: `\u201cHappiness is that state of consciousness which proceeds from the achievement of one\u2019s values.\u201d`, author: \"Ayn Rand\" },\n    { text: `\u201cFailure is a detour, not a dead-end street.\u201d`, author: \"Zig Ziglar\" },\n    { text: `\u201cNothing is so potent as the silent influence of a good example.\u201d`, author: \"James Kent\" },\n    { text: `\u201cNothing in the world can take the place of persistence.\\nTalent will not, nothing is more common than unsuccessful men with talent.\\nGenius will not, unrewarded genius is almost a proverb.\\nEducation will not, the world is full of educated derelicts.\\nPersistence and determination alone are omnipotent.\\nThe slogan \u2018Press On\u2019 has solved and always will solve the problems of the human race.\u201d`, author: \"Calvin Coolidge\" },\n    { text: `\u201cIt is the mark of an educated mind to be able to entertain a thought without accepting it.\u201d`, author: \"Commonly attributed to Aristotle; exact source uncertain\" },\n    { text: `\u201cThe loudest and most influential voice you hear is your own inner voice, your self-critic. It can work for you or against you, depending on the messages you allow.\u201d`, author: \"Keith Harrell\" },\n    { text: `\u201cThe mundane is to be cherished.\u201d`, author: \"Jenny Holzer, Truisms\" },\n    { text: `\u201cVision without action is a daydream. Action without vision is a nightmare.\u201d`, author: \"Commonly described as a Japanese proverb; exact source uncertain\" },\n    { text: `\u201cWhen I thought I couldn\u2019t go on, I forced myself to keep going. My success is based on persistence, not luck.\u201d`, author: \"Est\u00e9e Lauder\" },\n    { text: `\u201cIt is not the strongest of the species that survive, nor the most intelligent, but the ones most responsive to change.\u201d`, author: \"Commonly attributed to Charles Darwin; attribution disputed\" }\n  ];\n  \n  let currentQuoteIdx = 0;\n\n  function shuffleArray(array) {\n    for (let i = array.length - 1; i > 0; i--) {\n      const j = Math.floor(Math.random() * (i + 1));\n      [array[i], array[j]] = [array[j], array[i]];\n    }\n  }\n\n  shuffleArray(quotesData);\n\n  function openQuotesView() {\n    document.getElementById('profile-view').style.display = 'none';\n    document.getElementById('quotes-view').style.display = 'block';\n    renderQuote();\n  }\n\n  function closeQuotesView() {\n    document.getElementById('quotes-view').style.display = 'none';\n    document.getElementById('profile-view').style.display = 'block';\n  }\n\n  function renderQuote() {\n    const q = quotesData[currentQuoteIdx];\n    document.getElementById('quote-counter').innerText = `${currentQuoteIdx + 1} \/ ${quotesData.length}`;\n    \n    const displayElement = document.getElementById('quote-display');\n    displayElement.style.animation = 'none';\n    displayElement.offsetHeight; \n    displayElement.style.animation = 'fadeIn 0.4s ease-out';\n    displayElement.innerText = q.text;\n\n    const authorElement = document.getElementById('quote-author');\n    authorElement.style.animation = 'none';\n    authorElement.offsetHeight; \n    authorElement.style.animation = 'fadeIn 0.4s ease-out';\n    authorElement.innerText = q.author;\n  }\n\n  function nextQuote() {\n    currentQuoteIdx = (currentQuoteIdx + 1) % quotesData.length;\n    renderQuote();\n  }\n\n  function prevQuote() {\n    currentQuoteIdx = (currentQuoteIdx - 1 + quotesData.length) % quotesData.length;\n    renderQuote();\n  }\n\n  function shareQuote() {\n    const q = quotesData[currentQuoteIdx];\n    const quoteText = `${q.text} ${q.author ? '\u2014 ' + q.author : ''}`;\n    if (navigator.share) {\n      navigator.share({ title: 'Wise Saying', text: quoteText, url: window.location.href }).catch(console.error);\n    } else {\n      navigator.clipboard.writeText(quoteText).then(() => { alert(\"Quote copied to clipboard!\"); });\n    }\n  }\n\n  \/\/ --- NEWS LOGIC ---\n  const newsData = [\n    { title: \"The glossy con that cost one couple $146,000 after they were hoodwinked by a 'slick professional' scam - and how crafty bank bosses got the cash back\", source: \"Daily Mail Australia\", url: \"https:\/\/www.dailymail.co.uk\/news\/article-11661927\/Toowoomba-retirees-conned-sophisticated-scam-Bank-Queensland-reclaims-savings.html\" },\n    { title: \"Aussies warned over 'undercover police' phone call\", source: \"Yahoo Finance Australia\", url: \"https:\/\/au.finance.yahoo.com\/news\/aussies-warned-over-undercover-police-phone-call-002925134.html\" },\n    { title: \"Warning for 150000 bank customers\", source: \"Yahoo Finance Australia\", url: \"https:\/\/au.finance.yahoo.com\/news\/warning-for-150000-bank-customers-231545285.html\" },\n    { title: \"Warning over new $500000 scam\", source: \"Yahoo Finance Australia\", url: \"https:\/\/au.finance.yahoo.com\/news\/warning-over-new-500000-scam-030607561.html\" },\n    { title: \"Great-grandmother loses almost $500k to false AFP scam\", source: \"A Current Affair \/ 9Now\", url: \"https:\/\/9now.nine.com.au\/a-current-affair\/queensland-greatgrandmother-loses-almost-500k-to-false-afp-scam\/38808582-68c1-475a-9729-aa2bfab78ed8\" },\n    { title: \"When Jane got a text from her church pastor, she quickly acted on his request, then she learned the truth\", source: \"7NEWS\", url: \"https:\/\/7news.com.au\/business\/money\/when-jane-got-a-text-from-her-church-pastor-she-quickly-acted-on-his-request-then-she-learned-the-truth-c-12564397\" },\n    { title: \"An elderly Queensland man thought he found the love of his life, but was everything as it seemed?\", source: \"7NEWS\", url: \"https:\/\/7news.com.au\/news\/cyber-security\/an-elderly-queensland-man-thought-he-found-the-love-of-his-life-but-was-everything-as-it-seemed-c-9627848\" },\n    { title: \"Online catfish busted attempting to scam $20000 from 80yo Queensland man\", source: \"news.com.au\", url: \"https:\/\/www.news.com.au\/technology\/online\/internet\/online-catfish-thwarted-trying-to-scam-20000-from-80yo-queensland-man\/news-story\/f1262364fad08bef04526a1da39702ca\" },\n    { title: \"Older man the latest victim in dating scam, days out from Valentine\u2019s Day\", source: \"HelloCare\", url: \"https:\/\/hellocare.com.au\/older-man-the-latest-victim-in-dating-scam-days-out-from-valentines-day\/\" },\n    { title: \"Bank of Queensland issues warning for scam targeting seniors\", source: \"Australian Seniors News\", url: \"https:\/\/australianseniorsnews.com.au\/news\/bank-of-queensland-issues-warning-for-scam-targeting-seniors\/\" },\n    { title: \"BOQ Warns Against Impersonation Scams\", source: \"Redland Bayside News\", url: \"https:\/\/redlandbaysidenews.com.au\/boq-scam-alert\/\" },\n    { title: \"Toowoomba retirees become victims of professional banking scam, money recovered by Bank of Queensland\", source: \"The Chronicle\", url: \"https:\/\/www.thechronicle.com.au\/news\/toowoomba-retirees-become-victims-of-professional-banking-scam-money-recovered-by-bank-of-queensland\/news-story\/54f5982413ed98aa73f54eeae88938ac\" }\n  ];\n\n  const newsListContainer = document.getElementById('news-list-container');\n  newsData.forEach(item => {\n    const a = document.createElement('a');\n    a.href = item.url;\n    a.target = '_blank';\n    a.rel = 'noopener noreferrer';\n    a.className = 'list-item';\n    a.innerHTML = `\n      <div class=\"news-source\">${item.source}<\/div>\n      <div class=\"news-title\">${item.title}<\/div>\n    `;\n    newsListContainer.appendChild(a);\n  });\n\n  function openNewsView() {\n    document.getElementById('profile-view').style.display = 'none';\n    document.getElementById('news-view').style.display = 'block';\n  }\n\n  function closeNewsView() {\n    document.getElementById('news-view').style.display = 'none';\n    document.getElementById('profile-view').style.display = 'block';\n  }\n<\/script>\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>&times; Ben Griffin Consumer Affairs, Comms &#038; Financial Services Executive &#8211; Enjoying a break before relocating home to Queensland\u2600\ufe0f &#128205; Melbourne, Victoria Australia LinkedIn News links Media clips Wise sayings Contact What is this? This page brings together links relevant to my professional experience and work. Like any website, a page like this can make [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-37","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/benjamingriffin.com\/index.php?rest_route=\/wp\/v2\/pages\/37","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/benjamingriffin.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/benjamingriffin.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/benjamingriffin.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/benjamingriffin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=37"}],"version-history":[{"count":78,"href":"https:\/\/benjamingriffin.com\/index.php?rest_route=\/wp\/v2\/pages\/37\/revisions"}],"predecessor-version":[{"id":452,"href":"https:\/\/benjamingriffin.com\/index.php?rest_route=\/wp\/v2\/pages\/37\/revisions\/452"}],"wp:attachment":[{"href":"https:\/\/benjamingriffin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}