1<!doctype html> 2<html lang='en'> 3 <head> 4 <!-- meta --> 5 <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 6 <meta charset="utf-8" /> 7 <title>Bakeries & Coffee Shops</title> 8 <link rel="canonical" href="https://www.visitlivco.com/restaurants/bakeries-coffee-shops/" /> 9 <meta name="description" content="A coffee and a sweet treat- what could be better? Our locally owned bakeries and coffee shops offer roasted blends and freshly baked treats with a vibe you wonât find anywhere else. Whether you take your coffee black with one sugar or in an iced latte with extra whip, youâll find a blend to satisfy." /> 10 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1" /> 11 <meta name="sv-nav-properties" content="{"title":"Bakeries & Coffee Shops","id":"61fab0f350b7676e32446c41","parents_ids":["61fab0ef50b7676e32446651"],"site_name":"primary","section":"main","folderHref":"/restaurants/bakeries-coffee-shops/"}" /> 12 <meta name="twitter:card" content="summary_large_image" /> 13 <meta name="referrer" content="always" /> 14 <meta name="robots" content="index, follow" /> 15 <meta property="og:title" content="Bakeries & Coffee Shops" /> 16 <meta property="og:url" content="https://www.visitlivco.com/restaurants/bakeries-coffee-shops/" /> 17 <meta property="og:description" content="A coffee and a sweet treat- what could be better? Our locally owned bakeries and coffee shops offer roasted blends and freshly baked treats with a vibe you wonât find anywhere else. Whether you take your coffee black with one sugar or in an iced latte with extra whip, youâll find a blend to satisfy." /> 18 <meta property="og:locale" content="en" /> 19 <meta property="og:image" content="https://assets.simpleviewinc.com/simpleview/image/upload/c_limit,h_1200,q_75,w_1200/v1/clients/livingstoncountyny/Pastries_Display_Sweet_Arts_Geneseo_9d76ed3b-578c-49cd-bb7b-22f10af734c7.jpg" /> 20 <meta property="og:image:width" content="1200" /> 21 <meta property="og:image:height" content="800" /> 22 <meta property="og:type" content="website" /> 23 24 <!-- head css bundles --> 25 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/css/widget_social_share.css"/> 26 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/css/widget_cookie_banner.css"/> 27 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/nav/virtuals/css/shared.css"/> 28 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/nav/virtuals/css/widget_main.css"/> 29 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/nav/virtuals/css/widget_main_dropdown.css"/> 30 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/nav/virtuals/css/widget_secondary.css"/> 31 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/nav/virtuals/css/widget_footer.css"/> 32 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/weather/virtuals/css/shared.css"/> 33 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/weather-icons/2.0.9/css/weather-icons.min.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 34 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/search/virtuals/css/custom_headerbox.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 35 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/collections/virtuals/css/widget_template_custom_social_links.css"/> 36 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/collections/virtuals/css/shared.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 37 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/collections/virtuals/css/ccl/hero_image/shared_structure.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 38 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/collections/virtuals/css/ccl/hero_image/shared_theme.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 39 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/collections/virtuals/css/ccl/cards/shared_structure.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 40 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/collections/virtuals/css/ccl/cards/shared_theme.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 41 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/collections/virtuals/css/ccl/cards/variants/4_across.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 42 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/nav/virtuals/css/widget_breadcrumb.css"/> 43 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/css/custom_layoutjs.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 44 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/css/custom_vue_airbnb_style_datepicker.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 45 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/css/panel_container_nav_widgets.css"/> 46 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/css/custom_quickview.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 47 <link rel="stylesheet" href="/includes/public/js/glightbox/glightbox.min.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 48 <link rel="stylesheet" href="/includes/public/js/glightbox/extended.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 49 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/css/reboot.css"/> 50 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/css/variables.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 51 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/css/shared.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 52 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/css/custom_header.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 53 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/css/shared_print.css" media="print" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 54 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/css/custom_footer.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 55 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/css/custom_core_styles.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 56 <link rel="stylesheet" href="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/css/custom_forms.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 57 <link rel="stylesheet" href="https://use.typekit.net/vrp2tco.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 58 <link rel="stylesheet" href="https://use.typekit.net/mtn4gmm.css" media="print" onload="this.onload=null;this.media='all'" class="preloaded-css"/> 59 60 <!-- head js bundles --> 61
61<script src="/includes/public/managed/v_c8155e17_92035868/core/libs/sv/requirejs/public/require.js" data-ot-ignore></script>
61 62
62<script src="/requirejs_config_c8155e17_92035868.js" data-ot-ignore></script>
62 63
63<script src="/includes/public/managed/v_c8155e17_92035868/core/libs/sv/siteLib/public/js/globalHeader.js"></script>
63 64
64<script src="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/js/shared_header.js" defer></script>
64 65 66 <!-- bottomHead --> 67 68
68<script data-id="site_gtm">
vendor: 365 bytes, lines 68-73
68 69 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 70 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 71 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 72 '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 73 })(window,document,'script','gtmDataLayer','
73GTM-TZN38V5
vendor: 11 bytes, lines 73-74
73'); 74
74</script>
74 75 76
76<script data-id="site_gtm">
vendor: 365 bytes, lines 76-81
76 77 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 78 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 79 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 80 '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 81 })(window,document,'script','gtmDataLayer','
81GTM-NFBVG93
vendor: 11 bytes, lines 81-82
81'); 82
82</script>
82 83 84 85 <!-- 86 Use this template to add items to the <head> 87 --> 88 89 <link rel="preconnect" href="https://assets.simpleviewinc.com"> 90 <link rel="preconnect" href="https://use.fontawesome.com"> 91 <link rel="preconnect" href="https://securepubads.g.doubleclick.net"> 92 <link rel="preconnect" href="https://www.google-analytics.com"> 93 <link rel="preconnect" href="https://ws.audioeye.com"> 94 <link rel="preconnect" href="https://wsv3cdn.audioeye.com"> 95 <link rel="preconnect" href="https://www.googletagmanager.com"> 96 <link rel="preconnect" href="https://securepubads.g.doubleclick.net"> 97 98 <style data-critical-styles> 99 @import url("https://p.typekit.net/p.css?s=1&k=vrp2tco&ht=tk&f=139.140.169.173.175.176.143.144.147.148.156.157.161.162&a=531942&app=typekit&e=css");@import url("https://p.typekit.net/p.css?s=1&k=mtn4gmm&ht=tk&f=6840.35908.37522.39562.39680.39687&a=14896244&app=typekit&e=css");.autoplayer-pro{--controls-bg-hover-color:var(--gray-100);--controls-text-hover-color:var(--primary-color-700);--text-content-bg-color:var(--primary-color-100);--text-color:var(--gray-100);--border-color:var(--gray-100);position:relative;overflow:hidden;height:80vh;max-height:450px}.autoplayer-pro::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:calc(100% - 40px);height:calc(100% - 40px);border:3px dotted var(--white);border-radius:20px;z-index:2}.autoplayer-pro .poster{position:absolute;z-index:1;top:50%;left:50%;display:block;min-height:100%;min-width:100%;object-fit:cover;transform:translate(-50%,-50%);filter:blur(20px)}.autoplayer-pro .video{position:absolute;z-index:2;top:50%;left:50%;min-width:100%;min-height:100%;opacity:0;transform:translate(-50%,-50%)}.autoplayer-pro .video-controls{display:none}.autoplayer-pro .video-control{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;width:90px;height:90px;background-color:transparent;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.autoplayer-pro .video-control.volume{display:none}.autoplayer-pro .video-control .fa-pause::before{content:""}.autoplayer-pro .video-control .fa-pause .play{display:none}.autoplayer-pro .video-control .fa-pause .pause{display:block}.autoplayer-pro .video-control .fa-pause .pause.animated{display:none}.autoplayer-pro .text-content{position:absolute;z-index:3;left:50%;bottom:50%;transform:translate(-50%,-50%);z-index:2}.cookie-banner{--background-color:var(--white);--text-color:var(--gray-900);--outline-color:var(--primary-color-500);--btn-background-color:var(--primary-color-700);--btn-background-color-hover:var(--primary-color-800);--btn-text-color:var(--primary-color-100);position:relative;z-index:200001;bottom:var(--space-3);top:auto;right:auto;left:0;display:block;margin:0 auto;padding:0;width:calc(100% - var(--space-3));min-height:0;border:none;border-radius:var(--rounded-xl);box-shadow:var(--shadow-xs),var(--shadow-xl);background-color:var(--background-color);transform:none;visibility:visible}.cookie-banner.dismissed{transform:translateY(110%)}.cookie-banner .banner-inner{display:flex;flex-direction:column;justify-content:center;padding:var(--space-4) var(--space-6)}.cookie-banner .banner-message{padding-right:var(--space-4)}.cookie-banner .banner-message p{margin-bottom:var(--space-4);color:var(--text-color)}.cookie-banner .banner-close{flex-shrink:0;margin:0;padding:0}.cookie-banner p{margin:0;font-size:var(--text-base);line-height:var(--leading-snug)}.cookie-banner .button{--outline-color:var(--orange-ff);--background-color:var(--cream-f6);--background-color-hover:var(--orange-ff);--text-color:var(--orange-ff);--text-color-hover:var(--white);font-family:var(--font-cooper);margin:0;padding:11px 24px;font-size:15px;font-weight:700;color:var(--text-color);text-decoration:none;border-radius:var(--rounded-full);background-color:var(--background-color)}.navigation{--surface-mobile-nav:var(--green-23);--surface-highlight:var(--green-23);--text:var(--yellow-ea);--text-alt:var(--white)}.contentRender_name_plugins_nav_main{order:-1}.contentRender_name_plugins_nav_main{height:100%}.nav-container{display:flex;justify-content:flex-end;height:100%}.navigation.desktop a{white-space:nowrap}.navigation .nav-item .nav-item-control{display:flex;justify-content:space-between;color:var(--text-alt)}.navigation .nav-item .dropdown-toggle{margin:0;padding:var(--space-3) var(--space-4);color:inherit;background-color:transparent}.nav-container .button-wrapper{display:flex;align-items:center;justify-content:center;padding:0 20px;background-color:var(--surface-background);position:relative}.nav-container .button-wrapper::before{content:'';position:absolute;
99left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:40px;height:40px;border:2px dotted var(--white);border-radius:4px}.nav-container .menu-toggle{display:block;margin:0;padding:0;background:none;height:calc(100% - 40px);width:100%}.nav-container .menu-toggle .hamburger-inner{position:relative}.nav-container .menu-toggle .hamburger-inner::after,.nav-container .menu-toggle .hamburger-inner::before{position:absolute}.nav-container .menu-toggle .hamburger-inner,.nav-container .menu-toggle .hamburger-inner::after,.nav-container .menu-toggle .hamburger-inner::before{display:block;width:20px;height:3px;background-color:var(--orange-fc)}.nav-container .menu-toggle .hamburger-inner::before{content:"";top:-6px}.nav-container .menu-toggle .hamburger-inner::after{content:"";bottom:-6px}.navigation.mobile{background-color:var(--surface-mobile-nav);margin-bottom:15px}.navigation.mobile .nav-item .dropdown-toggle .icon-toggle{transform-origin:center;color:var(--orange-ff)}.navigation.mobile .level-1>a{font-size:20px;padding:4.5px 20px}.navigation.mobile .nav-item .dropdown-toggle{padding:4.5px 20px}.navigation.mobile.secondary a{font-family:var(--font-body);font-size:18px;font-weight:400}.mobile-nav .navigation-footer{margin-bottom:10px}.mobile-nav .navigation-footer a{font-weight:400;font-size:14px;padding:0 20px}.mobile-nav .navigation-footer li{margin-bottom:3px}.navigation.desktop{position:relative;display:none;justify-content:flex-end;height:100%}.navigation.desktop .dropdown-menu{display:block!important;opacity:0;z-index:30;padding-top:32px;padding-bottom:32px}.navigation.desktop .level-1.nav-item>.nav-item-control{align-items:center;height:100%;color:var(--text);position:relative}.navigation.desktop .nav-item.level-1>.nav-item-control>a{border-top:2px solid transparent;border-bottom:2px solid transparent}@media (hover :hover){.navigation .nav-item.level-1 .nav-item-control a{}}.navigation.desktop .level-1.nav-item>.nav-item-control>.dropdown-toggle{margin:0;padding:var(--space-3) var(--space-2)}.navigation.desktop.primary .level-1.nav-item:not(:last-of-type)>.nav-item-control::after{content:'';position:absolute;right:0;top:50%;transform:translate(-50%,-50%);display:block;width:1px;height:15px;background-color:var(--pink-ee)}.navigation.desktop.primary .level-1>a{font-size:15px;font-family:var(--font-cooper);color:var(--green-23);padding:12px 13px}.navigation.desktop.secondary .level-1>a{font-size:16px;font-family:var(--font-body);color:var(--gray-47);font-weight:100;padding:var(--space-3) 7px}.navigation.desktop .level-1>.dropdown-toggle{display:none}.navigation.desktop.secondary a{font-size:13px;padding:5px 30px}.secondary-nav-container,.secondary-nav-container>div{height:100%}.navigation.navigation-three-col.desktop{--surface-1:var(--primary-color-200);
99--surface-2:var(--primary-color-300);--surface-3:var(--primary-color-400);position:static}.navigation .fa-arrow-right{display:none}.navigation.navigation-three-col.desktop .dropdown-menu{position:absolute;right:0;width:100%;min-width:850px;background-color:var(--surface-1);overflow:hidden}.navigation.navigation-three-col.desktop .dropdown-menu.level-1{right:50%;width:100%;min-width:calc(100vw - 40px);max-width:calc(100vw - 40px);background-color:var(--green-33);overflow:hidden;transform:translateX(50%);border-bottom-left-radius:20px;border-bottom-right-radius:20px}.navigation.navigation-three-col.desktop .nav-item .dropdown-helper{position:absolute;z-index:1;top:0;right:0;width:100%;height:100%;transform:scaleY(0);transform-origin:bottom center}.navigation.navigation-three-col.desktop .level-1.nav-item>.dropdown-helper{height:100%!important}.navigation.navigation-three-col.desktop .nav-item .dropdown-helper{opacity:.3}.navigation.navigation-three-col.desktop .cta-nav-widgets-cont{position:absolute;right:0;top:25px;max-width:500px;width:calc(100% - 675px);z-index:31}.navigation.navigation-dropdown.desktop .nav-item{--surface-1:var(--orange-fc);
99--surface-2:var(--primary-color-300);--surface-3:var(--primary-color-400);position:relative}.navigation.navigation-dropdown.desktop .dropdown-menu{position:absolute;left:100%;top:48px;width:100vw;max-width:180px;background-color:var(--surface-1);transform:translateX(-50%);border-bottom-left-radius:20px;border-bottom-right-radius:20px}.navigation.navigation-dropdown.desktop .nav-item .dropdown-helper{opacity:.3}.navigation-footer{margin:0;padding:0;list-style:none}.navigation-footer a{color:inherit}.headerbox-search-form{--font-family-body:var(--font-body);--search-icon:var(--gray-100);--seach-input-icon-bg:transparent;--seach-input-icon-bg-hover:transparent;display:flex;color:var(--white);border-bottom:3px dotted var(--white);width:100%}.headerbox-search-form input[type="search"]{width:100%;height:100%;margin:0;font-size:var(--text-base);font-family:var(--font-plantin);font-weight:100;font-style:italic;background:var(--green-23);color:var(--white);padding:2px 0}.headerbox-search-form button{width:40px;padding:0;margin:0;flex-shrink:0;background-color:var(--seach-input-icon-bg);font-size:12px;display:flex;justify-content:flex-end;align-items:center}.search-cont .search-button{display:none;background:transparent;color:var(--search-icon)}.weather-wrapper{position:relative;display:flex;height:100%}:root{--widget-padding-top:var(--space-8);--widget-margin-bottom:var(--space-12)}.ccl-widget .widget-view-all{display:flex;font-family:var(--font-cooper);font-size:21px;font-weight:600;color:var(--orange-fc);border-radius:var(--rounded-full);text-decoration:none;max-width:250px;text-align:right;line-height:1;align-items:center}.ccl-widget .widget-view-all .img-wrapper{margin-left:10px}.ccl-widget .widget-view-all .animated{display:none}.ccl-widget,.ccl-widget *{font-family:inherit}.ccl-widget{--font-title:var(--font-display);--font-desc:var(--font-body);--color-display:var(--gray-47);--color-display-hover:var(--gray-47);--color-body:var(--gray-700);--color-body-alt:var(--gray-100);
99--color-accent:var(--primary-color-800);--btn-text-color:var(--primary-color-700);--btn-bg-color:var(--primary-color-100);--btn-bg-color-hover:var(--primary-color-200);--arrow-color:var(--gray-800);--arrow-bg-color:var(--white);--overlap-color-display:var(--gray-100);--overlap-color-display-hover:var(--gray-100);--overlap-color-body:var(--gray-100);--overlap-color-body-alt:var(--gray-100);--overlap-btn-hover-color:var(--primary-color-200);--overlap-btn-hover-text-color:var(--gray-700)}.ccl-widget .inner{position:relative}.ccl-widget .slide .img-cont{position:relative;overflow:hidden}.ccl-widget .slide img{display:block;width:100%;height:auto;margin:0}.social-links{display:flex;align-items:center;justify-content:center;margin:0;padding:0;font-size:1.6rem;list-style:none}.social-links a{color:inherit}.social-links .social-network{padding:0 .5rem}.ccl-widget .widget-view-all{position:relative;align-self:flex-end}.core-side-by-side .slide .slide-top{display:grid;gap:var(--space-2)}.core-side-by-side:not([data-slides-across="2"]) .slide>.inner{margin:0 auto;padding:0 var(--space-5);max-width:var(--width-base)}.core-side-by-side .slide .img-cont{position:relative;margin-bottom:var(--space-5);overflow:hidden}.core-side-by-side{margin-bottom:var(--widget-margin-bottom);padding-top:var(--widget-padding-top)}.side-by-side-1-across .inner,.core-side-by-side:not([data-slides-across="2"]) .slide>.inner{padding:0;max-width:1680px}.core-side-by-side.side-by-side-1-across .blog-feed-header-mobile-container{display:none}.core-side-by-side.side-by-side-1-across .slide .slide-top{position:relative}.core-side-by-side.side-by-side-1-across .slide .slide-top::before{position:absolute;content:"";background:var(--pink-ee);width:13px;height:13px;bottom:14px;left:50%;transform:translateX(-50%) rotate(45deg);outline:14px solid var(--cream-f9);z-index:1}.core-side-by-side.side-by-side-1-across{max-width:1680px;margin:auto}.ccl-widget .widget-view-all{display:flex;justify-self:center;margin-left:-50px;margin-top:38px}.nav-cta-wrapper{display:flex;justify-content:center}.nav-cta-wrapper .animated{display:none}.nav-cta-wrapper>div{position:relative}.nav-cta-wrapper .content{position:absolute;top:calc(100% * 100 / 178);left:50%;transform:translateX(-50%)}.nav-cta-wrapper .enews-wrapper .content{display:flex;flex-direction:column;align-items:center}.nav-cta-wrapper .enews-wrapper .content img{width:27px}.nav-cta-wrapper .enews-wrapper .content .animated{display:none}.nav-cta-wrapper .enews-wrapper .content .subtitle{color:var(--orange-ff);font-family:var(--font-cooper);letter-spacing:1px;font-size:16px}.nav-cta-wrapper .social-wrapper .social-links a{color:var(--orange-ff)}.nav-cta-wrapper .social-links .social-network{padding:0 6px}.panel-intro{max-width:var(--width-feature);margin:0 auto;padding:0}.panel-intro .content{padding:30px;padding-bottom:60px;position:relative}.panel-intro .content .bg-img-wrapper{background-image:url(/includes/public/assets/shared/trees-silouhette.svg);background-repeat:no-repeat;background-position:50% calc(100% + 30px);background-size:160%;width:100%;height:100%;position:absolute;top:0;left:0;z-index:0;transform:scaleX(-1)}.panel-intro .content .logo{margin:0 auto 30px;max-width:520px;z-index:1;position:relative}.panel-intro .content .title{font-family:var(--font-fairwater);font-size:27px;font-weight:600;line-height:1.2;color:var(--orange-ff);text-align:center;padding:0 15px;margin-bottom:7px;z-index:1;position:relative}.panel-intro .content .contentRender_name_plugins_core_textbox{padding:0;position:relative}.panel-intro .content .contentRender_name_plugins_core_textbox p{line-height:1.55}.panel-intro .content .widget-view-all{max-width:180px;margin:auto;position:relative}.panel-intro .widget-view-all .img-wrapper{min-width:80px}.panel-intro .image-wrapper{display:grid;grid-template-columns:1fr 1fr}.panel-intro .image-wrapper .img-cont{position:relative;overflow:hidden;height:auto}.panel-intro .image-wrapper img{display:block;width:100%;height:auto;margin:0}*,::after,::before{border-width:0;border-style:solid;border-color:currentColor;box-sizing:border-box}html{-webkit-text-size-adjust:100%}
99article,header,nav,section{display:block}body{font-family:var(--font-body);font-size:1rem;font-weight:400;line-height:1.5;color:var(--gray-800);text-align:left;background-color:var(--white)}body,h2,h3,p{margin:0}h2,h3{font-size:inherit;font-weight:inherit}ul{list-style:none;margin:0;padding:0}a{color:var(--primary-500);text-decoration:none;background-color:transparent}button{border-radius:0}button,input{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button{text-transform:none}[type=button],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}img,video{display:block;vertical-align:middle;border-style:none;overflow:hidden}img{max-width:100%;height:auto}.hide{display:none!important}:root{--font-trade-gothic-next:"trade-gothic-next",sans-serif;--font-plantin:"plantin",sans-serif;--font-cooper:"cooper-black-std",serif;--font-fairwater:"fairwater-script",sans-serif;--font-poppins:"poppins",sans-serif;--font-body:var(--font-trade-gothic-next);--font-display:var(--font-plantin);--black:#000;--white:#fff;--cream-f9:#f9f4e8;--cream-f9-alt:#f9edcf;--cream-f6:#f6e6be;--cream-f1:#f1e8ca;--gray-33:#333533;--gray-47:#474b4a;--gray-7f:#7f8892;--gray-f2:#f2f2f2;--green-23:#234e45;--green-33:#33685a;--orange-d6:#d66d3c;--orange-fa:#fa9f68;--orange-f4:#f49753;--orange-fd:#fd9a43;--orange-fc:#fc6f30;--orange-ff:#f50;--red-ff:#ff001f;--red-db:#db0822;--yellow-ea:#eacf83;--yellow-d5:#d59f07;--pink-ee:#eebdae;--pink-f1:#f18e82;--pink-ff:#ff8f9d;--pink-dd:#dd7b5d;--width-compact:calc(var(--width-comfortable) * (2/3));--width-comfortable:72ch;--width-double:calc(var(--width-comfortable) * 2);--width-base:940px;--width-feature:1680px;--width-fullscreen:100vw;--space-px:1px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--space-40:160px;--space-48:192px;--space-56:224px;--space-64:256px;--container-single:calc(var(--width-comfortable) + var(--space-10));--container-double:calc(var(--width-double) + var(--space-24));--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:4rem;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--gray-hue:215;--gray-100:var(--white);--gray-200:var(--gray-f2);--gray-300:hsl(var(--gray-hue),32%,91%);--gray-400:hsl(var(--gray-hue),25%,84%);--gray-500:#ccc;--gray-600:hsl(var(--gray-hue),15%,52%);--gray-700:hsl(var(--gray-hue),17%,35%);--gray-800:hsl(var(--gray-hue),23%,23%);--gray-900:var(--gray-47);--primary-color-hue:210;--primary-color-100:var(--pink-ee);--primary-color-200:var(--pink-ee);--primary-color-300:var(--yellow-ea);--primary-color-400:var(--orange-fc);--primary-color-500:var(--orange-fc);--primary-color-600:var(--red-ff);--primary-color-700:var(--green-33);--primary-color-800:var(--green-33);--primary-color-900:var(--green-33);--secondary-color-hue:29;--secondary-color-100:var(--green-33);--secondary-color-200:var(--green-33);--secondary-color-300:var(--green-33);--secondary-color-400:var(--green-33);--secondary-color-500:var(--green-33);--secondary-color-600:var(--green-33);--secondary-color-700:var(--green-33);--secondary-color-800:var(--green-33);--secondary-color-900:var(--green-33);--tertiary-color-hue:0;--tertiary-color-100:var(--green-33);--tertiary-color-200:var(--green-33);--tertiary-color-300:var(--green-33);--tertiary-color-400:var(--green-33);--tertiary-color-500:var(--green-33);--tertiary-color-600:var(--green-33);--tertiary-color-700:var(--green-33);--tertiary-color-800:var(--green-33);--tertiary-color-900:var(--green-33);--shadow-xs:0 0 0 1px rgba(0,0,0,.05);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,.06);--shadow-outline:0 0 0 3px rgba(66,153,225,.5);--rounded-none:0;--rounded-sm:.125rem;--rounded-md:.375rem;--rounded-lg:.5rem;--rounded-xl:.75rem;--rounded-2xl:1rem;--rounded-3xl:1.5rem;--rounded-full:9999px;--rounded-circle:50%}html{overflow-y:scroll}body>.contentRender{min-height:100%;height:100%}html,body{height:100%;font-family:var(--font-body);color:var(--gray-900);background-color:var(--cream-f9)}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.skip-link[href]{z-index:5000000;display:block;margin:0;padding:var(--space-8) var(--space-12);width:auto;height:auto;font-size:var(--text-3xl);line-height:var(--leading-tight);color:var(--gray-100);text-align:center;border:4px dashed var(--gray-100);background:var(--gray-900);opacity:0;clip:auto}.contentRender_name_plugins_core_textbox{width:100%;padding:0 var(--space-5);margin:0 auto}.contentRender_name_plugins_core_textbox{padding:var(--space-8) var(--space-5)}.panel-page{position:relative;display:grid;grid-template-columns:100%;grid-template-rows:auto auto 1fr auto;min-height:100%}.panel-header{--surface-foreground:var(--cream-f9-alt);--surface-background:var(--green-23);--surface-mobile-nav:var(--green-23);--text:var(--gray-100);--text-alt:var(--gray-900);position:relative;color:var(--text)}.panel-header .nav-widgets{display:none}.panel-header .secondary-nav-container{display:none;padding:0 20px}.panel-header .primary-content-container{display:flex;align-items:stretch;justify-content:space-between;padding:0 0 0 var(--space-5);background-color:var(--surface-foreground)}.panel-header .primary-content-container .contentRender_name_plugins_common_logo{padding:15.5px 0}.panel-header .main-nav-widgets-container{display:grid;align-items:stretch;grid-template-columns:min-content;gap:var(--space-5)}.panel-header .main-nav-widgets-container>*:not(.widgets){display:flex;align-items:center}.panel-header .main-nav-widgets-container .widgets{display:none;align-items:center}.panel-header .mobile-nav-container{position:absolute;z-index:10;display:none;width:100%}.panel-header .mobile-nav-container .mobile-nav{max-width:420px;width:100%;background-color:var(--surface-mobile-nav);padding-bottom:45px;border-bottom-left-radius:var(--rounded-2xl);border-bottom-right-radius:var(--rounded-2xl)}.panel-header .mobile-nav .widgets{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:dense;padding:27px 35px 27px 20px;color:var(--text-alt)}.panel-header .mobile-nav .widgets>*:not(.search-cont){align-self:center;justify-self:center}.panel-header .mobile-nav .mobile-social-links{padding:0 8px}.panel-header .mobile-nav .mobile-social-links .social-links{justify-content:flex-start}.panel-header .mobile-nav .mobile-social-links .social-network{padding:0 12px}.panel-header .mobile-nav .mobile-social-links .social-link{font-size:30px}body,h2,h3,p,button,input{font-family:var(--font-body)}h2,h3{font-family:var(--font-display)}
99button{background-color:var(--cream-f6);color:var(--orange-fc)}a{color:var(--green-33);font-weight:900}::-webkit-input-placeholder{color:inherit}:-moz-placeholder{color:inherit}::-moz-placeholder{color:inherit}:-ms-input-placeholder{color:inherit}@font-face{font-family:"cooper-black-std";src:url("https://use.typekit.net/af/4e1b68/000000000000000000013101/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/4e1b68/000000000000000000013101/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/4e1b68/000000000000000000013101/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");font-display:auto;font-style:normal;font-weight:400;font-stretch:normal}@font-face{font-family:"fairwater-script";src:url("https://use.typekit.net/af/543511/00000000000000007735c922/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/543511/00000000000000007735c922/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/543511/00000000000000007735c922/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");font-display:auto;font-style:normal;font-weight:700;font-stretch:normal}@font-face{font-family:"poppins";src:url("https://use.typekit.net/af/a66c7a/00000000000000007735c1a3/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/a66c7a/00000000000000007735c1a3/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/a66c7a/00000000000000007735c1a3/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");font-display:auto;font-style:normal;font-weight:700;font-stretch:normal}@font-face{font-family:"plantin";src:url("https://use.typekit.net/af/ad8cfa/00000000000000007735baec/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/ad8cfa/00000000000000007735baec/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/ad8cfa/00000000000000007735baec/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");font-display:auto;font-style:normal;font-weight:700;font-stretch:normal}@font-face{font-family:"trade-gothic-next";src:url("https://use.typekit.net/af/e7065f/00000000000000007735ba3f/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/e7065f/00000000000000007735ba3f/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/e7065f/00000000000000007735ba3f/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");font-display:auto;font-style:normal;font-weight:700;font-stretch:normal}@font-face{font-family:"trade-gothic-next";src:url("https://use.typekit.net/af/a741c0/00000000000000007735ba66/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/a741c0/00000000000000007735ba66/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/a741c0/00000000000000007735ba66/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");font-display:auto;font-style:normal;font-weight:400;font-stretch:normal} 100 101 102 </style> 103 104 <meta name="facebook-domain-verification" content="wddgsizlm0qjolo6iy63mney0sk9h5" /> 105 106
106<script id="visit_widget_script_tag" type="text/javascript" src="https://scripts.visitwidget.com/visitlivco.visitwidget.com/Option%201/visit_widget.js"></script>
106 107
107<script type="text/javascript" src="https://scripts.visitwidget.com/visitlivco.visitwidget.com/app_banner_config.js"></script>
107 108
108<script type="text/javascript" src="https://scripts.visitwidget.com/app_banner_v2.min.js"></script>
108 109 110 </head> 111 <body> 112 <!-- topBody --> 113 114 <noscript> 115 <iframe src="//www.googletagmanager.com/ns.html?id=GTM-TZN38V5" title="Google Tag Manager" height="0" width="0" style="display:none;visibility:hidden"></iframe> 116 </noscript> 117 118 <noscript> 119 <iframe src="//www.googletagmanager.com/ns.html?id=GTM-NFBVG93" title="Google Tag Manager" height="0" width="0" style="display:none;visibility:hidden"></iframe> 120 </noscript> 121 122 123 <!-- content --> 124 <div data-civid="63ffe32ed27d4f6cbbd8c42f" class="contentRender contentRender_0 contentRender_type_panel contentRender_name_plugins_common_page" data-sv-time="0" data-sv-index="0" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 125 126<style>.skip-link { display: none; }</style>
127<script> 128 // CRM FORM STYLING HELPER JS 129 // Adds the body class as quickly as possible to hide all the items on the page so we don't 130 // have the site flash before the calendar shows up 131 if (location.search.indexOf('action=popupCal') > -1 && document.body.querySelectorAll('.lookup-calHolder')) { 132 document.body.classList.add('crm-calendar-popup'); 133 }; 134</script>
134 135 136<!-- Adds a check for IE, if we're in IE we block the entire page --> 137<div 138 id="ie-warning" 139 style="position: fixed; z-index: 999999999999; top: 0; left: 0; display: none; align-items: center; justify-content: center; width: 100%; height: 100%; text-align: center; background-color: #fff;" 140 aria-hidden="true" 141> 142 <div> 143 <img 144 src="/includes/public/assets/shared/logo.svg" 145 alt="Livingston County Economic Development" 146 width="80" 147 height="80" 148 style="margin-bottom: 16px;" 149 /> 150 <p style="font-size: 22px; font-weight: 700; line-height: 1.3; text-align: center;">Your browser is not supported for this experience.<br />We recommend using Chrome, Firefox, Edge, or Safari.</p> 151 </div> 152
152<script> 153 var ieWarning = document.querySelector('#ie-warning'); 154 if (document.body.style.msTouchAction !== undefined) { 155 ieWarning.style.display = 'flex'; 156 ieWarning.setAttribute('aria-hidden', 'false'); 157 } 158 </script>
158 159</div> 160 161 162 163 <a class="skip-link sr-only" href="#slideshow-container">Skip navigation</a> 164 165<a class="skip-link sr-only" href="#main-content">Skip to main content</a> 166 167<div class="root-panel panel-page "> 168 <div class="header-container"> 169 <div data-civid="61df674bd714252bfc52dd0c" class="contentRender contentRender_1 contentRender_type_panel contentRender_name_plugins_common_header" data-sv-time="0" data-sv-index="1" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 170 171 172<header class="panel-header" data-guid="cef78cd9-292f-4a1f-9a5f-04a3f5cb9829"> 173 <div class="primary-content-container"> 174 <div data-civid="6616bbe7de924f43686429d8" class="contentRender contentRender_5 contentRender_type_widget contentRender_name_plugins_common_logo" data-sv-time="19" data-sv-index="5" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 175 176 177 178 179<div class="logo" data-guid="12051559-49bd-40a3-b8ca-a9090158332a" > 180 <a href="/" target="" aria-label="Livingston County Economic Development"> 181 182 <img 183 src="/includes/public/assets/shared/logo-sm-header.svg" 184 alt="Livingston County Economic Development" 185 loading="lazy" 186 width="105" 187 height="30" 188 /> 189 190 </a> 191</div> 192 193</div> 194 <div class="main-nav-widgets-container"> 195 <div class="main-nav-wrapper"> 196 <div data-civid="6616bbe7de924f43686429d2" class="contentRender contentRender_2 contentRender_type_widget contentRender_name_plugins_nav_main" data-sv-time="27" data-sv-index="2" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 197 198<div class="nav-container" data-guid="aff24b14-4ef5-459a-b982-44d00dbb65df"> 199 <noscript class="permanently-hidden"> 200 201 <nav> 202 203 204 205 <a href="/outdoors/">Outdoors</a> 206 207 <a href="/outdoors/letchworth-state-park/">Letchworth State Park</a> 208 209 <a href="/outdoors/letchworth-state-park/autism-nature-trail/">Autism Nature Trail</a> 210 211 <a href="/outdoors/letchworth-state-park/whitewater-rafting/">Whitewater Rafting</a> 212 213 <a href="/outdoors/letchworth-state-park/mount-morris-dam/">Mount Morris Dam</a> 214 215 <a href="/outdoors/letchworth-state-park/nys-yoga-fest/">NYS Yoga Fest</a> 216 217 <a href="/outdoors/hiking-trails/">Hiking & Trails</a> 218 219 <a href="/outdoors/parks-gardens/">Parks & Gardens</a> 220 221 <a href="/outdoors/horseback-riding/">Horseback Riding</a> 222 223 <a href="/outdoors/waterfalls/">Waterfalls</a> 224 225 <a href="/outdoors/outfitters/">Outfitters</a> 226 227 <a href="/outdoors/biking/">Biking</a> 228 229 <a href="/outdoors/on-the-water/">On The Water</a> 230 231 <a href="/outdoors/winter-activities/">Winter Activities</a> 232 233 <a href="/outdoors/winter-activities/skiing-snowboarding/">Skiing & Snowboarding</a> 234 235 <a href="/outdoors/winter-activities/cross-country-skiing/">Cross-Country Skiing</a> 236 237 <a href="/outdoors/winter-activities/snowmobiling/">Snowmobiling</a> 238 239 <a href="/outdoors/winter-activities/ice-skating/">Ice Skating</a> 240 241 <a href="/outdoors/winter-activities/ice-fishing/">Ice Fishing</a> 242 243 <a href="/outdoors/winter-activities/snowshoeing/">Snowshoeing</a> 244 245 <a href="/outdoors/fall-foliage/">Fall Foliage</a> 246 247 <a href="/outdoors/maps-guides/">Maps & Guides</a> 248 249 <a href="/things-to-do/">Things To Do</a> 250 251 <a href="/things-to-do/inspirations-trail/">Inspirations Trail</a> 252 253 <a href="/things-to-do/inspirations-trail/livco-walls/">LivCo Walls</a> 254 255 <a href="/things-to-do/inspirations-trail/horse-country-mural/">Horse Country Mural</a> 256 257 <a href="/things-to-do/inspirations-trail/trout-culture-mural/">Trout Culture Mural</a> 258 259 <a href="/things-to-do/inspirations-trail/wild-mustang-mural/">Wild Mustang Mural</a> 260 261 <a href="/things-to-do/inspirations-trail/wisdom-mural/">Wisdom Mural</a> 262 263 <a href="/things-to-do/inspirations-trail/big-heart-mural/">Big Heart Mural</a> 264 265 <a href="/things-to-do/inspirations-trail/farmers-spectrum-mural/">Farmer's Spectrum Mural</a> 266 267 <a href="/things-to-do/inspirations-trail/first-flight-mural/">First Flight Mural</a> 268 269 <a href="/things-to-do/inspirations-trail/flowers-of-letchworth-mural/">Flowers of Letchworth Mural</a> 270 271 <a href="/things-to-do/inspirations-trail/seed-mural/">Seed Mural</a> 272 273 <a href="/things-to-do/wellness/">Wellness</a> 274 275 <a href="/things-to-do/nightlife/">Nightlife</a> 276 277 <a href="/things-to-do/attractions/">Attractions</a> 278 279 <a href="/things-to-do/attractions/things-to-do-with-kids/">Things To Do With Kids</a> 280 281 <a href="/things-to-do/attractions/free-things-to-do/">Free Things To Do</a> 282 283 <a href="/things-to-do/shopping/">Shopping</a> 284 285 <a href="/things-to-do/shopping/boutiques-gift-shops/">Boutiques & Gift Shops</a> 286 287 <a href="/things-to-do/shopping/antiques/">Antiques</a> 288 289 <a href="/things-to-do/shopping/country-stores/">Country Stores</a> 290 291 <a href="/things-to-do/shopping/books-music/">
291Books & Music</a> 292 293 <a href="/things-to-do/farm-experiences/">Farm Experiences</a> 294 295 <a href="/things-to-do/farm-experiences/farmers-markets/">Farmers Markets</a> 296 297 <a href="/things-to-do/farm-experiences/farm-stands-u-picks/">Farm Stands & U-Picks</a> 298 299 <a href="/things-to-do/farm-experiences/animal-experiences/">Animal Experiences</a> 300 301 <a href="/things-to-do/arts-entertainment/">Arts & Entertainment</a> 302 303 <a href="/things-to-do/arts-entertainment/performing-arts-theater/">Performing Arts & Theater</a> 304 305 <a href="/things-to-do/arts-entertainment/art-galleries/">Art Galleries</a> 306 307 <a href="/things-to-do/arts-entertainment/artists-makers/">Artists & Makers</a> 308 309 <a href="/things-to-do/museums-history/">Museums & History</a> 310 311 <a href="/things-to-do/sports-recreation/">Sports & Recreation</a> 312 313 <a href="/things-to-do/sports-recreation/golf/">Golf</a> 314 315 <a href="/things-to-do/sports-recreation/pickleball/">Pickleball</a> 316 317 318 319 <a href="/events/">Events</a> 320 321 <a href="/events/annual-festivals-events/">Annual Festivals & Events</a> 322 323 <a href="/events/arts-entertainment/">Arts & Entertainment</a> 324 325 <a href="/events/concerts-live-music/">Concerts & Live Music</a> 326 327 <a href="/events/outdoors-recreation/">Outdoors & Recreation</a> 328 329 <a href="/events/equestrian-events/">Equestrian Events</a> 330 331 <a href="/events/christmas-holiday/">Holiday Events</a> 332 333 <a href="https://www.visitlivco.com/locals/event-calendar/">Community Events</a> 334 335 <a href="/events/250th-commemoration/">250th Commemoration</a> 336 337 <a href="/events/submit-your-event/">Submit Your Event</a> 338 339 340 341 <a href="/restaurants/">Restaurants</a> 342 343 <a href="/restaurants/cuisine-types/">Cuisine Types</a> 344 345 <a href="/restaurants/cuisine-types/breakfast-brunch/">Breakfast & Brunch</a> 346 347 <a href="/restaurants/cuisine-types/american-burgers/">American</a> 348 349 <a href="/restaurants/cuisine-types/vegan-vegetarian/">Vegan / Vegetarian</a> 350 351 <a href="/restaurants/cuisine-types/global/">Global</a> 352 353 <a href="/restaurants/cuisine-types/subs-sandwiches/">Subs & Sandwiches</a> 354 355 <a href="/restaurants/cuisine-types/bbq/">BBQ</a> 356 357 <a href="/restaurants/cuisine-types/pizza/">Pizza</a> 358 359 <a href="/restaurants/cuisine-types/chinese/">Chinese</a> 360 361 <a href="/restaurants/cuisine-types/italian/">Italian</a> 362 363 <a href="/restaurants/cuisine-types/mexican/">Mexican</a> 364 365 <a href="/restaurants/farm-to-table/">Farm To Table</a> 366 367 <a href="/restaurants/bakeries-coffee-shops/">Bakeries & Coffee Shops</a> 368 369 <a href="/restaurants/ice-cream-sweets/">Ice Cream & Sweets</a> 370 371 <a href="/restaurants/romantic/">Romantic</a> 372 373 <a href="/restaurants/group-dining/">Group Dining</a> 374 375 <a href="/restaurants/waterfront-dining/">Waterfront Dining</a> 376 377 <a href="/places-to-stay/">Places To Stay</a> 378 379 <a href="/places-to-stay/hotels/">Hotels</a> 380 381 <a href="/places-to-stay/bed-breakfasts/">Bed & Breakfasts</a> 382 383 <a href="/places-to-stay/cabins-glamping/">Cabins & Glamping</a> 384 385 <a href="/places-to-stay/campgrounds-rv-parks/">Campgrounds & RV Parks</a> 386 387 <a href="/places-to-stay/vacation-rentals/">Vacation Rentals</a> 388 389 <a href="/places-to-stay/groups/">Conferences & Groups</a> 390 391 <a href="/livingston-libation-loop/">Libation Loop</a> 392 393 <a href="/plan-your-visit/">Plan Your Visit</a> 394 395 <a href="/plan-your-visit/livco-basecamp/">LivCo Basecamp</a> 396 397 <a href="/plan-your-visit/visitor-guide/">Visitor Guides</a> 398 399 400 401 <a href="/plan-your-visit/visitor-guide/spring-summer-issue/">Spring & Summer Issue</a> 402 403 <a href="/plan-your-visit/visitor-guide/fall-winter-issue/">Fall & Winter Issue</a> 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 <a href="/plan-your-visit/trip-ideas-itineraries/">Trip Ideas & Itineraries</a> 436 437 <a href="/plan-your-visit/trip-ideas-itineraries/weekend-itineraries/">Weekend Itineraries</a> 438 439 <a href="/plan-your-visit/trip-ideas-itineraries/family-vacation/">Family Vacation</a> 440 441 <a href="/plan-your-visit/trip-ideas-itineraries/samantha-brown/">Samantha Brown's Places to Love</a> 442 443 <a href="/plan-your-visit/seasons/">Seasons</a> 444 445 <a href="/plan-your-visit/seasons/spring/">Spring</a> 446 447 <a href="/plan-your-visit/seasons/summer/">Summer</a> 448 449 <a href="/plan-your-visit/seasons/fall/">Fall</a> 450 451 <a href="/plan-your-visit/seasons/winter/">Winter</a> 452 453 <a href="/plan-your-visit/villages-towns/">Villages & Towns</a> 454 455 <a href="/plan-your-visit/villages-towns/avon/">Avon</a> 456 457 <a href="/plan-your-visit/villages-towns/caledonia/">Caledonia</a> 458 459 <a href="/plan-your-visit/villages-towns/dansville/">Dansville</a> 460 461 <a href="/plan-your-visit/villages-towns/geneseo/">Geneseo</a> 462 463 <a href="/plan-your-visit/villages-towns/leicester/">Leicester</a> 464 465 <a href="/plan-your-visit/villages-towns/lima/">Lima</a> 466 467 <a href="/plan-your-visit/villages-towns/livonia/">Livonia</a> 468 469 <a href="/plan-your-visit/villages-towns/mount-morris/">Mount Morris</a> 470 471 <a href="/plan-your-visit/villages-towns/nunda/">Nunda</a> 472
473 <a href="/plan-your-visit/transportation/">Transportation</a> 474 475 <a href="/plan-your-visit/about/">About</a> 476 477 <a href="/plan-your-visit/newsletter/">Newsletter</a> 478 479 480 481 </nav> 482 483 </noscript> 484 <div class="mobile-weather"><div data-weather-cont></div></div> 485 <div class="ilny-cont mobile"> 486 <a href="https://www.iloveny.com/" target="_blank" class="ilny"> 487 <img class="ilny-logo" src="/includes/public/assets/shared/logos/ilny.svg" alt="love newyork" width="100"> 488 <img class="ilny-eclipse-logo" src="/includes/public/assets/shared/logos/ilny-eclipse-logo.svg" alt="love newyork | eclipse" width="100"> 489 </a> 490 </div> 491 <div class="button-wrapper"> 492 <button 493 class="menu-toggle" 494 type="button" 495 aria-label="toggle menu" 496 aria-haspopup="true" 497 aria-expanded="false" 498 aria-controls="primary-site-menu" 499 data-action="toggle-menu" 500 > 501 <span class="hamburger-inner"></span> 502 </button> 503 </div> 504 505 <nav 506 class="navigation navigation-three-col primary desktop" 507 data-primary-nav-desktop 508 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Main | Collection" } }' 509 > 510
510<script type="text/template" data-nav-item-template>{{+nav_items}} 511 {{+nav_items_helper}} {{!-- This nested partial is necessary to make this partial recursive because helpers.partial 512 only outputs the inner text of the partial, not the partial name. Please do not remove! --}} 513 {{#shownchildren}} 514 {{~exec(function() { 515 if (!data.isLazyLoaded) { 516 helpers.var.depth = 1; 517 } else { 518 helpers.var.depth = data.depth; 519 } 520 })}} 521 <div class="nav-item level-{{~var.depth}} {{data.section}}" data-id="{{data.id}}" data-nav-item> 522 <div class="nav-item-control level-{{~var.depth}}{{:shownchildren}} has-children{{/}}"> 523 <a 524 class="nav-link" 525 href="{{href}}" 526 target="{{target}}" 527 data-gtm-click 528 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "{{%%data.title}}" } }' 529 > 530 {{data.title}} 531 </a> 532 {{:shownchildren}} 533 <button 534 id="{{data.id}}" 535 class="dropdown-toggle" 536 aria-label="open submenu" 537 aria-haspopup="true" 538 aria-expanded="false" 539 data-dropdown-toggle 540 > 541 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 542 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 543 </button> 544 {{/}} 545 </div> 546 {{:shownchildren}} 547 <div class="dropdown-helper" data-dropdown-helper></div> 548 <div 549 class="dropdown-menu level-{{~var.depth}} 550 {{:isLazyLoaded}} 551 {{:shownChildren.0}}rendered{{/}} 552 {{/}}" 553 aria-labelledby="{{data.id}}" 554 data-parent-id="{{data.id}}" 555 data-start="{{data.folderHref}}" 556 data-section="{{data.section}}" 557 data-dropdown-menu 558 style="display: none" 559 > 560 {{~exec(function() { 561 helpers.var.showWidget = data.data.section === "main" && helpers.var.depth === 1; 562 if(data.data.section === 'microsites' && helpers.var.depth === 1) { 563 helpers.var.showWidget = true; 564 } 565 })}} 566 {{:~var.showWidget}} 567 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 568 {{/}} 569 {{:isLazyLoaded}} 570 {{>nav_items_helper}} 571 {{/}} 572 </div> 573 {{/}} 574 </div> 575 {{/}} 576 {{/}} 577 {{>nav_items_helper}} 578{{/}} 579 580{{>nav_items}}</script>
580 581 582 583 584 585 586 587 588 <div class="nav-item level-1 main" data-id="61fab0ee50b7676e324465d5" data-nav-item> 589 <div class="nav-item-control level-1 has-children"> 590 <a 591 class="nav-link" 592 href="/outdoors/" 593 target="_self" 594 data-gtm-click 595 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Outdoors" } }' 596 > 597 Outdoors 598 </a> 599 600 <button 601 id="61fab0ee50b7676e324465d5" 602 class="dropdown-toggle" 603 aria-label="open submenu" 604 aria-haspopup="true" 605 aria-expanded="false" 606 data-dropdown-toggle 607 > 608 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 609 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 610 </button> 611 612 </div> 613 614 <div class="dropdown-helper" data-dropdown-helper></div> 615 <div 616 class="dropdown-menu level-1 617 " 618 aria-labelledby="61fab0ee50b7676e324465d5" 619 data-parent-id="61fab0ee50b7676e324465d5" 620 data-start="/outdoors/" 621 data-section="main" 622 data-dropdown-menu 623 style="display: none" 624 > 625 626 627 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 628 629 630 </div> 631 632 </div> 633 634 635 <div class="nav-item level-1 main" data-id="61fab0ee50b7676e324465ff" data-nav-item> 636 <div class="nav-item-control level-1 has-children"> 637 <a 638 class="nav-link" 639 href="/things-to-do/" 640 target="_self" 641 data-gtm-click 642 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Things%20To%20Do" } }' 643 > 644 Things To Do 645 </a> 646 647 <button 648 id="61fab0ee50b7676e324465ff" 649 class="dropdown-toggle" 650 aria-label="open submenu" 651 aria-haspopup="true" 652 aria-expanded="false" 653 data-dropdown-toggle 654 > 655 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 656 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 657 </button> 658 659 </div> 660 661 <div class="dropdown-helper" data-dropdown-helper></div> 662 <div 663 class="dropdown-menu level-1 664 " 665 aria-labelledby="61fab0ee50b7676e324465ff" 666 data-parent-id="61fab0ee50b7676e324465ff" 667 data-start="/things-to-do/" 668 data-section="main" 669 data-dropdown-menu 670 style="display: none" 671 > 672 673 674 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 675 676 677 </div> 678 679 </div> 680 681 682 <div class="nav-item level-1 main" data-id="61fab0ef50b7676e32446627" data-nav-item> 683 <div class="nav-item-control level-1 has-children"> 684 <a 685 class="nav-link" 686 href="/events/" 687 target="_self" 688 data-gtm-click 689 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Events" } }' 690 > 691 Events 692 </a> 693 694 <button 695 id="61fab0ef50b7676e32446627" 696 class="dropdown-toggle" 697 aria-label="open submenu" 698 aria-haspopup="true" 699 aria-expanded="false" 700 data-dropdown-toggle 701 > 702 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 703 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 704 </button> 705 706 </div> 707 708 <div class="dropdown-helper" data-dropdown-helper></div> 709 <div 710 class="dropdown-menu level-1 711 " 712 aria-labelledby="61fab0ef50b7676e32446627" 713 data-parent-id="61fab0ef50b7676e32446627" 714 data-start="/events/" 715 data-section="main" 716 data-dropdown-menu 717 style="display: none" 718 > 719 720 721 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 722 723 724 </div> 725 726 </div> 727 728 729 <div class="nav-item level-1 main" data-id="61fab0ef50b7676e32446651" data-nav-item> 730 <div class="nav-item-control level-1 has-children"> 731 <a 732 class="nav-link" 733 href="/restaurants/" 734 target="_self" 735 data-gtm-click 736 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Restaurants" } }' 737 > 738 Restaurants 739 </a> 740 741 <button 742 id="61fab0ef50b7676e32446651" 743 class="dropdown-toggle" 744 aria-label="open submenu" 745 aria-haspopup="true" 746 aria-expanded="false" 747 data-dropdown-toggle 748 > 749 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 750 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 751 </button> 752 753 </div> 754 755 <div class="dropdown-helper" data-dropdown-helper></div> 756 <div 757 class="dropdown-menu level-1 758 " 759 aria-labelledby="61fab0ef50b7676e32446651" 760 data-parent-id="61fab0ef50b7676e32446651" 761 data-start="/restaurants/" 762 data-section="main" 763 data-dropdown-menu 764 style="display: none" 765 > 766 767 768 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 769 770 771 </div> 772 773 </div> 774 775 776 <div class="nav-item level-1 main" data-id="61fab0ef50b7676e3244667b" data-nav-item> 777 <div class="nav-item-control level-1 has-children"> 778 <a 779 class="nav-link" 780 href="/places-to-stay/" 781 target="_self" 782 data-gtm-click 783 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Places%20To%20Stay" } }' 784 > 785 Places To Stay 786 </a> 787 788 <button 789 id="61fab0ef50b7676e3244667b" 790 class="dropdown-toggle" 791 aria-label="open submenu" 792 aria-haspopup="true" 793 aria-expanded="false" 794 data-dropdown-toggle 795 > 796 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 797 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 798 </button> 799 800 </div> 801 802 <div class="dropdown-helper" data-dropdown-helper></div> 803 <div 804 class="dropdown-menu level-1 805 " 806 aria-labelledby="61fab0ef50b7676e3244667b" 807 data-parent-id="61fab0ef50b7676e3244667b" 808 data-start="/places-to-stay/" 809 data-section="main" 810 data-dropdown-menu 811 style="display: none" 812 > 813 814 815 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 816 817 818 </div> 819 820 </div> 821 822 823 <div class="nav-item level-1 main" data-id="6220f166ee79c71297f31857" data-nav-item> 824 <div class="nav-item-control level-1"> 825 <a 826 class="nav-link" 827 href="/livingston-libation-loop/" 828 target="_self" 829 data-gtm-click 830 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Libation%20Loop" } }' 831 > 832 Libation Loop 833 </a> 834 835 </div> 836 837 </div> 838 839 840 <div class="nav-item level-1 main" data-id="61fab0ef50b7676e324466a5" data-nav-item> 841 <div class="nav-item-control level-1 has-children"> 842 <a 843 class="nav-link" 844 href="/plan-your-visit/" 845 target="_self" 846 data-gtm-click 847 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Plan%20Your%20Visit" } }' 848 > 849 Plan Your Visit 850 </a> 851 852 <button 853 id="61fab0ef50b7676e324466a5" 854 class="dropdown-toggle" 855 aria-label="open submenu" 856 aria-haspopup="true" 857 aria-expanded="false" 858 data-dropdown-toggle 859 > 860 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 861 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 862 </button> 863 864 </div> 865 866 <div class="dropdown-helper" data-dropdown-helper></div> 867 <div 868 class="dropdown-menu level-1 869 " 870 aria-labelledby="61fab0ef50b7676e324466a5" 871 data-parent-id="61fab0ef50b7676e324466a5" 872 data-start="/plan-your-visit/" 873 data-section="main" 874 data-dropdown-menu 875 style="display: none" 876 > 877 878 879 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 880 881 882 </div> 883 884 </div> 885 886 887 888 </nav> 889 890 <nav class="navigation primary mobile hide" data-primary-nav-mobile data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Main | Nav" } }'> 891
891<script type="text/template" data-nav-item-template>{{+nav_items}} 892 {{+nav_items_helper}} {{!-- This nested partial is necessary to make this partial recursive because helpers.partial 893 only outputs the inner text of the partial, not the partial name. Please do not remove! --}} 894 {{#shownchildren}} 895 {{~exec(function() { 896 if (!data.isLazyLoaded) { 897 helpers.var.depth = 1; 898 } else { 899 helpers.var.depth = data.depth; 900 } 901 })}} 902 <div class="nav-item level-{{~var.depth}} {{data.section}}" data-id="{{data.id}}" data-nav-item> 903 <div class="nav-item-control level-{{~var.depth}}{{:shownchildren}} has-children{{/}}"> 904 <a 905 class="nav-link" 906 href="{{href}}" 907 target="{{target}}" 908 data-gtm-click 909 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "{{%%data.title}}" } }' 910 > 911 {{data.title}} 912 </a> 913 {{:shownchildren}} 914 <button 915 id="{{data.id}}" 916 class="dropdown-toggle" 917 aria-label="open submenu" 918 aria-haspopup="true" 919 aria-expanded="false" 920 data-dropdown-toggle 921 > 922 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 923 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 924 </button> 925 {{/}} 926 </div> 927 {{:shownchildren}} 928 <div class="dropdown-helper" data-dropdown-helper></div> 929 <div 930 class="dropdown-menu level-{{~var.depth}} 931 {{:isLazyLoaded}} 932 {{:shownChildren.0}}rendered{{/}} 933 {{/}}" 934 aria-labelledby="{{data.id}}" 935 data-parent-id="{{data.id}}" 936 data-start="{{data.folderHref}}" 937 data-section="{{data.section}}" 938 data-dropdown-menu 939 style="display: none" 940 > 941 {{~exec(function() { 942 helpers.var.showWidget = data.data.section === "main" && helpers.var.depth === 1; 943 if(data.data.section === 'microsites' && helpers.var.depth === 1) { 944 helpers.var.showWidget = true; 945 } 946 })}} 947 {{:~var.showWidget}} 948 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 949 {{/}} 950 {{:isLazyLoaded}} 951 {{>nav_items_helper}} 952 {{/}} 953 </div> 954 {{/}} 955 </div> 956 {{/}} 957 {{/}} 958 {{>nav_items_helper}} 959{{/}} 960 961{{>nav_items}}</script>
961 962 963 964 965 966 967 968 969 <div class="nav-item level-1 main" data-id="61fab0ee50b7676e324465d5" data-nav-item> 970 <div class="nav-item-control level-1 has-children"> 971 <a 972 class="nav-link" 973 href="/outdoors/" 974 target="_self" 975 data-gtm-click 976 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Outdoors" } }' 977 > 978 Outdoors 979 </a> 980 981 <button 982 id="61fab0ee50b7676e324465d5" 983 class="dropdown-toggle" 984 aria-label="open submenu" 985 aria-haspopup="true" 986 aria-expanded="false" 987 data-dropdown-toggle 988 > 989 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 990 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 991 </button> 992 993 </div> 994 995 <div class="dropdown-helper" data-dropdown-helper></div> 996 <div 997 class="dropdown-menu level-1 998 " 999 aria-labelledby="61fab0ee50b7676e324465d5" 1000 data-parent-id="61fab0ee50b7676e324465d5" 1001 data-start="/outdoors/" 1002 data-section="main" 1003 data-dropdown-menu 1004 style="display: none" 1005 > 1006 1007 1008 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 1009 1010 1011 </div> 1012 1013 </div> 1014 1015 1016 <div class="nav-item level-1 main" data-id="61fab0ee50b7676e324465ff" data-nav-item> 1017 <div class="nav-item-control level-1 has-children"> 1018 <a 1019 class="nav-link" 1020 href="/things-to-do/" 1021 target="_self" 1022 data-gtm-click 1023 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Things%20To%20Do" } }' 1024 > 1025 Things To Do 1026 </a> 1027 1028 <button 1029 id="61fab0ee50b7676e324465ff" 1030 class="dropdown-toggle" 1031 aria-label="open submenu" 1032 aria-haspopup="true" 1033 aria-expanded="false" 1034 data-dropdown-toggle 1035 > 1036 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1037 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 1038 </button> 1039 1040 </div> 1041 1042 <div class="dropdown-helper" data-dropdown-helper></div> 1043 <div 1044 class="dropdown-menu level-1 1045 " 1046 aria-labelledby="61fab0ee50b7676e324465ff" 1047 data-parent-id="61fab0ee50b7676e324465ff" 1048 data-start="/things-to-do/" 1049 data-section="main" 1050 data-dropdown-menu 1051 style="display: none" 1052 > 1053 1054 1055 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 1056 1057 1058 </div> 1059 1060 </div> 1061 1062 1063 <div class="nav-item level-1 main" data-id="61fab0ef50b7676e32446627" data-nav-item> 1064 <div class="nav-item-control level-1 has-children"> 1065 <a 1066 class="nav-link" 1067 href="/events/" 1068 target="_self" 1069 data-gtm-click 1070 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Events" } }' 1071 > 1072 Events 1073 </a> 1074 1075 <button 1076 id="61fab0ef50b7676e32446627" 1077 class="dropdown-toggle" 1078 aria-label="open submenu" 1079 aria-haspopup="true" 1080 aria-expanded="false" 1081 data-dropdown-toggle 1082 > 1083 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1084 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 1085 </button> 1086 1087 </div> 1088 1089 <div class="dropdown-helper" data-dropdown-helper></div> 1090 <div 1091 class="dropdown-menu level-1 1092 " 1093 aria-labelledby="61fab0ef50b7676e32446627" 1094 data-parent-id="61fab0ef50b7676e32446627" 1095 data-start="/events/" 1096 data-section="main" 1097 data-dropdown-menu 1098 style="display: none" 1099 > 1100 1101 1102 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 1103 1104 1105 </div> 1106 1107 </div> 1108 1109 1110 <div class="nav-item level-1 main" data-id="61fab0ef50b7676e32446651" data-nav-item> 1111 <div class="nav-item-control level-1 has-children"> 1112 <a 1113 class="nav-link" 1114 href="/restaurants/" 1115 target="_self" 1116 data-gtm-click 1117 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Restaurants" } }' 1118 > 1119 Restaurants 1120 </a> 1121 1122 <button 1123 id="61fab0ef50b7676e32446651" 1124 class="dropdown-toggle" 1125 aria-label="open submenu" 1126 aria-haspopup="true" 1127 aria-expanded="false" 1128 data-dropdown-toggle 1129 > 1130 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1131 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 1132 </button> 1133 1134 </div> 1135 1136 <div class="dropdown-helper" data-dropdown-helper></div> 1137 <div 1138 class="dropdown-menu level-1 1139 " 1140 aria-labelledby="61fab0ef50b7676e32446651" 1141 data-parent-id="61fab0ef50b7676e32446651" 1142 data-start="/restaurants/" 1143 data-section="main" 1144 data-dropdown-menu 1145 style="display: none" 1146 > 1147 1148 1149 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 1150 1151 1152 </div> 1153 1154 </div> 1155 1156 1157 <div class="nav-item level-1 main" data-id="61fab0ef50b7676e3244667b" data-nav-item> 1158 <div class="nav-item-control level-1 has-children"> 1159 <a 1160 class="nav-link" 1161 href="/places-to-stay/" 1162 target="_self" 1163 data-gtm-click 1164 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Places%20To%20Stay" } }' 1165 > 1166 Places To Stay 1167 </a> 1168 1169 <button 1170 id="61fab0ef50b7676e3244667b" 1171 class="dropdown-toggle" 1172 aria-label="open submenu" 1173 aria-haspopup="true" 1174 aria-expanded="false" 1175 data-dropdown-toggle 1176 > 1177 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1178 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 1179 </button> 1180 1181 </div> 1182 1183 <div class="dropdown-helper" data-dropdown-helper></div> 1184 <div 1185 class="dropdown-menu level-1 1186 " 1187 aria-labelledby="61fab0ef50b7676e3244667b" 1188 data-parent-id="61fab0ef50b7676e3244667b" 1189 data-start="/places-to-stay/" 1190 data-section="main" 1191 data-dropdown-menu 1192 style="display: none" 1193 > 1194 1195 1196 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 1197 1198 1199 </div> 1200 1201 </div> 1202 1203 1204 <div class="nav-item level-1 main" data-id="6220f166ee79c71297f31857" data-nav-item> 1205 <div class="nav-item-control level-1"> 1206 <a 1207 class="nav-link" 1208 href="/livingston-libation-loop/" 1209 target="_self" 1210 data-gtm-click 1211 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Libation%20Loop" } }' 1212 > 1213 Libation Loop 1214 </a> 1215 1216 </div> 1217 1218 </div> 1219 1220 1221 <div class="nav-item level-1 main" data-id="61fab0ef50b7676e324466a5" data-nav-item> 1222 <div class="nav-item-control level-1 has-children"> 1223 <a 1224 class="nav-link" 1225 href="/plan-your-visit/" 1226 target="_self" 1227 data-gtm-click 1228 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Plan%20Your%20Visit" } }' 1229 > 1230 Plan Your Visit 1231 </a> 1232 1233 <button 1234 id="61fab0ef50b7676e324466a5" 1235 class="dropdown-toggle" 1236 aria-label="open submenu" 1237 aria-haspopup="true" 1238 aria-expanded="false" 1239 data-dropdown-toggle 1240 > 1241 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1242 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 1243 </button> 1244 1245 </div> 1246 1247 <div class="dropdown-helper" data-dropdown-helper></div> 1248 <div 1249 class="dropdown-menu level-1 1250 " 1251 aria-labelledby="61fab0ef50b7676e324466a5" 1252 data-parent-id="61fab0ef50b7676e324466a5" 1253 data-start="/plan-your-visit/" 1254 data-section="main" 1255 data-dropdown-menu 1256 style="display: none" 1257 > 1258 1259 1260 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 1261 1262 1263 </div> 1264 1265 </div> 1266 1267 1268 1269 </nav> 1270 1271</div> 1272
1273<script> 1274 require([ 1275 'jquery', 1276 'plugins_nav_custom_nav_desktop_three_col', 1277 'plugins_nav_custom_nav_mobile', 1278 ], function($, navDesktop, navMobile) { 1279 var root = $('[data-guid="aff24b14-4ef5-459a-b982-44d00dbb65df"]'); 1280 var navTreeDepth = 3; 1281 1282 navDesktop.init(root, '[data-primary-nav-desktop]', navTreeDepth); 1283 navMobile.init(root, '[data-primary-nav-mobile]', '[data-main-nav-cont]', navTreeDepth); 1284 1285 root.find('[data-action="toggle-menu"]').on('click', function() { 1286 $(this).toggleClass('active'); 1287 $(this).attr('aria-expanded', $(this).hasClass('active')); 1288 document.querySelector('#primary-site-menu').classList.toggle('active'); 1289 }); 1290 }); 1291</script>
1291</div> 1292 </div> 1293 <div class="widgets"> 1294 <div class="weather"><div data-civid="6616bbe7de924f43686429da" class="contentRender contentRender_6 contentRender_type_widget contentRender_name_plugins_weather_weather" data-sv-time="57" data-sv-index="6" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 1295 1296<div class="weather-wrapper" data-sv-weatherWidget></div> 1297
1298<script id="translations_22c39171-037d-4664-8fe5-1e5856579f4c" type="text/template"> 1299 {"current_conditions":"Current Conditions","sunny":"Sunny","clear":"Clear","windy":"Windy","partly_cloudy":"Partly Cloudy","mostly_cloudy":"Mostly Cloudy","rain":"Rain","rain_and_snow":"Rain and Snow","snow":"Snow","fog":"Fog","thunderstorm":"Thunderstorm","monday":"Monday","tuesday":"Tuesday","wednesday":"Wednesday","thursday":"Thursday","friday":"Friday","saturday":"Saturday","sunday":"Sunday"} 1300</script>
1300 1301
1302<script type="text/template" data-weatherwidget-template> 1303 1304 <div class="weather-button" 1305 data-sv-weather-toggle 1306 aria-label="toggle weather dropdown" 1307 aria-controls="weather-dropdown" 1308 aria-expanded="false" 1309 > 1310 <span class="weather-icon"> 1311 <i class="wi {{current.condition.icon}}" aria-hidden="true"></i> 1312 </span> 1313 <span class="temp"> 1314 {{current.temp}}<span class="deg">°</span> 1315 </span> 1316 </div> 1317 1318</script>
1318 1319
1320<script> 1321 require(["goatee", "sv_urlLib", "sv_site"], function(goatee, urlLib, sv_site) { 1322 let root = document.querySelector("[data-sv-weatherWidget]"); 1323 let template = document.querySelector("[data-weatherwidget-template]").innerHTML; 1324 let weatherCont = document.querySelector("[data-weather-cont]"); 1325 let settings = {"unit_of_measure":"f"}; 1326 let translations = JSON.parse(document.querySelector("#translations_22c39171-037d-4664-8fe5-1e5856579f4c").innerHTML); 1327 1328 let url = urlLib.build({ 1329 path : "/plugins/core/svapi/", 1330 get : { 1331 service : "weatherv2", 1332 endpoint : "latlng", 1333 serviceArgs : JSON.stringify({ 1334 lat : sv_site.siteConfig.latitude, 1335 lng : sv_site.siteConfig.longitude, 1336 unit : settings.unit_of_measure 1337 }) 1338 } 1339 }); 1340 1341 fetch(url) 1342 .then(res => res.json()) 1343 .then(json => { 1344 json.data.forecast.splice(5); 1345 1346 // translate days and conditions 1347 let currentConditions = translations.current_conditions; 1348 json.data.forecast = json.data.forecast.map(dayForecast => { 1349 return {...dayForecast, day: translations[dayForecast.day.toLowerCase()]}; 1350 }); 1351 json.data.current.condition.text = json.data.current.condition.name === 'clear' 1352 ? translations[json.data.current.condition.text.toLowerCase()] 1353 : translations[json.data.current.condition.name.toLowerCase()]; 1354 1355 // fill the template with json data 1356 let html = goatee.fill(template, {...json.data, currentConditions}); 1357 root.innerHTML = html; 1358 let clone = root.cloneNode(true); 1359 weatherCont.replaceWith(clone); 1360 1361 // add on click event listener 1362 1363 }) 1364 }); 1365</script>
1365</div></div> 1366 1367 <div class="secondary-nav-container"><div data-civid="6616bbe7de924f43686429d4" class="contentRender contentRender_3 contentRender_type_widget contentRender_name_plugins_nav_secondary" data-sv-time="28" data-sv-index="3" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 1368 1369 1370 1371<div class="nav-container secondary" data-guid="678927c6-4577-4941-bb97-13b75fa27507"> 1372 <noscript class="permanently-hidden"> 1373 1374 <nav> 1375 1376 <a href="https://www.visitlivco.com/blog/">Blog</a> 1377 1378 <a href="/weddings/">Weddings</a> 1379 1380 <a href="/weddings/venues/">Venues</a> 1381 1382 <a href="/weddings/vendors/">Vendors</a> 1383 1384 <a href="/weddings/vendors/florists/">Florists</a> 1385 1386 <a href="/weddings/vendors/salons-spas/">Salons & Spas</a> 1387 1388 <a href="/weddings/vendors/photographers/">Photographers</a> 1389 1390 <a href="/weddings/vendors/catering-food-trucks/">Catering & Food Trucks</a> 1391 1392 <a href="https://www.visitlivco.com/restaurants/group-dining/">Group Dining</a> 1393 1394 <a href="https://www.visitlivco.com/places-to-stay/groups/">Places To Stay</a> 1395 1396 <a href="/weddings/request-info/">Request Info</a> 1397 1398 1399 1400 <a href="/groups/">Groups</a> 1401 1402 <a href="https://www.visitlivco.com/places-to-stay/groups/">Places To Stay</a> 1403 1404 <a href="https://www.visitlivco.com/restaurants/group-dining/">Group Dining</a> 1405 1406 <a href="/groups/request-info/">Request Info</a> 1407 1408 1409 1410 <a href="/locals/">Locals</a> 1411 1412 <a href="/locals/event-calendar/">Community Events</a> 1413 1414 </nav> 1415 1416 </noscript> 1417 1418 1419 <nav class="navigation navigation-dropdown secondary desktop" data-secondary-nav-desktop data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Secondary | Collection" } }'> 1420
1420<script type="text/template" data-nav-item-template>{{+nav_items}} 1421 {{+nav_items_helper}} {{!-- This nested partial is necessary to make this partial recursive because helpers.partial 1422 only outputs the inner text of the partial, not the partial name. Please do not remove! --}} 1423 {{#shownchildren}} 1424 {{~exec(function() { 1425 if (!data.isLazyLoaded) { 1426 helpers.var.depth = 1; 1427 } else { 1428 helpers.var.depth = data.depth; 1429 } 1430 })}} 1431 <div class="nav-item level-{{~var.depth}} {{data.section}}" data-id="{{data.id}}" data-nav-item> 1432 <div class="nav-item-control level-{{~var.depth}}{{:shownchildren}} has-children{{/}}"> 1433 <a 1434 class="nav-link" 1435 href="{{href}}" 1436 target="{{target}}" 1437 data-gtm-click 1438 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "{{%%data.title}}" } }' 1439 > 1440 {{data.title}} 1441 </a> 1442 {{:shownchildren}} 1443 <button 1444 id="{{data.id}}" 1445 class="dropdown-toggle" 1446 aria-label="open submenu" 1447 aria-haspopup="true" 1448 aria-expanded="false" 1449 data-dropdown-toggle 1450 > 1451 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1452 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 1453 </button> 1454 {{/}} 1455 </div> 1456 {{:shownchildren}} 1457 <div class="dropdown-helper" data-dropdown-helper></div> 1458 <div 1459 class="dropdown-menu level-{{~var.depth}} 1460 {{:isLazyLoaded}} 1461 {{:shownChildren.0}}rendered{{/}} 1462 {{/}}" 1463 aria-labelledby="{{data.id}}" 1464 data-parent-id="{{data.id}}" 1465 data-start="{{data.folderHref}}" 1466 data-section="{{data.section}}" 1467 data-dropdown-menu 1468 style="display: none" 1469 > 1470 {{~exec(function() { 1471 helpers.var.showWidget = data.data.section === "main" && helpers.var.depth === 1; 1472 if(data.data.section === 'microsites' && helpers.var.depth === 1) { 1473 helpers.var.showWidget = true; 1474 } 1475 })}} 1476 {{:~var.showWidget}} 1477 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 1478 {{/}} 1479 {{:isLazyLoaded}} 1480 {{>nav_items_helper}} 1481 {{/}} 1482 </div> 1483 {{/}} 1484 </div> 1485 {{/}} 1486 {{/}} 1487 {{>nav_items_helper}} 1488{{/}} 1489 1490{{>nav_items}}</script>
1490 1491 1492 1493 1494 1495 1496 1497 1498 <div class="nav-item level-1 secondary" data-id="61fadc4acffb944c752c241f" data-nav-item> 1499 <div class="nav-item-control level-1"> 1500 <a 1501 class="nav-link" 1502 href="https://www.visitlivco.com/blog/" 1503 target="_self" 1504 data-gtm-click 1505 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Blog" } }' 1506 > 1507 Blog 1508 </a> 1509 1510 </div> 1511 1512 </div> 1513 1514 1515 <div class="nav-item level-1 secondary" data-id="61fab0ef50b7676e324466cd" data-nav-item> 1516 <div class="nav-item-control level-1 has-children"> 1517 <a 1518 class="nav-link" 1519 href="/weddings/" 1520 target="_self" 1521 data-gtm-click 1522 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Weddings" } }' 1523 > 1524 Weddings 1525 </a> 1526 1527 <button 1528 id="61fab0ef50b7676e324466cd" 1529 class="dropdown-toggle" 1530 aria-label="open submenu" 1531 aria-haspopup="true" 1532 aria-expanded="false" 1533 data-dropdown-toggle 1534 > 1535 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1536 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 1537 </button> 1538 1539 </div> 1540 1541 <div class="dropdown-helper" data-dropdown-helper></div> 1542 <div 1543 class="dropdown-menu level-1 1544 " 1545 aria-labelledby="61fab0ef50b7676e324466cd" 1546 data-parent-id="61fab0ef50b7676e324466cd" 1547 data-start="/weddings/" 1548 data-section="secondary" 1549 data-dropdown-menu 1550 style="display: none" 1551 > 1552 1553 1554 1555 </div> 1556 1557 </div> 1558 1559 1560 <div class="nav-item level-1 secondary" data-id="61fab0f050b7676e324466f5" data-nav-item> 1561 <div class="nav-item-control level-1 has-children"> 1562 <a 1563 class="nav-link" 1564 href="/groups/" 1565 target="_self" 1566 data-gtm-click 1567 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Groups" } }' 1568 > 1569 Groups 1570 </a> 1571 1572 <button 1573 id="61fab0f050b7676e324466f5" 1574 class="dropdown-toggle" 1575 aria-label="open submenu" 1576 aria-haspopup="true" 1577 aria-expanded="false" 1578 data-dropdown-toggle 1579 > 1580 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1581 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 1582 </button> 1583 1584 </div> 1585 1586 <div class="dropdown-helper" data-dropdown-helper></div> 1587 <div 1588 class="dropdown-menu level-1 1589 " 1590 aria-labelledby="61fab0f050b7676e324466f5" 1591 data-parent-id="61fab0f050b7676e324466f5" 1592 data-start="/groups/" 1593 data-section="secondary" 1594 data-dropdown-menu 1595 style="display: none" 1596 > 1597 1598 1599 1600 </div> 1601 1602 </div> 1603 1604 1605 <div class="nav-item level-1 secondary" data-id="61fab0f050b7676e3244671d" data-nav-item> 1606 <div class="nav-item-control level-1 has-children"> 1607 <a 1608 class="nav-link" 1609 href="/locals/" 1610 target="_self" 1611 data-gtm-click 1612 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Locals" } }' 1613 > 1614 Locals 1615 </a> 1616 1617 <button 1618 id="61fab0f050b7676e3244671d" 1619 class="dropdown-toggle" 1620 aria-label="open submenu" 1621 aria-haspopup="true" 1622 aria-expanded="false" 1623 data-dropdown-toggle 1624 > 1625 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1626 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 1627 </button> 1628 1629 </div> 1630 1631 <div class="dropdown-helper" data-dropdown-helper></div> 1632 <div 1633 class="dropdown-menu level-1 1634 " 1635 aria-labelledby="61fab0f050b7676e3244671d" 1636 data-parent-id="61fab0f050b7676e3244671d" 1637 data-start="/locals/" 1638 data-section="secondary" 1639 data-dropdown-menu 1640 style="display: none" 1641 > 1642 1643 1644 1645 </div> 1646 1647 </div> 1648 1649 1650 1651 </nav> 1652 1653 <nav class="navigation secondary mobile hide" data-secondary-nav-mobile data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Secondary | Nav" } }'> 1654
1654<script type="text/template" data-nav-item-template>{{+nav_items}} 1655 {{+nav_items_helper}} {{!-- This nested partial is necessary to make this partial recursive because helpers.partial 1656 only outputs the inner text of the partial, not the partial name. Please do not remove! --}} 1657 {{#shownchildren}} 1658 {{~exec(function() { 1659 if (!data.isLazyLoaded) { 1660 helpers.var.depth = 1; 1661 } else { 1662 helpers.var.depth = data.depth; 1663 } 1664 })}} 1665 <div class="nav-item level-{{~var.depth}} {{data.section}}" data-id="{{data.id}}" data-nav-item> 1666 <div class="nav-item-control level-{{~var.depth}}{{:shownchildren}} has-children{{/}}"> 1667 <a 1668 class="nav-link" 1669 href="{{href}}" 1670 target="{{target}}" 1671 data-gtm-click 1672 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "{{%%data.title}}" } }' 1673 > 1674 {{data.title}} 1675 </a> 1676 {{:shownchildren}} 1677 <button 1678 id="{{data.id}}" 1679 class="dropdown-toggle" 1680 aria-label="open submenu" 1681 aria-haspopup="true" 1682 aria-expanded="false" 1683 data-dropdown-toggle 1684 > 1685 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1686 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 1687 </button> 1688 {{/}} 1689 </div> 1690 {{:shownchildren}} 1691 <div class="dropdown-helper" data-dropdown-helper></div> 1692 <div 1693 class="dropdown-menu level-{{~var.depth}} 1694 {{:isLazyLoaded}} 1695 {{:shownChildren.0}}rendered{{/}} 1696 {{/}}" 1697 aria-labelledby="{{data.id}}" 1698 data-parent-id="{{data.id}}" 1699 data-start="{{data.folderHref}}" 1700 data-section="{{data.section}}" 1701 data-dropdown-menu 1702 style="display: none" 1703 > 1704 {{~exec(function() { 1705 helpers.var.showWidget = data.data.section === "main" && helpers.var.depth === 1; 1706 if(data.data.section === 'microsites' && helpers.var.depth === 1) { 1707 helpers.var.showWidget = true; 1708 } 1709 })}} 1710 {{:~var.showWidget}} 1711 <div class="cta-nav-widgets-cont" data-sv-nav-widgets-container data-cta-wrapper-height></div> 1712 {{/}} 1713 {{:isLazyLoaded}} 1714 {{>nav_items_helper}} 1715 {{/}} 1716 </div> 1717 {{/}} 1718 </div> 1719 {{/}} 1720 {{/}} 1721 {{>nav_items_helper}} 1722{{/}} 1723 1724{{>nav_items}}</script>
1724 1725 1726 1727 1728 1729 1730 1731 1732 <div class="nav-item level-1 secondary" data-id="61fadc4acffb944c752c241f" data-nav-item> 1733 <div class="nav-item-control level-1"> 1734 <a 1735 class="nav-link" 1736 href="https://www.visitlivco.com/blog/" 1737 target="_self" 1738 data-gtm-click 1739 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Blog" } }' 1740 > 1741 Blog 1742 </a> 1743 1744 </div> 1745 1746 </div> 1747 1748 1749 <div class="nav-item level-1 secondary" data-id="61fab0ef50b7676e324466cd" data-nav-item> 1750 <div class="nav-item-control level-1 has-children"> 1751 <a 1752 class="nav-link" 1753 href="/weddings/" 1754 target="_self" 1755 data-gtm-click 1756 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Weddings" } }' 1757 > 1758 Weddings 1759 </a> 1760 1761 <button 1762 id="61fab0ef50b7676e324466cd" 1763 class="dropdown-toggle" 1764 aria-label="open submenu" 1765 aria-haspopup="true" 1766 aria-expanded="false" 1767 data-dropdown-toggle 1768 > 1769 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1770 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 1771 </button> 1772 1773 </div> 1774 1775 <div class="dropdown-helper" data-dropdown-helper></div> 1776 <div 1777 class="dropdown-menu level-1 1778 " 1779 aria-labelledby="61fab0ef50b7676e324466cd" 1780 data-parent-id="61fab0ef50b7676e324466cd" 1781 data-start="/weddings/" 1782 data-section="secondary" 1783 data-dropdown-menu 1784 style="display: none" 1785 > 1786 1787 1788 1789 </div> 1790 1791 </div> 1792 1793 1794 <div class="nav-item level-1 secondary" data-id="61fab0f050b7676e324466f5" data-nav-item> 1795 <div class="nav-item-control level-1 has-children"> 1796 <a 1797 class="nav-link" 1798 href="/groups/" 1799 target="_self" 1800 data-gtm-click 1801 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Groups" } }' 1802 > 1803 Groups 1804 </a> 1805 1806 <button 1807 id="61fab0f050b7676e324466f5" 1808 class="dropdown-toggle" 1809 aria-label="open submenu" 1810 aria-haspopup="true" 1811 aria-expanded="false" 1812 data-dropdown-toggle 1813 > 1814 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1815 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 1816 </button> 1817 1818 </div> 1819 1820 <div class="dropdown-helper" data-dropdown-helper></div> 1821 <div 1822 class="dropdown-menu level-1 1823 " 1824 aria-labelledby="61fab0f050b7676e324466f5" 1825 data-parent-id="61fab0f050b7676e324466f5" 1826 data-start="/groups/" 1827 data-section="secondary" 1828 data-dropdown-menu 1829 style="display: none" 1830 > 1831 1832 1833 1834 </div> 1835 1836 </div> 1837 1838 1839 <div class="nav-item level-1 secondary" data-id="61fab0f050b7676e3244671d" data-nav-item> 1840 <div class="nav-item-control level-1 has-children"> 1841 <a 1842 class="nav-link" 1843 href="/locals/" 1844 target="_self" 1845 data-gtm-click 1846 data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Locals" } }' 1847 > 1848 Locals 1849 </a> 1850 1851 <button 1852 id="61fab0f050b7676e3244671d" 1853 class="dropdown-toggle" 1854 aria-label="open submenu" 1855 aria-haspopup="true" 1856 aria-expanded="false" 1857 data-dropdown-toggle 1858 > 1859 <i class="icon-toggle fas fa-chevron-down" aria-hidden="true"></i> 1860 <i class="icon-toggle fas fa-arrow-right" aria-hidden="true"></i> 1861 </button> 1862 1863 </div> 1864 1865 <div class="dropdown-helper" data-dropdown-helper></div> 1866 <div 1867 class="dropdown-menu level-1 1868 " 1869 aria-labelledby="61fab0f050b7676e3244671d" 1870 data-parent-id="61fab0f050b7676e3244671d" 1871 data-start="/locals/" 1872 data-section="secondary" 1873 data-dropdown-menu 1874 style="display: none" 1875 > 1876 1877 1878 1879 </div> 1880 1881 </div> 1882 1883 1884 1885 </nav> 1886 1887</div> 1888
1889<script> 1890 require([ 1891 'jquery', 1892 'plugins_nav_custom_nav_desktop_dropdown', 1893 'plugins_nav_custom_nav_mobile', 1894 ], function($, navDesktop, navMobile) { 1895 var root = $('[data-guid="678927c6-4577-4941-bb97-13b75fa27507"]'); 1896 var navTreeDepth = 1; 1897 navDesktop.init(root, '[data-secondary-nav-desktop]', navTreeDepth); 1898 navMobile.init(root, '[data-secondary-nav-mobile]', '[data-secondary-nav-cont]', navTreeDepth); 1899 }); 1900</script>
1900</div></div> 1901 1902 <div class="search"><div data-civid="6616bbe7de924f43686429dc" class="contentRender contentRender_7 contentRender_type_widget contentRender_name_plugins_search_headerbox" data-sv-time="57" data-sv-index="7" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 1903 1904 1905 1906<div class="search-cont" data-guid="723d10a5-5cb9-43e9-8c1a-84085ab9d1cb"> 1907 <h3 class="label">Search:</h3> 1908 <form class="headerbox-search-form" data-sv-searchForm action="/search/" method="GET"> 1909 <input data-sv-search-input name="q" type="search" class="searchInput" autocomplete="off" autocorrect="off" autocapitalize="off" placeholder="Keywords..." value="" /> 1910 <button type="submit" data-sv-search-button> 1911 <i class ="fa fa-search fa-inverse" aria-hidden="true"></i> 1912 </button> 1913 </form> 1914 <button class="search-button" data-toggle-search aria-expanded="false" aria-label="toggle search dropdown" aria-controls="headerbox-search-form"> 1915 <i class="fas fa-search open" aria-hidden="true"></i> 1916 <i class="fas fa-times close" aria-hidden="true"></i> 1917 </button> 1918</div> 1919
1920<script> 1921require(["domReady!"], function() { 1922 let root = document.querySelector('[data-guid="723d10a5-5cb9-43e9-8c1a-84085ab9d1cb"]'); 1923 let searchCont = document.querySelector('[data-search-cont]'); 1924 1925 // clone to mobile nav 1926 searchCont.replaceWith(root.cloneNode(true)); 1927 1928 document.querySelectorAll('[data-toggle-search]').forEach( elem => { 1929 elem.addEventListener("click", function(){ 1930 let searchCont = this.parentNode; 1931 searchCont.classList.toggle('active'); 1932 this.classList.toggle('active'); 1933 let isActive = searchCont.classList.contains('active');0 1934 this.getAttribute('aria-expanded', isActive); 1935 if(isActive){ 1936 searchCont.querySelector('[data-sv-search-input]').focus(); 1937 } 1938 }); 1939 }); 1940 1941 document.querySelectorAll('[data-sv-searchForm]').forEach( elem => { 1942 let input = elem.querySelector('[data-sv-search-input]'); 1943 elem.addEventListener('submit', function(e){ 1944 if(input.value.length === 0){ 1945 e.preventDefault(); 1946 this.querySelector('[data-sv-search-input]').focus(); 1947 } 1948 }); 1949 }); 1950}); 1951</script>
1951 1952</div></div> 1953 <div class="ilny-cont"> 1954 <a href="https://www.iloveny.com/" target="_blank" class="ilny"> 1955 <img class="ilny-logo" src="/includes/public/assets/shared/logos/ilny.png" alt="love newyork" width="100"> 1956 <img class="ilny-eclipse-logo" src="/includes/public/assets/shared/logos/ilny-eclipse-logo.svg" alt="love newyork | eclipse" width="100"> 1957 </a> 1958 </div> 1959 </div> 1960 </div> 1961 </div> 1962 1963 <div id="primary-site-menu" class="mobile-nav-container" data-mobile-nav> 1964 <div class="mobile-nav"> 1965 <header class="widgets"> 1966 1967 <div data-search-cont></div> 1968 <div data-tripbuilder-cont></div> 1969 </header> 1970 <div class="mobile-main-nav" data-main-nav-cont></div> 1971 <div class="mobile-secondary-nav" data-secondary-nav-cont></div> 1972 <div class="mobile-nav-widgets"><div data-sv-nav-widgets-container></div></div> 1973 1974 <div class="mobile-footer-nav" data-footer-nav-cont><div data-civid="6616bbe7de924f43686429d6" class="contentRender contentRender_4 contentRender_type_widget contentRender_name_plugins_nav_footer" data-sv-time="29" data-sv-index="4" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 1975 1976 1977 1978 <ul class="navigation-footer six-items"> 1979 1980 <li class="item item-parent row-1 has-submenu"> 1981 <a 1982 href="/about-us/" 1983 target="_self" 1984 class=" has-children" 1985 title="About Us" 1986 data-gtm-click 1987 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Footer", "linkObject" : "About%20Us" } }' 1988 > 1989 About Us 1990 </a> 1991 </li> 1992 1993 <li class="item item-parent row-2"> 1994 <a 1995 href="/contact/" 1996 target="_self" 1997 class="" 1998 title="Contact" 1999 data-gtm-click 2000 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Footer", "linkObject" : "Contact" } }' 2001 > 2002 Contact 2003 </a> 2004 </li> 2005 2006 <li class="item item-parent row-3"> 2007 <a 2008 href="/media/" 2009 target="_self" 2010 class="" 2011 title="Media" 2012 data-gtm-click 2013 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Footer", "linkObject" : "Media" } }' 2014 > 2015 Media 2016 </a> 2017 </li> 2018 2019 <li class="item item-parent row-4 has-submenu"> 2020 <a 2021 href="/partnership/" 2022 target="_self" 2023 class=" has-children" 2024 title="Partnership" 2025 data-gtm-click 2026 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Footer", "linkObject" : "Partnership" } }' 2027 > 2028 Partnership 2029 </a> 2030 </li> 2031 2032 <li class="item item-parent row-5"> 2033 <a 2034 href="/sitemap/" 2035 target="_self" 2036 class="" 2037 title="Sitemap" 2038 data-gtm-click 2039 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Footer", "linkObject" : "Sitemap" } }' 2040 > 2041 Sitemap 2042 </a> 2043 </li> 2044 2045 <li class="item item-parent row-6 last"> 2046 <a 2047 href="/privacy-policy/" 2048 target="_self" 2049 class="" 2050 title="Privacy Policy" 2051 data-gtm-click 2052 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Footer", "linkObject" : "Privacy%20Policy" } }' 2053 > 2054 Privacy Policy 2055 </a> 2056 </li> 2057 2058 </ul> 2059</div></div> 2060 2061 2062 <div class="mobile-social-links"> 2063 <div data-civid="6616bbe7de924f43686429e2" class="contentRender contentRender_10 contentRender_type_widget contentRender_name_plugins_collections_type_custom_social_slides contentRender_name_plugins_collections_template_custom_social_links" data-sv-time="57" data-sv-index="10" data-gtm-vars='{ "tCore" : { "contentNum" : "2" } }'> 2064 2065<ul class="social-links"> 2066 2067 2068 <li class="social-network"> 2069 <a 2070 class="social-link" 2071 href="https://www.facebook.com/visitlivco" 2072 target="_blank" 2073 rel="noopener" 2074 title="Visit our Facebook page" 2075 aria-label="Visit our Facebook page" 2076 data-gtm-click 2077 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Social Links", "linkObject" : "Social | Facebook" } }' 2078 > 2079 <i 2080 class="social-icon fab fa-facebook" 2081 aria-hidden="true" 2082 ></i> 2083 </a> 2084 </li> 2085 2086 2087 <li class="social-network"> 2088 <a 2089 class="social-link" 2090 href="https://www.instagram.com/visitlivco/" 2091 target="_blank" 2092 rel="noopener" 2093 title="Visit our Instagram page" 2094 aria-label="Visit our Instagram page" 2095 data-gtm-click 2096 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Social Links", "linkObject" : "Social | Instagram" } }' 2097 > 2098 <i 2099 class="social-icon fab fa-instagram" 2100 aria-hidden="true" 2101 ></i> 2102 </a> 2103 </li> 2104 2105</ul></div> 2106 </div> 2107 2108 </div> 2109 </div> 2110 2111 <div class="nav-widgets"> 2112 <div data-civid="6616bbe7de924f43686429de" class="contentRender contentRender_8 contentRender_type_panel contentRender_name_plugins_common_container_nav_widgets" data-sv-time="0" data-sv-index="8" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 2113<div data-guid="94fd2338-2dfa-4a51-b5aa-221ada6214ef"> 2114 <div class="nav-cta-wrapper"> 2115 2116 <div class="enews-wrapper"> 2117 <a href="/" target="_self" data-gtm-click data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Navigation Callout", "linkObject" : "E-News" } }'> 2118 <img src='https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/livingstoncountyny/enews_start_d209ad5f-fb15-4f48-93db-2176d7f37bcf.png' class="static"> 2119 <img src='https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/livingstoncountyny/enews_animated_001b07f9-f572-473e-b6d6-247faf74960a.png' class="animated"> 2120 <div class="content"> 2121 <img src='https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/livingstoncountyny/envelope_96e3da75-871c-4a83-ac63-f87f186678c7.png' class="static"> 2122 <img src='https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/livingstoncountyny/envelope_green_5f4ecc44-31b2-44d4-8504-fe83462c9ed8.png' class="animated"> 2123 2124 <h3 class="subtitle">e-News</h3> 2125 2126 </div> 2127 </a> 2128 </div> 2129 2130 2131 <div class="social-wrapper"> 2132 <img src='https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/livingstoncountyny/social_start_f8595801-d56a-4b2c-ab8b-c639780439aa.png' class="static"> 2133 <img src='https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/livingstoncountyny/social_animated_8880de25-3a1a-4305-bcfb-159711da0
2133773.png' class="animated"> 2134 <div class="content"> 2135 <div data-civid="6616bbe7de924f43686429e0" class="contentRender contentRender_9 contentRender_type_widget contentRender_name_plugins_collections_type_custom_social_slides contentRender_name_plugins_collections_template_custom_social_links" data-sv-time="56" data-sv-index="9" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 2136 2137<ul class="social-links"> 2138 2139 2140 <li class="social-network"> 2141 <a 2142 class="social-link" 2143 href="https://www.facebook.com/visitlivco" 2144 target="_blank" 2145 rel="noopener" 2146 title="Visit our Facebook page" 2147 aria-label="Visit our Facebook page" 2148 data-gtm-click 2149 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Social Links", "linkObject" : "Social | Facebook" } }' 2150 > 2151 <i 2152 class="social-icon fab fa-facebook" 2153 aria-hidden="true" 2154 ></i> 2155 </a> 2156 </li> 2157 2158 2159 <li class="social-network"> 2160 <a 2161 class="social-link" 2162 href="https://www.instagram.com/visitlivco/" 2163 target="_blank" 2164 rel="noopener" 2165 title="Visit our Instagram page" 2166 aria-label="Visit our Instagram page" 2167 data-gtm-click 2168 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Social Links", "linkObject" : "Social | Instagram" } }' 2169 > 2170 <i 2171 class="social-icon fab fa-instagram" 2172 aria-hidden="true" 2173 ></i> 2174 </a> 2175 </li> 2176 2177</ul></div> 2178 </div> 2179 </div> 2180 2181 </div> 2182</div> 2183
2184<script> 2185 require(['domReady!'], function() { 2186 const root = document.querySelector('[data-guid="94fd2338-2dfa-4a51-b5aa-221ada6214ef"]'); 2187 // debugger 2188 let widgetContainers = document.querySelectorAll('[data-sv-nav-widgets-container]') 2189 widgetContainers.forEach((node,idx)=>{ 2190 node.innerHTML = root.innerHTML; 2191 }) 2192 2193 }); 2194</script>
2194</div> 2195 </div> 2196 2197</header> 2198</div> 2199 </div> 2200 <div id="slideshow-container" class="slideshow-container"> 2201 <div data-civid="63ffe32ed27d4f6cbbd8c443" class="contentRender contentRender_11 contentRender_type_widget contentRender_name_plugins_collections_type_custom_header_slides contentRender_name_plugins_collections_template_custom_core_hero_image" data-sv-time="59" data-sv-index="11" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 2202 2203 2204 2205 2206 2207 2208<style>/* collection helper generated css */ .hero-image .img-cont {padding-bottom: calc(100% * 685 / 639);height: 0;background-color: #333;}@media screen and (min-width: 640px) {.hero-image .img-cont {padding-bottom: calc(100% * 476 / 1023);}}@media screen and (min-width: 1024px) {.hero-image .img-cont {padding-bottom: calc(100% * 605 / 1440);}}@media screen and (min-width: 1440px) {.hero-image .img-cont {padding-bottom: calc(100% * 807 / 1920);}}</style> 2209 2210 2211 2212 2213 2214<section 2215 class="ccl-widget core-hero-image 2216 hero-image 2217 hide-content" 2218 data-guid="11e03e4f-eb34-47c9-a1d6-1b2654e9c3d0" 2219 data-js="plugins_collections_custom_collection_default_package" 2220 data-gtm-vars='{ "tClient" : { "eventCategory" : "Widget - Hero Image", "eventValue" : 0, "nonInteraction" : false } }' 2221 style="opacity: 1;" 2222> 2223 2224 2225 2226 <div class="slides" data-slides> 2227 2228 <article class="slide overlap-image"> 2229 2230 <div class="inner" data-gtm-vars='{ "tClient" : { "eventLabel" : "Bakeries%20%26%20Coffee%20Shops" } }'> 2231 <div class="img-cont"> 2232 <a data-asset href="" target="" data-gtm-click data-gtm-vars='{ "tClient" : { "eventAction" : "Image Click" } }'> 2233 <picture> 2234 2235 2236 2237 <source 2238 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,g_xy_center,h_807,q_65,w_1920,x_2240,y_3360/v1/clients/livingstoncountyny/breanwilder_x_livco2022_003_590c606f-29ff-4e66-9070-c6055ece4ffe.jpg" 2239 media="screen and (min-width: 1440px)" 2240 /> 2241 2242 2243 2244 <source 2245 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,g_xy_center,h_605,q_65,w_1440,x_2240,y_3360/v1/clients/livingstoncountyny/breanwilder_x_livco2022_003_590c606f-29ff-4e66-9070-c6055ece4ffe.jpg" 2246 media="screen and (min-width: 1024px)" 2247 /> 2248 2249 2250 2251 <source 2252 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,g_xy_center,h_476,q_65,w_1023,x_2240,y_3360/v1/clients/livingstoncountyny/breanwilder_x_livco2022_003_590c606f-29ff-4e66-9070-c6055ece4ffe.jpg" 2253 media="screen and (min-width: 640px)" 2254 /> 2255 2256 <img 2257 src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,g_xy_center,h_685,q_65,w_639,x_2240,y_3360/v1/clients/livingstoncountyny/breanwilder_x_livco2022_003_590c606f-29ff-4e66-9070-c6055ece4ffe.jpg" 2258 alt="Woman Holding Latte" 2259 loading="eager" 2260 /> 2261 </picture> 2262 </a> 2263 2264 </div> 2265 2266 2267 </div> 2268 2269 </article> 2270 2271 </div> 2272</section> 2273 2274</div> 2275 </div> 2276 <div id="main-content" class="content"> 2277 <div data-civid="61f9a73350b7676e32446221" class="contentRender contentRender_12 contentRender_type_panel contentRender_name_plugins_common_container_navigation_share" data-sv-time="1" data-sv-index="12" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'><div class="panel-navigation-share"> 2278 <div class="navigation-container"> 2279 <div data-civid="64c14f6fe67ccd14debba9ae" class="contentRender contentRender_13 contentRender_type_widget contentRender_name_plugins_nav_breadcrumb" data-sv-time="65" data-sv-index="13" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 2280 2281 2282 2283<nav class="nav-list" data-guid="5f5756e1-f5e9-43e8-ad7e-55e462005caf"> 2284 2285 2286 2287 <ul class="interior-nav"> 2288 2289 2290 2291 2292 2293 2294 </ul> 2295 2296</nav> 2297 2298 2299 2300 </div> 2301 </div> 2302 <div class="share-container"> 2303 <div data-civid="64c14f6fe67ccd14debba9b0" class="contentRender contentRender_14 contentRender_type_widget contentRender_name_plugins_common_social_share" data-sv-time="21" data-sv-index="14" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 2304 2305<div class="sv-share" data-guid="d46ab3bb-608c-4d5d-a8cb-50975bc51cbb" data-gtm-vars='{ "tClient_ga4" : { "eventName" : "widget_interaction", "widgetName" : "Social Share", "interactionSource": "widget" } }'> 2306 <div class="sv-share-button-wrapper"> 2307 <button class="sv-share-trigger" type="button" aria-expanded="false" aria-label="show share links" aria-controls="share-popover"> 2308 <i class="sv-share-trigger-icon fas fa-share-square"></i> 2309 <span>Share</span> 2310 </button> 2311 <ul id="share-popover" class="sv-share-popover" data-sv-social-share></ul> 2312 </div> 2313 </div> 2314 2315
2315<script type="text/template" data-social-share-template> 2316 2317 {{#items}} 2318 <li class="sv-share-service-email"> 2319 <!-- Email --> 2320 <a href="mailto:?subject={{%%title}}&body={{%%url}}" target="_blank" data-gtm-click data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Email", "interactionUrl": "mailto:?subject={{%%title}}&body={{%%url}}", "interactionText" : "Email" } }'> 2321 <i class="sv-share-service-icon fas fa-envelope" aria-hidden="true"></i> 2322 <span>Email</span> 2323 </a> 2324 </li> 2325 2326 <li class="sv-share-service-twitter"> 2327 <!-- X --> 2328 <a href="https://x.com/share?url={{url}}&text={{%%title}}" target="_blank" data-gtm-click data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Twitter/X", "interactionUrl": "https://x.com/share?url={{%%url}}&text={{%%title}}", "interactionText" : "X" } }'> 2329 <i class="sv-share-service-icon fab fa-square-x-twitter" aria-hidden="true"></i> 2330 <span>X</span> 2331 </a> 2332 </li> 2333 2334 <li class="sv-share-service-facebook"> 2335 <!-- Facebook --> 2336 <a href="https://www.facebook.com/sharer/sharer.php?u={{url}}" target="_blank" data-gtm-click data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Facebook", "interactionUrl": "https://www.facebook.com/sharer/sharer.php?u={{%%url}}", "interactionText" : "Facebook" } }'> 2337 <i class="sv-share-service-icon fab fa-facebook" aria-hidden="true"></i> 2338 <span>Facebook</span> 2339 </a> 2340 </li> 2341 2342 <li class="sv-share-service-linkedin"> 2343 <!-- LinkedIn --> 2344 <a href="https://www.linkedin.com/shareArticle?url={{url}}&title={{title}}" target="_blank" data-gtm-click data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Linkedin", "interactionUrl": "https://www.linkedin.com/shareArticle?url={{%%url}}&title={{%%title}}", "interactionText" : "LinkedIn" } }'> 2345 <i class="sv-share-service-icon fab fa-linkedin" aria-hidden="true"></i> 2346 <span>LinkedIn</span> 2347 </a> 2348 </li> 2349 2350 <li class="sv-share-service-reddit"> 2351 <!-- Reddit --> 2352 <a href="https://reddit.com/submit?url={{url}}&title={{title}}" target="_blank" data-gtm-click data-gtm-vars='{ "tClient_ga4" : { "linkObject" : "Reddit", "interactionUrl": "https://reddit.com/submit?url={{%%url}}&title={{%%title}}", "interactionText" : "Reddit" } }'> 2353 <i class="sv-share-service-icon fab fa-reddit" aria-hidden="true"></i> 2354 <span>Reddit</span> 2355 </a> 2356 </li> 2357 {{/}} 2358 2359 </script>
2359 2360 2361
2361<script> 2362 require(["plugins_common_custom_social_share"], function(socialShare) { 2363 const data = {"sections":{},"data":{},"guid":"d46ab3bb-608c-4d5d-a8cb-50975bc51cbb","customSettings":{},"widgetArgs":{"nav":{"_id":"61fab0f350b7676e32446c41","sortorder":2,"title":"Bakeries & Coffee Shops","folder":"bakeries-coffee-shops","section":"main","type":"page","active":true,"show_on_nav":true,"publish_start":"2022-02-02T16:00:00.000Z","searchable":"yes","new_window":false,"image_id":"61fc733b95e8be10291af184","description":"<p>A coffee and a sweet treat- what could be better? Our locally owned bakeries and coffee shops offer roasted blends and freshly baked treats with a vibe you won’t find anywhere else. Whether you take your coffee black with one sugar or in an iced latte with extra whip, you’ll find a blend to satisfy.</p>","meta_title":"Bakeries & Coffee Shops","meta_description":"A coffee and a sweet treat- what could be better? Our locally owned bakeries and coffee shops offer roasted blends and freshly baked treats with a vibe you wonât find anywhere else. Â Whether you take your coffee black with one sugar or in an iced latte with extra whip, youâll find a blend to satisfy.","open_graph_title":"Bakeries & Coffee Shops","open_graph_description":"A coffee and a sweet treat- what could be better? Our locally owned bakeries and coffee shops offer roasted blends and freshly baked treats with a vibe you wonât find anywhere else. Â Whether you take your coffee black with one sugar or in an iced latte with extra whip, youâll find a blend to satisfy.","parent_id":"61fab0ef50b7676e32446651","parents_ids":["61fab0ef50b7676e32446651"],"version_id":"63ffe351d27d4f6cbbd8c45c","created":"2022-02-02T16:27:31.744Z","content_owner":"default","site_name":"primary","updated":"2025-12-07T22:46:46.187Z","title_sort":"bakeries & coffee shops","site_section":"primary.main","published":true,"amp":false,"cms_title":"Bakeries & Coffee Shops - /restaurants/bakeries-coffee-shops/","cms_title_sort":"bakeries & coffee shops - /restaurants/bakeries-coffee-shops/","folderHref":"/restaurants/bakeries-coffee-shops/","image":{"_id":"61fc733b95e8be10291af184","original_public_id":"clients/livingstoncountyny/Pastries_Display_Sweet_Arts_Geneseo_9d76ed3b-578c-49cd-bb7b-22f10af734c7","title":"Pastries-Display-Sweet-Arts-Geneseo","resource_raw":{"asset_id":"33d417ef06b76a3c53e711fafb8aa8de","public_id":"clients/livingstoncountyny/Pastries_Display_Sweet_Arts_Geneseo_9d76ed3b-578c-49cd-bb7b-22f10af734c7","version":1643934497,"version_id":"8d0666d3f566f2d9817e5f2d57e7e902","signature":"d364b05c571493afdb4df4c4022dfb6e28f7c1c8","width":2000,"height":1334,"format":"jpg","resource_type":"image","created_at":"2022-02-04T00:28:17.000Z","pages":1,"bytes":339551,"type":"upload","etag":"c7fc12185267f801cf2b6ca0d954eeaf","placeholder":false,"url":"http://res.cloudinary.com/simpleview/image/upload/v1643934497/clients/livingstoncountyny/Pastries_Display_Sweet_Arts_Geneseo_9d76ed3b-578c-49cd-bb7b-22f10af734c7.jpg","secure_url":"https://res.cloudinary.com/simpleview/image/upload/v1643934497/clients/livingstoncountyny/Pastries_Display_Sweet_Arts_Geneseo_9d76ed3b-578c-49cd-bb7b-22f10af734c7.jpg","access_mode":"public","original_filename":"file","api_key":"756897581616859"},"categories_ids":["61fc135e99d29310b1cd717e"],"alt_text_raw":"Pastries and baked goods on display in bakery","credits":"Larry Tetamore Photography","content_owner":"default","title_sort":"pastries-display-sweet-arts-geneseo","updated":"2022-02-04T00:28:43.870Z","private":false,"deleted":false,"created":"2022-02-04T00:28:43.871Z","resource":{"raw":{"resource_type":"image","format":"jpg","pages":1,"public_id":"clients/livingstoncountyny/Pastries_Display_Sweet_Arts_Geneseo_9d76ed3b-578c-49cd-bb7b-22f10af734c7"}},"id":"61fc733b95e8be10291af184","type":"image","inAssetRequest":false,"alt_text":"Pastries and baked goods on display in bakery","expired":false},"locale_count":0,"id":"61fab0f350b7676e32446c41","parent_id_string":"61fab0ef50b7676e32446651","version_id_string":"63ffe351d27d4f6cbbd8c45c","href":"/restaurants/bakeries-coffee-shops/","absoluteHref":"https://www.visitlivco.com/restaurants/bakeries-coffee-shops/","absoluteFolderHref":"https://www.visitlivco.com/restaurants/bakeries-coffee-shops/","metaTitle":"Bakeries & Coffee Shops","rootCmsUrl":"/nav/sitemap/site_primary/section_main/"},"num":14,"guid":"d46ab3bb-608c-4d5d-a8cb-50975bc51cbb","data":{},"civ":{"instance":{"type":"widget","name":"plugins_common_social_share","site_name":"primary","saved":false,"created":"2023-07-26T16:53:41.898Z","updated":"2023-07-26T16:53:41.898Z","deleted":false,"id":"64c14f6fe67ccd14debba9b0","version_id_string":"64c14f6fe67ccd14debba9b1"},"version":{"created":"2023-07-26T16:53:41.901Z","id":"64c14f6fe67ccd14debba9b1","instance_id_string":"64c14f6fe67ccd14debba9b0","data":{}},"onTrunk":true,"civid":"64c14f6fe67ccd14debba9b0"},"name":"plugins_common_social_share","component":"WidgetCommonSocialShare"}}; 2364 socialShare.init("d46ab3bb-608c-4d5d-a8cb-50975bc51cbb", data) 2365 }); 2366 </script>
2366 2367 </div> 2368 </div> 2369</div></div><div data-civid="63ffe32ed27d4f6cbbd8c449" class="contentRender contentRender_15 contentRender_type_widget contentRender_name_plugins_core_textbox" data-sv-time="21" data-sv-index="15" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 2370 <h1>Bakeries & Coffee Shops</h1> 2371 2372<p>A coffee and a sweet treat- what could be better? Our locally owned bakeries and coffee shops offer roasted blends and freshly baked treats with a vibe you won’t find anywhere else. Whether you take your coffee black with one sugar or in an iced latte with extra whip, you’ll find a blend to satisfy. Don’t forget to grab a freshly baked treat before you leave, the perfect sugar boost to fuel a day of exploration. Grab a bagel, cinnamon roll, crumb cake, or browse the vegan and gluten-free options!</p> 2373 2374</div><div data-civid="63ffe32ed27d4f6cbbd8c44b" class="contentRender contentRender_16 contentRender_type_widget contentRender_name_plugins_listings_layout_list" data-sv-time="72" data-sv-index="16" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 2375 2376<div id="layoutjs_42997bca-3b62-48dd-841f-d7fbf9f42ac9" class="layoutjsContainer" data-gtm-vars='{ "tCore" : { "category" : "layoutjs_plugins_listings_layout_list" } }'>
2377<script id="translations_42997bca-3b62-48dd-841f-d7fbf9f42ac9" type="text/template"> 2378 {"leo":{"apply":"Apply","clear_filters":"Clear Filters","reset":"Reset","filter":"Filter","sort":"Sort","view":"View","keyword":"Search:","search_placeholder":"Keywords...","regions":"Regions","where":"Where","categories":"Categories","category":"Category","grid":"Grid","list":"List","map":"Map","show_map":"Show Map","hide_map":"Hide Map","recommended":"Recommended","near_me":"Near Me","read_more":"Read More","quick_view":"Quick View","featured_title":"Partner","visit_website":"Visit Website","email":"E-mail","tollfree":"Toll Free","tab_about":"About","tab_map":"Map","show_more":"Show $1 more","show_less":"Show Less","results":"$1 results","no_results":"There are no results that match your filter.","miles_from_you":"Miles from You","meeting_rooms":"Meeting Rooms","square_feet":"Total Sq. Ft.","largest_room":"Largest Room","sleeping_rooms":"Sleeping Rooms","banquet":"Banquet Capacity","reception":"Reception Capacity","theatre":"Theater Capacity","classroom":"Classroom Capacity","compare":"Compare","close_compare_dropdown":"Close compare dropdown","compare_add":"Add to compare","compare_remove":"Remove from compare","compare_clear_all":"Clear All","compare_limit_message":"You can only compare four (4) items at a time","location":"Location","locations":"Locations","details":"Details","address":"Address","err_loc_timeout":"We're unable to determine your location at this time.","err_loc_blocked":"You must allow location access for distance sorting.","err_loc_radius":"You must be within $1 miles to sort by distance.","date_range_title":"Show Events For","date_range_day":"Day","date_range_week":"Week","date_range_weekend":"Weekend","date_range_month":"Month","date_range_year":"Year","date_range_selected_dates":"Selected Dates","per_page_label":"Items Per Page","tb_add":"Add to Trip","tb_remove":"Remove from Trip","tb_view":"View Trip","facilities":"Facilities","download":"Download Events as CSV","convention":"Convention","venues":"Venues","dates":"Dates","attendance":"Attendance","whats_nearby":"What's Nearby","attractions":"Attractions","dining":"Dining","accommodations":"Accommodations","events":"Events","things_to_do":"Things To Do","get_directions":"Get Directions","redo_search_in_map":"Redo Search in Map","add_to_calendar":"Add to Calendar","add_to_google_calendar":"Add to Google Calendar","add_to_microsoft_calendar":"Add to Microsoft Live Calendar","add_to_outlook_calendar":"Add to Office365 Outlook Calendar","add_to_iCloud_calendar":"Add to iCloud Calendar","add_to_windows_calendar":"Add to Windows Calendar","start_date":"Start Date","end_date":"End Date"},"listings":{"clear_filters":"Clear Filters","amenities":"Amenities","tab_amenities":"Amenities","tab_meeting_facilities":"Meeting Facilities","tab_offers":"Offers","tab_events":"Events","tab_hours":"Hours","tab_tripadvisor":"TripAdvisor","tab_yelp":"Yelp","yelp_closed":"Closed","tab_social_feeds":"Social Feeds","facility_info":"Facility Info","meeting_rooms":"Meeting Rooms","m_exhibits_space":"Exhibits Space","m_description":"Description","m_exhibits":"Exhibits","m_floorplan_file":"Floorplan File","m_largest_room":"Largest Room","m_toll_free":"Toll Free","m_total_sq_ft":"Total Sq. Ft.","m_reception_capacity":"Reception Capacity","m_space_notes":"Space Notes","m_theater_capacity":"Theater Capacity","m_link":"Link","m_villas":"Villas","m_banquet_capacity":"Banquet Capacity","m_number_of_rooms":"Number of Rooms","m_booths":"Booths","m_large_floor_plan_pdf":"Large floor Plan PDF","m_suites":"Suites","m_classroom_capacity":"Classroom Capacity","m_sleeping_rooms":"Sleeping Rooms","m_width":"Width","m_length":"Length","m_height":"Height","m_booth_capacity":"Booth Capacity","m_amphitheater_present":"Amphitheater Present","m_listening_devices_present":"Listening Devices Present"}} 2379</script>
2379 2380</div>
2381<script> 2382 require([ 2383 "jquery", 2384 "plugins_core/main", 2385 "sv_site", 2386 "sv_crmLib", 2387 "sv_cloudinaryLib", 2388 "sv_asyncLib", 2389 "sv_clientMoment", 2390 "sv_arrayLib", 2391 "sv_load!plugins_dtn", 2392 "plugins_common_custom_layoutjs", 2393 "plugins_common_custom_lazyload", 2394 "sv_load!site_gamClient", 2395 "plugins_common_custom_ui_watcher", 2396 "sv_clientLib", 2397 "plugins_common_custom_utils", 2398 ], function( 2399 $, 2400 core, 2401 site, 2402 crmLib, 2403 sv_cloudinaryLib, 2404 asyncLib, 2405 clientMoment, 2406 arrayLib, 2407 dtn, 2408 layoutjs, 2409 lazyload, 2410 gamClient, 2411 UIWatcher, 2412 clientLib, 2413 utils, 2414 ) { 2415 var widget = {"template":"list","showSearchBox":"true","listingcats":"1852","listingsubcats":["1930"],"amenityoptions":"none","custom_defaultView":"grid","custom_map_defaults_open":"false","custom_hide_regions":"false"}; 2416 var useGroupedCats = false; 2417 var groupedCats = [{"label":"Accommodations","value":"1571"},{"label":"Outdoors","value":"1847"},{"label":"Arts & Entertainment","value":"1850"},{"label":"Attractions","value":"1851"},{"label":"Dining","value":"1852","options":[{"label":"American & Burgers","value":"1922"},{"label":"Bakeries & Coffee Shops","value":"1930"},{"label":"BBQ","value":"1933"},{"label":"Breakfast & Brunch","value":"1940"},{"label":"Dining","value":"2011"},{"label":"Farm to Table","value":"1951"},{"label":"Global","value":"1957"},{"label":"Group Dining","value":"1959"},{"label":"Ice Cream & Sweets","value":"1964"},{"label":"Italian","value":"1965"},{"label":"Mexican","value":"1969"},{"label":"Pizza ","value":"1978"},{"label":"Romantic ","value":"1981"},{"label":"Subs & Sandwiches","value":"1986"},{"label":"Vegan / Vegetarian","value":"2012"},{"label":"Waterfront Dining","value":"1995"}]},{"label":"Farms & Agriculture","value":"1853"},{"label":"Museums & History","value":"1854"},{"label":"Nightlife","value":"1855"},{"label":"Shopping","value":"1856"},{"label":"Sports","value":"1857"},{"label":"Transportation","value":"1858"},{"label":"Wedding Services","value":"1859"},{"label":"Event Venues","value":"1860"},{"label":"Wellness","value":"1861"}]; 2418 var subcats = [{"label":"Bakeries & Coffee Shops","value":"1930"}]; 2419 var regions = [{"label":"Other","value":"7"},{"label":"Avon","value":"72"},{"label":"Caledonia","value":"73"},{"label":"Dansville","value":"74"},{"label":"Geneseo","value":"75"},{"label":"Leicester","value":"76"},{"label":"Lima","value":"77"},{"label":"Livonia","value":"78"},{"label":"Mount Morris","value":"79"},{"label":"Nunda","value":"80"}]; 2420 var regionsChosen = false; 2421 var subcatsChosen = true; 2422 var specificListingsChosen = false; 2423 var hasMapDefault = false;
2424 var showRegionsFilter = true; 2425 var amenities = []; 2426 var hasPrimaryCat = true; 2427 var initialAmenities = (widget !== undefined && widget.custom_amenities_filter !== undefined) ? widget.custom_amenities_filter : undefined; 2428 // var libationLoop = ; 2429 var dtnargs = {"auid":"/214662569/dtn_featured_listings","limit":10,"sort":"random"}; 2430 var hasDtn = (dtnargs.auid !== undefined && dtnargs.auid.length > 0 && dtnargs.limit > 0 && dtn !== undefined); 2431 var limit = widget.custom_items_per_page !== undefined && site?.siteConfig?.custom?.[site.site].listings?.enablePaginationCountControl ? Number(widget.custom_items_per_page) : site?.siteConfig?.custom?.[site.site].listings?.paginationCountDefault; 2432 var defaultHooks = []; 2433 var defaultView = widget.custom_defaultView !== undefined ? widget.custom_defaultView : "grid"; 2434 const translations = JSON.parse(document.querySelector('#translations_42997bca-3b62-48dd-841f-d7fbf9f42ac9').innerHTML); 2435 let abortController; 2436 if (widget.detail_type !== undefined) { 2437 defaultHooks.push({ name : "afterFind_custom_detail_type", args : { detail_type : widget.detail_type } }); 2438 } 2439 2440 if (widget.dtnlimit) { 2441 // if a limit is specified in the widget, override that passed in config 2442 dtnargs.limit = Number(widget.dtnlimit); 2443 } 2444 2445 if (hasDtn) { 2446 // we want the smaller of the limit and dtnargs.limit 2447 dtnargs.limit = Math.min(dtnargs.limit, limit); 2448 } 2449 2450 var allFilterTagItems = subcats.map(function(val) { return { site : site.site, subcatid : Number(val.value) } }); 2451 2452 // the base filter is the minimum filter applied to all queries. This is *not* the same as a "default" query, or the initial query. 2453 // this is the base. Any filter components that can be done in the UI are added to this object 2454 var baseFilter = { 2455 $and : [] 2456 } 2457 2458 if (hasPrimaryCat) { 2459 baseFilter.$and.push({ 2460 filter_tags : { 2461 $in : crmLib.getListingFilterTags({ items : allFilterTagItems }) 2462 } 2463 }); 2464 } else { 2465 baseFilter.$and.push({ 2466 filter_tags : { 2467 $in : ['site_' + site.site] 2468 } 2469 }); 2470 } 2471 2472 if (regionsChosen) { 2473 baseFilter.regionid = { 2474 $in : regions.map(function(val) { return Number(val.value) }) 2475 } 2476 } 2477 2478 if (specificListingsChosen) { 2479 baseFilter.recid = { $in : widget.custom_specific_listings_ids }; 2480 } 2481 2482 if (initialAmenities && widget.amenityoptions === "none") { 2483 initialAmenities.forEach(function(val) { 2484 baseFilter["amenities." + val + ".value_raw"] = true; 2485 }); 2486 } 2487 else if (initialAmenities && widget.amenityoptions === "custom") { 2488 initialAmenities.forEach(function(val) { 2489 let selected = amenities.some(function(amenity) { return amenity.value === val; }); 2490 if (!selected) { 2491 baseFilter["amenities." + val + ".value_raw"] = true; 2492 } 2493 }); 2494 } 2495 2496 var masterFlow = new asyncLib.Flow(); 2497 2498 masterFlow.series({ 2499 init: function(cb) { 2500 var vue = layoutjs.getVue({ 2501 rootNode : document.querySelector('#layoutjs_42997bca-3b62-48dd-841f-d7fbf9f42ac9'), 2502 type : "listings", 2503 view : defaultView, 2504 limit : limit, 2505 sort : "qualityScore", 2506 translations : translations.leo, 2507 mapOpen: hasMapDefault, 2508 // if there is a defaultImageUrl defined in client config, use it. Else it will utilize the default declared in custom_layoutjs.js 2509 fallbackImageUrl : site.siteConfig.custom && site.siteConfig.custom[site.site] && site.siteConfig.custom[site.site].defaultImageUrl, 2510 showFilter : true, 2511 baseFilter : baseFilter, 2512 // change to true in order to show the first and last page arrows 2513 pager_first_last_page_arrows: false, 2514 filters : [ 2515 { 2516 name : "keyword", 2517 label : translations.leo.keyword, 2518 placeholder : translations.leo.search_placeholder, 2519 type : "keyword", 2520 toFilter : function(value, filter, context) { 2521 filter.solrOptions = { 2522 keyword : value 2523 } 2524 2525 return filter; 2526 } 2527 }, 2528 { 2529 name : "regions", 2530 label : translations.leo.where, 2531 // we implicitly filter on regions if they have been selected in the widget, so no reason to display a region option with 1 choice 2532 // if no regions were selected, then a region option with 1 choice is valid and therefore we pass the whole array 2533 show : showRegionsFilter && (regionsChosen ? regions.length > 1 : regions.length > 0), 2534 type : "checkbox", 2535 typeExtra : { 2536 options : regions, 2537 countArgs : { 2538 watchFilters : ["subcats", "amenities"], 2539 unsupportedFilters : ["keyword"], 2540 field : "regionid", 2541 model : "plugins_listings_listings", 2542 sort : true 2543 } 2544 }, 2545 toFilter : function(value, filter, context) { 2546 filter.$and.push({ 2547 regionid : { $in : value.map(function(val) { return Number(val) }) } 2548 }); 2549 2550 return filter; 2551 } 2552 }, 2553 { 2554 name : "subcats", 2555 label : translations.leo.category, 2556 show : subcats.length > 1, 2557 type : useGroupedCats ? "twostage" : "checkbox", 2558 typeExtra : { 2559 options : useGroupedCats ? groupedCats : subcats, 2560 countArgs : { 2561 watchFilters : ["amenities", "regions"], 2562 unsupportedFilters : ["keyword"], 2563 field : "categories.subcatid", 2564 unwind : "categories", 2565 model : "plugins_listings_listings", 2566 sort : true 2567 } 2568 }, 2569 toFilter : function(value, filter, context) { 2570 filter.$and.push({ 2571 filter_tags : { 2572 $in : crmLib.getListingFilterTags({ items : this.custom_selectedSubcatItems }) 2573 } 2574 }); 2575 2576 return filter; 2577 } 2578 }, 2579 { 2580 name : "amenities", 2581 label : translations.listings.amenities, 2582 // we do not implicitly filter on amenities so if there is only one available option we still want to show the checkbox 2583 show : amenities.length > 0, 2584 type : "checkbox", 2585 initialValue : initialAmenities, 2586 typeExtra : { 2587 options : amenities, 2588 countArgs : { 2589 watchFilters : ["subcats", "regions", "amenities"], 2590 unsupportedFilters : ["keyword"], 2591 field : "amenities_array.uniquename", 2592 unwind : "amenities_array", 2593 model : "plugins_listings_listings", 2594 sort : true 2595 } 2596 }, 2597 toFilter : function(value, filter) { 2598 value.forEach(function(val) { 2599 filter["amenities." + val + ".value_raw"] = true; 2600 }); 2601 2602 return filter; 2603 } 2604 } 2605 ], 2606 sortOptions : [ 2607 { value : "qualityScore", label : translations.leo.recommended }, 2608 { value : "distance", label : translations.leo.near_me }, 2609 { value : "pan", label : '' } 2610 ], 2611 limitOptions : site?.siteConfig?.custom?.[site.site].listings?.enablePaginationCountControl && site?.siteConfig?.custom?.[site.site].listings?.paginationOptions ? site.siteConfig.custom[site.site].listings.paginationOptions : [], 2612 maxRangeMiles : 100, 2613 latitude : 42.80087, 2614 longitude : -77.81656, 2615 data : { 2616 custom_catid : (widget.listingcats !== undefined) ? Number(widget.listingcats) : undefined, 2617 custom_dtnids : [] 2618 }, 2619 // computed allows the passing of computed and method properties, in cases where they may need to be unique to the template 2620 computed : { 2621 custom_selectedSubcatItems : function() { 2622 return this.filter_subcats_numberArray.map(function(val) { return { site : site.site, subcatid : val } }); 2623 }, 2624 custom_dtnFilterTagItems : function() { 2625 // if we have not chosen subcats in the widget, then we need to load via the category id 2626 // if we have chosen subcats then we utilize whatever the state of the 2627 if (this.custom_selectedSubcatItems.length > 0) { 2628 // if we have items selected in the UI, use them 2629 return this.custom_selectedSubcatItems; 2630 } else if (subcatsChosen) { 2631 // if we have items chosen in the widget, use those 2632 return allFilterTagItems; 2633 } else { 2634 // otherwise fall back to the chosen catid 2635 return [{ site : site.site, catid : this.custom_catid }]; 2636 } 2637 } 2638 }, 2639 methods : {}, 2640 watch : { 2641 docs: function() { 2642 // place logic in here that needs to happen after render of items 2643 this.$nextTick(function() { 2644 if (hasDtn) { 2645 gamClient.renderAds(); 2646 } 2647 lazyload.lazy($(this.$el).find('.content .item').toArray()); 2648 }); 2649 } 2650 }, 2651 query : function(cb) { 2652 var self = this; 2653 2654 var filter = self.getFilter("query"); 2655 2656 var options = { 2657 limit : self.limit, 2658 skip : self.skip, 2659 count : true, 2660 castDocs : false, 2661 fields : { 2662 recid : 1, 2663 title : 1, 2664 primary_category: 1, 2665 address1 : 1, 2666 city : 1, 2667 state : 1, 2668 zip : 1, 2669 url : 1, 2670 isDTN : 1, 2671 latitude : 1, 2672 longitude : 1, 2673 primary_image_url : 1, 2674 qualityScore : 1, 2675 weburl : 1, 2676 "dtn.rank" : 1, 2677 "yelp.rating" : 1, 2678 "yelp.url" : 1, 2679 "yelp.review_count" : 1, 2680 "yelp.price" : 1, 2681 "amenities.general_livingstonlibationloopbadge" : 1, 2682 }, 2683 hooks : defaultHooks 2684 }; 2685 2686 if (self.sort === "pan") { 2687 options.sort = { qualityScore : -1, sortcompany : 1 }; 2688 filter["loc.coordinates"] = { 2689 "$geoWithin": { 2690 "$geometry": { 2691 type: "Polygon", 2692 coordinates: [[ 2693 [parseFloat(self.bounds.W),parseFloat(self.bounds.N)], 2694 [parseFloat(self.bounds.E),parseFloat(self.bounds.N)], 2695 [parseFloat(self.bounds.E),parseFloat(self.bounds.S)], 2696 [parseFloat(self.bounds.W),parseFloat(self.bounds.S)], 2697 [parseFloat(self.bounds.W),parseFloat(self.bounds.N)] 2698 ]] 2699 } 2700 } 2701 } 2702 } else if (self.sort === "qualityScore") { 2703 options.sort = { qualityScore : -1, sortcompany : 1 }; 2704 } else if (self.sort === "distance") { 2705 filter.solrOptions = filter.solrOptions || {}; 2706 filter.solrOptions.sort = "distance"; 2707 filter.solrOptions.point = [self.georesult.latitude, self.georesult.longitude].join(","); 2708 filter.solrOptions.radius = self.args.maxRangeMiles.toString(); 2709 } 2710 2711 if (options.skip === 0) { 2712 // whenever the skip is 0, we reset the custom_dtnids back to scratch 2713 self.custom_dtnids = []; 2714 } 2715 2716 var flow = new asyncLib.Flow(); 2717 flow.series({ 2718 dtn : function(cb) { 2719 if (hasDtn === false || options.skip > 0 || self.sort === "distance" || self.custom_catid === undefined || self.sort === "pan") { 2720 return cb(null, []); 2721 } 2722 2723 var dtnFilter = self.getFilter("query"); 2724 2725 dtnFilter.$and.push({ 2726 filter_tags : { 2727 $in : crmLib.getListingFilterTags({ items : self.custom_dtnFilterTagItems, dtn : true }) 2728 } 2729 }); 2730 2731 // using 0000 and 2359 for caching purposes, otherwise we could just use Date().toISOString() 2732 var today0000 = clientMoment().startOf("day"); // send date as 00:00:00 in the client timezone in UTC 2733 var today2359 = clientMoment().endOf("day"); // send date as 23:59:59 in the client timezone in UTC 2734 2735 dtnFilter.$and.push( 2736 { 2737 $or : [ 2738 { "dtn.sdate" : { $lte : { $date : today0000.toISOString() } } }, 2739 { "dtn.sdate" : { $exists : false } } 2740 ] 2741 }, 2742 { 2743 $or : [ 2744 { "dtn.edate" : { $gte : { $date : today2359.toISOString() } } }, 2745 { "dtn.edate" : { $exists : false } } 2746 ] 2747 } 2748 ); 2749 2750 var dtnOptions = utils.extend({}, options, { 2751 // we allow DTN to oversell the first page by a factor of 2 2752 // we will pull from this set a max of the limit 2753 limit : self.limit * 2, 2754 count : false, 2755 hooks : defaultHooks.concat("afterFind_dtn") 2756 }); 2757 2758 if (abortController) { 2759 abortController.abort(); 2760 } 2761 2762 abortController = new AbortController(); 2763 2764 const xhr = new URL( 2765 `${window.location.protocol}//${window.location.host}/includes/rest_v2/plugins_listings_listings/find/` 2766 ); 2767 xhr.searchParams.append('json', JSON.stringify({ filter : dtnFilter, options : dtnOptions })); 2768 xhr.searchParams.append('token', core.simpleToken ); 2769 const fetchOptions = { 2770 method: 'GET', 2771 mode: 'no-cors', 2772 signal: abortController.signal, 2773 }; 2774 2775 fetch(xhr, fetchOptions) 2776 .then(function(res) { return res.json() }) 2777 .then(function(res) { 2778 // randomize the result set, then trim it down to our desired limit 2779 res.docs = arrayLib.randomize(res.docs); 2780 res.docs = res.docs.splice(0, dtnargs.limit); 2781 2782 res.docs.forEach(function(val) { 2783 self.custom_dtnids.push(val.recid); 2784 val.dtnAuid = dtnargs.auid; 2785 val.isDTN = true; 2786 }); 2787 2788 return cb(null, res.docs); 2789 }) 2790 .catch(function(err) { 2791 if (err.name === "AbortError") { 2792 return flow.halt({ total : 0, docs : [] }); 2793 } 2794 return cb(new Error(err)); 2795 } 2796 ); 2797 }, 2798 data : function(cb) { 2799 if (flow.data.dtn.length > 0) { 2800 // has DTN listings, need to adjust page 1 limit and store dtnids for exclusion from main query on all pages 2801 options.limit -= self.custom_dtnids.length; 2802 } else { 2803 options.skip = (options.skip - self.custom_dtnids.length); 2804 } 2805 2806 if (self.custom_dtnids.length > 0) { 2807 filter.recid = { $nin : self.custom_dtnids } 2808 } 2809 2810 if (self.custom_dtnids.length === self.limit) { 2811 options.limit = 1; 2812 } 2813 2814 if (abortController) { 2815 abortController.abort(); 2816 } 2817 2818 abortController = new AbortController(); 2819 2820 const xhr = new URL( 2821 `${window.location.protocol}//${window.location.host}/includes/rest_v2/plugins_listings_listings/find/` 2822 ); 2823 xhr.searchParams.append('json', JSON.stringify({ filter : f
2823ilter, options : options })); 2824 xhr.searchParams.append('token', core.simpleToken ); 2825 const fetchOptions = { 2826 method: 'GET', 2827 mode: 'no-cors', 2828 signal: abortController.signal, 2829 }; 2830 2831 fetch(xhr, fetchOptions) 2832 .then(function(res) { return res.json() }) 2833 .then(function(res) { 2834 var returnData = { 2835 total : res.docs.count + self.custom_dtnids.length, 2836 docs : flow.data.dtn.concat(res.docs.docs).slice(0, self.limit) 2837 }; 2838 2839 returnData.docs = returnData.docs.map(function(val) { 2840 var address = val.address1 || ""; 2841 if(val.city) address += ` ${val.city}`; 2842 if(val.state) address += `, ${val.state}`; 2843 if(val.zip) address += ` ${val.zip}`; 2844 2845 return { 2846 recid : val.recid, 2847 title : val.title, 2848 crmc : val.primary_category.catname, 2849 crmsc : val.primary_category.subcatname, 2850 image_url : val.primary_image_url, 2851 url : val.url, 2852 dtn : val.isDTN ? { 2853 auid : dtnargs.auid, 2854 rank : val.dtn.rank 2855 } : undefined, 2856 yelp : val.yelp, 2857 locations: [{ 2858 title : address 2859 }], // sets listing location 2860 latitude : val.latitude, 2861 longitude : val.longitude, 2862 qualityScore : val.qualityScore, 2863 libation: val?.amenities?.general_livingstonlibationloopbadge ? val.general_livingstonlibationloopbadge : undefined, 2864 button : { 2865 title : translations.leo.read_more, 2866 url : val.url, 2867 weburl : val.weburl, 2868 weburl_title : translations.leo.visit_website 2869 } // call to action button 2870 } 2871 }); 2872 2873 return cb(null, returnData); 2874 }) 2875 .catch(function(err) { 2876 if (err.name === "AbortError") { 2877 return flow.halt({ total : 0, docs : [] }); 2878 } 2879 return cb(new Error(err)); 2880 } 2881 ); 2882 } 2883 }, flow.cbLast(cb)); 2884 } 2885 }); 2886 /* register available UI events */ 2887 var watcher = new UIWatcher(vue, $, document); 2888 var uid = clientLib.uuid().toString(); 2889 var widgetEvents = [ 2890 "change-page", "view-change", "value-change", "sort-change", "toggle-show-more", 2891 "scroll-into-view", "item-click", "title-click", "map-pin-click", "tripbuilder" 2892 ]; 2893 for (var i=0; i<widgetEvents.length; i++) { 2894 watcher.add("vue", widgetEvents[i], uid, { name: "Listings" }); 2895 } 2896 2897 } 2898 }, function(err, msg) { 2899 if (err) { return new Error(msg); } 2900 }); 2901 }); 2902</script>
2902 2903</div><div data-civid="63ffe32ed27d4f6cbbd8c44d" class="contentRender contentRender_17 contentRender_type_widget contentRender_name_plugins_collections_type_custom_slides contentRender_name_plugins_collections_template_custom_core_cards_4_across" data-sv-time="62" data-sv-index="17" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 2904 2905 2906 2907 2908 2909 2910 2911 2912<style>/* collection helper generated css */ .cards-4-across .img-cont {padding-bottom: calc(100% * 415 / 583);height: 0;background-color: #333;}@media screen and (min-width: 640px) {.cards-4-across .img-cont {padding-bottom: calc(100% * 303 / 454);}}@media screen and (min-width: 1024px) {.cards-4-across .img-cont {padding-bottom: calc(100% * 228 / 320);}}</style> 2913 2914 2915 2916 2917 2918 2919 2920<section 2921 class="ccl-widget core-cards cards-4-across" 2922 data-slides-across="4" 2923 data-guid="89d71cf0-1750-4bfd-8b01-9f61fd036215" 2924 data-js="plugins_collections_custom_collection_default_package" 2925 data-gtm-vars='{ "tClient" : { "eventCategory" : "Widget - Cards", "eventValue" : 0, "nonInteraction" : false } }' 2926 style="opacity: 1;" 2927> 2928 2929 2930 2931 2932 <header class="widget-header"> 2933 <div class="widget-header-inner"> 2934 <img class="title-accent left" 2935 src="/includes/public/assets/shared/flourish-decoration.svg" 2936 alt="Title Accent"> 2937 2938 <h2 class="widget-title">Explore More Restaurants</h2> 2939 2940 <img class="title-accent right" 2941 src="/includes/public/assets/shared/flourish-decoration.svg" 2942 alt="Title Accent"> 2943 2944 </div> 2945 </header> 2946 <div class="slides" data-slides> 2947 2948 <article class="slide"> 2949 2950 <div class="inner" data-gtm-vars='{ "tClient" : { "eventLabel" : "Ice%20Cream%20%26%20Sweets" } }'> 2951 <div class="slide-top"> 2952 2953 2954 2955 <div class="img-cont"> 2956 <a data-asset href="https://www.visitlivco.com/restaurants/ice-cream-sweets/" target="_self" data-gtm-click data-gtm-vars='{ "tClient" : { "eventAction" : "Image Click" } }'> 2957 <picture> 2958 2959 2960 2961 <source 2962 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,e_blur:100,f_jpg,g_xy_center,h_22,q_30,w_30,x_1752,y_1104/v1/clients/livingstoncountyny/WebRes_11_e72aed09-1de5-48d4-acf3-4aa65b376084.jpg" 2963 data-lazy-srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,g_xy_center,h_228,q_65,w_320,x_1752,y_1104/v1/clients/livingstoncountyny/WebRes_11_e72aed09-1de5-48d4-acf3-4aa65b376084.jpg" 2964 media="screen and (min-width: 1024px)" 2965 /> 2966 2967 2968 2969 <source 2970 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,e_blur:100,f_jpg,g_xy_center,h_21,q_30,w_30,x_1752,y_1104/v1/clients/livingstoncountyny/WebRes_11_e72aed09-1de5-48d4-acf3-4aa65b376084.jpg" 2971 data-lazy-srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,g_xy_center,h_303,q_65,w_454,x_1752,y_1104/v1/clients/livingstoncountyny/WebRes_11_e72aed09-1de5-48d4-acf3-4aa65b376084.jpg" 2972 media="screen and (min-width: 640px)" 2973 /> 2974 2975 <img 2976 src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,e_blur:100,f_jpg,g_xy_center,h_18,q_20,w_20,x_1752,y_1104/v1/clients/livingstoncountyny/WebRes_11_e72aed09-1de5-48d4-acf3-4aa65b376084.jpg" 2977 data-lazy-src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,g_xy_center,h_415,q_65,w_583,x_1752,y_1104/v1/clients/livingstoncountyny/WebRes_11_e72aed09-1de5-48d4-acf3-4aa65b376084.jpg" 2978 alt="Ice Cream at Angie's" 2979 /> 2980 </picture> 2981 </a> 2982 2983 2984 </div> 2985 </div> 2986 2987 <div class="content-section"> 2988 <div class="inner"> 2989 <h3 class="slide-title"> 2990 <a href="https://www.visitlivco.com/restaurants/ice-cream-sweets/" target="_self" data-gtm-click data-gtm-vars='{ "tClient" : { "eventAction" : "Title Click" } }'>Ice Cream & Sweets</a> 2991 </h3> 2992 2993 2994 2995 <p>Whether you’re looking for the perfect nightcap after a delicious dinner, a cone piled high with soft serve, or a sundae that…</p> 2996 </div> 2997 2998 2999 <footer class="slide-footer"> 3000 3001 <a class="read-more" href="https://www.visitlivco.com/restaurants/ice-cream-sweets/" target="_self" data-gtm-click data-gtm-vars='{ "tClient" : { "eventAction" : "Read%20More" } }'>Read More</a> 3002 3003 3004 </footer> 3005 3006 3007 </div> 3008 </div> 3009 3010 </article> 3011 3012 <article class="slide"> 3013 3014 <div class="inner" data-gtm-vars='{ "tClient" : { "eventLabel" : "Mexican" } }'> 3015 <div class="slide-top"> 3016 3017 3018 3019 <div class="img-cont"> 3020 <a data-asset href="https://www.visitlivco.com/restaurants/cuisine-types/mexican/" target="_self" data-gtm-click data-gtm-vars='{ "tClient" : { "eventAction" : "Image Click" } }'> 3021 <picture> 3022 3023 3024 3025 <source 3026 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,e_blur:100,f_jpg,h_22,q_30,w_30/v1/clients/livingstoncountyny/HighRes_46_4__10f30fa8-8742-4fb8-afbf-f8b50a28ec82.jpg" 3027 data-lazy-srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,h_228,q_65,w_320/v1/clients/livingstoncountyny/HighRes_46_4__10f30fa8-8742-4fb8-afbf-f8b50a28ec82.jpg" 3028 media="screen and (min-width: 1024px)" 3029 /> 3030 3031 3032 3033 <source 3034 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,e_blur:100,f_jpg,h_21,q_30,w_30/v1/clients/livingstoncountyny/HighRes_46_4__10f30fa8-8742-4fb8-afbf-f8b50a28ec82.jpg" 3035 data-lazy-srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,h_303,q_65,w_454/v1/clients/livingstoncountyny/HighRes_46_4__10f30fa8-8742-4fb8-afbf-f8b50a28ec82.jpg" 3036 media="screen and (min-width: 640px)" 3037 /> 3038 3039 <img 3040 src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,e_blur:100,f_jpg,h_18,q_20,w_20/v1/clients/livingstoncountyny/HighRes_46_4__10f30fa8-8742-4fb8-afbf-f8b50a28ec82.jpg" 3041 data-lazy-src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,h_415,q_65,w_583/v1/clients/livingstoncountyny/HighRes_46_4__10f30fa8-8742-4fb8-afbf-f8b50a28ec82.jpg" 3042 alt="Tacos at Rancho" 3043 /> 3044 </picture> 3045 </a> 3046 3047 3048 </div> 3049 </div> 3050 3051 <div class="content-section"> 3052 <div class="inner"> 3053 <h3 class="slide-title"> 3054 <a href="https://www.visitlivco.com/restaurants/cuisine-types/mexican/" target="_self" data-gtm-click data-gtm-vars='{ "tClient" : { "eventAction" : "Title Click" } }'>Mexican</a> 3055 </h3> 3056 3057 3058 3059 <p>Authentic Mexican food in Upstate New York can be found at our incredible restaurants, offering your favorite dishes from enchiladas…</p> 3060 </div> 3061 3062 3063 <footer class="slide-footer"> 3064 3065 <a class="read-more" href="https://www.visitlivco.com/restaurants/cuisine-types/mexican/" target="_self" data-gtm-click data-gtm-vars='{ "tClient" : { "eventAction" : "Read%20More" } }'>Read More</a> 3066 3067 3068 </footer> 3069 3070 3071 </div> 3072 </div> 3073 3074 </article> 3075 3076 <article class="slide"> 3077 3078 <div class="inner" data-gtm-vars='{ "tClient" : { "eventLabel" : "Pizza" } }'> 3079 <div class="slide-top"> 3080 3081 3082 3083 <div class="img-cont"> 3084 <a data-asset href="https://www.visitlivco.com/restaurants/cuisine-types/pizza/" target="_self" data-gtm-click data-gtm-vars='{ "tClient" : { "eventAction" : "Image Click" } }'> 3085 <picture> 3086 3087 3088 3089 <source 3090 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,e_blur:100,f_jpg,h_22,q_30,w_30/v1/clients/livingstoncountyny/TEC_NO_BS_PIzza_DSC09851_42_edca7103-377b-45ba-a6f6-c6879fb880c1.jpg" 3091 data-lazy-srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,h_228,q_65,w_320/v1/clients/livingstoncountyny/TEC_NO_BS_PIzza_DSC09851_42_edca7103-377b-45ba-a6f6-c6879fb880c1.jpg" 3092 media="screen and (min-width: 1024px)" 3093 /> 3094 3095 3096 3097 <source 3098 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,e_blur:100,f_jpg,h_21,q_30,w_30/v1/clients/livingstoncountyny/TEC_NO_BS_PIzza_DSC09851_42_edca7103-377b-45ba-a6f6-c6879fb880c1.jpg" 3099 data-lazy-srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,h_303,q_65,w_454/v1/clients/livingstoncountyny/TEC_NO_BS_PIzza_DSC09851_42_edca7103-377b-45ba-a6f6-c6879fb880c1.jpg" 3100 media="screen and (min-width: 640px)" 3101 /> 3102 3103 <img 3104 src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,e_blur:100,f_jpg,h_18,q_20,w_20/v1/clients/livingstoncountyny/TEC_NO_BS_PIzza_DSC09851_42_edca7103-377b-45ba-a6f6-c6879fb880c1.jpg" 3105 data-lazy-src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,h_415,q_65,w_583/v1/clients/livingstoncountyny/TEC_NO_BS_PIzza_DSC09851_42_edca7103-377b-45ba-a6f6-c6879fb880c1.jpg" 3106 alt="NO BS" 3107 /> 3108 </picture> 3109 </a> 3110 3111 3112 </div> 3113 </div> 3114 3115 <div class="content-section"> 3116 <div class="inner"> 3117 <h3 class="slide-title"> 3118 <a href="https://www.visitlivco.com/restaurants/cuisine-types/pizza/" target="_self" data-gtm-click data-gtm-vars='{ "tClient" : { "eventAction" : "Title Click" } }'>Pizza</a> 3119 </h3> 3120 3121 3122 3123 <p>Deep dish or thin crust? Cheese or pepperoni? However you like your pizza, you’ll find delicious options in LivCo. Our small…</p> 3124 </div> 3125 3126 3127 <footer class="slide-footer"> 3128 3129 <a class="read-more" href="https://www.visitlivco.com/restaurants/cuisine-types/pizza/" target="_self" data-gtm-click data-gtm-vars='{ "tClient" : { "eventAction" : "Read%20More" } }'>Read More</a> 3130 3131 3132 </footer> 3133 3134 3135 </div> 3136 </div> 3137 3138 </article> 3139 3140 <article class="slide"> 3141 3142 <div class="inner" data-gtm-vars='{ "tClient" : { "eventLabel" : "Italian" } }'> 3143 <div class="slide-top"> 3144 3145 3146 3147 <div class="img-cont"> 3148 <a data-asset href="https://www.visitlivco.com/restaurants/cuisine-types/italian/" target="_self" data-gtm-click data-gtm-vars='{ "tClient" : { "eventAction" : "Image Click" } }'> 3149 <picture> 3150 3151 3152 3153 <source 3154 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,e_blur:100,f_jpg,g_xy_center,h_22,q_30,w_30,x_1250,y_1123/v1/clients/livingstoncountyny/QuestaLasagna_15_eb9c4aaf-da1e-42e1-9bb4-21835adf1a
3154df.jpg" 3155 data-lazy-srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,g_xy_center,h_228,q_65,w_320,x_1250,y_1123/v1/clients/livingstoncountyny/QuestaLasagna_15_eb9c4aaf-da1e-42e1-9bb4-21835adf1adf.jpg" 3156 media="screen and (min-width: 1024px)" 3157 /> 3158 3159 3160 3161 <source 3162 srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,e_blur:100,f_jpg,g_xy_center,h_21,q_30,w_30,x_1250,y_1123/v1/clients/livingstoncountyny/QuestaLasagna_15_eb9c4aaf-da1e-42e1-9bb4-21835adf1adf.jpg" 3163 data-lazy-srcset="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,g_xy_center,h_303,q_65,w_454,x_1250,y_1123/v1/clients/livingstoncountyny/QuestaLasagna_15_eb9c4aaf-da1e-42e1-9bb4-21835adf1adf.jpg" 3164 media="screen and (min-width: 640px)" 3165 /> 3166 3167 <img 3168 src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,e_blur:100,f_jpg,g_xy_center,h_18,q_20,w_20,x_1250,y_1123/v1/clients/livingstoncountyny/QuestaLasagna_15_eb9c4aaf-da1e-42e1-9bb4-21835adf1adf.jpg" 3169 data-lazy-src="https://assets.simpleviewinc.com/simpleview/image/upload/c_fill,f_jpg,g_xy_center,h_415,q_65,w_583,x_1250,y_1123/v1/clients/livingstoncountyny/QuestaLasagna_15_eb9c4aaf-da1e-42e1-9bb4-21835adf1adf.jpg" 3170 alt="Making Pasta at Questa" 3171 /> 3172 </picture> 3173 </a> 3174 3175 3176 </div> 3177 </div> 3178 3179 <div class="content-section"> 3180 <div class="inner"> 3181 <h3 class="slide-title"> 3182 <a href="https://www.visitlivco.com/restaurants/cuisine-types/italian/" target="_self" data-gtm-click data-gtm-vars='{ "tClient" : { "eventAction" : "Title Click" } }'>Italian</a> 3183 </h3> 3184 3185 3186 3187 <p>If a hearty plate of pasta is calling your name after a long day of exploration, Italian is the way to go. And for the best Italian…</p> 3188 </div> 3189 3190 3191 <footer class="slide-footer"> 3192 3193 <a class="read-more" href="https://www.visitlivco.com/restaurants/cuisine-types/italian/" target="_self" data-gtm-click data-gtm-vars='{ "tClient" : { "eventAction" : "Read%20More" } }'>Read More</a> 3194 3195 3196 </footer> 3197 3198 3199 </div> 3200 </div> 3201 3202 </article> 3203 3204 </div> 3205</section> 3206</div> 3207 </div> 3208 <div class="footer-container"> 3209 <div data-civid="61df67ebd714252bfc52dd23" class="contentRender contentRender_18 contentRender_type_panel contentRender_name_plugins_common_footer" data-sv-time="4" data-sv-index="18" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 3210 3211 3212<footer class="panel-footer" data-guid="0312dc0c-9efe-4e0f-aad4-2773e3dd00a6"> 3213 <div class="footer-content-container"> 3214 <div class="logo-nav"> 3215 <div class="client-details"> 3216 <div data-civid="64823b7f9ec8606f2e562bd0" class="contentRender contentRender_19 contentRender_type_widget contentRender_name_plugins_common_logo_footer" data-sv-time="18" data-sv-index="19" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'><div class="logo-footer" data-guid="170d4342-50c2-4aed-b0ba-e44437c8a062" > 3217 <a href="" target="" aria-label="Livingston County Economic Development"> 3218 3219 <img 3220 src="/includes/public/assets/shared/logo-full-footer.svg" 3221 alt="Livingston County Economic Development" 3222 loading="lazy" 3223 width="310" 3224 height="140" 3225 /> 3226 3227 </a> 3228</div></div> 3229 </div> 3230 <div class="footer-nav"> 3231 <div data-civid="64823b7f9ec8606f2e562bd2" class="contentRender contentRender_20 contentRender_type_widget contentRender_name_plugins_nav_footer" data-sv-time="25" data-sv-index="20" data-gtm-vars='{ "tCore" : { "contentNum" : "2" } }'> 3232 3233 3234 3235 <ul class="navigation-footer six-items"> 3236 3237 <li class="item item-parent row-1 has-submenu"> 3238 <a 3239 href="/about-us/" 3240 target="_self" 3241 class=" has-children" 3242 title="About Us" 3243 data-gtm-click 3244 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Footer", "linkObject" : "About%20Us" } }' 3245 > 3246 About Us 3247 </a> 3248 </li> 3249 3250 <li class="item item-parent row-2"> 3251 <a 3252 href="/contact/" 3253 target="_self" 3254 class="" 3255 title="Contact" 3256 data-gtm-click 3257 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Footer", "linkObject" : "Contact" } }' 3258 > 3259 Contact 3260 </a> 3261 </li> 3262 3263 <li class="item item-parent row-3"> 3264 <a 3265 href="/media/" 3266 target="_self" 3267 class="" 3268 title="Media" 3269 data-gtm-click 3270 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Footer", "linkObject" : "Media" } }' 3271 > 3272 Media 3273 </a> 3274 </li> 3275 3276 <li class="item item-parent row-4 has-submenu"> 3277 <a 3278 href="/partnership/" 3279 target="_self" 3280 class=" has-children" 3281 title="Partnership" 3282 data-gtm-click 3283 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Footer", "linkObject" : "Partnership" } }' 3284 > 3285 Partnership 3286 </a> 3287 </li> 3288 3289 <li class="item item-parent row-5"> 3290 <a 3291 href="/sitemap/" 3292 target="_self" 3293 class="" 3294 title="Sitemap" 3295 data-gtm-click 3296 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Footer", "linkObject" : "Sitemap" } }' 3297 > 3298 Sitemap 3299 </a> 3300 </li> 3301 3302 <li class="item item-parent row-6 last"> 3303 <a 3304 href="/privacy-policy/" 3305 target="_self" 3306 class="" 3307 title="Privacy Policy" 3308 data-gtm-click 3309 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Footer", "linkObject" : "Privacy%20Policy" } }' 3310 > 3311 Privacy Policy 3312 </a> 3313 </li> 3314 3315 </ul> 3316</div> 3317 </div> 3318 <div class="photo-credits desktop"><div data-civid="64823b7f9ec8606f2e562bd8" class="contentRender contentRender_23 contentRender_type_widget contentRender_name_plugins_core_textbox" data-sv-time="17" data-sv-index="23" data-gtm-vars='{ "tCore" : { "contentNum" : "2" } }'> 3319 <p style="text-align: center;">A special thanks to photographers Bre'an Wilder, Keith Walters Photography, Lass & Beau, Lauren Page Wadsworth, Roads Two Travel, Third Eye Catcher, and Tetamore Photographic for capturing the beautiful images of Liv
3319ingston County used on this website.</p> 3320 3321</div></div> 3322 <div class="ilny-copyright desktop"> 3323 ® I LOVE NEW YORK is a registered trademark and service mark of the New York State Department of Economic Development; used with permission. 3324 </div> 3325 </div> 3326 <div class="cta-widget"> 3327 <div data-civid="64823b7f9ec8606f2e562bd4" class="contentRender contentRender_21 contentRender_type_panel contentRender_name_plugins_common_container_nav_widgets" data-sv-time="0" data-sv-index="21" data-gtm-vars='{ "tCore" : { "contentNum" : "2" } }'> 3328<div data-guid="4f9f9e1b-9945-4830-b273-37eb43437b57"> 3329 <div class="nav-cta-wrapper"> 3330 3331 <div class="enews-wrapper"> 3332 <a href="https://www.visitlivco.com/plan-your-visit/newsletter/" target="_self" data-gtm-click data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Navigation Callout", "linkObject" : "E-News" } }'> 3333 <img src='https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/livingstoncountyny/enews_start_d209ad5f-fb15-4f48-93db-2176d7f37bcf.png' class="static"> 3334 <img src='https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/livingstoncountyny/enews_animated_001b07f9-f572-473e-b6d6-247faf74960a.png' class="animated"> 3335 <div class="content"> 3336 <img src='https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/livingstoncountyny/envelope_96e3da75-871c-4a83-ac63-f87f186678c7.png' class="static"> 3337 <img src='https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/livingstoncountyny/envelope_green_5f4ecc44-31b2-44d4-8504-fe83462c9ed8.png' class="animated"> 3338 3339 <h3 class="subtitle">e-News</h3> 3340 3341 </div> 3342 </a> 3343 </div> 3344 3345 3346 <div class="social-wrapper"> 3347 <img src='https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/livingstoncountyny/social_start_f8595801-d56a-4b2c-ab8b-c639780439aa.png' class="static"> 3348 <img src='https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/livingstoncountyny/social_animated_8880de25-3a1a-4305-bcfb-159711da0
3348773.png' class="animated"> 3349 <div class="content"> 3350 <div data-civid="64823b7f9ec8606f2e562bd6" class="contentRender contentRender_22 contentRender_type_widget contentRender_name_plugins_collections_type_custom_social_slides contentRender_name_plugins_collections_template_custom_social_links" data-sv-time="53" data-sv-index="22" data-gtm-vars='{ "tCore" : { "contentNum" : "3" } }'> 3351 3352<ul class="social-links"> 3353 3354 3355 <li class="social-network"> 3356 <a 3357 class="social-link" 3358 href="https://www.facebook.com/visitlivco" 3359 target="_blank" 3360 rel="noopener" 3361 title="Visit our Facebook page" 3362 aria-label="Visit our Facebook page" 3363 data-gtm-click 3364 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Social Links", "linkObject" : "Social | Facebook" } }' 3365 > 3366 <i 3367 class="social-icon fab fa-facebook" 3368 aria-hidden="true" 3369 ></i> 3370 </a> 3371 </li> 3372 3373 3374 <li class="social-network"> 3375 <a 3376 class="social-link" 3377 href="https://www.instagram.com/visitlivco/" 3378 target="_blank" 3379 rel="noopener" 3380 title="Visit our Instagram page" 3381 aria-label="Visit our Instagram page" 3382 data-gtm-click 3383 data-gtm-vars='{ "tClient_ga4" : { "eventName" : "navigation_click", "navType" : "Social Links", "linkObject" : "Social | Instagram" } }' 3384 > 3385 <i 3386 class="social-icon fab fa-instagram" 3387 aria-hidden="true" 3388 ></i> 3389 </a> 3390 </li> 3391 3392</ul></div> 3393 </div> 3394 </div> 3395 3396 </div> 3397</div> 3398
3399<script> 3400 require(['domReady!'], function() { 3401 const root = document.querySelector('[data-guid="4f9f9e1b-9945-4830-b273-37eb43437b57"]'); 3402 // debugger 3403 let widgetContainers = document.querySelectorAll('[data-sv-nav-widgets-container]') 3404 widgetContainers.forEach((node,idx)=>{ 3405 node.innerHTML = root.innerHTML; 3406 }) 3407 3408 }); 3409</script>
3409</div> 3410 </div> 3411 <div class="contact-fox"> 3412 <div class="contact-wrapper"> 3413 <div class="physical contact"> 3414 3415 <div class="address1">Livingston County Tourism - Mailing Address</div> 3416 3417 3418 <div class="address2">6 Court Street, Room 306</div> 3419 3420 3421 <div class="city-state-zip">Geneseo, New York 14454</div> 3422 3423 </div> 3424 <div class="physical contact"> 3425 <div class="address1">LivCo Basecamp - Visitor Info Center</div> 3426 3427 <div class="address2">4 O'Connell Avenue</div> 3428 3429 <div class="city-state-zip">Mount Morris, New York 14510</div> 3430 </div> 3431 <div class="contact"> 3432 3433 <div class="phone"><a href="tel:(585) 519-6035"><i class="fas fa-phone" aria-hidden="true"></i> (585) 519-6035</a></div> 3434 3435 3436 <div class="email"><a href="mailto:[email protected]"><i class="fas fa-envelope" aria-hidden="true"></i> E-mail Us</a></div> 3437 3438 </div> 3439 </div> 3440 <div class="photo-credits mobile"><div data-civid="64823b7f9ec8606f2e562bd8" class="contentRender contentRender_23 contentRender_type_widget contentRender_name_plugins_core_textbox" data-sv-time="17" data-sv-index="23" data-gtm-vars='{ "tCore" : { "contentNum" : "2" } }'> 3441 <p style="text-align: center;">A special thanks to photographers Bre'an Wilder, Keith Walters Photography, Lass & Beau, Lauren Page Wadsworth, Roads Two Travel, Third Eye Catcher, and Tetamore Photographic for capturing the beautiful images of Livingston County used on this website.</p> 3442 3443</div></div> 3444 <div class="ilny-copyright mobile"> 3445 ® I LOVE NEW YORK is a registered trademark and service mark of the New York State Department of Economic Development; used with permission. 3446 </div> 3447 <div class="fox" data-back-to-top> 3448 <img data-lazy-src='https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/livingstoncountyny/fox_animated_622b3be1-7565-4aaf-85fc-7eaa83cb13c2.png' class="static" alt="back to top"> 3449 <img data-lazy-src='https://assets.simpleviewinc.com/simpleview/image/upload/v1/clients/livingstoncountyny/fox_start_d104cff2-b7f5-4a81-8051-2ba61a390bdc.png' class="animated" alt="back to top"> 3450 </div> 3451 </div> 3452 <div class="legal mobile"> 3453 © 2026 Visit LivCo 3454 </div> 3455 </div> 3456 <div class="attributions"> 3457 <div class="attribution-content-container"> 3458 <div class="legal desktop">© 2026 Visit LivCo</div> 3459 <a 3460 class="made-by-sv" 3461 href="https://www.simpleviewinc.com/our-services/creative-design/" 3462 target="_blank" 3463 rel="noopener" 3464 > 3465 <img 3466 src="/includes/public/assets/shared/made-by-sv-white.svg" 3467 alt="Made by Simpleview" 3468 loading="lazy" 3469 width="385" 3470 height="54" 3471 /> 3472 </a> 3473 </div> 3474 </div> 3475 <div class="mobile-fixed"> 3476 3477 <div data-civid="64823b7f9ec8606f2e562bda" class="contentRender contentRender_24 contentRender_type_widget contentRender_name_plugins_common_cookie_banner" data-sv-time="17" data-sv-index="24" data-gtm-vars='{ "tCore" : { "contentNum" : "1" } }'> 3478 3479<dialog class="cookie-banner dismissed hide" data-guid="ec572fbe-7661-4392-b125-05eac83af862"> 3480 <div class="banner-inner"> 3481 <div class="banner-message"> 3482 <p>By using this website, you agree to our use of cookies. We use cookies to provide you with a great experience and to help our website run effectively.</p> 3483 3484 </div> 3485 <div class="banner-close"> 3486 <button class="button site-style" aria-label="Close cookie banner" data-sv-close-banner> 3487 Accept 3488 </button> 3489 </div> 3490 </div> 3491</dialog> 3492
3493<script> 3494 require(['sv_clientLib'], function (clientLib) { 3495 var root = document.querySelector('[data-guid="ec572fbe-7661-4392-b125-05eac83af862"]') 3496 var bannerSeen = clientLib.getCookie('cookie-banner-seen'); 3497 3498 if (bannerSeen !== "true") { 3499 root.classList.remove('hide') 3500 root.setAttribute('open', true) 3501 3502 setTimeout(function() { 3503 root.classList.remove('dismissed') 3504 }, 500); 3505 } 3506 3507 root.querySelector('[data-sv-close-banner]').addEventListener('click', function() { 3508 root.classList.add('dismissed'); 3509 root.removeAttribute('open') 3510 3511 setTimeout(function() { 3512 root.classList.add('hide'); 3513 }, 500); 3514 3515 clientLib.setCookie({ 3516 name : 'cookie-banner-seen', 3517 value : 'true', 3518 path : '/', 3519 'max-age' : 1438560*60 // 999 days 3520 }); 3521 }); 3522 }); 3523</script>
3523</div> 3524 </div> 3525</footer> 3526 3527
3528<script> 3529 require(["plugins_common_custom_lazyload"], function(lazyload) { 3530 const root = document.querySelector('[data-guid="0312dc0c-9efe-4e0f-aad4-2773e3dd00a6"]'); 3531 const backToTop = root.querySelector('[data-back-to-top]'); 3532 3533 lazyload.lazy(root); 3534 3535 backToTop.addEventListener("click",()=>{ 3536 window.scrollTo({top: 0, behavior: 'smooth'}); 3537 }) 3538 }); 3539</script>
3539 3540 3541</div> 3542 </div> 3543</div> 3544<div id="gallery-portal" data-gallery-portal></div> 3545<div id="quickview-detail" data-quickview-detail></div></div> 3546 <!-- footer css bundles --> 3547 3548 <!-- footer js bundles --> 3549
3549<script src="/includes/public/managed/v_c8155e17_92035868/core/plugins/core/public/js/loginCheck.js"></script>
3549 3550
3550<script src="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/js/shared_footer.js" defer></script>
3550 3551
3551<script src="/includes/public/managed/v_c8155e17_92035868/core/plugins/common/virtuals/js/custom_forms.js" defer></script>
3551 3552 3553
3553<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.visitlivco.com/#organization","name":"Livingston County Economic Development","url":"https://www.visitlivco.com/","telephone":"585-243-7124","address":{"@type":"PostalAddress","streetAddress":"6 Court St., Room 306","addressLocality":"Geneseo","addressRegion":"New York","postalCode":"14454"}},{"@type":"WebSite","@id":"https://www.visitlivco.com/#website","url":"https://www.visitlivco.com/","name":"Livingston County Economic Development","publisher":{"@id":"https://www.visitlivco.com/#organization"},"potentialAction":{"@type":"SearchAction","target":"https://www.visitlivco.com/search/?q={search_term_string}","query-input":"required name=search_term_string"}},{"@type":"ItemList","@id":"https://www.visitlivco.com/restaurants/bakeries-coffee-shops/63ffe32ed27d4f6cbbd8c44b/#localbusinessList","description":"Browse local business listings.","itemListElement":[]},{"@type":"CollectionPage","@id":"https://www.visitlivco.com/restaurants/bakeries-coffee-shops/#collectionpage","url":"https://www.visitlivco.com/restaurants/bakeries-coffee-shops/","isPartOf":{"@id":"https://www.visitlivco.com/#website"},"breadcrumb":{"@type":"BreadcrumbList","name":"Breadcrumbs","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.visitlivco.com/"},{"@type":"ListItem","position":2,"name":"Restaurants","item":"https://www.visitlivco.com/restaurants"},{"@type":"ListItem","position":3,"name":"Bakeries Coffee Shops","item":"https://www.visitlivco.com/restaurants/bakeries-coffee-shops/"}]},"mainEntity":[{"@id":"https://www.visitlivco.com/restaurants/bakeries-coffee-shops/63ffe32ed27d4f6cbbd8c44b/#localbusinessList"}]}]}</script>
3553 3554 <!-- bottomBody --> 3555 3556
3556<script data-id="site_global_footer"> 3557 require(["sv_clientLib", "sv_load!plugins_dynamic_content"], function(clientLib) { 3558 clientLib._initLazy(); 3559 }); 3560 </script>
3560 3561 3562 �� </body> 3563</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.