403Webshell
Server IP : 104.21.21.239  /  Your IP : 216.73.216.68
Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.5
System : Linux ip-172-31-69-123.ec2.internal 6.1.176-223.369.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 24 13:34:27 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/home2/cgny/public_html/2019/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/home2/cgny/public_html/2019//header.cfm
<Cfif #cgi.http_host# is not 'www.cityguideny.com' and #cgi.http_host# is not 'cityguideny.com'>
<cflocation url="https://www.cityguideny.com/" addtoken="no" statuscode="301">
</cfif>

          <cfheader name="cache-control"  value="no-cache, no-store, must-revalidate">
<cfheader name="pragma" value="no-cache">
<cfheader name="expires" value="#getHttpTimeString(now())#"> 

<!--- COOKIE CONSENT LOGIC - Tri-State Auto-Opt-In --->
<cfset cookieConsent = "">
<cfset showCookieBanner = false>
<cfset isTriState = false>
<cfset loadTrackingScripts = false>

<!--- Check if consent cookie already exists --->
<cfif structKeyExists(cookie, "cookie_consent")>
  <cfset cookieConsent = cookie.cookie_consent>
  <cfif cookieConsent eq "accepted">
    <cfset loadTrackingScripts = true>
  <cfelseif cookieConsent eq "rejected">
    <!--- User has rejected cookies - no banner, no tracking scripts, site functions normally --->
    <cfset loadTrackingScripts = false>
    <cfset showCookieBanner = false>
  </cfif>
<cfelse>
  <!--- Detect tri-state area (NY, NJ, CT) --->
  <cfset userIP = "">
  <cfset userState = "">
  
  <!--- Get real client IP (Cloudflare or proxy) --->
  <cfif structKeyExists(cgi, "http_cf_connecting_ip") and cgi.http_cf_connecting_ip neq "">
    <cfset userIP = cgi.http_cf_connecting_ip>
  <cfelseif structKeyExists(cgi, "http_x_real_ip") and cgi.http_x_real_ip neq "">
    <cfset userIP = cgi.http_x_real_ip>
  <cfelseif structKeyExists(cgi, "http_x_forwarded_for") and cgi.http_x_forwarded_for neq "">
    <cfset ipList = listToArray(cgi.http_x_forwarded_for, ",")>
    <cfset userIP = trim(ipList[1])>
  <cfelse>
    <cfset userIP = cgi.remote_addr>
  </cfif>
  
  <!--- Check if user is in US first (Cloudflare provides country) --->
  <cfif structKeyExists(cgi, "http_cf_ipcountry") and cgi.http_cf_ipcountry eq "US" and userIP neq "">
    <cftry>
      <!--- Use free GeoIP API to get state --->
      <cfhttp url="https://ipapi.co/#userIP#/region_code/" method="get" timeout="2" throwonerror="no">
      <cfif cfhttp.statusCode eq "200 OK" and len(trim(cfhttp.fileContent)) eq 2>
        <cfset userState = ucase(trim(cfhttp.fileContent))>
        <cfif userState eq "NY" or userState eq "nj" or userState eq "CT">
          <cfset isTriState = true>
          <cfset cookieConsent = "accepted">
          <cfset loadTrackingScripts = true>
          <!--- Auto-set consent cookie for tri-state users --->
          <cfcookie name="cookie_consent" value="accepted" expires="365">
        </cfif>
      </cfif>
      <cfcatch>
        <!--- If API fails, fall back to JavaScript detection --->
      </cfcatch>
    </cftry>
  </cfif>
  
  <!--- Show banner if not tri-state and no consent --->
  <cfif not isTriState and cookieConsent neq "accepted">
    <cfset showCookieBanner = true>
  </cfif>
</cfif>

<!DOCTYPE html>
<cfset ds = "cg22">
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

