{"id":27174,"date":"2025-10-07T19:19:02","date_gmt":"2025-10-07T23:19:02","guid":{"rendered":""},"modified":"2026-03-10T08:14:25","modified_gmt":"2026-03-10T12:14:25","slug":"jeremiah-deacon","status":"publish","type":"page","link":"https:\/\/havenrpg.net\/newsite\/characters\/jeremiah-deacon\/","title":{"rendered":"Jeremiah Deacon"},"content":{"rendered":"\n<!-- Character Page HTML for WordPress -->\n<style>\n    \/* Full page background *\/\n    .rpg-background-overlay {\n        position: fixed;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        z-index: -1;\n        background-image: url('I'm a recently returned native, just back from the West Coast, where I got a Ph.D in Computer Science at Caltech. I work in cybersecurity for a private think-tank in Boston. I'm into coffee, good food, and blonde biker chicks. I am not into drama and most forms of country music.');\n        background-size: cover;\n        background-position: center;\n        background-attachment: fixed;\n        background-repeat: no-repeat;\n    }\n    \n    \/* Character page wrapper - transparent, just for positioning *\/\n    .rpg-character-page {\n        position: relative;\n        width: 100%;\n        margin-top: -180px;\n        margin-bottom: -180px;\n        padding: 90px 0;\n        background: transparent;\n    }\n    \n    \/* The black semi-transparent container - only this has the black background *\/\n    .rpg-character-inner {\n        max-width: 1200px;\n        margin: 0 auto;\n        background-color: rgba(0, 0, 0, 0.8);\n        box-shadow: 0 0 50px rgba(0, 0, 0, 0.8);\n    }\n    \n    .rpg-character-container {\n        padding: 40px;\n        position: relative;\n    }\n    \n    \/* Header styling *\/\n    .rpg-header {\n        text-align: center;\n        margin-bottom: 30px;\n        color: white;\n    }\n    \n    .rpg-character-name {\n        font-size: 48px;\n        font-weight: 300;\n        letter-spacing: 3px;\n        margin-bottom: 10px;\n        font-family: 'Georgia', serif;\n        text-transform: uppercase;\n        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);\n        color: white;\n    }\n    \n    .rpg-follower-count {\n        font-size: 18px;\n        color: #ccc;\n        margin-bottom: 30px;\n    }\n    \n    .rpg-follower-count span {\n        color: #ff6b6b;\n        font-weight: bold;\n    }\n    \n    \/* Content section *\/\n    .rpg-content-section {\n        display: flex;\n        gap: 40px;\n        margin-bottom: 40px;\n        align-items: flex-start;\n    }\n    \n    \/* Image carousel *\/\n    .rpg-image-carousel-container {\n        flex: 0 0 400px;\n        position: relative;\n    }\n    \n    .rpg-faction-society {\n        margin-top: 20px;\n        padding: 15px;\n        background: rgba(0, 0, 0, 0.5);\n        border-radius: 10px;\n        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);\n    }\n    \n    .rpg-faction-society p {\n        margin-bottom: 10px;\n        color: #ddd;\n        font-size: 15px;\n    }\n    \n    .rpg-faction-society p:last-child {\n        margin-bottom: 0;\n    }\n    \n    .rpg-faction-society strong {\n        color: white;\n        font-weight: 600;\n    }\n    \n    .rpg-faction-society a {\n        color: #ff6b6b;\n        text-decoration: none;\n        transition: color 0.3s;\n    }\n    \n    .rpg-faction-society a:hover {\n        color: #ff9999;\n        text-decoration: underline;\n    }\n    \n    .rpg-image-carousel {\n        position: relative;\n        width: 100%;\n        height: 600px;\n        overflow: hidden;\n        border-radius: 10px;\n        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);\n        background: #000;\n    }\n    \n    .rpg-carousel-image {\n        position: absolute;\n        width: 100%;\n        height: 100%;\n        object-fit: cover;\n        opacity: 0;\n        transition: opacity 0.5s ease-in-out;\n    }\n    \n    .rpg-carousel-image.active {\n        opacity: 1;\n    }\n    \n    .rpg-carousel-controls {\n        position: absolute;\n        bottom: 20px;\n        left: 50%;\n        transform: translateX(-50%);\n        display: flex;\n        gap: 10px;\n        z-index: 10;\n    }\n    \n    .rpg-carousel-dot {\n        width: 12px;\n        height: 12px;\n        border-radius: 50%;\n        background-color: rgba(255, 255, 255, 0.5);\n        cursor: pointer;\n        transition: background-color 0.3s;\n        border: none;\n        padding: 0;\n    }\n    \n    .rpg-carousel-dot.active {\n        background-color: white;\n    }\n    \n    .rpg-carousel-nav {\n        position: absolute;\n        top: 50%;\n        transform: translateY(-50%);\n        background-color: rgba(0, 0, 0, 0.5);\n        color: white;\n        border: none;\n        padding: 10px 15px;\n        cursor: pointer;\n        font-size: 24px;\n        transition: background-color 0.3s;\n        z-index: 10;\n        line-height: 1;\n    }\n    \n    .rpg-carousel-nav:hover {\n        background-color: rgba(0, 0, 0, 0.8);\n    }\n    \n    .rpg-prev {\n        left: 10px;\n    }\n    \n    .rpg-next {\n        right: 10px;\n    }\n    \n    \/* Text blurb with tabs *\/\n    .rpg-text-blurb {\n        flex: 1;\n        color: #ddd;\n        line-height: 1.8;\n        font-size: 16px;\n    }\n    \n    .rpg-text-blurb h3 {\n        color: white;\n        margin-bottom: 20px;\n        font-size: 28px;\n        font-weight: 300;\n        letter-spacing: 1px;\n    }\n    \n    .rpg-text-blurb p {\n        margin-bottom: 15px;\n        color: #ddd;\n    }\n    \n    .rpg-text-blurb a {\n        color: #ff6b6b;\n        text-decoration: none;\n        transition: color 0.3s;\n    }\n    \n    .rpg-text-blurb a:hover {\n        color: #ff9999;\n        text-decoration: underline;\n    }\n    \n    .rpg-text-blurb strong {\n        color: white;\n    }\n    \n    \/* Tab styles *\/\n    .rpg-tabs {\n        width: 100%;\n    }\n    \n    .rpg-tab-buttons {\n        display: flex;\n        border-bottom: 2px solid #444;\n        margin-bottom: 20px;\n        gap: 10px;\n    }\n    \n    .rpg-tab-button {\n        background: transparent;\n        border: none;\n        color: #999;\n        padding: 12px 24px;\n        font-size: 16px;\n        cursor: pointer;\n        position: relative;\n        transition: color 0.3s;\n        font-weight: 300;\n        letter-spacing: 0.5px;\n    }\n    \n    .rpg-tab-button:hover {\n        color: #ccc;\n    }\n    \n    .rpg-tab-button.active {\n        color: white;\n    }\n    \n    .rpg-tab-button.active::after {\n        content: '';\n        position: absolute;\n        bottom: -2px;\n        left: 0;\n        right: 0;\n        height: 2px;\n        background: #ff6b6b;\n    }\n    \n    .rpg-tab-content {\n        display: none;\n        animation: fadeIn 0.3s;\n    }\n    \n    .rpg-tab-content.active {\n        display: block;\n    }\n    \n    .rpg-tab-content.profile-tab {\n        text-align: justify;\n    }\n    \n    .rpg-tab-content.photo-tab {\n        font-family: 'Courier New', Courier, monospace;\n        font-size: 12px;\n        line-height: 1.4;\n        white-space: pre;\n        overflow-x: auto;\n        background: rgba(0, 0, 0, 0.3);\n        padding: 20px;\n        border-radius: 5px;\n        color: #ddd;\n    }\n    \n    @keyframes fadeIn {\n        from { opacity: 0; }\n        to { opacity: 1; }\n    }\n    \n    \/* Video carousel *\/\n    .rpg-video-section {\n        margin-top: 40px;\n    }\n    \n    .rpg-video-section h3 {\n        color: white;\n        text-align: center;\n        margin-bottom: 30px;\n        font-size: 28px;\n        font-weight: 300;\n        letter-spacing: 1px;\n    }\n    \n    .rpg-video-carousel {\n        position: relative;\n        width: 100%;\n        height: 500px;\n        overflow: hidden;\n        border-radius: 10px;\n        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);\n        background: #000;\n    }\n    \n    .rpg-video-item {\n        position: absolute;\n        width: 100%;\n        height: 100%;\n        opacity: 0;\n        transition: opacity 0.5s ease-in-out;\n        pointer-events: none;\n    }\n    \n    .rpg-video-item.active {\n        opacity: 1;\n        pointer-events: auto;\n    }\n    \n    .rpg-video-placeholder {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        height: 100%;\n        color: #666;\n        font-size: 18px;\n    }\n    \n    .rpg-video-item iframe {\n        width: 100%;\n        height: 100%;\n        border: none;\n        border-radius: 10px;\n    }\n    \n    \/* Force visibility for our iframes *\/\n    .rpg-protected-iframe {\n        display: block !important;\n        visibility: visible !important;\n        opacity: 1 !important;\n    }\n    \n    \/* Responsive *\/\n    @media (max-width: 1300px) {\n        .rpg-character-inner {\n            margin: 0 20px;\n        }\n    }\n    \n    @media (max-width: 768px) {\n        .rpg-character-container {\n            padding: 20px;\n        }\n        \n        .rpg-content-section {\n            flex-direction: column;\n        }\n        \n        .rpg-image-carousel-container {\n            flex: 1;\n            width: 100%;\n            max-width: 100%;\n        }\n        \n        .rpg-character-name {\n            font-size: 36px;\n        }\n        \n        .rpg-image-carousel {\n            height: 400px;\n        }\n        \n        .rpg-video-carousel {\n            height: 300px;\n        }\n        \n        .rpg-character-inner {\n            margin: 0 10px;\n        }\n        \n        .rpg-tab-button {\n            padding: 10px 16px;\n            font-size: 14px;\n        }\n        \n        .rpg-tab-content.photo-tab {\n            font-size: 10px;\n            padding: 10px;\n        }\n        \n        .rpg-faction-society {\n            margin-bottom: 20px;\n        }\n    }\n<\/style>\n\n<!-- Background image element -->\n<div class=\"rpg-background-overlay\"><\/div>\n\n<!-- Main content -->\n<div class=\"rpg-character-page\">\n    <div class=\"rpg-character-inner\">\n        <div class=\"rpg-character-container\">\n            <div class=\"rpg-header\">\n                <h1 class=\"rpg-character-name\">Jeremiah Deacon<\/h1>\n                <div class=\"rpg-follower-count\">@<span style=\"color:#585858\"><span style=\"color:#626262\"><span style=\"color:#585858\"><span style=\"color:#5f5f00\"><span style=\"color:#626262\"><span style=\"color:#767676\"><span style=\"color:#808080\"><span style=\"color:#6c6c6c\"><span style=\"color:#808080\"><span style=\"color:#949494\"><span style=\"color:#767676\">C<span style=\"color:#878700\"><span style=\"color:#8a8a8a\"><span style=\"color:#9e9e9e\"><span style=\"color:#afaf87\"><span style=\"color:#a8a8a8\">o<span style=\"color:#b2b2b2\"><span style=\"color:#c6c6c6\"><span style=\"color:#b2b2b2\"><span style=\"color:#c6c6c6\"><span style=\"color:#d0d0d0\"><span style=\"color:#afaf87\">u<span style=\"color:#d0d0d0\"><span style=\"color:#dadada\"><span style=\"color:#c6c6c6\"><span style=\"color:#afaf87\"><span style=\"color:#d0d0d0\">n<span style=\"color:#dadada\"><span style=\"color:#e4e4e4\"><span style=\"color:#e4e4e4\"><span style=\"color:#dadada\"><span style=\"color:#d0d0d0\">t<span style=\"color:#afaf87\"><span style=\"color:#c6c6c6\"><span style=\"color:#dadada\"><span style=\"color:#d0d0d0\"><span style=\"color:#afaf87\">_<span style=\"color:#d0d0d0\"><span style=\"color:#c6c6c6\"><span style=\"color:#b2b2b2\"><span style=\"color:#c6c6c6\"><span style=\"color:#b2b2b2\"><span style=\"color:#a8a8a8\">Z<span style=\"color:#afaf87\"><span style=\"color:#9e9e9e\"><span style=\"color:#8a8a8a\"><span style=\"color:#878700\"><span style=\"color:#767676\">e<span style=\"color:#949494\"><span style=\"color:#808080\"><span style=\"color:#6c6c6c\"><span style=\"color:#808080\"><span style=\"color:#767676\">r<span style=\"color:#626262\"><span style=\"color:#5f5f00\"><span style=\"color:#585858\"><span style=\"color:#626262\"><span style=\"color:#585858\">o<span style=\"color:#c0c0c0\"><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span> | Followers: <span>1,030<\/span><\/div>\n            <\/div>\n            \n            <div class=\"rpg-content-section\">\n                <div class=\"rpg-image-carousel-container\">\n                    <div class=\"rpg-image-carousel\" id=\"rpgImageCarousel\">\n                        <img decoding=\"async\" src=\"https:\/\/i.imgur.com\/Yts3bdS.jpeg\" class=\"rpg-carousel-image active\" alt=\"Character 1\">\n                        <img decoding=\"async\" src=\"https:\/\/i.imgur.com\/iBec9so.jpeg\" class=\"rpg-carousel-image\" alt=\"Character 2\">\n                        <img decoding=\"async\" src=\"https:\/\/i.imgur.com\/8GUNkrn.jpeg\" class=\"rpg-carousel-image\" alt=\"Character 3\">\n                        \n                        <button class=\"rpg-carousel-nav rpg-prev\" id=\"rpgPrevImage\">\u2039<\/button>\n                        <button class=\"rpg-carousel-nav rpg-next\" id=\"rpgNextImage\">\u203a<\/button>\n                        \n                        <div class=\"rpg-carousel-controls\">\n                            <button class=\"rpg-carousel-dot active\" data-index=\"0\"><\/button>\n                            <button class=\"rpg-carousel-dot\" data-index=\"1\"><\/button>\n                            <button class=\"rpg-carousel-dot\" data-index=\"2\"><\/button>\n                        <\/div>\n                    <\/div>\n                    \n                    \n                <\/div>\n                \n                <div class=\"rpg-text-blurb\">\n                    <div class=\"rpg-tabs\">\n                        <div class=\"rpg-tab-buttons\">\n                            <button class=\"rpg-tab-button active\" data-tab=\"profile\">Profile<\/button>\n                            <button class=\"rpg-tab-button\" data-tab=\"photo\">Photo<\/button>\n                        <\/div>\n                        \n                        <div id=\"profile\" class=\"rpg-tab-content profile-tab active\">\n                            <h3>About Me<\/h3>\n                            <p><span style=\"color:#005faf\">Local, <span style=\"color:#005fd7\">recentl<span style=\"color:#005fff\">y retur<span style=\"color:#005faf\">ned from<span style=\"color:#0087d7\"> the We<span style=\"color:#00afff\">st Coas<span style=\"color:#0087d7\">t. I ha<span style=\"color:#00afff\">ve a Ph.<span style=\"color:#5fafd7\">D in Co<span style=\"color:#5fafd7\">mputer <span style=\"color:#00afff\">Science <span style=\"color:#5fafd7\">from Ca<span style=\"color:#5fafd7\">ltech, <span style=\"color:#5fafd7\">and wor<span style=\"color:#00afff\">k in cyb<span style=\"color:#87d7ff\">ersecur<span style=\"color:#5fafd7\">ity. I <span style=\"color:#87d7ff\">like co<span style=\"color:#5fd7d7\">ffee, an<span style=\"color:#87d7ff\">d I rea<span style=\"color:#87d7ff\">d a lot<span style=\"color:#5fd7d7\">. I also<span style=\"color:#87d7ff\"> enjoy <span style=\"color:#5fafd7\">a varie<span style=\"color:#87d7ff\">ty of p<span style=\"color:#00afff\">odcasts <span style=\"color:#5fafd7\">and mus<span style=\"color:#5fafd7\">ic (mos<span style=\"color:#5fafd7\">tly pun<span style=\"color:#00afff\">k from t<span style=\"color:#5fafd7\">he &#8217;70s<span style=\"color:#5fafd7\"> and &#8216;8<span style=\"color:#00afff\">0s). I d<span style=\"color:#0087d7\">o not l<span style=\"color:#00afff\">ike dra<span style=\"color:#0087d7\">ma, ass<span style=\"color:#005faf\">holes, a<span style=\"color:#005fff\">nd most<span style=\"color:#005fd7\"> countr<span style=\"color:#005faf\">y music.<span style=\"color:#c0c0c0\"><br><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/p>\n                            \n                            <h3>Quote<\/h3>\n                            <p><span style=\"color:#87d7ff\">What y<span style=\"color:#87ffff\">ou car<span style=\"color:#afffff\">ry in <span style=\"color:#d7ffff\">your cu<span style=\"color:#ffffff\">p is w<span style=\"color:#ffffff\">hat wi<span style=\"color:#ffffff\">ll spi<span style=\"color:#ffffff\">ll out <span style=\"color:#d7ffff\">when l<span style=\"color:#afffff\">ife bu<span style=\"color:#87ffff\">mps in<span style=\"color:#87d7ff\">to you.<span style=\"color:#c0c0c0\"><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/span><\/p>\n                            \n                            <h3>Joke<\/h3>\n                            <p>Why did the Swedish navy put barcodes on their ships? So that when they return to port, they can Scandinavian.  <\/p>\n                        <\/div>\n                        \n                        <div id=\"photo\" class=\"rpg-tab-content photo-tab\"><span style=\"color:#008080\"> _____________________________________________________________________________\n<\/span><span style=\"color:#008080\">| <\/span>Jeremiah is standing here holding the camera out in an obvious selfie, as   <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>he smiles.                                                                  <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>This is a tall, rangy man with short brown hair in his late twenties.       <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>He is 6&#8217;1&#8243; and has lightly tanned skin, brown hair, and green eyes.         <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>You can see his face, neck, and hands.                                      <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>He is slender, with the lean-muscled build common to swimmers or distance   <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>runners. His brown hair is worn short and is artfully mussed. Dark green    <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>eyes with thick lashes and arched brows frame a straight nose. He has       <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>narrow, slightly downturned lips, and his smile reveals good dental work.   <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span><u>He is using:<\/u>                                                                <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>(<span style=\"color:#008080\">D<\/span>) a dark, obsidian-glazed mug of the Inkwell house brew                   <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>(<span style=\"color:#008080\">E<\/span>) a unmarked laptop computer in slate gray                                <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>(<span style=\"color:#008080\">D<\/span>) a tailored black double-breasted blazer with black buttons              <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>    a short-sleeved lavender button-down shirt                              <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>    a pair of relaxed-fit dark blue jeans                                   <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>    a pair of Merrell SpeedARC hiking shoes                                 <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">| <\/span>    a black Casio G-Shock wristwatch                                        <span style=\"color:#008080\">| <\/span>\n<span style=\"color:#008080\">|_____________________________________________________________________________|\n<\/span><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            \n            <div class=\"rpg-video-section\">\n                <div class=\"rpg-video-carousel\" id=\"rpgVideoCarousel\">\n                    <div class=\"rpg-video-placeholder\">No videos available<\/div>\n                    \n                    <button class=\"rpg-carousel-nav rpg-prev\" id=\"rpgPrevVideo\">\u2039<\/button>\n                    <button class=\"rpg-carousel-nav rpg-next\" id=\"rpgNextVideo\">\u203a<\/button>\n                    \n                    <div class=\"rpg-carousel-controls\" style=\"bottom: 30px;\">\n                        <!-- No videos -->\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\njQuery(document).ready(function($) {\n    'use strict';\n    \n    let currentImageIndex = 0;\n    let currentVideoIndex = 0;\n    let imageAutoAdvance;\n    let videosLoaded = false;\n    let protectionActive = false;\n    \n    \/\/ Tab switching functionality\n    $('.rpg-tab-button').on('click', function() {\n        var tabName = $(this).data('tab');\n        \n        \/\/ Hide all tab contents\n        $('.rpg-tab-content').removeClass('active');\n        \n        \/\/ Remove active class from all buttons\n        $('.rpg-tab-button').removeClass('active');\n        \n        \/\/ Show the selected tab and mark button as active\n        $('#' + tabName).addClass('active');\n        $(this).addClass('active');\n    });\n    \n    \/\/ Function to create and insert iframe\n    function createIframe(videoId) {\n        const iframe = document.createElement('iframe');\n        iframe.src = 'https:\/\/www.youtube.com\/embed\/' + videoId;\n        iframe.setAttribute('allowfullscreen', 'true');\n        iframe.setAttribute('frameborder', '0');\n        iframe.setAttribute('allow', 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture');\n        iframe.className = 'rpg-protected-iframe';\n        iframe.style.cssText = 'width: 100%; height: 100%; border: none; border-radius: 10px;';\n        return iframe;\n    }\n    \n    \/\/ Function to load video iframes\n    function loadVideoIframes() {\n        if (videosLoaded) return;\n        \n        console.log('RPG: Loading video iframes...');\n        \n        $('.rpg-video-item').each(function() {\n            const $item = $(this);\n            const videoId = $item.data('video-id');\n            \n            if (videoId && !$item.find('iframe').length) {\n                $item.find('.rpg-video-placeholder').remove();\n                const iframe = createIframe(videoId);\n                $item.append(iframe);\n            }\n        });\n        \n        videosLoaded = true;\n        \n        \/\/ Start protection after a short delay\n        setTimeout(startProtection, 500);\n    }\n    \n    \/\/ Smart protection system\n    function startProtection() {\n        if (protectionActive) return;\n        protectionActive = true;\n        \n        \/\/ Check every second for hidden iframes\n        setInterval(function() {\n            $('.rpg-protected-iframe').each(function() {\n                const $iframe = $(this);\n                const computedStyle = window.getComputedStyle(this);\n                \n                \/\/ Only fix if actually hidden\n                if (computedStyle.display === 'none' || \n                    computedStyle.visibility === 'hidden' || \n                    computedStyle.opacity === '0') {\n                    \n                    console.log('RPG: Fixing hidden iframe');\n                    $iframe.css({\n                        'display': 'block',\n                        'visibility': 'visible',\n                        'opacity': '1'\n                    });\n                }\n            });\n        }, 1000);\n    }\n    \n    \/\/ Image carousel functions\n    function changeImage(direction) {\n        const images = $('#rpgImageCarousel .rpg-carousel-image');\n        const dots = $('.rpg-image-carousel-container .rpg-carousel-dot');\n        \n        images.eq(currentImageIndex).removeClass('active');\n        dots.eq(currentImageIndex).removeClass('active');\n        \n        currentImageIndex = (currentImageIndex + direction + images.length) % images.length;\n        \n        images.eq(currentImageIndex).addClass('active');\n        dots.eq(currentImageIndex).addClass('active');\n    }\n    \n    function setCurrentImage(index) {\n        const images = $('#rpgImageCarousel .rpg-carousel-image');\n        const dots = $('.rpg-image-carousel-container .rpg-carousel-dot');\n        \n        images.eq(currentImageIndex).removeClass('active');\n        dots.eq(currentImageIndex).removeClass('active');\n        \n        currentImageIndex = index;\n        \n        images.eq(currentImageIndex).addClass('active');\n        dots.eq(currentImageIndex).addClass('active');\n    }\n    \n    \/\/ Video carousel functions\n    function changeVideo(direction) {\n        const videos = $('#rpgVideoCarousel .rpg-video-item');\n        const dots = $('.rpg-video-section .rpg-carousel-dot');\n        \n        videos.eq(currentVideoIndex).removeClass('active');\n        dots.eq(currentVideoIndex).removeClass('active');\n        \n        currentVideoIndex = (currentVideoIndex + direction + videos.length) % videos.length;\n        \n        videos.eq(currentVideoIndex).addClass('active');\n        dots.eq(currentVideoIndex).addClass('active');\n    }\n    \n    function setCurrentVideo(index) {\n        const videos = $('#rpgVideoCarousel .rpg-video-item');\n        const dots = $('.rpg-video-section .rpg-carousel-dot');\n        \n        videos.eq(currentVideoIndex).removeClass('active');\n        dots.eq(currentVideoIndex).removeClass('active');\n        \n        currentVideoIndex = index;\n        \n        videos.eq(currentVideoIndex).addClass('active');\n        dots.eq(currentVideoIndex).addClass('active');\n    }\n    \n    \/\/ Event handlers\n    $('#rpgPrevImage').on('click', function() {\n        changeImage(-1);\n        clearInterval(imageAutoAdvance);\n    });\n    \n    $('#rpgNextImage').on('click', function() {\n        changeImage(1);\n        clearInterval(imageAutoAdvance);\n    });\n    \n    $('.rpg-image-carousel-container .rpg-carousel-dot').on('click', function() {\n        const index = parseInt($(this).data('index'));\n        setCurrentImage(index);\n        clearInterval(imageAutoAdvance);\n    });\n    \n    $('#rpgPrevVideo').on('click', function() {\n        changeVideo(-1);\n    });\n    \n    $('#rpgNextVideo').on('click', function() {\n        changeVideo(1);\n    });\n    \n    $('.rpg-video-section .rpg-carousel-dot').on('click', function() {\n        const index = parseInt($(this).data('video-index'));\n        setCurrentVideo(index);\n    });\n    \n    \/\/ Auto-advance image carousel only\n    imageAutoAdvance = setInterval(function() {\n        changeImage(1);\n    }, 5000);\n    \n    \/\/ Load videos after 2 second delay\n    setTimeout(loadVideoIframes, 2000);\n});\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Jeremiah Deacon @Count_Zero | Followers: 1,030 \u2039 \u203a Profile Photo About Me Local, recently returned from the West Coast. I have a Ph.D in Computer Science from Caltech, and work in cybersecurity. I like coffee, and I read a lot. I also enjoy a variety&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":16918,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"class_list":["post-27174","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/havenrpg.net\/newsite\/wp-json\/wp\/v2\/pages\/27174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/havenrpg.net\/newsite\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/havenrpg.net\/newsite\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/havenrpg.net\/newsite\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/havenrpg.net\/newsite\/wp-json\/wp\/v2\/comments?post=27174"}],"version-history":[{"count":0,"href":"https:\/\/havenrpg.net\/newsite\/wp-json\/wp\/v2\/pages\/27174\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/havenrpg.net\/newsite\/wp-json\/wp\/v2\/pages\/16918"}],"wp:attachment":[{"href":"https:\/\/havenrpg.net\/newsite\/wp-json\/wp\/v2\/media?parent=27174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}