{"lang":"en","logoFile":"Colin-Price-Coin-Animated-1000x1000-v2.gif","mobileLogoFile":"blank.png","favicon":"colin-price-favicon.png","browserTitle":"COLIN PRICE - COMMERCIAL FOOD PHOTOGRAPHER LA|SF|NY","metaDescription":"Colin Price is a commercial and editorial food photographer working in Los Angeles, San Francisco, New York, and Chicago.","metaKeywords":"Los Angeles Food Photographer Lifestyle Commercial Editorial Photography San Francisco New York Chicago, LA SF NY","cdnSslUri":"/pf-media","redirects":[],"blogSectionId":"28","advancedSeo":false,"globalBrowserTitle":true,"facebookUseMeta":false,"enablePinterest":false,"siteHead":"\n<style>\n/* Ensure no unwanted cursor appears */\nbody, .SiteView, .SiteView * {\n    cursor: default !important;\n    user-select: none !important;\n}\n\n/* Ensure menu overlay works correctly */\n[data-identity=\"menu\"] {\n    position: relative;\n    z-index: 200; /* Keep overlay functional */\n}\n\n/* Ensure the desktop logo is not affected */\n.desktop-logo {\n    position: relative;\n    z-index: 300; /* Ensure it remains above everything */\n}\n\n/* Mobile menu overlay images */\n.mobile-logo-top {\n    display: none;\n    transition: transform 0.5s ease-in-out, opacity 0.3s ease-in-out;\n}\n\n.mobile-logo-bottom {\n    display: none;\n    transition: transform 0.5s ease-in-out, opacity 0.3s ease-in-out;\n}\n\n/* Ensure mobile menu image stays inside the menu */\n@media screen and (max-width: 767px) {\n    .mobile-logo-top {\n        display: block;\n        position: absolute;\n        top: 0;\n        width: 100%;\n        height: 100px;\n        z-index: 100;\n        background-image: url('/pf-media/colin-mobile-top.png');\n        background-size: contain;\n        background-repeat: no-repeat;\n    }\n\n    .mobile-logo-bottom {\n        display: block;\n        position: absolute;\n        bottom: 0;\n        width: 100%;\n        height: 100px;\n        z-index: 100;\n        background-image: url('/pf-media/price-mobile-bottom.png');\n        background-size: contain;\n        background-repeat: no-repeat;\n        background-position: bottom;\n    }\n\n    /* Updated: Add left and right padding to menu image */\n    .mobile-menu-image {\n        display: block;\n        position: absolute;\n        top: 0;\n        width: calc(100% - 40px); /* Adds 20px padding on each side */\n        height: 100px;\n        z-index: 105; /* Ensure it's above other elements but below overlay */\n        background-image: url('/pf-media/colin-dot-price.png');\n        background-size: contain;\n        background-repeat: no-repeat;\n        background-position: center;\n        margin: 0 auto; /* Centering with the new padding */\n        left: 20px; /* Ensures correct positioning */\n        right: 20px;\n    }\n}\n\n/* Move overlays off-screen when menu is active or on contact page */\n.overlay-hidden .mobile-logo-top, .contact-page .mobile-logo-top {\n    transform: translateY(-120%);\n    opacity: 0;\n    transition: transform 0.3s ease-in-out, opacity 0.2s ease-in-out;\n}\n\n.overlay-hidden .mobile-logo-bottom, .contact-page .mobile-logo-bottom {\n    transform: translateY(120%);\n    opacity: 0;\n    transition: transform 0.3s ease-in-out, opacity 0.2s ease-in-out;\n}\n</style>\n\n<script>\n(function(i,s,o,g,r,a,m){\n    i[\"GoogleAnalyticsObject\"]=r;\n    i[r]=i[r]||function(){\n        (i[r].q=i[r].q||[]).push(arguments)\n    }, i[r].l=1*new Date();\n    a=s.createElement(o),\n    m=s.getElementsByTagName(o)[0];\n    a.async=1;\n    a.src=g;\n    m.parentNode.insertBefore(a,m)\n})(window,document,\"script\",\"https://google-analytics.com/analytics.js\",\"ga\");\n\nga(\"create\", \"UA-38432683-1\", \"auto\");\nga('require', 'ipMeta', { serviceProvider: 'dimension1', networkDomain: 'dimension2', networkType: 'dimension3' });\nga('ipMeta:loadNetworkFields');\nga('send', 'pageview');\n</script>\n\n<!-- IpMeta must be included after Google Analytics -->\n<script async src=\"https://ipmeta.io/plugin.js\"></script>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function() {\n    function waitForMenu() {\n        const menu = document.querySelector('[data-identity=\"menu\"]');\n        const body = document.body;\n        const logoTop = document.querySelector(\".mobile-logo-top\");\n        const logoBottom = document.querySelector(\".mobile-logo-bottom\");\n\n        if (!menu || !logoTop || !logoBottom) {\n            console.log(\"Waiting for menu to load...\");\n            setTimeout(waitForMenu, 500);\n            return;\n        }\n\n        console.log(\"Menu found, starting observer...\");\n\n        function updateOverlayState(entries) {\n            const menuVisible = entries[0].isIntersecting;\n            console.log(\"Menu state:\", menuVisible ? \"Open\" : \"Closed\");\n\n            if (menuVisible) {\n                body.classList.add(\"overlay-hidden\"); // Slide overlays off-screen\n            } else {\n                body.classList.remove(\"overlay-hidden\"); // Bring overlays back faster\n            }\n        }\n\n        // IntersectionObserver watches when the menu enters/exits the viewport\n        const observer = new IntersectionObserver(updateOverlayState, { threshold: 0.1 });\n        observer.observe(menu);\n\n        console.log(\"Menu observer started.\");\n    }\n\n    waitForMenu();\n\n    // Ensure menu image is inside the menu\n    function insertMenuImage() {\n        const menu = document.querySelector('[data-identity=\"menu\"]');\n        if (!menu) {\n            setTimeout(insertMenuImage, 500);\n            return;\n        }\n\n        if (!document.querySelector('.mobile-menu-image')) {\n            console.log(\"Inserting mobile menu image...\");\n            let imgDiv = document.createElement(\"div\");\n            imgDiv.className = \"mobile-menu-image\";\n            menu.insertBefore(imgDiv, menu.firstChild);\n        }\n    }\n\n    insertMenuImage();\n\n    // Hide overlays if on the contact page, update dynamically\n    function checkPage() {\n        console.log(\"Current Path:\", window.location.pathname);\n\n        if (window.location.pathname === \"/contact/1\") {\n            document.body.classList.add(\"contact-page\");\n            console.log(\"Hiding overlays on contact page.\");\n        } else {\n            document.body.classList.remove(\"contact-page\");\n            console.log(\"Restoring overlays on other pages.\");\n        }\n    }\n\n    // Ensure images are visible on page load\n    window.addEventListener(\"load\", function() {\n        console.log(\"Ensuring all images are visible.\");\n        document.querySelectorAll(\"img\").forEach(img => {\n            img.style.display = \"block\";\n            img.style.opacity = \"1\";\n            img.style.visibility = \"visible\";\n        });\n    });\n\n    // Run check on page load\n    checkPage();\n\n    // Detect link clicks and update dynamically\n    document.body.addEventListener(\"click\", function(event) {\n        if (event.target.tagName === \"A\") {\n            setTimeout(checkPage, 500); // Small delay to allow URL change\n        }\n    });\n\n    // Detect URL changes (for single-page apps)\n    let lastPath = window.location.pathname;\n    setInterval(() => {\n        if (window.location.pathname !== lastPath) {\n            lastPath = window.location.pathname;\n            checkPage();\n        }\n    }, 500);\n});\n</script>\n","siteBody":"<a href=\"/overview\" alt=\"Overview\">\n    <div id=\"mobile-logo-hide\" class=\"mobile-logo-top\"></div>\n</a>\n<div id=\"mobile-logo-hide-too\" class=\"mobile-logo-bottom\"></div>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function() {\n    function waitForMenu() {\n        const menu = document.querySelector('[data-identity=\"menu\"]');\n        const body = document.body; // We apply the class to the body\n        const logoTop = document.querySelector(\".mobile-logo-top\");\n        const logoBottom = document.querySelector(\".mobile-logo-bottom\");\n\n        if (!menu || !logoTop || !logoBottom) {\n            console.log(\"Waiting for menu to load...\");\n            setTimeout(waitForMenu, 500);\n            return;\n        }\n\n        console.log(\"Menu found, starting observer...\");\n\n        function updateOverlayState(entries) {\n            const menuVisible = entries[0].isIntersecting;\n            console.log(\"Menu state:\", menuVisible ? \"Open\" : \"Closed\");\n\n            if (menuVisible) {\n                body.classList.add(\"overlay-hidden\"); // Apply class to animate overlays off-screen\n            } else {\n                body.classList.remove(\"overlay-hidden\"); // Bring overlays back\n            }\n        }\n\n        // IntersectionObserver watches when the menu enters/exits the viewport\n        const observer = new IntersectionObserver(updateOverlayState, { threshold: 0.1 });\n        observer.observe(menu);\n\n        console.log(\"Menu observer started.\");\n    }\n\n    waitForMenu();\n});\n</script>\n","enableCookieBanner":false,"cookieBannerPosition":"bottom","cookieBannerMessage":"© 2025 COLIN PRICE PHOTOGRAPHY","localMasterVersion":"16.0","dev":false,"inquiryInfo":"","betaProgramVisible":true,"accountName":"colinp","betaProgramEnabled":false,"inquiryTitle":"","logoHtml":"","contactInfo":"\n\n","socialLinks":[],"rsSslUri":"https://7face697e0ae7ab6e0e7-b6faf0cb96be8a249bc42b4d60a3c738.ssl.cf1.rackcdn.com","defaultEditorMode":"html","podUseDesktop":false,"googleSiteVerification":"googlee1a81a74ed43da6b.html","globalBetaVersion":"16.1","backgroundImages":[],"generalEmail":"","revision":0,"adminSortDefault":"dateAdded descending","customFonts":[],"googleSiteVerification2":"googlefde33bf889a76462.html","currentTemplate":14,"padUseDesktop":false,"logoText":"Colin Price Photography. Colin Price is a commercial food photographer that works in Los Angeles, San Francisco, and New York.","filters":["Agriculture","Books","Food","Good Eggs - Eat with us","Grilled Cheese - Hero Thumbs","Grilled Cheese Book","Gusto","Hodo","Indian Instant Pot","Industrial","Interiors","Misc","People","Smoothie Book - Old","Smoothie Project - Hero","Smoothie Project - Regular","Social Media Links","Staub","Staub - hero thumbs","Trou Normand","Two Peas","Two Peas - Hero Thumbs","Two Peas - Heroes 2","Two Peas - Regular Size 2","Vegan Instant Pot","Logos"],"enableMessagesLog":false,"copyright":"","globalMasterVersion":"16.0","adminLockout":false,"portfolioEmailMessage":"Check out this photograph:","useHTML":true}