<cfif parameterexists (headercontent)>
<Cfoutput>#headercontent#</CFOUTPUT>
<Cfelse>
<title>New York City Guide | Sightseeing, Maps, Broadway, Events</title>
<meta name="description" content="NYC visitor guide to sightseeing, tours, Broadway, museums, dining, shopping and more, with coupons, calendar of events, restaurant reviews and more.">
<meta name="keywords" content="New York City complete visitor guide for everything happening in NYC. includes the following: travel and tourism in new york city it is a guide to sightseeing, touring, tourist attractions, manhattan, hotels, restaurants, shopping, shops, discounts, coupons, savings, maps, attractions, museums, sports activities, mets, yankees, theater, theatre, entertainment, nightlife, nyc events, sports, madison square garden, lincoln center, empire state building, statue of liberty, world trade center, circle line, grayline, gray line, bus tours, walking tours, transportation, weather, local information, places to see, dining, where to stay, services, links, cultural, educational, recreational, activities, movie listings, dining guides">
</cfif>

    <!-- Favicons-->
    <link rel="apple-touch-icon-precomposed" sizes="57x57" href="/img/apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/apple-touch-icon-114x114.png" />
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/img/apple-touch-icon-144x144.png" />
<link rel="apple-touch-icon-precomposed" sizes="60x60" href="/img/apple-touch-icon-60x60.png" />
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="/img/apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon-precomposed" sizes="76x76" href="/img/apple-touch-icon-76x76.png" />
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="/img/apple-touch-icon-152x152.png" />
<link rel="icon" type="image/png" href="/img/favicon-196x196.png" sizes="196x196" />
<link rel="icon" type="image/png" href="/img/favicon-96x96.png" sizes="96x96" />
<link rel="icon" type="image/png" href="/img/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/img/favicon-16x16.png" sizes="16x16" />
<link rel="icon" type="image/png" href="/img/favicon-128.png" sizes="128x128" />
<meta name="application-name" content="&nbsp;"/>
<meta name="msapplication-TileColor" content="#FFFFFF" />
<meta name="msapplication-TileImage" content="/img/mstile-144x144.png" />
<meta name="msapplication-square70x70logo" content="/img/mstile-70x70.png" />
<meta name="msapplication-square150x150logo" content="/img/mstile-150x150.png" />
<meta name="msapplication-wide310x150logo" content="/img/mstile-310x150.png" />
<meta name="msapplication-square310x310logo" content="/img/mstile-310x310.png" />

  <!-- FONT -->
  <link href="https://fonts.googleapis.com/css?family=Montserrat:400,600|Open+Sans:300,400,400i,700&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://use.typekit.net/qxz0egx.css">

    <!-- COMMON CSS -->
    <link href="/css/bootstrap.min.css" rel="stylesheet"> 
    <link href="/css/style.css" rel="stylesheet">
    <link href="/css/vendors.css" rel="stylesheet">

    <!-- CUSTOM CSS -->
    <link href="/css/custom12.css" rel="stylesheet">

    <!-- COOKIE CONSENT STYLES -->
    <style>
    #cookie-consent-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.7);
        z-index: 9999;
        animation: fadeIn 0.3s ease-in-out;
    }
    #cookie-consent-overlay.show {
        display: block;
    }
    #cookie-consent-banner {
        display: none;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: #fff;
        color: #333;
        padding: 40px;
        box-shadow: 0 10px 40px rgba(0,0,0,0.3);
        z-index: 10000;
        font-family: 'Open Sans', Arial, sans-serif;
        border-radius: 8px;
        max-width: 600px;
        width: 90%;
        max-height: 90vh;
        overflow-y: auto;
        animation: slideIn 0.3s ease-out;
    }
    #cookie-consent-banner.show {
        display: block;
    }
    .cookie-consent-container {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }
    .cookie-consent-text {
        font-size: 18px;
        line-height: 1.8;
        color: #333;
    }
    .cookie-consent-text strong {
        display: block;
        font-size: 24px;
        margin-bottom: 15px;
        color: #2c3e50;
        font-weight: 600;
    }
    .cookie-consent-text a {
        color: #4CAF50;
        text-decoration: underline;
        font-weight: 500;
    }
    .cookie-consent-buttons {
        display: flex;
        gap: 15px;
        justify-content: center;
        flex-wrap: wrap;
    }
    .cookie-consent-btn {
        padding: 15px 35px;
        border: none;
        border-radius: 6px;
        cursor: pointer;
        font-size: 16px;
        font-weight: 600;
        transition: all 0.3s;
        min-width: 140px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    .cookie-consent-btn-accept {
        background-color: #4CAF50;
        color: #fff;
    }
    .cookie-consent-btn-accept:hover {
        background-color: #45a049;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(76, 175, 80, 0.4);
    }
    .cookie-consent-btn-reject {
        background-color: #666;
        color: #fff;
    }
    .cookie-consent-btn-reject:hover {
        background-color: #555;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(102, 102, 102, 0.4);
    }
    @keyframes fadeIn {
        from { opacity: 0; }
        to { opacity: 1; }
    }
    @keyframes slideIn {
        from {
            opacity: 0;
            transform: translate(-50%, -45%);
        }
        to {
            opacity: 1;
            transform: translate(-50%, -50%);
        }
    }
    @media (max-width: 768px) {
        #cookie-consent-banner {
            padding: 30px 20px;
            max-width: 95%;
        }
        .cookie-consent-text {
            font-size: 16px;
        }
        .cookie-consent-text strong {
            font-size: 20px;
        }
        .cookie-consent-buttons {
            flex-direction: column;
            width: 100%;
        }
        .cookie-consent-btn {
            width: 100%;
            padding: 12px 25px;
        }
    }
    </style>

