PageSourceSearch

https://keukaspringvineyards.com/product/ksv-virtual-gift-card/

html keukaspringvineyards.com collected 2026-10-10 00:42:57 UTC 89,064 bytes, 1,413 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US" prefix="og: https://ogp.me/ns#">
3<head>
4	<!-- Google Tag Manager -->
5<script>
vendor: 327 bytes, lines 5-9
5(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
6new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
7j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
8'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
9})(window,document,'script','dataLayer','
9GTM-5KLBKRLJ
vendor: 3 bytes, line 9
9');
9</script>
9
10<!-- End Google Tag Manager -->
11 <!-- Google Tag Manager --> 
11<script>
vendor: 327 bytes, line 11
11(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','
11GTM-TXPXJK2
vendor: 3 bytes, line 11
11');
11</script>
11 <!-- End Google Tag Manager --> 
12 <meta name="facebook-domain-verification" content="kagmmbo4zfjtlic5q2axnorct5ssjy" />
13 
13<script src="https://cdn.userway.org/widget.js" data-account="wHjdXjOvMv"></script>
13
14<meta charset="UTF-8" />
15<script>
16var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),document.addEventListener("gform/theme/scripts_loaded",function(){gform.themeScriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>"function"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn("The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1."),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener("gform_main_scripts_loaded",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener("gform/theme/scripts_loaded",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener("DOMContentLoaded",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook("action",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook("filter",o,r,e,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,r){gform.removeHook("action",o,r)},removeFilter:function(o,r,e){gform.removeHook("filter",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+"_"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==r?t.apply(null,e):e[0]=t.apply(null,e)})),"filter"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});
17</script>
17
18
19<meta name='viewport' content='width=device-width, initial-scale=1.0' />
20<meta http-equiv='X-UA-Compatible' content='IE=edge' />
21<link rel="profile" href="https://gmpg.org/xfn/11" />
22<meta name="dlm-version" content="5.2.2">
23<!-- Search Engine Optimization by Rank Math - https://rankmath.com/ -->
24<title>Product - Keuka Spring Vineyards</title>
25<meta name="robots" content="index, follow, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/>
26<meta property="og:locale" content="en_US" />
27<meta property="og:type" content="article" />
28<meta property="og:title" content="Product - Keuka Spring Vineyards" />
29<meta property="og:site_name" content="Keuka Spring Vineyards" />
30<meta property="og:updated_time" content="2026-01-09T13:35:38-05:00" />
31<meta property="article:published_time" content="2023-01-09T23:43:48-05:00" />
32<meta property="article:modified_time" content="2026-01-09T13:35:38-05:00" />
33<meta name="twitter:card" content="summary_large_image" />
34<meta name="twitter:title" content="Product - Keuka Spring Vineyards" />
35<meta name="twitter:label1" content="Time to read" />
36<meta name="twitter:data1" content="Less than a minute" />
37<script type="application/ld+json" class="rank-math-schema">{"@context":"https://schema.org","@graph":[{"@type":["Person","Organization"],"@id":"https://keukaspringvineyards.com/#person","name":"Keuka Spring Vineyards","logo":{"@type":"ImageObject","@id":"https://keukaspringvineyards.com/#logo","url":"https://keukaspringvineyards.com/wp-content/uploads/2025/01/logo-150x150.png","contentUrl":"https://keukaspringvineyards.com/wp-content/uploads/2025/01/logo-150x150.png","caption":"Keuka Spring Vineyards","inLanguage":"en-US"},"image":{"@type":"ImageObject","@id":"https://keukaspringvineyards.com/#logo","url":"https://keukaspringvineyards.com/wp-content/uploads/2025/01/logo-150x150.png","contentUrl":"https://keukaspringvineyards.com/wp-content/uploads/2025/01/logo-150x150.png","caption":"Keuka Spring Vineyards","inLanguage":"en-US"}},{"@type":"WebSite","@id":"https://keukaspringvineyards.com/#website","url":"https://keukaspringvineyards.com","name":"Keuka Spring Vineyards","publisher":{"@id":"https://keukaspringvineyards.com/#person"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"#webpage","url":"","name":"Product - Keuka Spring Vineyards","datePublished":"2023-01-09T23:43:48-05:00","dateModified":"2026-01-09T13:35:38-05:00","isPartOf":{"@id":"https://keukaspringvineyards.com/#website"},"inLanguage":"en-US"},{"@type":"Person","@id":"https://keukaspringvineyards.com/author/lauren/","name":"Lauren Binnert","url":"https://keukaspringvineyards.com/author/lauren/","image":{"@type":"ImageObject","@id":"https://secure.gravatar.com/avatar/84af6a74e0bff602ca01cb7c2cea9e48615cbde26682cb74542aaa4987d62ca0?s=96&amp;d=mm&amp;r=g","url":"https://secure.gravatar.com/avatar/84af6a74e0bff602ca01cb7c2cea9e48615cbde26682cb74542aaa4987d62ca0?s=96&amp;d=mm&amp;r=g","caption":"Lauren Binnert","inLanguage":"en-US"}},{"@type":"Article","headline":"Product - Keuka Spring Vineyards","datePublished":"2023-01-09T23:43:48-05:00","dateModified":"2026-01-09T13:35:38-05:00","author":{"@id":"https://keukaspringvineyards.com/author/lauren/","name":"Lauren Binnert"},"publisher":{"@id":"https://keukaspringvineyards.com/#person"},"name":"Product - Keuka Spring Vineyards","@id":"#richSnippet","isPartOf":{"@id":"#webpage"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"#webpage"}}]}</script>
37
38<!-- /Rank Math WordPress SEO plugin -->
39
40<link rel='dns-prefetch' href='//cdn.commerce7.com' />
41<link rel='dns-prefetch' href='//cdnjs.cloudflare.com' />
42<link rel="alternate" type="application/rss+xml" title="Keuka Spring Vineyards &raquo; Feed" href="https://keukaspringvineyards.com/feed/" />
43<link rel="alternate" type="application/rss+xml" title="Keuka Spring Vineyards &raquo; Comments Feed" href="https://keukaspringvineyards.com/comments/feed/" />
44<link rel="alternate" type="text/calendar" title="Keuka Spring Vineyards &raquo; iCal Feed" href="https://keukaspringvineyards.com/all-events/?ical=1" />
45<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://keukaspringvineyards.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fkeukaspringvineyards.com%2Fproduct%2F" />
46<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://keukaspringvineyards.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fkeukaspringvineyards.com%2Fproduct%2F&#038;format=xml" />
47<link rel="preload" href="https://keukaspringvineyards.com/wp-content/plugins/bb-plugin/fonts/fontawesome/5.15.4/webfonts/fa-solid-900.woff2" as="font" type="font/woff2" crossorigin="anonymous">
48<link rel="preload" href="https://keukaspringvineyards.com/wp-content/plugins/bb-plugin/fonts/fontawesome/5.15.4/webfonts/fa-regular-400.woff2" as="font" type="font/woff2" crossorigin="anonymous">
49<link rel="preload" href="https://keukaspringvineyards.com/wp-content/plugins/bb-plugin/fonts/fontawesome/5.15.4/webfonts/fa-brands-400.woff2" as="font" type="font/woff2" crossorigin="anonymous">
50<style id='wp-img-auto-sizes-contain-inline-css'>
51img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
52/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
53</style>
54<link rel='stylesheet' id='tribe-events-pro-mini-calendar-block-styles-css' href='https://keukaspringvineyards.com/wp-content/plugins/events-calendar-pro/build/css/tribe-events-pro-mini-calendar-block.css?ver=7.7.14' media='all' />
55<style id='wp-emoji-styles-inline-css'>
56
57	img.wp-smiley, img.emoji {
58		display: inline !important;
59		border: none !important;
60		box-shadow: none !important;
61		height: 1em !important;
62		width: 1em !important;
63		margin: 0 0.07em !important;
64		vertical-align: -0.1em !important;
65		background: none !important;
66		padding: 0 !important;
67	}
68/*# sourceURL=wp-emoji-styles-inline-css */
69</style>
70<link rel='stylesheet' id='wp-block-library-css' href='https://keukaspringvineyards.com/wp-includes/css/dist/block-library/style.min.css?ver=6.9.10' media='all' />
71
72<style id='classic-theme-styles-inline-css'>
73/*! This file is auto-generated */
74.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
75/*# sourceURL=/wp-includes/css/classic-themes.min.css */
76</style>
77<style id='global-styles-inline-css'>
78:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--fl-heading-text: #101820;--wp--preset--color--fl-body-bg: #ffffff;--wp--preset--color--fl-body-text: #101820;--wp--preset--color--fl-accent: #b5a369;--wp--preset--color--fl-accent-hover: #101820;--wp--preset--color--fl-topbar-bg: #ffffff;--wp--preset--color--fl-topbar-text: #757575;--wp--preset--color--fl-topbar-link: #2b7bb9;--wp--preset--color--fl-topbar-hover: #2b7bb9;--wp--preset--color--fl-header-bg: #ffffff;--wp--preset--color--fl-header-text: #757575;--wp--preset--color--fl-header-link: #757575;--wp--preset--color--fl-header-hover: #2b7bb9;--wp--preset--color--fl-nav-bg: #ffffff;--wp--preset--color--fl-nav-link: #757575;--wp--preset--color--fl-nav-hover: #2b7bb9;--wp--preset--color--fl-content-bg: #ffffff;--wp--preset--color--fl-footer-widgets-bg: #ffffff;--wp--preset--color--fl-footer-widgets-text: #757575;--wp--preset--color--fl-footer-widgets-link: #2b7bb9;--wp--preset--color--fl-footer-widgets-hover: #2b7bb9;--wp--preset--color--fl-footer-bg: #ffffff;--wp--preset--color--fl-footer-text: #757575;--wp--preset--color--fl-footer-link: #2b7bb9;--wp--preset--color--fl-footer-hover: #2b7bb9;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
780) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
78.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
79/*# sourceURL=global-styles-inline-css */
80</style>
81
82<link rel='stylesheet' id='fl-builder-layout-30-css' href='https://keukaspringvineyards.com/wp-content/uploads/bb-plugin/cache/30-layout.css?ver=cf55ce6313ffdbcad632665f93a9f948' media='all' />
83<link rel='stylesheet' id='c7css-css' href='https://cdn.commerce7.com/v2/commerce7.css' media='all' />
84<link rel='stylesheet' id='font-awesome-5-css' href='https://keukaspringvineyards.com/wp-content/plugins/bb-plugin/fonts/fontawesome/5.15.4/css/all.min.css?ver=2.10.2.3' media='all' />
85<link rel='stylesheet' id='uabb-animate-css' href='https://keukaspringvineyards.com/wp-content/plugins/bb-ultimate-addon/modules/info-list/css/animate.css' media='all' />
86<link rel='stylesheet' id='ultimate-icons-css' href='https://keukaspringvineyards.com/wp-content/uploads/bb-plugin/icons/ultimate-icons/style.css?ver=2.10.2.3' media='all' />
87<link rel='stylesheet' id='fl-builder-layout-bundle-6574e367a3192d0c5ac98cd3bd586f4a-css' href='https://keukaspringvineyards.com/wp-content/uploads/bb-plugin/cache/6574e367a3192d0c5ac98cd3bd586f4a-layout-bundle.css?ver=2.10.2.3-1.5.3.2' media='all' />
88<link rel='stylesheet' id='fontawesome5-css' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css?ver=6.9.10' media='all' />
89<link rel='stylesheet' id='jquery-magnificpopup-css' href='https://keukaspringvineyards.com/wp-content/plugins/bb-plugin/css/jquery.magnificpopup.min.css?ver=2.10.2.3' media='all' />
90<link rel='stylesheet' id='base-css' href='https://keukaspringvineyards.com/wp-content/themes/bb-theme/css/base.min.css?ver=1.7.19.2' media='all' />
91<link rel='stylesheet' id='fl-automator-skin-css' href='https://keukaspringvineyards.com/wp-content/uploads/bb-theme/skin-6a5a5f98c0101.css?ver=1.7.19.2' media='all' />
92<link rel='stylesheet' id='fl-child-theme-css' href='https://keukaspringvineyards.com/wp-content/themes/bb-theme-child/style.css?ver=6.9.10' media='all' />
93<link rel='stylesheet' id='pp-animate-css' href='https://keukaspringvineyards.com/wp-content/plugins/bbpowerpack/assets/css/animate.min.css?ver=3.5.1' media='all' />
94<script src="https://keukaspringvineyards.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script>
vendor: 1 bytes, line 94
94
95<script src="https://keukaspringvineyards.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script>
vendor: 1 bytes, line 95
95
96<script id="breeze-prefetch-js-extra">
97var breeze_prefetch = {"local_url":"https://keukaspringvineyards.com","ignore_remote_prefetch":"1","ignore_list":["wp-admin","wp-login.php"]};
98//# sourceURL=breeze-prefetch-js-extra
99</script>
vendor: 1 bytes, line 99
99
100<script src="https://keukaspringvineyards.com/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js?ver=2.5.9" id="breeze-prefetch-js"></script>
100
101<link rel="https://api.w.org/" href="https://keukaspringvineyards.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://keukaspringvineyards.com/wp-json/wp/v2/pages/30" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://keukaspringvineyards.com/xmlrpc.php?rsd" />
102<meta name="generator" content="WordPress 6.9.10" />
103<link rel='shortlink' href='https://keukaspringvineyards.com/?p=30' />
104		
104<script>
105			var bb_powerpack = {
106				version: '2.42.3',
107				getAjaxUrl: function() { return atob( 'aHR0cHM6Ly9rZXVrYXNwcmluZ3ZpbmV5YXJkcy5jb20vd3AtYWRtaW4vYWRtaW4tYWpheC5waHA=' ); },
108				callback: function() {},
109				mapMarkerData: {},
110				post_id: '30',
111				search_term: '',
112				current_page: 'https://keukaspringvineyards.com/product/ksv-virtual-gift-card/',
113				conditionals: {
114					is_front_page: false,
115					is_home: false,
116					is_archive: false,
117					current_post_type: '',
118					is_tax: false,
119										is_author: false,
120					current_author: false,
121					is_search: false,
122									}
123			};
124					</script>
124
125		
126<!-- Known Agents (https://knownagents.com/) -->
127
128<meta name="tec-api-version" content="v1"><meta name="tec-api-origin" content="https://keukaspringvineyards.com"><link rel="alternate" href="https://keukaspringvineyards.com/wp-json/tribe/events/v1/" /><link rel="icon" href="https://keukaspringvineyards.com/wp-content/uploads/2025/04/cropped-Keuka-Spring-logo-32x32.png" sizes="32x32" />
129<link rel="icon" href="https://keukaspringvineyards.com/wp-content/uploads/2025/04/cropped-Keuka-Spring-logo-192x192.png" sizes="192x192" />
130<link rel="apple-touch-icon" href="https://keukaspringvineyards.com/wp-content/uploads/2025/04/cropped-Keuka-Spring-logo-180x180.png" />
131<meta name="msapplication-TileImage" content="https://keukaspringvineyards.com/wp-content/uploads/2025/04/cropped-Keuka-Spring-logo-270x270.png" />
132		<style id="wp-custom-css">
133			@media screen and (max-width: 768px) {
134	header.fl-theme-builder-header-shrink .login-icon {
135		margin-top: -4px;
136	}
137}
138
139/* ICONS FOR SECTION HEADERS (Larger with spacing) */
140
141/* Tasting Notes */
142.c7-tasting-notes-box .c7-section-header strong::before {
143  content: "";
144  display: inline-block;
145  background-image: url('https://keukaspringvineyards.com/wp-content/uploads/2025/07/Tasting_Notes_Gold.svg');
146  background-size: contain;
147  background-repeat: no-repeat;
148  width: 45px;
149  height: 45px;
150  margin-right: 10px;
151  margin-bottom: 8px;
152  vertical-align: middle;
153}
154
155/* Food Pairing */
156.c7-food-pairing-box .c7-section-header strong::before {
157  content: "";
158  display: inline-block;
159  background-image: url('https://keukaspringvineyards.com/wp-content/uploads/2025/07/Food_Pairings_Gold.svg');
160  background-size: contain;
161  background-repeat: no-repeat;
162  width: 45px;
163  height: 45px;
164  margin-right: 10px;
165  margin-bottom: 8px;
166  vertical-align: middle;
167}
168
169/* Accolades */
170.c7-accolades-wrapper strong::before {
171  content: "";
172  display: inline-block;
173  background-image: url('https://keukaspringvineyards.com/wp-content/uploads/2025/07/Accolades_Gold.svg');
174  background-size: contain;
175  background-repeat: no-repeat;
176  width: 45px;
177  height: 45px;
178  margin-right: 10px;
179  margin-bottom: 8px;
180  vertical-align: middle;
181}
182
183/* Technical Specifications */
184.c7-tech-specs > strong::before {
185  content: "";
186  display: inline-block;
187  background-image: url('https://keukaspringvineyards.com/wp-content/uploads/2025/08/Technical_Data_Gold.svg');
188  background-size: contain;
189  background-repeat: no-repeat;
190  width: 45px;
191  height: 45px;
192  margin-right: 10px;
193  margin-bottom: 8px;
194  vertical-align: middle;
195}
196
197/* Keep login and cart inline */
198.c7-header-icons {
199  display: flex;
200  align-items: center;
201  gap: 8px;
202}
203
204/* Remove default stacking behavior */
205#c7-account,
206#c7-cart {
207  display: flex;
208  align-items: center;
209}
210
211/* Replace “Log in” text with Font Awesome outline icon */
212#c7-account .c7-user-nav__account__login {
213  font-size: 0; /* Hides the "Log in" text */
214  display: flex;
215  align-items: center;
216}
217
218#c7-account .c7-user-nav__account__login::before {
219  content: "\f007"; /* Outline user icon */
220  font-family: "Font Awesome 5 Free";
221  font-weight: 100; /* Regular weight = outline icon */
222  font-style: normal;
223  font-size: 18px;
224  color: white;
225  display: inline-block;
226}
227
228#c7-account .c7-user-nav__account__login::before {
229  position: relative;
230  top: 2px; /* Adjust as needed: 1px–3px usually does the trick */
231}
232
233/* Username should be white */
234#c7-account .c7-user-nav__account__name {
235  color: white !important;
236  display: flex;
237  align-items: center;
238}
239
240/* Dropdown text and background styling */
241#c7-account .c7-user-nav__account__dropdown,
242#c7-account .c7-user-nav__account__dropdown * {
243  color: white !important;
244  background-color: #000 !important;
245}
246
247/* Make arrow and logout icon white */
248#c7-account .c7-user-nav__account svg {
249  stroke: white !important;
250}
251
252/* --- Target all Commerce7 account UI in secondary header --- */
253.secondary-header #c7-account,
254.secondary-header #c7-account * {
255  color: black !important;
256  fill: black !important;
257  stroke: black !important;
258}
259
260/* Specifically make the Font Awesome icon black */
261.secondary-header #c7-account .c7-user-nav__account__login::before {
262  color: black !important;
263}
264
265/* Target the username text after login */
266.secondary-header #c7-account .c7-user-nav__account__name {
267  color: black !important;
268}
269
270/* Target dropdown links & email inside account dropdown */
271.secondary-header #c7-account .c7-user-nav__account__dropdown,
272.secondary-header #c7-account .c7-user-nav__account__dropdown * {
273  color: black !important;
274  background-color: white !important; /* Optional: white dropdown background */
275}
276
277/* Ensure SVGs like the chevron and logout arrow also turn black */
278.secondary-header #c7-account svg {
279  stroke: black !important;
280}
281
282/* When the sticky header shrinks, make the C7 profile elements black */
283.fl-theme-builder-header-shrink #c7-account,
284.fl-theme-builder-header-shrink #c7-account * {
285  color: black !important;
286  fill: black !important;
287  stroke: black !important;
288}
289
290/* Specific fix for Font Awesome icon if you're using ::before content */
291.fl-theme-builder-header-shrink #c7-account .c7-user-nav__account__login::before {
292  color: black !important;
293}
294
295/* Fix username text color */
296.fl-theme-builder-header-shrink #c7-account .c7-user-nav__account__name {
297  color: black !important;
298}
299
300/* Fix dropdown menu and text */
301.fl-theme-builder-header-shrink #c7-account .c7-user-nav__account__dropdown,
302.fl-theme-builder-header-shrink #c7-account .c7-user-nav__account__dropdown * {
303  color: black !important;
304  background-color: white !important;
305}
306
307/* Make the dropdown chevron and logout arrow black */
308.fl-theme-builder-header-shrink #c7-account svg {
309  stroke: black !important;
310}
311
312/* Shop */
313.bundles .c7-product{
314	margin: 20px;
315	background: none;
316}
317.bundles .custom-teaser-product-title a {
318	  font-size: 20px!important;
319    font-weight: 500;
320    margin-bottom: 0.25rem;
321	  color: #000000!important;
322    font-family: var(--c7-heading-font-family);
323    line-height: 1.4;
324	  letter-spacing: 0.46em !important;
325}
326.bundles .c7-product__subtitle {
327	font-size: 18px;
328    font-weight: normal;
329    color: #B5A369;
330    text-transform: uppercase;
331    white-space: nowrap;
332	  letter-spacing : 0.46em;
333    margin-bottom: 32px;
334}
335.bundles .c7-product > div {
336	gap: 10px;
337}
338@media (max-width: 768px) {
339  .bundles .c7-product > div {
340     flex-direction: column-reverse !important;
341   align-items: flex-start !important;
342      gap: 1.5rem;
343  }
344  .c7-product-collection .c7-product__image {
345    max-width: 100%;
346    margin-bottom: 1rem;
347  }
348}
349@media screen and (min-width: 769px) {
350    .bundles .c7-product-collection__product-list, .bundles .c7-product-allocation__product-list {
351        grid-template-columns: 1fr 1fr!important;
352        column-gap: 60px;
353        row-gap: 80px;
354    }
355	.bundles .c7-product-collection__product-list {
356		column-gap: 40px;
357		row-gap: 40px;
358	}
359	.c7-product-collection .c7-product__image {
360		text-align: center;
361		margin-right: 0;
362	}
363}
364
365/* AGR */
366.agr-red .fl-col-content, .agr-white .fl-col-content, .agr-duo .fl-col-content {
367	position: relative;
368	transition: 1s all ease-in;
369}
370@media (max-width: 768px){
371  .agr-circle{
372    top: 30% !important;
373  }
374}
375.agr-circle {
376	position: absolute!important;
377	top: 40%;
378	left: 50%;
379	transform: translate(-56%, -50%);
380	transition: 1s all ease-in;
381}
382.agr-circle.agr-circle-hm {
383	top: 30%;
384}
385.agr-circle .fl-photo-content {
386  animation-name: circularRotate; 
387  animation-duration: 60s; 
388  animation-iteration-count: infinite; 
389  animation-timing-function: linear; 
390}
391.agr-circle {
392	display: none;
393}
394.agr-circle.agr-circle-hm {
395	display: block;
396}
397.agr-red .fl-col-content:hover .agr-circle, .agr-white .fl-col-content:hover .agr-circle, .agr-duo .fl-col-content:hover .agr-circle {
398	display: block;
399}
400.agr-subscribe .c7-form {
401	max-width: 100%;
402} 
403.subscription-icons-wrapper .fl-col-content {
404	display: flex;
405	flex-direction: row;
406	justify-content: center;
407	align-items: center;
408}
409.agr-atc .c7-buy-product {
410	display: flex;
411	flex-direction: row;
412	justify-content: center;
413	align-items: center;
414}
415.agr-atc .c7-buy-product .c7-price--original {
416	color: #DEDEDE!important;
417}
418.agr-atc .c7-buy-product .c7-price--discounted, .agr-atc .c7-buy-product .c7-product__add-to-cart__price__variant, .agr-atc .c7-buy-product .c7-product__add-to-cart__price {
419	color: #B5A369!important;
420	font-weight: 700;
421}
422@media screen and (max-width:700px) {
423	.subscription-icons-wrapper .fl-col-content {
424		flex-direction: column;
425	}
426}
427
428/* Keyframes */
429@keyframes circularRotate {
430  0% {
431    transform: rotate(0deg); 
432  }
433  100% {
434    transform: rotate(360deg);
435  }
436}
437
438.c7-product-collection {
439    min-height: 10vh;
440}
441/* =========================================================
442   PowerPack "Technical Specifications" table - Mobile fix
443   Makes the left-column labels bold and adds spacing/dividers
444   Targets both table-based and div-based PowerPack output
445   ========================================================= */
446
447@media screen and (max-width: 768px) {
448
449  /* Label cell (left column) */
450  .specs-table td:first-child,
451  .specs-table .pp-table-cell:first-child {
452    font-weight: 700 !important;
453    display: block !important;
454    margin: 0 0 2px 0 !important;
455  }
456
457  /* Value cell (right column) */
458  .specs-table td:last-child,
459  .specs-table .pp-table-cell:last-child {
460    display: block !important;
461    margin: 0 0 14px 0 !important;
462    padding: 0 0 14px 0 !important;
463    border-bottom: 1px solid rgba(255,255,255,0.18) !important;
464  }
465
466  /* Remove divider after final row */
467  .specs-table tr:last-child td:last-child,
468  .specs-table .pp-table-row:last-child .pp-table-cell:last-child {
469    border-bottom: 0 !important;
470    margin-bottom: 0 !important;
471    padding-bottom: 0 !important;
472  }
473}
474/* ------------------------------------------------------------
475   BLUFFERS: Tailgate + Work Bee (scoped only to these modules)
476   Uses real C7 structure found in inspector:
477   - .c7-product__add-to-cart__price (price row)
478   - .c7-product__add-to-cart__form (qty + button row)
479------------------------------------------------------------ */
480
481/* Center the whole module */
482.tailgate-red-fix .c7-buy-product,
483.work-bee-fix .c7-buy-product {
484  width: 100%;
485  text-align: center;
486}
487
488/* PRICE ROW: keep on one line, centered, with controlled spacing */
489.tailgate-red-fix .c7-product__add-to-cart__price,
490.work-bee-fix .c7-product__add-to-cart__price {
491  display: inline-flex !important;
492  justify-content: center !important;
493  align-items: baseline !important;
494  flex-wrap: nowrap !important;
495  white-space: nowrap !important;
496  width: auto !important;
497  gap: 0 !important;
498  margin-bottom: 14px !important;
499}
500
501/* Reset any default margins that cause weird gaps */
502.tailgate-red-fix .c7-product__add-to-cart__price > *,
503.work-bee-fix .c7-product__add-to-cart__price > * {
504  margin: 0 !important;
505  padding: 0 !important;
506}
507
508/* Spacing between original and discounted */
509.tailgate-red-fix .c7-price--original,
510.work-bee-fix .c7-price--original {
511  margin-right: 10px !important;
512}
513
514/* Spacing before "/ bottle (750mL)" */
515.tailgate-red-fix .c7-product__add-to-cart__price__variant,
516.work-bee-fix .c7-product__add-to-cart__price__variant {
517  margin-left: 8px !important;
518}
519
520/* Colors + weights (no white on gold) */
521.tailgate-red-fix .c7-price--discounted,
522.work-bee-fix .c7-price--discounted {
523  color: #1a1a1a !important;
524  font-weight: 700 !important;
525}
526
527.tailgate-red-fix .c7-price--original,
528.work-bee-fix .c7-price--original {
529  color: #3f3f3f !important;
530  font-weight: 600 !important;
531  opacity: 1 !important;
532}
533
534.tailgate-red-fix .c7-product__variant__price__title,
535.work-bee-fix .c7-product__variant__price__title {
536  color: #2b2b2b !important;
537  font-weight: 600 !important;
538}
539
540/* QTY + BUTTON ROW: force onto its own centered line */
541.tailgate-red-fix .c7-product__add-to-cart__form,
542.work-bee-fix .c7-product__add-to-cart__form {
543  display: flex !important;
544  justify-content: center !important;
545  align-items: center !important;
546  gap: 12px !important;
547  flex-wrap: nowrap !important;
548  width: auto !important;
549}
550
551/* Make sure the form row never gets pulled inline */
552.tailgate-red-fix form.c7-form,
553.work-bee-fix form.c7-form {
554  display: flex !important;
555  flex-direction: column !important;
556  align-items: center !important;
557}
558/* Force true centering by giving the rows full width */
559.tailgate-red-fix .c7-product__add-to-cart__price,
560.work-bee-fix .c7-product__add-to-cart__price,
561.tailgate-red-fix .c7-product__add-to-cart__form,
562.work-bee-fix .c7-product__add-to-cart__form {
563  width: 100% !important;
564  justify-content: center !important;
565}
566/* Remove any internal left/right padding affecting only these modules */
567.tailgate-red-fix,
568.work-bee-fix {
569  padding-left: 0 !important;
570  padding-right: 0 !important;
571}
572/* ------------------------------------------------------------
573   BLUFFERS: hard-center the Beaver Builder HTML module wrapper
574   and the C7 buy-product internals
575------------------------------------------------------------ */
576
577/* Center the actual Beaver Builder HTML module that contains the C7 embed */
578.fl-module-html.tailgate-red-fix,
579.fl-module-html.work-bee-fix {
580  width: 100% !important;
581  display: flex !important;
582  justify-content: center !important;
583}
584
585/* Make sure the embed itself is a centered column */
586.fl-module-html.tailgate-red-fix .c7-buy-product,
587.fl-module-html.work-bee-fix .c7-buy-product {
588  width: 100% !important;
589  display: flex !important;
590  flex-direction: column !important;
591  align-items: center !important;
592}
593
594/* Ensure the price line and form row are centered within the module width */
595.fl-module-html.tailgate-red-fix .c7-product__add-to-cart__price,
596.fl-module-html.work-bee-fix .c7-product__add-to-cart__price,
597.fl-module-html.tailgate-red-fix .c7-product__add-to-cart__form,
598.fl-module-html.work-bee-fix .c7-product__add-to-cart__form {
599  width: 100% !important;
600  display: flex !important;
601  justify-content: center !important;
602}
603
604  content: ", ";
605  white-space: pre;
606}
607
608.split-bg {
609  position: relative;
610  overflow: hidden;
611}
612
613/* AGR Duo background fix */
614/* AGR DUO split background */
615.agr-duo .fl-col-content{
616  background-image: linear-gradient(
617    to right,
618    #304e46 0%,
619    #304e46 50%,
620    #472827 50%,
621    #472827 100%
622  ) !important;
623  background-color: transparent !important;
624}
625/* Keep the product row above the photo row if they overlap */
626.agr-products-row{
627  position: relative;
628  z-index: 5;
629}
630
631.agr-below-photo-row{
632  position: relative;
633  z-index: 1;
634}
635/* DUO PRODUCT PAGES: adjust the circle position without breaking mobile */
636@media (min-width: 992px){
637  .agr-duo-product-hero .agr-circle.agr-circle-hm{
638    top: 22% !important;  /* tweak: 20% higher, 25% lower */
639  }
640}
641
642/* keep the existing mobile behavior you already like */
643@media (max-width: 768px){
644  .agr-duo-product-hero .agr-circle.agr-circle-hm{
645    top: 30% !important;
646  }
647}
648/* =========================================================
649   BLUFFERS STORY CARDS (OUTSIDE GRID)
650   Scope: only the row with class .team-wrapper
651   Requirements:
652   - All card images same height
653   - Crop from the BOTTOM (keep top visible)
654   - Button pinned to bottom of each card
655   ========================================================= */
656
657/* Make BB columns stretch so equal-height works */
658.team-wrapper .fl-col {
659  display: flex;
660}
661
662/* Each card becomes a flex column */
663.team-wrapper .fl-col-content.story-card {
664  display: flex;
665  flex-direction: column;
666  height: 100%;
667}
668
669/* Image wrapper: fixed height, crops overflow */
670.team-wrapper .story-card__img {
671  width: 100%;
672  height: 320px;          /* tweak if needed */
673  overflow: hidden;
674}
675
676/* Image: fill the wrapper, crop bottom (keep top) */
677.team-wrapper .story-card__img img {
678  width: 100%;
679  height: 100%;
680  object-fit: cover;
681  object-position: center top;  /* keeps top, crops bottom */
682  display: block;
683}
684
685/* Push the button area to the bottom of the card */
686.team-wrapper .fl-button-wrap {
687  margin-top: auto;
688}
689
690/* Control vertical gap between rows of cards (desktop) */
691@media (min-width: 769px) {
692  .team-wrapper .fl-col-content.story-card {
693    padding-bottom: 40px; /* adjust to match your left-right gutter feel */
694  }
695}
696
697
698/* =========================================================
699   BLUFFERS STORY POPUPS (MODAL)
700   Scope: only elements with your popup classes
701   Requirements:
702   - Keep popup image "naturally narrower" (not full modal width)
703   - Match the newspaper feel
704   - Titles bold + styled consistently
705   ========================================================= */
706
707/* Constrain the photo module so it doesn't go full width */
708.pop-up-story-photo {
709  max-width: 760px;       /* adjust to match the newspaper popup width */
710  margin-left: auto;
711  margin-right: auto;
712}
713
714/* Popup image: consistent height, crop bottom only (keep top) */
715.pop-up-story-photo img {
716  width: 100%;
717  height: 420px;          /* adjust to match newspaper popup */
718  object-fit: cover;
719  object-position: center top;  /* keeps top, crops bottom */
720  display: block;
721}
722
723/* Ensure wrappers don't create weird overflow behavior */
724.pop-up-story-photo,
725.pop-up-story-photo .fl-photo,
726.pop-up-story-photo .fl-photo-content {
727  overflow: hidden;
728}
729
730/* On mobile, let the image go natural height */
731@media (max-width: 768px) {
732  .pop-up-story-photo img {
733    height: auto;
734  }
735}
736
737/* Popup title styling to match the Banker story vibe */
738.pop-up-story-title,
739.pop-up-story-title * {
740  font-weight: 700 !important;
741  text-transform: uppercase;
742  letter-spacing: 0.08em;
743  line-height: 1.25;
744}
745/* Desktop only: make the "newspaper" modal larger + scrollable */
746@media (min-width: 769px) {
747
748  /* Theovs is the overlay wrapper Beaver Builder uses */
749  .newspaper-popup .fl-modal {
750    padding: 24px !important;
751  }
752
753  /* The white modal box */
754  .newspaper-popup .fl-modal-content {
755    width: 92vw !important;
756    max-width: 1200px !important;
757    max-height: 88vh !important;
758    overflow: auto !important; /* allows scrolling for tall images */
759  }
760
761  /* Make the image fill the modal width naturally */
762  .newspaper-popup img {
763    width: 100% !important;
764    height: auto !important;
765    max-width: 100% !important;
766    display: block !important;
767  }
768}
769  /* Make the background color stay offwhite on mobile */
770@media (max-width: 768px) {
771  .offwhite-mobile-fix,
772  .offwhite-mobile-fix .fl-col-content {
773    background-color: #f1f1ec !important;
774  }
775}
776/* Force equal visual footprint bluffers on homepage*/
777.bluffers-side-by-side .fl-photo-content {
778  height: 360px;          /* adjust as needed */
779  display: flex;
780  align-items: center;
781  justify-content: center;
782}
783
784.bluffers-side-by-side img {
785  max-height: 100%;
786  width: auto;
787  object-fit: contain;
788}
789.event-map .tribe-events-venue-map {
790	border: 1px solid #efefef;
791}
792#events .tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
793	padding: 0;
794}
795#events .tribe-events-calendar-list__event-featured-image {
796	height: 300px;
797	object-fit: cover;
798}
799.tribe-events-calendar-list__event-date-tag-weekday {
800	background: #b5a369;
801	border-radius: 2px 2px 0 0;
802}
803.tribe-events-calendar-list__event-date-tag-daynum {
804	background: #f2f2f2;
805}
806#events .tribe-events-header__title-text {
807/* 	display: none; */
808}
809.tribe-events-widget-countdown__event-title {
810	display: none;
811}
812.tribe-events-widget .tribe-events-widget-countdown__complete {
813	min-height: 0!important;
814}		</style>
815		</head>
816<body class="wp-singular page-template-default page page-id-30 wp-custom-logo wp-theme-bb-theme wp-child-theme-bb-theme-child fl-builder fl-builder
816-2-10-2-3 fl-themer-1-5-3-2 fl-theme-1-7-19-2 fl-no-js c7wp tribe-no-js fl-theme-builder-part fl-theme-builder-part-modal fl-theme-builder-header fl-theme-builder-header-header-copy fl-theme-builder-footer fl-theme-builder-footer-footer fl-framework-base fl-preset-default fl-full-width fl-scroll-to-top fl-search-active" itemscope="itemscope" itemtype="https://schema.org/WebPage">
817	<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 817-818
817
818<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
818GTM-5KLBKRLJ
vendor: 83 bytes, lines 818-819
818"
819height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
820<!-- End Google Tag Manager (noscript) -->
821 <!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, line 821
821 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
821GTM-TXPXJK2
vendor: 83 bytes, line 821
821" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 
821<!-- End Google Tag Manager (noscript) --> 
822<a aria-label="Skip to content" class="fl-screen-reader-text" href="#fl-main-content">Skip to content</a><div class="fl-page">
823	<div class="fl-builder-content fl-builder-content-3649 fl-builder-global-templates-locked" data-post-id="3649" data-type="part"><div class="fl-row fl-row-full-width fl-row-bg-color fl-node-i4hcnjl0173w fl-row-default-height fl-row-align-center" data-node="i4hcnjl0173w">
824	<div class="fl-row-content-wrap">
825		<div class="uabb-row-separator uabb-top-row-separator" >
826</div>
827						<div class="fl-row-content fl-row-fixed-width fl-node-content">
828		
829<div class="fl-col-group fl-node-m9n653a8lrus" data-node="m9n653a8lrus">
830			<div class="fl-col fl-node-n1zupq28yxgb fl-col-bg-color" data-node="n1zupq28yxgb">
831	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-f0dk8raxmj4w" data-node="f0dk8raxmj4w">
832	<h2 style="text-align: center;"><span style="color: #b5a369;">NEW YORK WINE CLASIC RESULTS ARE IN</span></h2>
833<h2 style="text-align: center;">1 Platinum. 12 Gold Medals. And Best Late Harvest Wine.</h2>
834<p style="text-align: center;"><a href="https://keukaspringvineyards.com/wine/?collection=New%20York%20Wine%20Classic%20Winners"><u>Purchase The Winning Wines --&gt;</u></a></p>
835<p style="text-align: center;"><a href="https://keukaspringvineyards.com/blog/2026-new-york-wine-classic-competition-results/"><span style="text-decoration: underline;">Learn About The Results --&gt;</span></a></p>
836</div>
837</div>
838</div>
839	</div>
840		</div>
841	</div>
842</div>
843</div><div class="uabb-js-breakpoint" style="display: none;"></div><header class="fl-builder-content fl-builder-content-1227 fl-builder-global-templates-locked" data-post-id="1227" data-type="header" data-sticky="1" data-sticky-on="all" data-sticky-breakpoint="medium" data-shrink="1" data-overlay="1" data-overlay-bg="transparent" data-shrink-image-height="50px" role="banner" itemscope="itemscope" itemtype="http://schema.org/WPHeader"><div class="fl-row fl-row-full-width fl-row-bg-color fl-node-5wtrm89n6loi fl-row-default-height fl-row-align-center secondary-header" data-node="5wtrm89n6loi">
844	<div class="fl-row-content-wrap">
845		<div class="uabb-row-separator uabb-top-row-separator" >
846</div>
847						<div class="fl-row-content fl-row-full-width fl-node-content">
848		
849<div class="fl-col-group fl-node-tyhvdz2mwp8f fl-col-group-equal-height fl-col-group-align-center fl-col-group-custom-width" data-node="tyhvdz2mwp8f">
850			<div class="fl-col fl-node-omxnv9g6ukqy fl-col-bg-color fl-col-small fl-col-small-custom-width header-logo-wrapper" data-node="omxnv9g6ukqy">
851	<div class="fl-col-content fl-node-content"><div role="figure" class="fl-module fl-module-photo fl-photo fl-photo-align-left fl-node-goyjcqmd0e3x logo-full" data-node="goyjcqmd0e3x" itemscope itemtype="https://schema.org/ImageObject">
852	<div class="fl-photo-content fl-photo-img-png">
853				<a href="https://keukaspringvineyards.com"  target="_self" itemprop="url">
854				<img loading="lazy" decoding="async" class="fl-photo-img wp-image-1232 size-full" src="https://keukaspringvineyards.com/wp-content/uploads/2025/06/FullLogo-2c-Stacked-475.png" alt="FullLogo-2c-Stacked-475" height="340" width="475" title="FullLogo-2c-Stacked-475"  data-no-lazy="1" itemprop="image" srcset="https://keukaspringvineyards.com/wp-content/uploads/2025/06/FullLogo-2c-Stacked-475.png 475w, https://keukaspringvineyards.com/wp-content/uploads/2025/06/FullLogo-2c-Stacked-475-300x215.png 300w" sizes="auto, (max-width: 475px) 100vw, 475px" />
855				</a>
856					</div>
857	</div>
858<div role="figure" class="fl-module fl-module-photo fl-photo fl-photo-align-left fl-node-iph4z2y7evgs logo-mark" data-node="iph4z2y7evgs" itemscope itemtype="https://schema.org/ImageObject">
859	<div class="fl-photo-content fl-photo-img-png">
860				<a href="https://keukaspringvineyards.com"  target="_self" itemprop="url">
861				<img loading="lazy" decoding="async" class="fl-photo-img wp-image-814 size-full" src="https://keukaspringvineyards.com/wp-content/uploads/2025/04/cropped-Keuka-Spring-logo.png" alt="https://keukaspringvineyards.com/wp-content/uploads/2025/04/cropped-Keuka-Spring-logo.png" height="512" width="512" title="cropped-Keuka-Spring-logo.png"  data-no-lazy="1" itemprop="image" srcset="https://keukaspringvineyards.com/wp-content/uploads/2025/04/cropped-Keuka-Spring-logo.png 512w, https://keukaspringvineyards.com/wp-content/uploads/2025/04/cropped-Keuka-Spring-logo-300x300.png 300w, https://keukaspringvineyards.com/wp-content/uploads/2025/04/cropped-Keuka-Spring-logo-150x150.png 150w, https://keukaspringvineyards.com/wp-content/uploads/2025/04/cropped-Keuka-Spring-logo-270x270.png 270w, https://keukaspringvineyards.com/wp-content/uploads/2025/04/cropped-Keuka-Spring-logo-192x192.png 192w, https://keukaspringvineyards.com/wp-content/uploads/2025/04/cropped-Keuka-Spring-logo-180x180.png 180w, https://keukaspringvineyards.com/wp-content/uploads/2025/04/cropped-Keuka-Spring-logo-32x32.png 32w" sizes="auto, (max-width: 512px) 100vw, 512px" />
862				</a>
863					</div>
864	</div>
865</div>
866</div>
867			<div class="fl-col fl-node-nyil7rxgpf4a fl-col-bg-color fl-col-small-custom-width header-menu-wrapper" data-node="nyil7rxgpf4a">
868	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-html fl-html fl-node-le4ujdwzkn7t" data-node="le4ujdwzkn7t">
869	<div class="secondary-header c7-header-icons">
870  <div id="c7-account"></div>
871  <div id="c7-cart"></div>
872</div></div>
873<div class="fl-module fl-module-pp-advanced-menu fl-node-wmsz7xp0favb" data-node="wmsz7xp0favb">
874	<div class="fl-module-content fl-node-content">
875					<div class="pp-advanced-menu-mobile">
876			<button class="pp-advanced-menu-mobile-toggle hamburger" tabindex="0" aria-label="Menu" aria-expanded="false">
877				<div class="pp-hamburger"><div class="pp-hamburger-box"><div class="pp-hamburger-inner"></div></div></div>			</button>
878			</div>
879			<div id="pp-menu-wmsz7xp0favb"><div class="pp-advanced-menu pp-advanced-menu-accordion-collapse off-canvas pp-menu-position-below">
880	<div class="pp-clear"></div>
881	<nav class="pp-menu-nav pp-off-canvas-menu pp-menu-right" aria-label="Menu" itemscope="itemscope" itemtype="https://schema.org/SiteNavigationElement">
882		<a href="javascript:void(0)" class="pp-menu-close-btn" aria-label="Close the menu" role="button">×</a>
883		<ul id="menu-header-menu" class="menu pp-advanced-menu-horizontal pp-toggle-arrows"><li id="menu-item-1070" class="main-menu menu-item menu-item-type-post_type menu-item-object-page menu-item-home"><a href="https://keukaspringvineyards.com/"><span class="menu-item-text">Home</span></a></li><li id="menu-item-1829" class="main-menu menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children pp-has-submenu"><div class="pp-has-submenu-container"><a><span class="menu-item-text">About</span></a><button type="button" class="pp-menu-toggle" aria-label="Toggle submenu for About" aria-haspopup="true" aria-expanded="false" aria-controls="sub-menu
883-1829"></button></div><ul id="sub-menu-1829" class="sub-menu">	<li id="menu-item-1344" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://keukaspringvineyards.com/about-us/"><span class="menu-item-text">About Us</span></a></li>	<li id="menu-item-1076" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://keukaspringvineyards.com/our-heritage/"><span class="menu-item-text">Our Heritage</span></a></li>	<li id="menu-item-1137" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://keukaspringvineyards.com/about-us/our-team/"><span class="menu-item-text">Our Team</span></a></li>	<li id="menu-item-3619" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://keukaspringvineyards.com/bluffers/"><span class="menu-item-text">The Bluffers</span></a></li></ul></li><li id="menu-item-1066" class="main-menu menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children pp-has-submenu"><div class="pp-has-submenu-container"><a><span class="menu-item-text">Shop</span></a><button type="button" class="pp-menu-toggle" aria-label="Toggle submenu for Shop" aria-haspopup="true" aria-expanded="false" aria-controls="sub-menu-1066"></button></div><ul id="sub-menu-1066" class="sub-menu">	<li id="menu-item-2722" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/wine/"><span class="menu-item-text">Heritage Wines</span></a></li>	<li id="menu-item-2719" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://keukaspringvineyards.com/all-glasses-raised/"><span class="menu-item-text">Low Alcohol</span></a></li>	<li id="menu-item-2381" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item"><a href="https://keukaspringvineyards.com/product/ksv-virtual-gift-card/" aria-current="page"><span class="menu-item-text">Gift Cards</span></a></li></ul></li><li id="menu-item-1883" class="main-menu menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children pp-has-submenu"><div class="pp-has-submenu-container"><a><span class="menu-item-text">Visit Us</span></a><button type="button" class="pp-menu-toggle" aria-label="Toggle submenu for Visit Us" aria-haspopup="true" aria-expanded="false" aria-controls="sub-menu-1883"></button></div><ul id="sub-menu-1883" class="sub-menu">	<li id="menu-item-1822" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://keukaspringvineyards.com/visit-us/"><span class="menu-item-text">Penn Yan</span></a></li>	<li id="menu-item-2852" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://keukaspringvineyards.com/visit-us/visit-saratoga/"><span class="menu-item-text">Saratoga Springs</span></a></li></ul></li><li id="menu-item-2919" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children pp-has-submenu"><div class="pp-has-submenu-container"><a><span class="menu-item-text">Our Events</span></a><button type="button" class="pp-menu-toggle" aria-label="Toggle submenu for Our Events" aria-haspopup="true" aria-expanded="false" aria-controls="sub-menu-2919"></button></div><ul id="sub-menu-2919" class="sub-menu">	<li id="menu-item-3609" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="/events/"><span class="menu-item-text">All Events</span></a></li>	<li id="menu-item-3607" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat menu-item-has-children pp-has-submenu"><div class="pp-has-submenu-container"><a href="https://keukaspringvineyards.com/all-events/category/music-wine-series/"><span class="menu-item-text">Music &amp; Wine Series</span></a><button type="button" class="pp-menu-toggle" aria-label="Toggle submenu for Music &amp; Wine Series" aria-haspopup="true" aria-expanded="false" aria-controls="sub-menu-3607"></button></div>	<ul id="sub-menu-3607" class="sub-menu">		<li id="menu-item-3838" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://keukaspringvineyards.com/all-events/category/music-wine-series/penn-yan/"><span class="menu-item-text">Penn Yan</span></a></li>		<li id="menu-item-3784" class="menu-item menu-item-type-custom menu-item-object-custom"><a href="https://keukaspringvineyards.com/all-events/category/music-wine-series/saratoga-springs/"><span class="menu-item-text">Saratoga Springs</span></a></li></ul></li>	<li id="menu-item-3606" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://keukaspringvineyards.com/all-events/category/winery-events/"><span class="menu-item-text">Winery Events</span></a></li>	<li id="menu-item-3608" class="menu-item menu-item-type-taxonomy menu-item-object-tribe_events_cat"><a href="https://keukaspringvineyards.com/all-events/category/club-member-events/"><span class="menu-item-text">Club Member Events</span></a></li></ul></li><li id="menu-item-1357" class="main-menu menu-item menu-item-type-custom menu-item-object-custom"><a href="/wine-club/join-club/"><span class="menu-item-text">
883Wine Club</span></a></li><li id="menu-item-1068" class="main-menu menu-item menu-item-type-custom menu-item-object-custom"><a href="/updates"><span class="menu-item-text">Updates</span></a></li><li id="menu-item-1421" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="https://keukaspringvineyards.com/contact-us/"><span class="menu-item-text">Contact</span></a></li></ul>	</nav>
884</div>
885</div>	</div>
886</div>
887</div>
888</div>
889	</div>
890		</div>
891	</div>
892</div>
893</header><div class="uabb-js-breakpoint" style="display: none;"></div><div class="fl-builder-content fl-builder-content-2303 fl-builder-global-templates-locked" data-post-id="2303" data-type="part"><div class="fl-row fl-row-full-width fl-row-bg-none fl-node-c7ltgj6imrdv fl-row-default-height fl-row-align-center" data-node="c7ltgj6imrdv">
894	<div class="fl-row-content-wrap">
895		<div class="uabb-row-separator uabb-top-row-separator" >
896</div>
897						<div class="fl-row-content fl-row-fixed-width fl-node-content">
898		
899<div class="fl-col-group fl-node-cu46sm7n1wxz" data-node="cu46sm7n1wxz">
900			<div class="fl-col fl-node-nu89y54qfgwz fl-col-bg-color" data-node="nu89y54qfgwz">
901	<div class="fl-col-content fl-node-content"><div class="fl-module fl-module-pp-spacer fl-node-tz8lpv7wsya1" data-node="tz8lpv7wsya1">
902	<div class="fl-module-content fl-node-content">
903		<div class="pp-spacer-module"></div>
904	</div>
905</div>
906</div>
907</div>
908	</div>
909		</div>
910	</div>
911</div>
912</div><div class="uabb-js-breakpoint" style="display: none;"></div>	<div id="fl-main-content" class="fl-page-content" itemprop="mainContentOfPage" role="main">
913
914		
915<div class="fl-content-full container">
916	<div class="row">
917		<div class="fl-content col-md-12">
918			<article class="fl-post post-30 page type-page status-publish hentry" id="fl-post-30" itemscope="itemscope" itemtype="https://schema.org/CreativeWork">
919
920			<div class="fl-post-content clearfix" itemprop="text">
921		<div class="fl-builder-content fl-builder-content-30 fl-builder-content-primary fl-builder-global-templates-locked" data-post-id="30"><div class="fl-row fl-row-full-width fl-row-bg-none fl-node-4yl3gqu857fk fl-row-default-height fl-row-align-center" data-node="4yl3gqu857fk">
922	<div class="fl-row-content-wrap">
923		<div class="uabb-row-separator uabb-top-row-separator" >
924</div>
925						<div class="fl-row-content fl-row-fixed-width fl-node-content">
926		
927<div class="fl-col-group fl-node-uc7vegl0zatq" data-node="uc7vegl0zatq">
928			<div class="fl-col fl-node-4j9ift5vn02s fl-col-bg-color" data-node="4j9ift5vn02s">
929	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-rich-text fl-rich-text fl-node-r34qsgvkl6uo" data-node="r34qsgvkl6uo">
930	
931<div id="c7-content"></div>
932</div>
933</div>
934</div>
935	</div>
936		</div>
937	</div>
938</div>
939</div><div class="uabb-js-breakpoint" style="display: none;"></div><span class="cp-load-after-post"></span>	</div><!-- .fl-post-content -->
940	
941</article>
942
943<!-- .fl-post -->
944		</div>
945	</div>
946</div>
947
948<div class="fl-builder-content fl-builder-content-1752 fl-builder-global-templates-locked" data-post-id="1752" data-type="part"><div class="fl-row fl-row-full-width fl-row-bg-none fl-node-rqa6lnmu34jw fl-row-default-height fl-row-align-center" data-node="rqa6lnmu34jw">
949	<div class="fl-row-content-wrap">
950		<div class="uabb-row-separator uabb-top-row-separator" >
951</div>
952						<div class="fl-row-content fl-row-fixed-width fl-node-content">
953		
954<div class="fl-col-group fl-node-d3o1qmlr8iap" data-node="d3o1qmlr8iap">
955			<div class="fl-col fl-node-1dn620gtv5cf fl-col-bg-color" data-node="1dn620gtv5cf">
956	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-html fl-html fl-node-k8bsjre72vta" data-node="k8bsjre72vta">
957	<!-- Place this high up in your HTML, outside Commerce7 components -->
958<div id="c7-image-modal" class="c7-image-modal" style="display: none;">
959  <span class="c7-modal-close">&times;</span>
960  <img id="c7-modal-img" class="c7-modal-img" alt="Full Size Wine Bottle">
961</div></div>
962</div>
963</div>
964	</div>
965		</div>
966	</div>
967</div>
968</div><div class="uabb-js-breakpoint" style="display: none;"></div>
969	</div><!-- .fl-page-content -->
970	<footer class="fl-builder-content fl-builder-content-880 fl-builder-global-templates-locked" data-post-id="880" data-type="footer" itemscope="itemscope" itemtype="http://schema.org/WPFooter"><div class="fl-row fl-row-full-width fl-row-bg-color fl-node-xw9ta0k82odr fl-row-default-height fl-row-align-center" data-node="xw9ta0k82odr">
971	<div class="fl-row-content-wrap">
972		<div class="uabb-row-separator uabb-top-row-separator" >
973</div>
974						<div class="fl-row-content fl-row-fixed-width fl-node-content">
975		
976<div class="fl-col-group fl-node-pl0ch9qu7vds fl-col-group-equal-height fl-col-group-align-top fl-col-group-custom-width" data-node="pl0ch9qu7vds">
977			<div class="fl-col fl-node-yfm41clhequk fl-col-bg-color fl-col-small fl-col-small-custom-width" data-node="yfm41clhequk">
978	<div class="fl-col-content fl-node-content"><div role="figure" class="fl-module fl-module-photo fl-photo fl-photo-align-center fl-node-bjfvuze1lpm3" data-node="bjfvuze1lpm3" itemscope itemtype="https://schema.org/ImageObject">
979	<div class="fl-photo-content fl-photo-img-png">
980				<a href="https://keukaspringvineyards.com"  target="_self" itemprop="url">
981				<img decoding="async" class="fl-photo-img wp-image-917 size-full" src="https://keukaspringvineyards.com/wp-content/uploads/2025/06/FullLogo-2c-Stacked-Reversed.png" alt="FullLogo-2c-Stacked-Reversed" height="382" width="599" title="FullLogo-2c-Stacked-Reversed" loading="lazy" itemprop="image" srcset="https://keukaspringvineyards.com/wp-content/uploads/2025/06/FullLogo-2c-Stacked-Reversed.png 599w, https://keukaspringvineyards.com/wp-content/uploads/2025/06/FullLogo-2c-Stacked-Reversed-300x191.png 300w" sizes="auto, (max-width: 599px) 100vw, 599px" />
982				</a>
983					</div>
984	</div>
985<div class="fl-module fl-module-pp-social-icons fl-node-cnei1qwosl3v" data-node="cnei1qwosl3v">
986	<div class="fl-module-content fl-node-content">
987		
988<div class="pp-social-icons pp-social-icons-horizontal">
989	<span class="pp-social-icon" itemscope itemtype="https://schema.org/Organization">
990		<link itemprop="url" href="https://keukaspringvineyards.com">
991		<a itemprop="sameAs" href="https://www.facebook.com/KeukaSpring/" target="_blank" title="Facebook" aria-label="Facebook" role="button" rel="noopener noreferrer external" >
992							<i class="fab fa-facebook-f"></i>
993					</a>
994	</span>
995		<span class="pp-social-icon" itemscope itemtype="https://schema.org/Organization">
996		<link itemprop="url" href="https://keukaspringvineyards.com">
997		<a itemprop="sameAs" href="https://x.com/i/flow/login?redirect_after_login=%2FKeukaSpring" target="_blank" title="X" aria-label="X" role="button" rel="noopener noreferrer external" >
998							<i class="fab fa-twitter"></i>
999					</a>
1000	</span>
1001		<span class="pp-social-icon" itemscope itemtype="https://schema.org/Organization">
1002		<link itemprop="url" href="https://keukaspringvineyards.com">
1003		<a itemprop="sameAs" href="https://www.instagram.com/keukaspringvineyards/" target="_blank" title="Instagram" aria-label="Instagram" role="button" rel="noopener noreferrer external" >
1004							<i class="fab fa-instagram"></i>
1005					</a>
1006	</span>
1007		<span class="pp-social-icon" itemscope itemtype="https://schema.org/Organization">
1008		<link itemprop="url" href="https://keukaspringvineyards.com">
1009		<a itemprop="sameAs" href="https://www.youtube.com/user/KeukaSpringVineyards" target="_blank" title="YouTube" aria-label="YouTube" role="button" rel="noopener noreferrer external" >
1010							<i class="fab fa-youtube"></i>
1011					</a>
1012	</span>
1013		<span class="pp-social-icon" itemscope itemtype="https://schema.org/Organization">
1014		<link itemprop="url" href="https://keukaspringvineyards.com">
1015		<a itemprop="sameAs" href="https://www.yelp.com/biz/keuka-spring-vineyards-penn-yan" target="_blank" title="Yelp" aria-label="Yelp" role="button" rel="noopener noreferrer external" >
1016							<i class="fab fa-yelp"></i>
1017					</a>
1018	</span>
1019		<span class="pp-social-icon" itemscope itemtype="https://schema.org/Organization">
1020		<link itemprop="url" href="https://keukaspringvineyards.com">
1021		<a itemprop="sameAs" href="https://www.tripadvisor.com/Attraction_Review-g48378-d1642623-Reviews-Keuka_Spring_Vineyards-Penn_Yan_Finger_Lakes_New_York.html" target="_blank" title="Tripadvisor" aria-label="Tripadvisor" role="button" rel="noopener noreferrer external" >
1022							<i class="ua-icon ua-icon-tripadvisor"></i>
1023					</a>
1024	</span>
1025	</div>
1026	</div>
1027</div>
1028</div>
1029</div>
1030			<div class="fl-col fl-node-fn75w02crb6i fl-col-bg-color fl-col-small fl-col-small-custom-width" data-node="fn75w02crb6i">
1031	<div class="fl-col-content fl-node-content"><div class="fl-module fl-module-heading fl-node-7a6z5nh3tvgx" data-node="7a6z5nh3tvgx">
1032	<div class="fl-module-content fl-node-content">
1033		<h3 class="fl-heading">
1034		<span class="fl-heading-text">Get In Touch</span>
1035	</h3>
1036	</div>
1037</div>
1038<div class="fl-module fl-module-info-list fl-node-mp6r7lif3e0w" data-node="mp6r7lif3e0w">
1039	<div class="fl-module-content fl-node-content">
1040		
1041<div class="uabb-module-content uabb-info-list">
1042	<ul class="uabb-info-list-wrapper uabb-info-list-left">
1043		<li class="uabb-info-list-item info-list-item-dynamic0"><div class="uabb-info-list-content-wrapper fl-clearfix uabb-info-list-left"><div class="uabb-info-list-icon info-list-icon-dynamic0"><div class="uabb-module-content uabb-imgicon-wrap">				<span class="uabb-icon-wrap">
1044			<span class="uabb-icon">
1045			<i class="fas fa-phone" aria-hidden="true"></i>
1046			</span>
1047		</span>
1048	
1049		</div></div><div class="uabb-info-list-content uabb-info-list-left info-list-content-dynamic0"><h3 class="uabb-info-list-title"></h3 ><div class="uabb-info-list-description uabb-text-editor info-list-description-dynamic0"><p>(315) 536-3147</p>
1050</div></div></div><div class="uabb-info-list-connector uabb-info-list-left"></div></li><li class="uabb-info-list-item info-list-item-dynamic1"><div class="uabb-info-list-content-wrapper fl-clearfix uabb-info-list-left"><div class="uabb-info-list-icon info-list-icon-dynamic1"><div class="uabb-module-content uabb-imgicon-wrap">				<span class="uabb-icon-wrap">
1051			<span class="uabb-icon">
1052			<i class="fas fa-envelope" aria-hidden="true"></i>
1053			</span>
1054		</span>
1055	
1056		</div></div><div class="uabb-info-list-content uabb-info-list-left info-list-content-dynamic1"><h3 class="uabb-info-list-title"></h3 ><div class="uabb-info-list-description uabb-text-editor info-list-description-dynamic1"><p>[email protected]</p>
1057</div></div></div><div class="uabb-info-list-connector uabb-info-list-left"></div></li><li class="uabb-info-list-item info-list-item-dynamic2"><div class="uabb-info-list-content-wrapper fl-clearfix uabb-info-list-left"><div class="uabb-info-list-icon info-list-icon-dynamic2"><div class="uabb-module-content uabb-imgicon-wrap">				<span class="uabb-icon-wrap">
1058			<span class="uabb-icon">
1059			<i class="fas fa-map-marker-alt" aria-hidden="true"></i>
1060			</span>
1061		</span>
1062	
1063		</div></div><div class="uabb-info-list-content uabb-info-list-left info-list-content-dynamic2"><h3 class="uabb-info-list-title"><a href="https://goo.gl/maps/BmxQntV5sE22" target="_blank" rel="noopener" aria-label="Go to https://goo.gl/maps/BmxQntV5sE22"></a></h3 ><div class="uabb-info-list-description uabb-text-editor info-list-description-dynamic2"><p>243 Route 54, East Lake Road<br />Penn Yan, NY 14527</p></div></div></div><div class="uabb-info-list-connector uabb-info-list-left"></div></li>	</ul>
1064</div>
1065	</div>
1066</div>
1067</div>
1068</div>
1069			<div class="fl-col fl-node-4rpld19njg5x fl-col-bg-color fl-col-small fl-col-small-custom-width" data-node="4rpld19njg5x">
1070	<div class="fl-col-content fl-node-content"><div class="fl-module fl-module-heading fl-node-bho69p8kcfwx" data-node="bho69p8kcfwx">
1071	<div class="fl-module-content fl-node-content">
1072		<h3 class="fl-heading">
1073		<span class="fl-heading-text">Additional Resources</span>
1074	</h3>
1075	</div>
1076</div>
1077<div class="fl-module fl-module-rich-text fl-node-zh6dt8gexoaj" data-node="zh6dt8gexoaj">
1078	<div class="fl-module-content fl-node-content">
1079		<div class="fl-rich-text">
1080	<p><a href="/legal/terms-of-use/">Terms Of Use </a><br />
1081<a href="/legal/privacy-policy/">Privacy Policy </a><br />
1082<a href="/legal/returns-cancellations/">Returns &amp; Cancellations</a><br />
1083<a href="/accessibility-statement">Accessibility Statement</a><br />
1084<a href="/general-faqs/">General FAQs</a><br />
1085<a href="/wine-shipping-faqs/">Wine Shipping FAQs</a></p>
1086</div>
1087	</div>
1088</div>
1089</div>
1090</div>
1091			<div class="fl-col fl-node-zjr0mi43habc fl-col-bg-color fl-col-small fl-col-small-custom-width" data-node="zjr0mi43habc">
1092	<div class="fl-col-content fl-node-content"><div class="fl-module fl-module-heading fl-node-kg1yboi2zanm" data-node="kg1yboi2zanm">
1093	<div class="fl-module-content fl-node-content">
1094		<h3 class="fl-heading">
1095		<span class="fl-heading-text">Join Our Newsletter</span>
1096	</h3>
1097	</div>
1098</div>
1099<div class="fl-module fl-module-rich-text fl-node-xf0eyp8qgj1m" data-node="xf0eyp8qgj1m">
1100	<div class="fl-module-content fl-node-content">
1101		<div class="fl-rich-text">
1102	<p>We would love to keep you in the loop! Sign&nbsp;up for our emails to hear about special events, wine releases, and other winery news.</p>
1103</div>
1104	</div>
1105</div>
1106<div  class="fl-module fl-module-html fl-html fl-node-fxze3nyi4gk1 subscribe-form" data-node="fxze3nyi4gk1">
1107	<div class="c7-subscribe"></div></div>
1108</div>
1109</div>
1110	</div>
1111
1112<div class="fl-col-group fl-node-j5iacfeo1bup" data-node="j5iacfeo1bup">
1113			<div class="fl-col fl-node-dvky2pl3j58e fl-col-bg-color" data-node="dvky2pl3j58e">
1114	<div class="fl-col-content fl-node-content"><div  class="fl-module fl-module-separator fl-node-vc04bmusk1hw" data-node="vc04bmusk1hw">
1115	<div class="fl-separator"></div>
1116</div>
1117</div>
1118</div>
1119	</div>
1120
1121<div class="fl-col-group fl-node-igxebvn01o47" data-node="igxebvn01o47">
1122			<div class="fl-col fl-node-3p6jldayuq14 fl-col-bg-color" data-node="3p6jldayuq14">
1123	<div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-node-ygjah9ockidt" data-node="ygjah9ockidt">
1124	<div class="fl-module-content fl-node-content">
1125		<div class="fl-rich-text">
1126	<p>© 2026 Keuka Spring Vineyards. All Rights Reserved.</p>
1127</div>
1128	</div>
1129</div>
1130</div>
1131</div>
1132	</div>
1133		</div>
1134	</div>
1135</div>
1136</footer><div class="uabb-js-breakpoint" style="display: none;"></div>	</div><!-- .fl-page -->
1137<script type="speculationrules">
1138{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/bb-theme-child/*","/wp-content/themes/bb-theme/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
1139</script>
1139
1140		
1140<script>
1141		( function ( body ) {
1142			'use strict';
1143			body.className = body.className.replace( /\btribe-no-js\b/, 'tribe-js' );
1144		} )( document.body );
1145		</script>
1145
1146		<a href="#" role="button" id="fl-to-top"><span class="sr-only">Scroll To Top</span><i class="fas fa-chevron-up" aria-hidden="true"></i></a>
1146<script> /* <![CDATA[ */var tribe_l10n_datatables = {"aria":{"sort_ascending":": activate to sort column ascending","sort_descending":": activate to sort column descending"},"length_menu":"Show _MENU_ entries","empty_table":"No data available in table","info":"Showing _START_ to _END_ of _TOTAL_ entries","info_empty":"Showing 0 to 0 of 0 entries","info_filtered":"(filtered from _MAX_ total entries)","zero_records":"No matching records found","search":"Search:","all_selected_text":"All items on this page were selected. ","select_all_link":"Select all pages","clear_selection":"Clear Selection.","pagination":{"all":"All","next":"Next","previous":"Previous"},"select":{"rows":{"0":"","_":": Selected %d rows","1":": Selected 1 row"}},"datepicker":{"dayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dayNamesShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dayNamesMin":["S","M","T","W","T","F","S"],"monthNames":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesShort":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesMin":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"nextText":"Next","prevText":"Prev","currentText":"Today","closeText":"Done","today":"Today","clear":"Clear"}};/* ]]> */ </script>
1146<script>(function () {
1147  function applyVineyardBreaks() {
1148    // This is the element that contains the comma-separated vineyard string
1149    var target =
1150      document.querySelector('#ksv-growers-original > div') ||
1151      document.querySelector('.c7-growers > div');
1152
1153    if (!target) return false;
1154
1155    var text = (target.textContent || '').trim();
1156    if (!text) return false;
1157
1158    // If it already has line breaks (div children inside), don’t re-run
1159    if (target.children && target.children.length > 0 && target.innerHTML.indexOf('<div>') !== -1) {
1160      return true;
1161    }
1162
1163    // If there are no commas, nothing to do
1164    if (text.indexOf(',') === -1) return true;
1165
1166    var parts = text.split(',').map(function (p) { return p.trim(); }).filter(Boolean);
1167
1168    // Replace with stacked divs
1169    target.innerHTML = parts.map(function (p) {
1170      return '<div>' + p + '</div>';
1171    }).join('');
1172
1173    return true;
1174  }
1175
1176  // Run immediately, then retry a bunch of times (C7 sometimes renders late)
1177  var tries = 0;
1178  var maxTries = 60; // ~15 seconds total
1179  var interval = setInterval(function () {
1180    tries++;
1181    var done = applyVineyardBreaks();
1182    if (done || tries >= maxTries) clearInterval(interval);
1183  }, 250);
1184
1185  // Also watch for DOM changes and re-apply (covers async rerenders)
1186  var obs = new MutationObserver(function () {
1187    applyVineyardBreaks();
1188  });
1189
1190  obs.observe(document.documentElement, { childList: true, subtree: true });
1191})();
1192
1193</script>
1193<script src="https://keukaspringvineyards.com/wp-content/plugins/the-events-calendar/common/build/js/user-agent.js?ver=da75d0bdea6dde3898df" id="tec-user-agent-js"></script>
vendor: 1 bytes, line 1193
1193
1194<script src="https://keukaspringvineyards.com/wp-content/uploads/bb-plugin/cache/30-layout.js?ver=c2fc70b5517dff9831db394067e3e838" id="fl-builder-layout-30-js"></script>
vendor: 1 bytes, line 1194
1194
1195<script id="c7js-js-extra">
1196var c7wp_settings = {"tenant":"keuka-spring-vineyards","c7wp_frontend_routes":{"cart":"cart","checkout":"checkout","club":"club","collection":"wines","product":"product","profile":"profile","reservation":"reservation"}};
1197//# sourceURL=c7js-js-extra
1198</script>
vendor: 1 bytes, line 1198
1198
1199<script data-cfasync="false" type="text/javascript" src="https://cdn.commerce7.com/v2/commerce7.js" id="c7-javascript" data-tenant="keuka-spring-vineyards"></script>
1199<script src="https://keukaspringvineyards.com/wp-content/plugins/wp-commerce7/assets/public/js/c7wp-seo.js?ver=1.8.1" id="c7wp-seo-js"></script>
vendor: 1 bytes, line 1199
1199
1200<script src="https://keukaspringvineyards.com/wp-content/plugins/bb-plugin/js/libs/jquery.imagesloaded.min.js?ver=2.10.2.3" id="imagesloaded-js"></script>
vendor: 1 bytes, line 1200
1200
1201<script src="https://keukaspringvineyards.com/wp-content/plugins/bb-plugin/js/libs/jquery.ba-throttle-debounce.min.js?ver=2.10.2.3" id="jquery-throttle-js"></script>
vendor: 1 bytes, line 1201
1201
1202<script src="https://keukaspringvineyards.com/wp-content/uploads/bb-plugin/cache/75aa67539883674383e07768fd1ba1bb-layout-bundle.js?ver=2.10.2.3-1.5.3.2" id="fl-builder-layout-bundle-75aa67539883674383e07768fd1ba1bb-js"></script>
vendor: 1 bytes, line 1202
1202
1203<script id="dlm-xhr-js-extra">
1204var dlmXHRtranslations = {"error":"An error occurred while trying to download the file. Please try again.","not_found":"Download does not exist.","no_file_path":"No file path defined.","no_file_paths":"No file paths defined.","filetype":"Download is not allowed for this file type.","file_access_denied":"Access denied to this file.","access_denied":"Access denied. You do not have permission to download this file.","security_error":"Something is wrong with the file path.","file_not_found":"File not found."};
1205//# sourceURL=dlm-xhr-js-extra
1206</script>
vendor: 1 bytes, line 1206
1206
1207<script id="dlm-xhr-js-before">
1208const dlmXHR = {"xhr_links":{"class":["download-link","download-button"]},"prevent_duplicates":true,"ajaxUrl":"https:\/\/keukaspringvineyards.com\/wp-admin\/admin-ajax.php"}; dlmXHRinstance = {}; const dlmXHRGlobalLinks = "https://keukaspringvineyards.com/download/"; const dlmNonXHRGlobalLinks = []; dlmXHRgif = "https://keukaspringvineyards.com/wp-includes/images/spinner.gif"; const dlmXHRProgress = "1"
1209//# sourceURL=dlm-xhr-js-before
1210</script>
vendor: 1 bytes, line 1210
1210
1211<script src="https://keukaspringvineyards.com/wp-content/plugins/download-monitor/assets/js/dlm-xhr.min.js?ver=5.2.2" id="dlm-xhr-js"></script>
vendor: 1 bytes, line 1211
1211
1212<script src="https://keukaspringvineyards.com/wp-content/plugins/bb-plugin/js/libs/jquery.magnificpopup.min.js?ver=2.10.2.3" id="jquery-magnificpopup-js"></script>
vendor: 1 bytes, line 1212
1212
1213<script id="fl-automator-js-extra">
1214var themeopts = {"medium_breakpoint":"992","mobile_breakpoint":"768","lightbox":"enabled","scrollTopPosition":"800"};
1215//# sourceURL=fl-automator-js-extra
1216</script>
vendor: 1 bytes, line 1216
1216
1217<script src="https://keukaspringvineyards.com/wp-content/themes/bb-theme/js/theme.min.js?ver=1.7.19.2" id="fl-automator-js"></script>
vendor: 1 bytes, line 1217
1217
1218<script id="wp-emoji-settings" type="application/json">
1219{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://keukaspringvineyards.com/wp-includes/js/wp-emoji-release.min.js?ver=6.9.10"}}
1220</script>
vendor: 1 bytes, line 1220
1220
1221<script type="module">
1222/*! This file is auto-generated */
1223var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
1224//# sourceURL=https://keukaspringvineyards.com/wp-includes/js/wp-emoji-loader.min.js
1225</script>
1225
1226	
1227			
1227<script type="text/javascript">
1228
1229				jQuery(document).on( "cp_after_form_submit", function( e, element, response
1230					, style_slug ) {
1231
1232					if( false == response.data.error ) {
1233
1234						if( 'undefined' !== typeof response.data['cfox_data']  ) {
1235							var form_data = JSON.parse( response.data['cfox_data']  );
1236
1237							form_data.overwrite_tags = false;
1238
1239							if( 'undefined' !== typeof convertfox ) {
1240								convertfox.identify( form_data );
1241							}
1242						}
1243					}
1244
1245				});
1246
1247
1248			</script>
1248
1249								<!-- This is minified version of cp-ga-front.js file located at convertpro-addon/analytics/assets/js/cp-ga-front.js if you want to make changes to this, edit cp-ga-front.js file, minify it and paste code here -->
1250				<!-- Escaping not required, as it is hardcoded, not user-generated -->
1251
1252				
1252<script type="text/javascript">
1253				!function(e){e(window).on("cp_after_popup_open",(function(e,t,o,n){var c=jQuery('.cp-popup-container[data-style="cp_style_'+n+'"]').data("styleslug");cpUpdateImpressions(c)})),cpUpdateImpressions=function(e){var t=cp_ga_object.ga_category_name;cpCreateGoogleAnalyticEvent(t,"impression",e)},cpIsModuleOnScreen=function(e){var t=jQuery(window),o={top:t.scrollTop(),left:t.scrollLeft()};o.right=o.left+t.width(),o.bottom=o.top+t.height();var n=e.offset();return n.right=n.left+e.outerWidth(),n.bottom=n.top+e.outerHeight(),!(o.right<n.left||o.left>n.right||o.bottom<n.top||o.top>n.bottom)},e(document).on("cp_after_form_submit",(function(e,t,o,n){if(!0===o.success){var c=cp_ga_object.ga_category_name;cpCreateGoogleAnalyticEvent(c,"conversion",n)}})),cpCreateGoogleAnalyticEvent=function(e,t,o){var n="gtag";void 0!==cp_ga_object.ga_auth_type&&"gtm-code"===cp_ga_object.ga_auth_type&&(n="gtm-code"),"undefined"!=typeof dataLayer&&"gtm-code"==n?dataLayer.push({event:cp_ga_object.ga_event_name,eventCategory:e,eventAction:t,eventLabel:o,eventValue:"1",nonInteraction:!0}):"gtag"==n&&"undefined"!=typeof gtag&&gtag("event",t,{event_label:o,event_category:e,non_interaction:!0})},cp_track_inline_modules=function(){jQuery(".cp-popup-container.cp-module-before_after, .cp-popup-container.cp-module-inline, .cp-popup-container.cp-module-widget").each((function(){var e=jQuery(this);e.data("style").replace("cp_style_","");if(cpIsModuleOnScreen(e)&&!e.hasClass("cp-impression-counted")){var t=e.data("styleslug");cpUpdateImpressions(t),e.addClass("cp-impression-counted")}}))},e(document).ready((function(){cp_track_inline_modules()})),e(document).on("scroll",(function(e){cp_track_inline_modules()}))}(jQuery);
1254				</script>
1254
1255				
1255<script>
1256  function waitForRSValueAndApply() {
1257    const rsValueEl = document.getElementById("rs-value");
1258    const indicator = document.getElementById("rs-indicator");
1259    const fill = document.getElementById("rs-fill");
1260    if (!rsValueEl || !indicator || !fill) {
1261      setTimeout(waitForRSValueAndApply, 250);
1262      return;
1263    }
1264    const raw = rsValueEl.textContent.trim();
1265    const rs = parseFloat(raw);
1266    if (!isNaN(rs)) {
1267      const scaled = Math.min((rs / 12.5) * 100, 100);
1268      setTimeout(() => {
1269        fill.style.width = `${scaled}%`;
1270        indicator.style.left = `${scaled}%`;
1271        indicator.style.opacity = 1;
1272        indicator.setAttribute("title", `${rs} g/L`);
1273      }, 200);
1274    } else {
1275      setTimeout(waitForRSValueAndApply, 250);
1276    }
1277  }
1278
1279  // Fix for Bug 2: handle case where DOMContentLoaded already fired
1280  if (document.readyState === "loading") {
1281    document.addEventListener("DOMContentLoaded", waitForRSValueAndApply);
1282  } else {
1283    waitForRSValueAndApply();
1284  }
1285</script>
1285
1286
1287<script>
1288  function initCollectionSugarScales() {
1289    const wrappers = document.querySelectorAll(".c7-residual-sugar-collection");
1290    if (wrappers.length === 0) {
1291      setTimeout(initCollectionSugarScales, 300);
1292      return;
1293    }
1294
1295    let allReady = true;
1296
1297    wrappers.forEach(wrapper => {
1298      const rsContainer = wrapper.querySelector(".c7-rs-value-container");
1299      const fill = wrapper.querySelector(".c7-rs-fill");
1300      const indicator = wrapper.querySelector(".c7-rs-indicator");
1301      if (!rsContainer || !fill || !indicator) return;
1302
1303      const raw = rsContainer.textContent.trim();
1304      const rs = parseFloat(raw);
1305
1306      // Fix for Bug 1: if value is NaN, C7 hasn't populated it yet — retry
1307      if (isNaN(rs)) {
1308        allReady = false;
1309        return;
1310      }
1311
1312      const scaled = Math.min((rs / 12.5) * 100, 100);
1313      fill.style.width = `${scaled}%`;
1314      indicator.style.left = `${scaled}%`;
1315      indicator.style.opacity = 1;
1316      indicator.setAttribute("title", `${rs} g/L`);
1317    });
1318
1319    // If any wrapper had an empty value, retry the whole pass
1320    if (!allReady) {
1321      setTimeout(initCollectionSugarScales, 300);
1322    }
1323  }
1324
1325  // Fix for Bug 2: handle case where DOMContentLoaded already fired
1326  if (document.readyState === "loading") {
1327    document.addEventListener("DOMContentLoaded", initCollectionSugarScales);
1328  } else {
1329    initCollectionSugarScales();
1330  }
1331</script>
1331<script>
1332// C7 to dataLayer Bridge (for iframes and embeds)
1333window.dataLayer = window.dataLayer || [];
1334
1335// Listen for postMessage from Commerce7 iframes
1336window.addEventListener('message', function(e) {
1337  if (e.origin.includes('commerce7.com') && e.data && e.data.event) {
1338    dataLayer.push(e.data);
1339  }
1340});
1341
1342// DOM Observer for dynamic Commerce7 elements (products, cart)
1343const observer = new MutationObserver(() => {
1344  // Product View
1345  document.querySelectorAll('[data-c7-product]').forEach(el => {
1346    if (!el.dataset.pushed) {
1347      dataLayer.push({
1348        event: 'view_item',
1349        ecommerce: {
1350          currency: 'USD',
1351          value: parseFloat(el.dataset.price || 0) / 100,
1352          items: [{
1353            item_id: el.dataset.handle,
1354            item_name: el.dataset.title || el.dataset.handle,
1355            price: parseFloat(el.dataset.price || 0) / 100,
1356            quantity: 1,
1357            item_brand: el.dataset.collection === 'all-glasses-raised' ? 'AGR' : 'KSV'
1358          }]
1359        }
1360      });
1361      el.dataset.pushed = 'true';
1362    }
1363  });
1364
1365  // AddToCart (listen for buttons)
1366  document.querySelectorAll('[data-c7-add-to-cart]').forEach(btn => {
1367    btn.addEventListener('click', () => {
1368      const product = btn.closest('[data-c7-product]');
1369      dataLayer.push({
1370        event: 'add_to_cart',
1371        ecommerce: {
1372          currency: 'USD',
1373          value: parseFloat(product.dataset.price || 0) / 100,
1374          items: [{
1375            item_id: product.dataset.handle,
1376            item_name: product.dataset.title,
1377            price: parseFloat(product.dataset.price || 0) / 100,
1378            quantity: 1,
1379            item_brand: product.dataset.collection === 'all-glasses-raised' ? 'AGR' : 'KSV'
1380          }]
1381        }
1382      });
1383    });
1384  });
1385
1386  // InitiateCheckout
1387  document.querySelectorAll('[data-c7-checkout]').forEach(btn => {
1388    btn.addEventListener('click', () => {
1389      dataLayer.push({ event: 'begin_checkout' });
1390    });
1391  });
1392
1393  // Purchase (on thank-you page - parse order if available)
1394  if (location.pathname.includes('/thankyou')) {
1395    // Assume Commerce7 pushes order data; fallback fetch if needed
1396    dataLayer.push({
1397      event: 'purchase',
1398      ecommerce: {
1399        currency: 'USD',
1400        value: 0, // Calculated in GTM
1401        items: [] // Array of items with item_brand
1402      }
1403    });
1404  }
1405});
1406observer.observe(document.body, { childList: true, subtree: true });
1407</script>
1407
1408</body>
1409</html>
1410
1411<!-- Cache served by breeze CACHE (Desktop) - Last modified: Fri, 09 Oct 2026 18:36:33 GMT -->
1412
1413<!-- plugin=object-cache-pro client=phpredis metric#hits=12627 metric#misses=51 metric#hit-ratio=99.6 metric#bytes=10039275 metric#prefetches=179 metric#store-reads=39 metric#store-writes=12 metric#store-hits=190 metric#store-misses=24 metric#sql-queries=41 metric#ms-total=1036.77 metric#ms-cache=38.19 metric#ms-cache-avg=0.7637 metric#ms-cache-ratio=3.7 sample#redis-hits=18965127 sample#redis-misses=2225375 sample#redis-hit-ratio=89.5 sample#redis-ops-per-sec=25 sample#redis-evicted-keys=0 sample#redis-used-memory=88245976 sample#redis-used-memory-rss=78217216 sample#redis-memory-fragmentation-ratio=0.9 sample#redis-connected-clients=1 sample#redis-tracking-clients=0 sample#redis-rejected-connections=0 sample#redis-keys=18228 -->

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.