<!---
iframe {
    position: relative;
    border: none;
    max-width: 100%;
    max-height: 500px;
    height: calc(98vw*(9/16));
}--->

<!--- TRACKING SCRIPTS - Only load if consent given or tri-state --->
<cfif loadTrackingScripts>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-642804-2"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-642804-2');
</script>

 <script async='async' src='https://www.googletagservices.com/tag/js/gpt.js'></script>
 <script>
  var googletag = googletag || {};
  googletag.cmd = googletag.cmd || [];
</script>
<script type='text/javascript'>
  googletag.cmd.push(function() {
googletag.defineSlot('/1197619/new1x1cg', [1, 1], 'div-gpt-ad-1548258286998-1').addService(googletag.pubads());
googletag.defineSlot('/1197619/CG_336', [300, 250], 'div-gpt-ad-1548258286998-2').addService(googletag.pubads());

googletag.defineSlot('/1197619/CG-Article3001', [300, 250], 'div-gpt-ad-1548258286998-CG-Article3001').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);;
googletag.defineSlot('/1197619/CG-Article3002', [300, 250], 'div-gpt-ad-1548258286998-CG-Article3002').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);;
googletag.defineSlot('/1197619/CG-Article3003', [300, 250], 'div-gpt-ad-1548258286998-CG-Article3003').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);;
googletag.defineSlot('/1197619/CG-Article3004', [300, 250], 'div-gpt-ad-1548258286998-CG-Article3004').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);;


googletag.defineSlot('/1197619/CG-Homepage320', [320, 50], 'div-gpt-ad-1548258286998-CG-Homepage320').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);;
googletag.defineSlot('/1197619/CG-Homepage468', [468, 60], 'div-gpt-ad-1548258286998-CG-Homepage468').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);;
googletag.defineSlot('/1197619/CG-Homepage728', [728, 90], 'div-gpt-ad-1548258286998-CG-Homepage728').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);;
googletag.defineSlot('/1197619/CG-Homepage970', [[970,90],[728,90]], 'div-gpt-ad-1548258286998-CG-Homepage970').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);;


googletag.defineSlot('/1197619/CG_336bottom', [300, 250], 'div-gpt-ad-1548258286998-3').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);;
googletag.defineSlot('/1197619/CG_336bottomright', [300, 250], 'div-gpt-ad-1548258286998-4').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);;
//googletag.defineSlot('/1197619/CG_728', [728, 90], 'div-gpt-ad-1548258286998-5').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);;
googletag.defineSlot('/1197619/CG_300x600', [300, 600], 'div-gpt-ad-1548258286998-6').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);;
<CFIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'Shopping') or #CGI.SCRIPT_NAME# contains '/Shopping/'>
googletag.pubads().setTargeting('Section','Shopping');
<CFelseIF (#CGI.SCRIPT_NAME# EQ '/archives_/index.cfm' AND url.article eq 'Sightseeing') or #CGI.SCRIPT_NAME# contains '/Sightseeing/' or  (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'catid30') or  parameterexists(url.table) and #url.table# eq 'ToursAttractions'>
googletag.pubads().setTargeting('Section','Sightseeing');

<CFelseIF (PARAMETEREXISTS(CATME) and #catme# eq 'catid30')>
googletag.pubads().setTargeting('Section','Sightseeing');



<CFelseIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'catid28') or  #CGI.SCRIPT_NAME# contains '/Theater/'>
googletag.pubads().setTargeting('Section','Theater');
<CFelseIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'dining' or #CGI.SCRIPT_NAME# contains '/Restaurants/') or (parameterexists(url.tablename) and #url.tablename# eq 'Restaurants')  or #cgi.script_name# contains 'restaurant'>
googletag.pubads().setTargeting('Section','Dining');
<CFelseIF #CGI.SCRIPT_NAME# EQ '/archives_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'dining'>
googletag.pubads().setTargeting('Section','Dining');
<CFelseIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'catid29') or #CGI.SCRIPT_NAME# contains '/Culture/'>
googletag.pubads().setTargeting('Section','Culture');
<CFelseIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'catid32') or  #CGI.SCRIPT_NAME# contains '/Nightlife/'>
googletag.pubads().setTargeting('Section','Nightlife');
</CFIF>
<cfif #CGI.SCRIPT_NAME# contains '/event/' or #cgi.script_name# contains 'activity'>
googletag.pubads().setTargeting('Section','Calendar');
</cfif>

  <cfif #CGI.SCRIPT_NAME# contains 'transportation'  or #cgi.script_name# contains 'car'>
googletag.pubads().setTargeting('Section','Transportation');

</CFIF>

    googletag.pubads().collapseEmptyDivs();
googletag.enableServices();
});
</script>

<script type="text/javascript">
    (function(c,l,a,r,i,t,y){
        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
    })(window, document, "clarity", "script", "7np1geebv9");
</script>

<!-- Dstillery (consent-gated) -->
<script src="https://action.dstillery.com/orbserv/nsjs?adv=cl176599325990191&ns=9557&nc=CityGuideNYCSiteVisitor&ncv=68&dstOrderId=[OrderId]&dstOrderAmount=[OrderAmount]" type="text/javascript"></script>
<noscript><img width="1" height="1" src="https://action.dstillery.com/orbserv/nspix?adv=cl176599325990191&ns=9557&nc=CityGuideNYCSiteVisitor&ncv=68&dstOrderId=[OrderId]&dstOrderAmount=[OrderAmount]" alt="" /></noscript>
</cfif>


<!---
<!-- Meta Pixel Code -->
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '335911425288011');
fbq('track', 'PageView');
<Cfif parameterexists(form.email) and #cgi.script_name# contains 'register'> 
fbq('track', 'Lead');
</cfif>
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=335911425288011&ev=PageView&noscript=1"
/></noscript>
<!-- End Meta Pixel Code -->

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7825127593797564"
     crossorigin="anonymous"></script>


<script src ="https://cdn01.basis.net/assets/up.js?um=1"></script>

<script type="text/javascript">

      cntrUpTag.track('cntrData', '416fdd80a3c6050a');

</script>

<script src="//action.dstillery.com/orbserv/nsjs?adv=cl176599325990191&ns=9557&nc=CityGuideNYCSiteVisitor&ncv=68&dstOrderId=[OrderId]&dstOrderAmount=[OrderAmount]" type="text/javascript"></script><noscript><img width="1" height="1" src="//action.dstillery.com/orbserv/nspix?adv=cl176599325990191&ns=9557&nc=CityGuideNYCSiteVisitor&ncv=68&dstOrderId=[OrderId]&dstOrderAmount=[OrderAmount]" /></noscript>

<script type="text/javascript">
    (function(c,l,a,r,i,t,y){
        c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
        t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
        y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
    })(window, document, "clarity", "script", "mce96pchy7");
</script>
--->
<cfif loadTrackingScripts>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-W362ZCBG');</script>
<!-- End Google Tag Manager -->
</cfif>

<cfset pageCategory = "">
<CFIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'Shopping') or #CGI.SCRIPT_NAME# contains '/Shopping/' or lCase(CGI.SCRIPT_NAME) contains '/shopping/'>
<cfset pageCategory = "Shopping">
<CFelseIF (#CGI.SCRIPT_NAME# EQ '/archives_/index.cfm' AND url.article eq 'Sightseeing') or #CGI.SCRIPT_NAME# contains '/Sightseeing/' or  (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'catid30') or  parameterexists(url.table) and #url.table# eq 'ToursAttractions'>
<cfset pageCategory = "Sightseeing">
<CFelseIF (PARAMETEREXISTS(CATME) and #catme# eq 'catid30')>
<cfset pageCategory = "Sightseeing">
<CFelseIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'catid28') or  #CGI.SCRIPT_NAME# contains '/Theater/'>
<cfset pageCategory = "Theater">
<CFelseIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'dining' or #CGI.SCRIPT_NAME# contains '/Restaurants/') or (parameterexists(url.tablename) and #url.tablename# eq 'Restaurants')  or #cgi.script_name# contains 'restaurant'>
<cfset pageCategory = "Dining">
<CFelseIF #CGI.SCRIPT_NAME# EQ '/archives_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'dining'>
<cfset pageCategory = "Dining">
<CFelseIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'catid29') or #CGI.SCRIPT_NAME# contains '/Culture/'>
<cfset pageCategory = "Culture">
<CFelseIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'catid32') or  #CGI.SCRIPT_NAME# contains '/Nightlife/'>
<cfset pageCategory = "Nightlife">
</CFIF>
<cfif #CGI.SCRIPT_NAME# contains '/event/' or #cgi.script_name# contains 'activity'>
<cfset pageCategory = "Calendar">
</cfif>
<cfif #CGI.SCRIPT_NAME# contains 'transportation'  or #cgi.script_name# contains 'car'>
<cfset pageCategory = "Transportation">
</CFIF>

<cfif loadTrackingScripts>
<!-- Sojern Pixel -->
<script async src='https://static.sojern.com/sdk/latest/sojern.min.js'></script>
<script>
window.sjn=window.sjn||function(){(sjn.q=sjn.q||[]).push(arguments)};
sjn('initAndFire',
'advertiser',
'70178',
'tracking', {
context: { vertical: 'vacation' },
params:{
"pixelID": "414532",
"pageCategory": "<cfoutput>#pageCategory#</cfoutput>" /* Page Category */
}
})
</script>
<!-- End Sojern Pixel -->


<script src="https://js.ipredictive.com/viant_universal_pixel.js" type="text/javascript"></script>
<script type="text/javascript">
    new ViantUniversalPixel(116637, 'https://ad.ipredictive.com/d/track/event',
    {
  "ps": "0"
}).fire();
</script>
<noscript>
    <img src="https://ad.ipredictive.com/d/track/event?upid=116637&url=[url]&cache_buster=<cfoutput>#currentdatetime#</cfoutput>&ps=1" height="1" width="1" style="display:none" />
</noscript>
</cfif>

    <!--- Consent click handlers in their own script so a parse error in the heavy loader below cannot leave acceptCookies undefined --->
    <script>
    (function() {
        function cgSetCookie(name, value, days) {
            var expires = new Date();
            expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000));
            var s = name + "=" + value + "; expires=" + expires.toUTCString() + "; path=/; SameSite=Lax";
            if (location.protocol === "https:") s += "; Secure";
            document.cookie = s;
        }
        function cgHideConsentBanner() {
            var o = document.getElementById("cookie-consent-overlay");
            var b = document.getElementById("cookie-consent-banner");
            if (o) o.style.display = "none";
            if (b) b.style.display = "none";
        }
        window.acceptCookies = function() {
            cgSetCookie("cookie_consent", "accepted", 365);
            try { sessionStorage.setItem("cookie_consent_session", "accepted"); } catch (e1) {}
            cgHideConsentBanner();
            if (typeof window.loadCGNYTracking === "function") {
                try { window.loadCGNYTracking(); } catch (e2) {}
            }
            location.reload();
        };
        window.rejectCookies = function() {
            cgSetCookie("cookie_consent", "rejected", 365);
            try { sessionStorage.setItem("cookie_consent_session", "rejected"); } catch (e3) {}
            cgHideConsentBanner();
            location.reload();
        };
    })();
    </script>

    <!-- COOKIE CONSENT BANNER AND JAVASCRIPT -->
    <cfif showCookieBanner>
    <div id="cookie-consent-overlay" style="display: block;"></div>
    <div id="cookie-consent-banner" style="display: block;">
        <div class="cookie-consent-container">
            <div class="cookie-consent-text">
                <strong>Cookie Consent</strong>
                We use cookies and tracking pixels to improve your experience and analyze site traffic. By clicking "Accept", you consent to our use of cookies and tracking technologies. 
                <a href="/privacy.cfm" target="_blank">Learn more about our privacy policy</a>
            </div>
            <div class="cookie-consent-buttons">
                <button type="button" class="cookie-consent-btn cookie-consent-btn-accept" onclick="window.acceptCookies()">Accept</button>
                <button type="button" class="cookie-consent-btn cookie-consent-btn-reject" onclick="window.rejectCookies()">Reject</button>
            </div>
        </div>
    </div>
    </cfif>

    <script>
    // Cookie consent management
    (function() {
        function getCookie(name) {
            const value = "; " + document.cookie;
            const parts = value.split("; " + name + "=");
            if (parts.length === 2) return parts.pop().split(";").shift();
            return null;
        }
        
        function setCookie(name, value, days) {
            const expires = new Date();
            expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000));
            let cookieStr = name + "=" + value + "; expires=" + expires.toUTCString() + "; path=/; SameSite=Lax";
            if (location.protocol === 'https:') cookieStr += "; Secure";
            document.cookie = cookieStr;
        }
        
        // True if user already chose Accept/Reject (avoids ipapi fetch re-showing banner after a fast click)
        function consentAlreadyResolved() {
            var c = getCookie('cookie_consent');
            if (c === 'accepted' || c === 'rejected') return true;
            try {
                var s = sessionStorage.getItem('cookie_consent_session');
                if (s === 'accepted' || s === 'rejected') return true;
            } catch (e) {}
            return false;
        }
        
        // Session fallback: if user dismissed this session (Accept/Reject), hide banner even if cookie didn't persist
        var sessionConsent = null;
        try { sessionConsent = sessionStorage.getItem('cookie_consent_session'); } catch(e) {}
        if (sessionConsent === 'accepted' || sessionConsent === 'rejected') {
            var overlay = document.getElementById('cookie-consent-overlay');
            var banner = document.getElementById('cookie-consent-banner');
            if (overlay) overlay.style.display = 'none';
            if (banner) banner.style.display = 'none';
        }
        
        // Check if we need to show banner (fallback for JavaScript detection)
        <cfif showCookieBanner>
        // Skip tri-state fetch if user already dismissed this session (sessionStorage fallback)
        if (!sessionConsent && !getCookie('cookie_consent')) {
            fetch('https://ipapi.co/json/')
                .then(response => response.json())
                .then(data => {
                    if (consentAlreadyResolved()) return;
                    const state = data.region_code;
                    const isTriState = (state === 'NY' || state === 'nj' || state === 'CT');
                    
                    if (isTriState) {
                        // Auto-accept for tri-state
                        setCookie('cookie_consent', 'accepted', 365);
                        try { sessionStorage.setItem('cookie_consent_session', 'accepted'); } catch(e) {}
                        if (typeof window.loadCGNYTracking === 'function') { try { window.loadCGNYTracking(); } catch (e) {} }
                        document.getElementById('cookie-consent-banner').style.display = 'none';
                        document.getElementById('cookie-consent-overlay').style.display = 'none';
                    } else {
                        // Show banner
                        document.getElementById('cookie-consent-banner').style.display = 'block';
                        document.getElementById('cookie-consent-overlay').style.display = 'block';
                    }
                })
                .catch(() => {
                    if (consentAlreadyResolved()) return;
                    // If API fails, show banner
                    document.getElementById('cookie-consent-banner').style.display = 'block';
                    document.getElementById('cookie-consent-overlay').style.display = 'block';
                });
        }
        </cfif>
        
        // Load all tracking scripts dynamically (global so consent stub can call it when present)
        window.loadCGNYTracking = function() {
            <cfif not loadTrackingScripts>
            <!--- Generate GPT targeting code server-side --->
            <cfset gptTargetingCode = "">
            <CFIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'Shopping') or #CGI.SCRIPT_NAME# contains '/Shopping/' or lCase(CGI.SCRIPT_NAME) contains '/shopping/'>
            <cfset gptTargetingCode = "googletag.pubads().setTargeting('Section','Shopping');">
            <CFelseIF (#CGI.SCRIPT_NAME# EQ '/archives_/index.cfm' AND url.article eq 'Sightseeing') or #CGI.SCRIPT_NAME# contains '/Sightseeing/' or  (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'catid30') or  parameterexists(url.table) and #url.table# eq 'ToursAttractions'>
            <cfset gptTargetingCode = "googletag.pubads().setTargeting('Section','Sightseeing');">
            <CFelseIF (PARAMETEREXISTS(CATME) and #catme# eq 'catid30')>
            <cfset gptTargetingCode = "googletag.pubads().setTargeting('Section','Sightseeing');">
            <CFelseIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'catid28') or  #CGI.SCRIPT_NAME# contains '/Theater/'>
            <cfset gptTargetingCode = "googletag.pubads().setTargeting('Section','Theater');">
            <CFelseIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'dining' or #CGI.SCRIPT_NAME# contains '/Restaurants/') or (parameterexists(url.tablename) and #url.tablename# eq 'Restaurants')  or #cgi.script_name# contains 'restaurant'>
            <cfset gptTargetingCode = "googletag.pubads().setTargeting('Section','Dining');">
            <CFelseIF #CGI.SCRIPT_NAME# EQ '/archives_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'dining'>
            <cfset gptTargetingCode = "googletag.pubads().setTargeting('Section','Dining');">
            <CFelseIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'catid29') or #CGI.SCRIPT_NAME# contains '/Culture/'>
            <cfset gptTargetingCode = "googletag.pubads().setTargeting('Section','Culture');">
            <CFelseIF (#CGI.SCRIPT_NAME# EQ '/article_/index.cfm' AND PARAMETEREXISTS(CATME) and #catme# eq 'catid32') or  #CGI.SCRIPT_NAME# contains '/Nightlife/'>
            <cfset gptTargetingCode = "googletag.pubads().setTargeting('Section','Nightlife');">
            </CFIF>
            <cfif #CGI.SCRIPT_NAME# contains '/event/' or #cgi.script_name# contains 'activity'>
            <cfset gptTargetingCode = "googletag.pubads().setTargeting('Section','Calendar');">
            </cfif>
            <cfif #CGI.SCRIPT_NAME# contains 'transportation'  or #cgi.script_name# contains 'car'>
            <cfset gptTargetingCode = "googletag.pubads().setTargeting('Section','Transportation');">
            </cfif>
            
            // Google Analytics
            var gaScript = document.createElement('script');
            gaScript.async = true;
            gaScript.src = 'https://www.googletagmanager.com/gtag/js?id=UA-642804-2';
            document.head.appendChild(gaScript);
            
            var gaInit = document.createElement('script');
            gaInit.innerHTML = 'window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag("js", new Date());gtag("config", "UA-642804-2");';
            document.head.appendChild(gaInit);
            
            // Google Publisher Tag
            var gptScript = document.createElement('script');
            gptScript.async = true;
            gptScript.src = 'https://www.googletagservices.com/tag/js/gpt.js';
            document.head.appendChild(gptScript);
            
            var gptInit = document.createElement('script');
            gptInit.innerHTML = 'var googletag = googletag || {};googletag.cmd = googletag.cmd || [];';
            document.head.appendChild(gptInit);
            
            // GPT Slot Definitions with Targeting
            var gptSlots = document.createElement('script');
            var targetingCode = "<cfoutput>#gptTargetingCode#</cfoutput>";
            
            gptSlots.innerHTML = `googletag.cmd.push(function() {
googletag.defineSlot('/1197619/new1x1cg', [1, 1], 'div-gpt-ad-1548258286998-1').addService(googletag.pubads());
googletag.defineSlot('/1197619/CG_336', [300, 250], 'div-gpt-ad-1548258286998-2').addService(googletag.pubads());
googletag.defineSlot('/1197619/CG-Article3001', [300, 250], 'div-gpt-ad-1548258286998-CG-Article3001').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);
googletag.defineSlot('/1197619/CG-Article3002', [300, 250], 'div-gpt-ad-1548258286998-CG-Article3002').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);
googletag.defineSlot('/1197619/CG-Article3003', [300, 250], 'div-gpt-ad-1548258286998-CG-Article3003').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);
googletag.defineSlot('/1197619/CG-Article3004', [300, 250], 'div-gpt-ad-1548258286998-CG-Article3004').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);
googletag.defineSlot('/1197619/CG-Homepage320', [320, 50], 'div-gpt-ad-1548258286998-CG-Homepage320').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);
googletag.defineSlot('/1197619/CG-Homepage468', [468, 60], 'div-gpt-ad-1548258286998-CG-Homepage468').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);
googletag.defineSlot('/1197619/CG-Homepage728', [728, 90], 'div-gpt-ad-1548258286998-CG-Homepage728').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);
googletag.defineSlot('/1197619/CG-Homepage970', [[970,90],[728,90]], 'div-gpt-ad-1548258286998-CG-Homepage970').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);
googletag.defineSlot('/1197619/CG_336bottom', [300, 250], 'div-gpt-ad-1548258286998-3').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);
googletag.defineSlot('/1197619/CG_336bottomright', [300, 250], 'div-gpt-ad-1548258286998-4').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);
googletag.defineSlot('/1197619/CG_300x600', [300, 600], 'div-gpt-ad-1548258286998-6').addService(googletag.pubads()).setCollapseEmptyDiv(true,true);
` + targetingCode + `
googletag.pubads().collapseEmptyDivs();
googletag.enableServices();
});`;
            document.head.appendChild(gptSlots);
            
            // Microsoft Clarity
            (function(c,l,a,r,i,t,y){
                c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
                t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
                y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
            })(window, document, "clarity", "script", "7np1geebv9");
            
            // Google Tag Manager
            (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
            j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
            'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
            })(window,document,'script','dataLayer','GTM-W362ZCBG');
            
            // Sojern Pixel
            var sojernScript = document.createElement('script');
            sojernScript.async = true;
            sojernScript.src = 'https://static.sojern.com/sdk/latest/sojern.min.js';
            document.head.appendChild(sojernScript);
            
            var sojernInit = document.createElement('script');
            sojernInit.innerHTML = `window.sjn=window.sjn||function(){(sjn.q=sjn.q||[]).push(arguments)};sjn('initAndFire','advertiser','70178','tracking',{context: { vertical: 'vacation' },params:{"pixelID": "414532","pageCategory": "<cfoutput>#pageCategory#</cfoutput>"}});`;
            document.head.appendChild(sojernInit);
            
            // Viant Universal Pixel - wait for script to load before firing (defer to next tick for reliability)
            var viantScript = document.createElement('script');
            viantScript.src = 'https://js.ipredictive.com/viant_universal_pixel.js';
            viantScript.onload = function() {
                setTimeout(function() {
                    try {
                        if (typeof window.ViantUniversalPixel !== 'undefined') {
                            new window.ViantUniversalPixel(116637, "https://ad.ipredictive.com/d/track/event", {"ps": "0"}).fire();
                        }
                    } catch (e) { /* pixel load failed - fail silently */ }
                }, 0);
            };
            document.head.appendChild(viantScript);
            
            // Dstillery
            var dstilleryScript = document.createElement('script');
            dstilleryScript.src = 'https://action.dstillery.com/orbserv/nsjs?adv=cl176599325990191&ns=9557&nc=CityGuideNYCSiteVisitor&ncv=68&dstOrderId=[OrderId]&dstOrderAmount=[OrderAmount]';
            dstilleryScript.type = 'text/javascript';
            document.head.appendChild(dstilleryScript);
            </cfif>
        }
        
        // Check if consent already exists (cookie or session fallback) and load scripts
        if (getCookie('cookie_consent') === 'accepted' || sessionConsent === 'accepted') {
            if (typeof window.loadCGNYTracking === 'function') { try { window.loadCGNYTracking(); } catch (e) {} }
        }
    })();
    </script>

</head>
<Cfif #cgi.script_name# contains 'discount'>
	<body id="discount">
		<Cfelseif #cgi.script_name# contains 'category'>
		<body id="category">
			<cfelseif cgi.script_name contains 'event-details'>
			<body id="event-details">
			<cfelseif cgi.script_name contains 'activity' or #cgi.script_name# contains 'event'>
			<body id="event">
			<cfelseif cgi.script_name contains 'activities'>
			<body id="activities">
			    			<cfelseif cgi.script_name contains 'listing'>
			<body id="activities">
			    			<cfelseif cgi.script_name contains 'restaurants'>
			<body id="activities">
			    			<cfelseif cgi.script_name contains 'sightseeing'>
			<body id="activities">
		<cfelseif cgi.script_name contains 'cultural-arts'>
			<body id="activities">
		<cfelseif cgi.script_name contains 'theater'>
			<body id="activities">
		<cfelseif cgi.script_name contains 'nightlife'>
			<body id="activities">
		<cfelseif cgi.script_name contains 'theatre'>
			<body id="activities">
		<cfelseif cgi.script_name contains 'neighborhoods'>
			<body id="activities">
		<cfelseif cgi.script_name contains 'city-secrets'>
			<body id="activities">
			    		<cfelseif cgi.script_name contains 'shopping'>
			<body id="activities">
		<cfelseif cgi.script_name contains 'services'>
			<body id="activities">

	<cfelseif cgi.script_name contains 'trip-tips'>
			<body id="trip-tips">

			<cfelseif cgi.script_name contains 'category-page-articles'>
			<body id="trip-tips">


<cfelse>
<body>
</cfif>

<cfif loadTrackingScripts>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W362ZCBG"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
</cfif>
    <!-- End Preload -->
    <header>
      <!-- <div id="top_line">
            <div class="container">
                <div class="row">
                    <div class="col-12">
                    </div>
                </div>
            </div>
        </div>-->
        <div class="container">
            <div class="row">
                <div class="col-4 col-sm-3 col-md-2"><a href="/">
                    <div id="logo_home">
                        <h1 class="no-background"><img src="/img/city-guide-new-york-logo-white.png" alt="City Guide New York" class="responsive" data-retina="true">
                        </h1>
                        <h1 class="has-background"><img src="/img/city-guide-new-york-logo-color.png" alt="City Guide New York" class="responsive" data-retina="true">
                        </h1>
                    </div></a>
                </div>
                <nav class="col-8 col-sm-9 col-md-10 no-gutter">
                    <div class="main-menu">
                        <div id="header_menu">City Guide
                        </div>
                        <a href="#" class="open_close" id="close_in"><i class="icon_set_1_icon-77"></i></a>
                        <ul>
                          <!---  <li class="submenu home-nav">
                                <a href="index.cfm">Home</a>
                            </li>--->
                            <li class="submenu discount-nav">
          <a href="https://www.cityguideny.com/nyc-video-behind-the-experience-secret">Videos</a>                              </li>
                            <li class="submenu destination-nav">
                                <a href="/activities/">Activities</a>
                            </li>
                            <li class="submenu plan-nav">
                                <a href="/trip-tips/">Trip Tips</a>
                            </li>
                            <li class="submenu event-nav">
                                <a href="/events/">Calendar</a>
                            </li>
                            <li class="submenu"><a href="javascript:void(0);" class="search-overlay-menu-btn"><i class="icon_search"></i> Search</a></li>
                        </ul>
                    </div><!-- For mobile -->
                    <div class="main-menu-mobile">
                        <ul>
                           <!--- <li class="submenu home-nav">
                                <a href="index.cfm">Home</a>
                            </li>--->
                            <li class="submenu discount-nav">
                         <a href="https://www.cityguideny.com/nyc-video-behind-the-experience-secret">Videos</a>     <!---  <a href="/discounts/">Discounts</a>--->
                            </li>
                            <li class="submenu destination-nav">
                                <a href="/activities/">Activities</a>
                            </li>
                            <li class="submenu plan-nav">
                                <a href="/trip-tips/">Trip Tips</a>
                            </li>
                            <li class="submenu event-nav">
                                <a href="/events/">Calendar</a>
                            </li>
                              <li class="submenu"><a href="javascript:void(0);" class="search-overlay-menu-btn"><i class="icon_search"></i></a></li>
                        </ul>
                    </div><!-- End main-menu -->
                    <!-- <div class="ptb-16" style="color:white"><strong>Everything to Do in NYC</strong>
                                        </div>-->
                </nav>
            </div>
        </div>
    </header>

Youez - 2016 - github.com/yon3zu
LinuXploit