@charset "UTF-8";

/* ---------------------
   CONTENTS
   --------
   global styling
     — force portrait on mobile
     - add bottom padding to accomodate for footer height(s)
     - page fade in / transition
   global typography
     — paragraph text
     — headlines
     — links
     - lists
   global buttons
   global footer
   global forms
   popup mobile navigation menu
   static icon mobile navigation menu
   all mobile menus -- responsive visibility
   desktop main menu
   desktop main menu -- responsive visibility
   desktop footer
   desktop footer menu -- responsive visibility
   top member bar
   member login modal
   member template
     — user-choice wine club styling
   modal cart
   product search box
   age verification / age gate
   modal popup
   homepage template
     — desktop hero logo
     — mobile homepage tagline
     — desktop tagline
     — homepage destinations section (boxes/grid)
     - vineyard
   page template
   page template -- 'visit' variation
   page template -- 'lodging' variation
     - lodging page link buttons (same style as visit page anchor links)
   page template -- 'trade' variation
   wide template -- 'club signup' variation
   wide template -- 'contact' variation
   events template
   event drilldown template
   product list template -- general
   product drilldown template -- wine
   product drilldown template -- wine gift sets
   product drilldown template -- merchandise
   chat widget
   --------------------- */

/* ---------------------
   COLOR PALETTE REFERENCE
   --------
   pale, oxidized copper green: #c8dfd5 or 200 223 213
   dark steel blue: #2e4052 or 46 64 82
   saddle brown: #7f4836 or 127 72 54
   fog gray: #d7d7d7 or 215 215 215
   oiled bronze: #41382c or 65 56 44
   --------------------- */

/* ---------------------
   global styling
   --------------------- */

* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  font-size: 110%;
}
.ADA:not(:focus):not(:active) {
  /* ADA items are only for screen readers and to add page structural clarity */
  /* see: https://www.scottohara.me/blog/2017/04/14/inclusively-hidden.html */
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
@media screen and (min-width: 320px) and (max-width: 823px) and (orientation: landscape) {
  html { /* force portrait orientation on mobile */
    transform: rotate(-90deg);
    transform-origin: left top;
    width: 100vh;
    height: 100vw;
    overflow-x: hidden;
    position: absolute;
    top: 100%;
    left: 0;
  }}
html[lang="zh-Hans"] {
  text-align: justify;
  hanging-punctuation: allow-end;
  /* Allow ending punctuation
     to hang even when justified. */
}
body {
  background: #f1f1f1;
  color: #202a33;
  font-family: 'Candide', serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.remove, .displayNo {
  display: none !important;
}
.hidden {
  visibility: hidden;
}

/* adding bottom padding to accomodate for fixed mobile quick menu
   must be exactly equal to mobile quick footer height or will create gap in background color */
main {
  padding: 0 0 60px 0;
}
@media only screen
  and (min-width: 835px) {
    /* adding bottom padding to accomodate for fixed menus on desktop */
    main {
      padding: 0 0 65px 0; /* bottom padding equivilent to desktop main menu + sticky footer height */
    }
    /* hover overlay (overlay fadeIn and fadeOut controlled via js);
       parent container visibility set per element id, naming convention = [x]-overlay */
    #overlay {
      background: rgb(206,224,217);
      background: -moz-linear-gradient(302deg, rgba(206,224,217,1) 0%, rgba(34,46,57,1) 100%);
      background: -webkit-linear-gradient(302deg, rgba(206,224,217,1) 0%, rgba(34,46,57,1) 100%);
      background: linear-gradient(302deg, rgba(206,224,217,1) 0%, rgba(34,46,57,1) 100%);
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#cee0d9",endColorstr="#222e39",GradientType=1);
      position: fixed;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      text-align: center; /* centers child div */
      opacity: .95;
      filter: alpha(opacity=95);
      -moz-opacity: .95;
    }
    #overlay::before { /* req'd to vertically center .overlay-content */
      content: '';
      display: inline-block;
      height: 100%;
      vertical-align: middle;
      margin-left: -1ch;
    }
    .overlay-content {
      color: #eaeaea;
      padding: 0 1.5rem;
      text-align: initial; /* resets text-align so everything isn't default centered */
      max-width: 50rem; /* limiting line length to what's best practices for readability (50–60 characters) */
      display: inline-block; /* vertically centering */
      vertical-align: middle; /* more vertically centering */
  }
}
@media only screen
  and (min-width: 1025px) {
    main {
      padding: 0 0 72px 0;
    }
}

/* page fade in / transition */
body {
  opacity: 1;
  transition: 300ms opacity;
}
body.fade-out {
  opacity: 0;
  transition: none;
}

/* ---------------------
   global typography
   --------------------- */

body {
  font-size: 16px;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'kern', 'liga', 'dlig', 'hlig', 'cswh';
}

/* paragraph text */

p, .page-content-main > div {
  font-family: 'Candide', serif;
  line-height: 1.45em;
  letter-spacing: normal;

  hanging-punctuation: first;

  -webkit-font-variant-ligatures: normal;
  -webkit-font-variant-ligatures: common-ligatures;
  -webkit-font-variant-ligatures: discretionary-ligatures;
  -webkit-font-variant-ligatures: historical-ligatures;
  -webkit-font-variant-ligatures: contextual;

  -moz-font-variant-ligatures: normal;
  -moz-font-variant-ligatures: common-ligatures;
  -moz-font-variant-ligatures: discretionary-ligatures;
  -moz-font-variant-ligatures: historical-ligatures;
  -moz-font-variant-ligatures: contextual;

  font-variant-ligatures: normal;
  font-variant-ligatures: common-ligatures;
  font-variant-ligatures: discretionary-ligatures;
  font-variant-ligatures: historical-ligatures;
  font-variant-ligatures: contextual;

  -webkit-hyphens: auto;
  -webkit-hyphenate-limit-before: 3;
  -webkit-hyphenate-limit-after: 3;
  -webkit-hyphenate-limit-chars: 6 3 3;
  -webkit-hyphenate-limit-lines: 2;
  -webkit-hyphenate-limit-last: always;
  -webkit-hyphenate-limit-zone: 8%;

  -moz-hyphens: auto;
  -moz-hyphenate-limit-chars: 6 3 3;
  -moz-hyphenate-limit-lines: 2;
  -moz-hyphenate-limit-last: always;
  -moz-hyphenate-limit-zone: 8%;

  -ms-hyphens: auto;
  -ms-hyphenate-limit-chars: 6 3 3;
  -ms-hyphenate-limit-lines: 2;
  -ms-hyphenate-limit-last: always;
  -ms-hyphenate-limit-zone: 8%;

  hyphens: auto;
  hyphenate-limit-chars: 6 3 3;
  hyphenate-limit-lines: 2;
  hyphenate-limit-last: always;
  hyphenate-limit-zone: 8%;
}
@media screen
  and (min-width: 768px) {
    main p, main .page-content-main > div {
    	font-size: 1rem;
    }
  }
@media screen
  and (min-width: 835px) and (min-height: 830px) {
    /* paragraph text size bump in main content areas on desktop only */
    main p, main .page-content-main > div {
    	font-size: 1.1rem;
    }
    /* increase line-height on desktop */
    p, .page-content-main > div {
      line-height: 1.6em;
    }
  }
@media screen
  and (min-width: 1200px) {
    /* paragraph text size bump in main content areas on desktop only */
    main p, main .page-content-main > div {
    	font-size: 1.2rem;
    }
  }

/* cursor selection color and style */

p::-moz-selection {
  text-shadow: none;
  background: #c8dfd5;
}
::selection {
  text-shadow: none;
  background: #c8dfd5;
}

/* headers / headings */

h1, h1.ui.header, h2, h2.ui.header, h3, h3.ui.header, h4, h4.ui.header, h5, h5.ui.header, h6, h6.ui.header {
  color: inherit;
  font-weight: inherit;
  margin-bottom: 0.5em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1, h1.ui.header {
  font-family: 'Gelion-Thin', sans-serif;
  font-size: 2.25rem;
  line-height: 1.05em;
  letter-spacing: -0.035em;
  text-transform: capitalize;
}
h2, h2.ui.header {
  font-family: 'Gelion-Light', sans-serif;
  font-size: 1.8rem;
  line-height: 1.11em;
}
h3, h3.ui.header {
  font-family: 'Gelion', sans-serif;
  font-weight: bold;
  line-height: 1.25em;
}
h4, h4.ui.header {
  font-family: 'Gelion', sans-serif;
  font-weight: normal;
  font-size: 1.0125rem;
  line-height: 1.2em;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
h5, h5.ui.header {
  font-family: 'Gelion', sans-serif;
  font-size: 1.125rem;
  font-weight: normal;
  font-style: italic;
}
h6, h6.ui.header {
  font-family: 'Gelion', sans-serif;
  font-weight: bold;
  font-size: 1.05rem;
}
.ui.header + .ui.header {
	margin-top: 0;
}
@media only screen
  and (min-width: 835px) {
    h1, h1.ui.header {
      font-size: 3rem;
    }
  }

/* horizontal lines */

hr {
  margin-bottom: 1rem;
	margin-top: 1rem;
	border-top: 1px solid rgb(193, 209, 204);
	border-bottom: 1px solid #ffffff;
}
hr + .ui.header {
	margin-top: 1rem;
}
.ui.header + hr {
	margin-bottom: 1rem;
}

/* Wine Direct Paragraph Format Options */

pre {
  font-size: 0.8em;
  margin-bottom: 1rem;
}
address {
  font-family: 'Gelion', sans-serif;
  font-size: 1em;
  font-style: normal;
  font-weight: normal;
  line-height: 1.45em;
  letter-spacing: normal;
  margin-bottom: 1rem;
}

/* semantic ui overrides */

.ui.menu, ui.text.container, ui.header, ui.input, .title, input, ui.message.header, .value, .label, .title:not(.ui), .ui.items>.item>.content>.header {
  font-family: 'Gelion', sans-serif;
}

/* wine direct overrides */

#v65-memberFormWrapper legend {
  letter-spacing: normal;
  padding: 0;
}
#v65-memberFormWrapper div {
  margin: 0;
}

/* links */

a {
  color: inherit;
  text-decoration: none;
  transition: 200ms;
  transition-timing-function: ease-in-out;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
}
a:hover {
  color: inherit;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
}
p a {
	box-shadow: inset 0 -0.5em 0 #c8dfd5;
	transition: box-shadow .2s ease-in-out;
}
p a:hover {
  box-shadow: inset 0 -1.2em 0 #b9dacc;
  transition: box-shadow .2s ease-in-out;
}
.ui.link.menu .item:hover, .ui.menu .dropdown.item:hover, .ui.menu .link.item:hover, .ui.menu a.item:hover {
  background: inherit;
}

/* alerts */

.red {
  color: #900e0e;
}

/* lists */

ul, ol {
  padding-left: 0;
  list-style-position: inside;
  line-height: 1.5em;
}
ul {
  list-style-type: circle; /* other ul styling specific to page content / body copy is available under Page Template */
}
ul.fa-ul {
  margin-left: 0; /* override Font Awesome's native styling for icon lists */
  color: #2e4052;
  background: -webkit-linear-gradient(#7f4836, #2e4052);
  -webkit-background-clip: text;
  /*-webkit-text-fill-color: transparent;*/
  background-clip: text;
  font-family: 'Gelion', sans-serif;
  font-size: 1em;
}
ul.fa-ul li {
  line-height: 1.15rem;
	margin-bottom: 0.25rem;
}
ul.fa-ul li:last-of-type {
	margin-bottom: 0;
}
ol {
  list-style: none;
  counter-reset: hearst-ranch-counter;
  margin-left: 1em;
  color: #2e4052;
  background: -webkit-linear-gradient(#7f4836, #2e4052);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-family: 'Gelion', sans-serif;
  font-size: 1.2em;
}
ol li {
  counter-increment: hearst-ranch-counter;
}
ol li::before {
  content: counter(hearst-ranch-counter) " ";
  color: #2e4052;
  font-family: 'Gelion', sans-serif;
  font-weight: bold;
  margin-left: -1.25em; /* recreates list style position outside */
  margin-right: 0.65em;
  background: -webkit-linear-gradient(#7f4836, #2e4052);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
ol li a {
  color: #2e4052;
  background: -webkit-linear-gradient(#7f4836, #2e4052);
  -webkit-background-clip: text;
  -webkit-text-fill-color: #2e4052;
  border-bottom: 5px solid #c8dfd5;
  display: inline-block;
  line-height: 0.75;
  text-shadow: 2px 2px #eaeaea, 2px -2px #eaeaea, -2px 2px #eaeaea, -2px -2px #eaeaea;
}
@media only screen
  and (min-width: 835px) {
    ul, ol {
      /* hang bullets outside on desktop (doesn't fit on mobile) */
      list-style-position: outside;
    }
    ol {
      /* remove margin to hang numbers on desktop */
      margin-left: 0;
    }
    ul.fa-ul {
      font-size: 1.2rem;
    }
    ul.fa-ul li {
      line-height: inherit;
    	margin-bottom: inherit;
    }
  }

/* ---------------------
   global buttons
   --------------------- */

/* default button styles */
ui.button {
  font-family: 'Gelion', sans-serif;
}
button.defaultBtn {
  font-family: 'Gelion', sans-serif;
  font-weight: normal;
  background-color: #41382c;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}
button.defaultBtn span {
  color: #e8e8e8;
  text-align: center;
}
button.defaultBtn:hover, button.defaultBtn:hover span, button.defaultBtn:focus, button.defaultBtn:focus span {
  box-shadow: none;
  background-color: #c6d8d1;
  color: #202a33;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}

/* alternative button styles */
button.altBtn {
	background-color: #c8dfd5;
  font-family: 'Gelion', sans-serif;
  font-weight: normal;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}
button.altBtn span {
  color: #48655e;
  text-align: center;
}
button.altBtn:hover, button.altBtn:hover span, button.altBtn:focus, button.altBtn:focus span {
  box-shadow: none;
  background-color: #c6d8d1;
  color: #202a33;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}

/* modal button styles */
button.modalBtn {
  background-color: #41382c;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}
button.modalBtn span {
  color: #e8e8e8;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .05em;
}
button.modalBtn:hover, button.modalBtn:hover span, button.modalBtn:focus, button.modalBtn:focus span {
  box-shadow: none;
  background-color: #c6d8d1;
  color: #202a33;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}

/* modal alt button styles */
button.altModalBtn {
	background-color: #c8dfd5;
  font-family: 'Gelion', sans-serif;
  font-weight: normal;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}
button.altModalBtn span {
  color: #48655e;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .05em;
}
button.altModalBtn:hover, button.altModalBtn:hover span, button.altModalBtn:focus, button.altModalBtn:focus span {
  box-shadow: none;
  background-color: #c6d8d1;
  color: #202a33;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}

/* large button styles */
button.largeBtn {
  font-family: 'Gelion', sans-serif;
  font-weight: normal;
  background-color: #41382c;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}
button.largeBtn span {
  color: #e8e8e8;
  text-align: center;
}
button.largeBtn:hover, button.largeBtn:hover span, button.largeBtn:focus, button.largeBtn:focus span {
  box-shadow: none;
  background-color: #c6d8d1;
  color: #202a33;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}

/* link button styles */
a.linkBtn {
  font-family: 'Gelion', sans-serif;
  font-weight: normal;
  background-color: #41382c;
  box-shadow: none;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}
a.linkBtn span {
  color: #e8e8e8;
  text-align: center;
  box-shadow: none;
}
a.linkBtn:hover, a.linkBtn:hover span, a.linkBtn:focus, a.linkBtn:focus span {
  box-shadow: none;
  background-color: #c6d8d1;
  color: #202a33;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}

/* link alt button styles */
a.linkAltBtn {
	background-color: #c8dfd5;
  font-family: 'Gelion', sans-serif;
  font-weight: normal;
  box-shadow: none;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}
a.linkAltBtn span {
  color: #48655e;
  text-align: center;
  box-shadow: none;
}
a.linkAltBtn:hover, a.linkAltBtn:hover span, a.linkAltBtn:focus, a.linkAltBtn:focus span {
  box-shadow: none;
  background-color: #c6d8d1;
  color: #202a33;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}

/* modal link button styles */
a.modalLinkBtn {
  font-family: 'Gelion', sans-serif;
  font-weight: normal;
  background-color: #41382c;
  box-shadow: none;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}
a.modalLinkBtn span {
  color: #e8e8e8;
  text-align: center;
  box-shadow: none;
  text-transform: uppercase;
  letter-spacing: .05em;
}
a.modalLinkBtn:hover, a.modalLinkBtn:hover span, a.modalLinkBtn:focus, a.modalLinkBtn:focus span {
  box-shadow: none;
  background-color: #c6d8d1;
  color: #202a33;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}

/*  modal link alt button styles */
a.modalLinkAltBtn {
	background-color: #c8dfd5;
  font-family: 'Gelion', sans-serif;
  font-weight: normal;
  box-shadow: none;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}
a.modalLinkAltBtn span {
  color: #48655e;
  text-align: center;
  box-shadow: none;
  text-transform: uppercase;
  letter-spacing: .05em;
}
a.modalLinkAltBtn:hover, a.modalLinkAltBtn:hover span, a.modalLinkAltBtn:focus, a.modalLinkAltBtn:focus span {
  box-shadow: none;
  background-color: #c6d8d1;
  color: #202a33;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}

/*  large link button styles */
a.largeLinkBtn {
  font-family: 'Gelion', sans-serif;
  font-weight: normal;
  background-color: #41382c;
  box-shadow: none;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}
a.largeLinkBtn span {
  color: #e8e8e8;
  text-align: center;
  box-shadow: none;
}
a.largeLinkBtn:hover, a.largeLinkBtn:hover span, a.largeLinkBtn:focus, a.largeLinkBtn:focus span {
  box-shadow: none;
  background-color: #c6d8d1;
  color: #202a33;
  -webkit-transition: 200ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition: 200ms ease-out;
  -o-transition: 200ms ease-out;
  transition: 200ms ease-out;
}

/* buttons inside paragraphs */
p a.largeLinkBtn, p a.linkBtn, p a.modalLinkBtn, p a.linkAltBtn, p a.modalLinkAltBtn {
  	margin-left: 0.25rem;
}

/* ---------------------
   global footer
   --------------------- */

main footer {
  position: relative; /* req'd for pseudo background-image below */
  text-shadow: 1px 1px 4px rgba(56,48,38,0.65); /* increases readability */
  background: rgb(56,48,38);
  background: -moz-linear-gradient(0deg, rgba(56,48,38,1) 0%, rgba(56,48,38,0.98) 5%, rgba(56,48,38,0.5) 57%, rgba(56,48,38,0.1) 85%, rgba(56,48,38,0.03) 93%, rgba(56,48,38,0) 100%);
  background: -webkit-linear-gradient(0deg, rgba(56,48,38,1) 0%, rgba(56,48,38,0.98) 5%, rgba(56,48,38,0.5) 57%, rgba(56,48,38,0.1) 85%, rgba(56,48,38,0.03) 93%, rgba(56,48,38,0) 100%);
  background: linear-gradient(0deg, rgba(56,48,38,1) 0%, rgba(56,48,38,0.98) 5%, rgba(56,48,38,0.5) 57%, rgba(56,48,38,0.1) 85%, rgba(56,48,38,0.03) 93%, rgba(56,48,38,0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#383026",endColorstr="#383026",GradientType=1);
  color: #eaeaea;
  padding: 4rem 1rem 1.5rem;
}
main footer:before {
  content: "";
	position: absolute;
	bottom: 0;
  left: 0;
  right: 0;
  opacity: 0.5;
	z-index: -1;
	width: 100%;
	height: 100%;
	overflow: visible;
	background: url(../images/wine-harvest-hearst.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
  mix-blend-mode: darken;
}
main footer:after {
  content: "";
	position: absolute;
	bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
	height: 100%;
	overflow: visible;
  z-index: -2;
  background: rgb(56,48,38);
  background: -moz-linear-gradient(0deg, rgba(56,48,38,1) 0%, rgba(56,48,38,0.98) 5%, rgba(56,48,38,0.5) 57%, rgba(56,48,38,0.1) 85%, rgba(56,48,38,0.03) 93%, rgba(56,48,38,0) 100%);
  background: -webkit-linear-gradient(0deg, rgba(56,48,38,1) 0%, rgba(56,48,38,0.98) 5%, rgba(56,48,38,0.5) 57%, rgba(56,48,38,0.1) 85%, rgba(56,48,38,0.03) 93%, rgba(56,48,38,0) 100%);
  background: linear-gradient(0deg, rgba(56,48,38,1) 0%, rgba(56,48,38,0.98) 5%, rgba(56,48,38,0.5) 57%, rgba(56,48,38,0.1) 85%, rgba(56,48,38,0.03) 93%, rgba(56,48,38,0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#383026",endColorstr="#383026",GradientType=1);
  mix-blend-mode: multiply;
}
#product-drilldown main footer:after {
  background: none;
}
.main-footer-text span {
  display: block;
}
.main-footer-text  p a {
  box-shadow: inset 0 -0.05em 0 #ffffff6b;
}
main footer ul, main footer p .footer-list-item {
  list-style-type: none;
  font-family: 'Gelion', sans-serif;
  font-weight: normal;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.085rem;
}
main footer p .footer-list-item {
  line-height: 1.5em;
}
main footer p .footer-list-item a {
  box-shadow: inherit; /* overrides normal in-paragraph link styling */
}
h3.main-footer-title.ui.header {
	font-size: 2rem;
	font-family: 'Gelion', sans-serif;
	font-weight: normal;
	text-shadow: 1px 1px 4px rgba(56,48,38,0.25);
}
main footer p .footer-list-desc {
  font-family: Candide, serif;
	font-weight: normal;
	font-style: italic;
	line-height: 1.4em;
	hyphens: none;
	padding-top: .5em;
}
main footer p .footer-list-desc::before {
  content: "";
  display: block;
  margin: 0;
  width: 10%;
  padding-bottom: .5em;
  border-top: 1px solid #fff;
}
.main-footer-copyright {
  color: #d7d7d7;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.095rem;
  font-family: 'Gelion', sans-serif;
  font-size: 0.55rem; /* same size as desktop quick footer */
  line-height: 1.4em; /* makes line-height relative to small font size */
  margin: 2.5rem 0 0; /* makes room for H icon */
  padding-bottom: 2rem;
}
.main-footer-copyright:after {
  content: "";
	position: absolute;
	background: url(../images/icon.svg);
  opacity: 0.75;
	background-repeat: no-repeat;
	height: 1.25rem;
	width: 1.25rem;
	top: -2rem;
	right: calc( 50% - 0.625rem );
}
@media only screen
  and (min-width: 835px) {
    main footer {
      padding-top: 3rem;
      padding-bottom: 1rem;
      padding-right: 0;
      padding-left: 0;
  }
  main footer .main-footer-right {
    text-align: right;
  }
  .main-footer-right li {
    margin-bottom: .75rem;
    position: relative;
  }
  .main-footer-right li:nth-child(n+2):after {
  	content: "";
  	position: absolute;
  	right: 0;
  	top: -0.5rem;
  	width: 10%;
  	border-top: 1px solid #fff;
  }
  main footer ul, main footer p .footer-list-item {
    font-weight: bold;
  }
  .main-footer-copyright {
    padding-bottom: 1rem;
  }
}

/* ---------------------
   global forms
   --------------------- */

input, select, textarea, button { /* removing Safari's inner shadow */
  -webkit-appearance: caret !important;
}
.v65-form label {
  font-family: 'Gelion', sans-serif;
  margin-bottom: 0.25em;
  margin-top: 0.5rem;
}
#v65-loginForm input[type=checkbox] {
  margin-left: 0;
}
input:-webkit-autofill,
input:autofill,
input:-internal-autofill-selected,
input:-webkit-internal-autofill-selected {
  background-color: rgb(209, 226, 221) !important;
}
form fieldset .red {
  margin-left: -15px;
  padding-right: 3px;
  font-size: xx-large;
  vertical-align: text-top;
}
.v65-form, .v65-customForm {
  width: 100% !important;
}
.v65-form fieldset {
  border: none;
  padding-right: 0;
  padding-left: 0;
}
#v65-LoginFormWrapper fieldset {
  border: none;
}
.v65-form input[type=text], .v65-form input[type=password], .v65-form input[type=username] {
  width: 100% !important; /* !important overrides v65 inline styling */
}
.v65-form legend {
  padding: 0;
	font-family: 'Candide', serif;
	font-weight: normal;
	font-size: 1.5rem;
	color: #2d4051;
	margin-bottom: 0.25rem;
	letter-spacing: -.01em;
}
.v65-form fieldset div {
  padding-left: 0;
	padding-top: 0.25rem;
}
.v65-form textarea, .v65-form select {
  -webkit-appearance: caret !important;
  font-family: 'Gelion', sans-serif;
  padding: 10px 8px;
  width: 100%;
}
.v65-form button[type=submit] {
  margin-top: 0.5rem;
}
.v65-form input[type=checkbox] {
  vertical-align: text-top;
}
@media only screen
  and (min-width: 835px) {
    :focus {
      outline: #c8dfd575 !important;
      position: relative; /* req'd for arrow icon */
      /*border-color: #c8dfd575;*/
      box-shadow: 0 0 5px #c8dfd5;
      background: transparent;
      border-radius: 0;
    }
    img:focus {
      outline: #c8dfd575 !important;
      position: relative; /* req'd for arrow icon */
      /*border-color: #c8dfd575;*/
      box-shadow: none !important;
      background: transparent;
      border-radius: 0;
    }
  }

/* add arrow to select dropdown elements */
.select-wrapper {
  display: inline;
  position: relative;
}
.select-wrapper:after {
  content: "\f078";
  display: none; /* req'd bc using Font Awesome JS script already inserts pseudo element,
                    see: https://fontawesome.com/how-to-use/on-the-web/advanced/css-pseudo-elements#with-svg-js */
	position: absolute;
  bottom: 0;
	right: 0.25em;
	z-index: 1;
	font-family: "Font Awesome 5 Pro";
	font-weight: 300;
  font-size: 1em;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

/* select dropdowns */
select {
  font-family: 'Gelion-Thin', sans-serif;
  font-size: 1.5rem;
  height: 2rem;
  line-height: 2rem;
  background: transparent;
  outline: none;
  border: none;
}

/* ---------------------
   popup mobile navigation menu
   --------------------- */

#mobile-plus-menu {
  position: absolute;
  bottom: 65px;
  width: 100%;
  pointer-events: none;
}
#mobile-plus-menu .v65-home {
  display: none;
}
#mobile-plus-menu .menu-content {
  width: 100%;
  height: calc(100% - 65px);
  font-family: 'Gelion', sans-serif;
  font-size: 0.5em;
  letter-spacing: 0.075rem;
  overflow: hidden;
}
#mobile-plus-menu button {
  position: fixed;
  pointer-events: auto;
  margin: auto;
  left: 0;
  bottom: 45px;
  right: 0;
  width: 100px;
  height: 35px;
  padding: 0;
  font-weight: bold;
  font-size: 0.75rem;
  color: #fff;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  z-index: 10;
  overflow: hidden;
  transition: 0.7s cubic-bezier(1, 0, 1, 0);
  -o-transition: 0.7s cubic-bezier(1, 0, 1, 0);
  -ms-transition: 0.7s cubic-bezier(1, 0, 1, 0);
  -moz-transition: 0.7s cubic-bezier(1, 0, 1, 0);
  -webkit-transition: 0.7s cubic-bezier(1, 0, 1, 0);
}
#mobile-plus-menu button.on {
  transition: 0.1s linear;
  -o-transition: 0.1s linear;
  -ms-transition: 0.1s linear;
  -moz-transition: 0.1s linear;
  -webkit-transition: 0.1s linear;
}
#mobile-plus-menu button span {
  display: block;
  width: 30px;
  background: #41382c;
  border-radius: 30px;
  margin: 0 auto;
  line-height: 30px;
  height: 30px; /* height must be explicitly stated or will be overriden by v65-injected styling */
  transition: 1s cubic-bezier(1, 0.02, 0.7, 0);
  -o-transition: 1s cubic-bezier(1, 0.02, 0.7, 0);
  -ms-transition: 1s cubic-bezier(1, 0.02, 0.7, 0);
  -moz-transition: 1s cubic-bezier(1, 0.02, 0.7, 0);
  -webkit-transition: 1s cubic-bezier(1, 0.02, 0.7, 0);
  /* overriding annoying v65 injected styling */
  font-size: inherit;
  text-align: inherit;
  padding: inherit;
  text-align: inherit;
  white-space: inherit;
}
#mobile-plus-menu button span.close {
  font-size: 1.3em;
  visibility: hidden;
}
#mobile-plus-menu button span.open {
  font-size: 1.3em;
  -webkit-box-shadow: 0 2px 2px rgba(31, 27, 21, 0.3);
  -moz-box-shadow: 0 2px 2px rgba(31, 27, 21, 0.3);
  box-shadow: 0 2px 2px rgba(31, 27, 21, 0.3);
}
#mobile-plus-menu button.on span.open {
  transform: translateY(-30px);
  -o-transform: translateY(-30px);
  -ms-transform: translateY(-30px);
  -moz-transform: translateY(-30px);
  -webkit-transform: translateY(-30px);
  transition: 0.1s linear;
  -o-transition: 0.1s linear;
  -ms-transition: 0.1s linear;
  -moz-transition: 0.1s linear;
  -webkit-transition: 0.1s linear;
}
#mobile-plus-menu button.on span.close {
  transform: translateY(-30px);
  -o-transform: translateY(-30px);
  -ms-transform: translateY(-30px);
  -moz-transform: translateY(-30px);
  -webkit-transform: translateY(-30px);
  transition: 0.1s linear;
  -o-transition: 0.1s linear;
  -ms-transition: 0.1s linear;
  -moz-transition: 0.1s linear;
  -webkit-transition: 0.1s linear;
  background: #fff;
  color: #41382c;
  visibility: visible;
}
#mobile-plus-menu ul {
  width: 100%;
  height: 100%;
  pointer-events: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  background: rgb(65, 56, 44);
  background: -moz-linear-gradient(
    0deg,
    rgba(65, 56, 44, 1) 20%,
    rgba(46, 64, 82, 1) 100%
  );
  background: -webkit-linear-gradient(
    0deg,
    rgba(65, 56, 44, 1) 20%,
    rgba(46, 64, 82, 1) 100%
  );
  background: linear-gradient(
    0deg,
    rgba(65, 56, 44, 1) 20%,
    rgba(46, 64, 82, 1) 100%
  );
  filter: progid:dximagetransform.microsoft.gradient(startColorstr="#41382c",endColorstr="#2e4052",GradientType=1);
  transform: translateY(100%);
  -o-transform: translateY(100%);
  -ms-transform: translateY(100%);
  -moz-transform: translateY(100%);
  -webkit-transform: translateY(100%);
  transition: 1s cubic-bezier(0.8, 0, 1, 0.5);
  -o-transition: 1s cubic-bezier(0.8, 0, 1, 0.5);
  -ms-transition: 1s cubic-bezier(0.8, 0, 1, 0.5);
  -moz-transition: 1s cubic-bezier(0.8, 0, 1, 0.5);
  -webkit-transition: 1s cubic-bezier(0.8, 0, 1, 0.5);
}
#mobile-plus-menu ul.on {
  transform: translateY(0);
  -o-transform: translateY(0);
  -ms-transform: translateY(0);
  -moz-transform: translateY(0);
  -webkit-transform: translateY(0);
  transition: 1s cubic-bezier(0.2, 1, 0.5, 1);
  -o-transition: 1s cubic-bezier(0.2, 1, 0.5, 1);
  -ms-transition: 1s cubic-bezier(0.2, 1, 0.5, 1);
  -moz-transition: 1s cubic-bezier(0.2, 1, 0.5, 1);
  -webkit-transition: 1s cubic-bezier(0.2, 1, 0.5, 1);
}
#mobile-plus-menu li {
  width: 50%;
  display: inline-block;
  border-bottom: 1px rgba(255, 255, 255, 0.2) solid;
}

/* force inline-block li elements to align two to a row, see issues discussed: https://stackoverflow.com/questions/5078239/how-do-i-remove-the-space-between-inline-block-elements */
#mobile-plus-menu li:nth-child(odd) {
  /* must be odd, though unintuitive, bc home link is hidden by display:none, so right column is odd
     columns look like:
     2 | 3
     4 | 5
     6 | 7 etc */
  margin-left: -5px;
}
#mobile-plus-menu li:nth-child(even) {
  /* see note above on #mobile-plus-menu li:nth-child(odd) */
  border-right: 1px rgba(255, 255, 255, 0.2) solid;
}
#mobile-plus-menu a,
#mobile-plus-menu a:active,
#mobile-plus-menu a:visited {
  display: block;
  width: 100%;
  padding: 15% 0;
  color: #fff;
  text-decoration: none;
  outline: none;
}
#mobile-plus-menu li a {
  font-weight: bold;
  font-size: 0.75rem;
  text-transform: uppercase;
  text-align: center;
}
#mobile-plus-menu a:hover {
  box-shadow: 0 0 0 3px #fff;
  transition: 0.1s linear;
  -o-transition: 0.1s linear;
  -ms-transition: 0.1s linear;
  -moz-transition: 0.1s linear;
  -webkit-transition: 0.1s linear;
}
#mobile-plus-menu a:focus,
#mobile-plus-menu button:focus {
  outline: none;
  border: none;
  border-radius: initial;
  box-shadow: none;
}

/* ---------------------
   static icon mobile navigation menu
   --------------------- */

#mobile-menu {
  position: fixed;
  bottom: 0;
  width: 100%;
}
#mobile-thumb-menu {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 65px;
}
#mobile-thumb-menu .menu-content {
  width: 100%;
  height: 100%;
  line-height: 65px;
  color: #e8e8e8;
  background: #41382c;
  font-size: 1.5rem;
  overflow: hidden;
  padding: 0 1.25rem;
}
#mobile-thumb-menu ul {
  width: 100%;
  height: 65px; /* must be same height as mobile-thumb-menu */
  line-height: 75px; /* slightly off of height to place content lower/correctly */
  list-style: none;
  text-align: justify;
}
#mobile-thumb-menu .menu-content ul a {
  overflow: visible;
	height: 65px;
	display: inline-block;
	width: calc((100% / 5) - 2%);
}
#mobile-thumb-menu li {
  text-align: center;
}
#mobile-thumb-menu li.justify {
  display: inline-block;
  width: 100%;
}
#mobile-thumb-menu li span {
  margin: auto;
  padding-left: .5rem;
  vertical-align: bottom;
}
#mobile-thumb-menu li span svg {
	height: 2rem;
  padding: .15rem 0;
	vertical-align: sub;
}
#mobile-thumb-menu a:hover {
  color: #0a0a09;
}
#mobile-thumb-menu svg:hover {
  fill: #0a0a09;
}

/* ---------------------
   all mobile menus -- responsive visibility
   --------------------- */

/* show mobile and icon menus on browsers less than or equal to 834px */
@media only screen
  and (min-width: 835px) {
    #mobile-menu {
      display: none;
  }
}

/* unless those browsers are on an iPad Pro in portrait mode... */
@media only screen
  and (min-device-width: 1024px)
  and (max-device-width: 1024px)
  and (orientation: portrait)
  and (-webkit-min-device-pixel-ratio: 2) {
    #mobile-menu {
      display: initial;
    }
  }

/* or a Kindle Fire HD in portrait mode... */
@media only screen
  and (min-device-width: 1200px)
  and (max-device-width: 1600px)
  and (-webkit-min-device-pixel-ratio: 1.5)
  and (orientation: portrait) {
    #mobile-menu {
      display: initial;
  }
}

/* or a Nexus, etc., tablet in portrait mode */
@media screen
  and (device-width: 1536px)
  and (device-height: 2048px)
  and (-webkit-min-device-pixel-ratio: 1.331)
  and (-webkit-max-device-pixel-ratio: 1.332)
  and (orientation: portrait) {
    #mobile-menu {
      display: initial;
  }
}

/* ---------------------
   desktop main menu
   --------------------- */

#desktop-menu .menu {
  margin-bottom: 1.25rem; /* creates room for desktop footer */
  background: rgb(65,56,44);
  background: -moz-linear-gradient(90deg, rgba(65,56,44,1) 5%, rgba(46,64,82,1) 95%);
  background: -webkit-linear-gradient(90deg, rgba(65,56,44,1) 5%, rgba(46,64,82,1) 95%);
  background: linear-gradient(90deg, rgba(65,56,44,1) 5%, rgba(46,64,82,1) 95%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#41382c",endColorstr="#2e4052",GradientType=1);
  -webkit-transition: 250ms ease-out;
  -moz-transition: 250ms ease-out;
  -o-transition: 250ms ease-out;
  transition: 250ms ease-out;
}
#desktop-menu .menu:hover,
#desktop-menu .menu:active,
#desktop-menu .menu:focus {
  -webkit-transition: 250ms ease-out;
  -moz-transition: 250ms ease-out;
  -o-transition: 250ms ease-out;
  transition: 250ms ease-out;
}
#desktop-menu .menu .v65-home { /* don't show home link in menu, it's redundant */
  display: none;
}
#desktop-menu .menu-content > ul > li {
  cursor: pointer;
  font-size: 0.75rem;
  color: #eaeaea;
  text-transform: uppercase;
  letter-spacing: 0.075rem;
  -webkit-transition: all 200ms ease-out;
  -moz-transition: all 200ms ease-out;
  -o-transition: all 200ms ease-out;
  transition: all 200ms ease-out;
}
#desktop-menu .menu-content > ul > li:hover > a,
#desktop-menu .menu-content > ul > li:active > a,
#desktop-menu .menu-content > ul > li:focus > a {
  color: #ffffff;
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}
#desktop-menu .menu-content > ul > li:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  text-shadow: none;
  background-image: radial-gradient(circle, rgba(200,223,213,0.34825805322128855) 0%, rgba(187,210,202,0) 100%);
  -webkit-transition: all 600ms ease-out;
  -moz-transition: all 600ms ease-out;
  -o-transition: all 600ms ease-out;
  transition: all 600ms ease-out;
}
#desktop-menu .menu-content > ul > li:hover:after,
#desktop-menu .menu-content > ul > li:active:after,
#desktop-menu .menu-content > ul > li:focus:after {
  content: "";
  opacity: 1;
  background-image: radial-gradient(circle, rgba(200,223,213,0.34825805322128855) 0%, rgba(187,210,202,0) 100%);
  -webkit-transition: all 600ms ease-out;
  -moz-transition: all 600ms ease-out;
  -o-transition: all 600ms ease-out;
  transition: all 600ms ease-out;
}
#desktop-menu .menu-content > ul:hover li a {
  color: #eaeaea;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
  mix-blend-mode: normal;
  opacity: 0.9;
}
#desktop-menu .menu-content > ul li:hover a {
  color: #ffffff;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
  mix-blend-mode: normal;
}

/* ---------------------
  desktop main menu -- responsive visibility
  --------------------- */

/* show desktop menu on browsers greater than or equal to 835px */
@media only screen
  and (max-width: 834px) {
    #desktop-menu {
      display: none;
  }
}

/* do not show on iPad Pro in portrait mode... */
@media only screen
  and (min-device-width: 1024px)
  and (max-device-width: 1024px)
  and (orientation: portrait)
  and (-webkit-min-device-pixel-ratio: 2) {
    #desktop-menu {
      display: none;
  }
}

/* or a Kindle Fire HD in portrait mode... */
@media only screen
  and (min-device-width: 1200px)
  and (max-device-width: 1600px)
  and (-webkit-min-device-pixel-ratio: 1.5)
  and (orientation: portrait) {
    #desktop-menu {
      display: none;
  }
}

/* or a Nexus, etc., tablet in portrait mode */
@media screen
  and (device-width: 1536px)
  and (device-height: 2048px)
  and (-webkit-min-device-pixel-ratio: 1.331)
  and (-webkit-max-device-pixel-ratio: 1.332)
  and (orientation: portrait) {
    #desktop-menu {
      display: none;
  }
}

/* ---------------------
   desktop footer
   --------------------- */

#desktop-footer .footer-content {
  height: 1.4rem;
  background: #202a33;
  color: #d7d7d7;
}
#desktop-footer .ui.menu {
  font-size: .55rem; /* same size as copyright in global footer */
  min-height: 1.5rem;
  border: none;
}

/* do not combine with rule above; will not work */
#desktop-footer .footer-content .ui.menu {
  background: transparent;
}
#desktop-footer .item {
  height: 100%;
}
#desktop-footer li {
  list-style: none;
  transition: .35s;
  width: 100%; /* req'd to center close text in social link */
}
#desktop-footer .footer-menu-outer li:hover {
  background: #c8dfd5;
  transition: .35s;
}
#desktop-footer .footer-menu-outer li:hover a {
  color: #202a33;
}
#desktop-footer .footer-content a {
  color: #d7d7d7;
  text-transform: uppercase;
  letter-spacing: 0.095rem;
  font-family: 'Gelion', sans-serif;
  font-weight: bold;
}
#desktop-footer .footer-content a:focus {
  box-shadow: none !important;
}

/* vertically aligning footer icons */
#desktop-footer a svg {
	margin-top: -.1rem;
}

/* styling social link */
#desktop-footer .social-icons {
  background: #182027;
  min-width: 140px;
}
#desktop-footer .social-icons.active { /* style while overlay is active */
  background: #c1d1cc;
}
#desktop-footer .social-icons.active a { /* style while overlay is active */
  color: #202a33;
  font-weight: bold;
}

/* social link fullscreen menu toggle button */
.social-button_container {
  position: fixed;
  cursor: pointer;
  z-index: 100;
  transition: opacity .25s ease;
}

/* social button close toggle */
#social-toggle .social-default {
	display: none;
}
#social-toggle.social-active .social-default {
	display: inline;
}
#social-toggle.social-active .social-close {
	display: none;
}
.social-close {
  margin: auto;
}
.social-close svg { /* close icon */
	margin-right: .75em;
}

/* social link fullscreen menu overlay */
.social-overlay {
  position: fixed;
  background: rgb(206,224,217);
  background: -moz-linear-gradient(302deg, rgba(206,224,217,1) 0%, rgba(34,46,57,1) 100%);
  background: -webkit-linear-gradient(302deg, rgba(206,224,217,1) 0%, rgba(34,46,57,1) 100%);
  background: linear-gradient(302deg, rgba(206,224,217,1) 0%, rgba(34,46,57,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#cee0d9",endColorstr="#222e39",GradientType=1);
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s, visibility .35s, height .35s;
  overflow: hidden;
}
.social-overlay.social-open {
  opacity: .98;
  visibility: visible;
  height: 100%;
  z-index: 5; /* prevents conflict with destinations boxes on homepage */
}
.social-overlay.social-open li {
  -webkit-animation: fadeInBottom .5s ease forwards;
          animation: fadeInBottom .5s ease forwards;
  -webkit-animation-delay: .35s;
          animation-delay: .35s;
}
.social-overlay nav {
  position: relative;
  height: 50%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-family: 'Candide', serif;
  font-size: 3.5rem;
  text-align: center;
}
.social-overlay ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: inline-block;
  position: relative;
  height: 100%;
}
.social-overlay ul li {
  display: block;
  height: 25%;
  height: calc(100% / 5);
  min-height: 50px;
  position: relative;
  opacity: 0;
}
.social-overlay ul li a {
  display: block;
  position: relative;
  color: #FFF;
  text-decoration: none;
  overflow: hidden;
}
.social-overlay ul li a:hover:after, .social-overlay ul li a:focus:after, .social-overlay ul li a:social-active:after {
  width: 100%;
}
.social-overlay ul li a:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 3px;
  background: #FFF;
  transition: .35s;
}
@-webkit-keyframes fadeInBottom {
  0% {
    opacity: 0;
    top: 20%;
  }
  100% {
    opacity: 1;
    top: 0;
  }
}
@keyframes fadeInBottom {
  0% {
    opacity: 0;
    top: 20%;
  }
  100% {
    opacity: 1;
    top: 0;
  }
}

.social-overlay ul li a::after {
  --scale: 0;
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 3px;
  background: #1b4652;
  -webkit-transform: scaleX(var(--scale));
          transform: scaleX(var(--scale));
  -webkit-transform-origin: var(--x) 50%;
          transform-origin: var(--x) 50%;
  transition: -webkit-transform 0.3s cubic-bezier(27, 70, 82, 1);
  transition: transform 0.3s cubic-bezier(27, 70, 82, 1);
  transition: transform 0.3s cubic-bezier(27, 70, 82, 1), -webkit-transform 0.3s cubic-bezier(27, 70, 82, 1);
}
.social-overlay ul li a:hover {
  color: #1b4652;
}
.social-overlay ul li a:hover::after {
  --scale: 1;
}

/* ---------------------
  desktop footer menu -- responsive visibility
  --------------------- */

/* show desktop menu on browsers greater than or equal to 835px */
@media only screen
  and (max-width: 834px) {
    #desktop-footer {
      display: none;
  }
}

/* do not show on iPad Pro in portrait mode... */
@media only screen
  and (min-device-width: 1024px)
  and (max-device-width: 1024px)
  and (orientation: portrait)
  and (-webkit-min-device-pixel-ratio: 2) {
    #desktop-footer {
      display: none;
  }
}

/* or a Kindle Fire HD in portrait mode... */
@media only screen
  and (min-device-width: 1200px)
  and (max-device-width: 1600px)
  and (-webkit-min-device-pixel-ratio: 1.5)
  and (orientation: portrait) {
    #desktop-footer {
      display: none;
  }
}

/* or a Nexus, etc., tablet in portrait mode */
@media screen
  and (device-width: 1536px)
  and (device-height: 2048px)
  and (-webkit-min-device-pixel-ratio: 1.331)
  and (-webkit-max-device-pixel-ratio: 1.332)
  and (orientation: portrait) {
    #desktop-footer {
      display: none;
  }
}

/* ---------------------
   top member bar
   --------------------- */

#member-bar {
  position: fixed;
  width: 100%;
  height: 2.5rem;
  line-height: 2.5rem;
  z-index: 1;
}
.login-bar {
  background: rgba(241, 241, 241, .15);
  box-shadow: none;
  border-bottom: 1px rgba(255, 255, 255, 0.95) solid;
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}
.login-bar.darken {
  background: rgba(241, 241, 241, 1);
  box-shadow: 0 16px 38px rgba(0,0,0,.12), 0 2px 2px rgba(0,0,0,.12);
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}
.login-announcement {
  font-family: 'Gelion', sans-serif;
  font-weight: normal;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.085rem;
}
.login-announcement svg {
  margin: 0 0.5rem;
}
.login-section {
  display: inline-block;
  width: calc((100% / 2) - 0.75%);
}
.home-link {
  display: none; /* desktop only */
}
.login-section:last-child {
  text-align: right;
}

/* hide member "Your Account" duplicate login link */
.login-section .v65-yourAccount {
  visibility: hidden;
}

/* website overlay on login bar hover */
#login-overlay.overlay-off {
  display: none;
}
.login-section .v65-modalLoginLink.active {
  color: #eaeaea;
}

/* top member bar responsive adjustments for browsers greater than or equal to 835px */
@media only screen
  and (min-width: 835px) {
  .login-bar {
    background: rgba(241, 241, 241, 0.2);
    border-bottom: 1px rgba(255, 255, 255, 0.95) solid;
    -webkit-transition: all 300ms ease-out;
  	-moz-transition: all 300ms ease-out;
  	-o-transition: all 300ms ease-out;
  	transition: all 300ms ease-out;
  }
  .login-bar.darken {
    background: rgba(241, 241, 241, 0.65);
    box-shadow: none;
    -webkit-transition: all 300ms ease-out;
  	-moz-transition: all 300ms ease-out;
  	-o-transition: all 300ms ease-out;
  	transition: all 300ms ease-out;
  }
  .login-section {
    width: auto;
  }
  .login-section:hover .v65-editProfile {
    color: #eaeaea;
  }
  .login-section:nth-child(2) { /* 2nd child to avoid targeting the home link icon */
    cursor: pointer;
    background-color: #2d4052;
    color: #eaeaea;
    padding-left: 0.25rem;
    padding-right: 0.35rem;
    margin-left: -0.25rem;
  }
  .login-section:first-child:hover a {
    color: #ffffff;
  }
  .login-section .v65-yourAccount {
    display: none;
  }
  .login-section .logout-text {
    opacity: 0;
  	-webkit-transition: all 300ms ease-out;
  	-moz-transition: all 300ms ease-out;
  	-o-transition: all 300ms ease-out;
  	transition: all 300ms ease-out;
  }
  .login-section .v65-logout:hover .logout-text {
    opacity: 1;
  	-webkit-transition: all 300ms ease-out;
  	-moz-transition: all 300ms ease-out;
  	-o-transition: all 300ms ease-out;
  	transition: all 300ms ease-out;
  }
  /* desktop home link icon */
  .home-link {
    display: inline-block;
  }
  .home-icon-box {
    background-color: #202a32;
    max-height: 44px; /* equal to height of member bar */
    width: 3rem; /* equal to width of icon + icon padding */
    -webkit-transition: all 500ms ease-out;
    -moz-transition: all 500ms ease-out;
    -o-transition: all 500ms ease-out;
    transition: all 500ms ease-out;
  }
  .home-icon {
    position: relative;
    padding: 0 1rem;
    text-align: left;
  }
  .home-icon img.H {
    width: 1rem;
    height: auto;
    vertical-align: sub;
  }
  .home-icon-box:hover, .home-icon-box:focus {
    width: 22rem; /* width of H icon + EARST RANCH WINERY */
    -webkit-transition: all 500ms ease-out;
    -moz-transition: all 500ms ease-out;
    -o-transition: all 500ms ease-out;
    transition: all 500ms ease-out;
  }
  .home-icon-box .home-icon:after {
    content: "";
    position: absolute;
    top: 0.85rem;
    left: 2.38rem;
    height: 0.745rem;
    width: 20rem;
    background: url(/assets/images/icon-extend.svg);
    background-repeat: no-repeat;
    opacity: 0;
    pointer-events: none;
    z-index: -1;
    -webkit-transition: all 400ms ease-out;
    -moz-transition: all 400ms ease-out;
    -o-transition: all 400ms ease-out;
    transition: all 400ms ease-out;
  }
  .home-icon-box:hover .home-icon:after, .home-icon-box:focus .home-icon:after {
    opacity: 0.9;
    pointer-events: auto;
    z-index: auto;
    -webkit-transition: all 400ms ease-out;
    -moz-transition: all 400ms ease-out;
    -o-transition: all 400ms ease-out;
    transition: all 400ms ease-out;
  }
}

/* removing v65 injected styling */
.v65-login, .v65-logout {
  cursor: pointer;
  display: inherit;
	line-height: inherit;
	margin-top: inherit;
	width: inherit;
}
.v65-yourAccount, .v65-editProfile {
  line-height: 1em;
  border-right: inherit;
	display: inherit;
	text-align: inherit;
	height: inherit;
	margin-top: inherit;
	margin-right: inherit;
	padding-right: inherit;
	width: inherit;
}
@media only screen
  and (max-width: 580px) {
    .v65-login, .v65-logout {
      border-right: inherit;
      float: inherit;
      height: inherit;
      line-height: inherit;
      margin-top: inherit;
      position: inherit;
      text-align: inherit;
      width: 100%; /* req'd or the menu once logged-in on mobile breaks */
      z-index: inherit;
      -webkit-box-sizing: inherit;
      box-sizing: inherit;
    }
    .v65-yourAccount, .v65-editProfile {
      line-height: 1em;
      float: inherit;
    	height: inherit;
    	margin: inherit;
    	padding: inherit;
    	position: inherit;
    	text-align: inherit;
    	width: 100%; /* req'd or the menu once logged-in on mobile breaks */
    	z-index: inherit;
    	-webkit-box-sizing: inherit;
    	box-sizing: inherit;
  }
}

/* ---------------------
   member login modal
   --------------------- */

#v65-modalViel {
  background: rgb(206,224,217);
  background: -moz-linear-gradient(302deg, rgba(206,224,217,1) 0%, rgba(34,46,57,1) 100%);
  background: -webkit-linear-gradient(302deg, rgba(206,224,217,1) 0%, rgba(34,46,57,1) 100%);
  background: linear-gradient(302deg, rgba(206,224,217,1) 0%, rgba(34,46,57,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#cee0d9",endColorstr="#222e39",GradientType=1);
  opacity: 0.97;
}
#v65-modalContentWrapper {
  border: none;
  background-color: transparent;
}
#v65-modalContentHeader {
  background-color: transparent;
  padding: 0;
}
#v65-modalContentWrapper .v65-form fieldset {
  border: none;
}
#v65-modalContentWrapper .v65-form legend {
  color: #eaeaea;
  font-family: 'Gelion-Thin', sans-serif;
  font-size: 5rem;
  font-weight: normal;
  line-height: 1.05em;
  letter-spacing: -0.035em;
  text-transform: capitalize;
}
#v65-modalContent #v65-loginForm.v65-form fieldset {
  color: #f1f1f1;
}
#v65-modalContent #v65-loginForm.v65-form {
  width: 100%;
}
#v65-modalContent #v65-loginForm.v65-form legend {
  margin-bottom: 2rem;
}
#v65-modalContent #v65-loginForm.v65-form input[type=text],
#v65-modalContent #v65-loginForm.v65-form input[type=password],
#v65-modalContent #v65-loginForm.v65-form input[type=username] {
  width: 100% !important;
}
#v65-modalContent #v65-loginForm.v65-form button[type=submit] {
  width: 100%;
}
#v65-modalContent > p:nth-child(3), #v65-modalContent > p:nth-child(4), #v65-modalContent > p:nth-child(5) {
  background: #f1f1f1;
  margin-top: 0;
  margin-bottom: 0;
}
#v65-modalContent > p:nth-child(3), #v65-modalContent > p:nth-child(5) {
  padding: 1em 1em 0;
}
#v65-modalContent > p:nth-child(4) {
  padding: 0.5em 1em;
}
#v65-modalContent > p:nth-child(5) {
  padding: 0 1em 1em;
}
.member-overlay-copy {
  font-size: 1.3em;
  hyphens: none;
}
@media only screen
  and (min-width: 835px) {
    #v65-modalContentHeader {
      position: fixed;
      top: -1px; /* compensates for browser weirdness */
      right: 1rem;
      padding: 0;
      /* must match dimensions of '#v65-modalContentHeader a' */
      height: 3.75rem;
      line-height: 3.75rem;
      width: 4rem;
    }
    #v65-modalContentHeader a {
      height: 3.75rem;
      line-height: 3.75rem;
      width: 4rem;
    }
  }

/* ---------------------
   member template
   --------------------- */

.member-tools-menu {
  background: #202a33;
  color: #e8e8e8;
  font-family: 'Gelion', sans-serif;
  position: fixed;
}
.member-tools-menu li {
  display: inline-block;
  text-align: center;
  cursor: pointer;
  border-left: 1px solid #636363;
  vertical-align: text-bottom;
  background-color: transparent;
  -webkit-text-stroke: 0.25px;
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}
.member-tools-menu li:hover, .member-tools-menu li:focus {
  color: #fff;
  background-color: #2d4052;
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}
.member-tools-menu li:before { /* vertically centers contents */
	content: '';
	display: inline-block;
	vertical-align: middle;
}
.member-tools-menu li span {
  display: block;
}
.member-tools-menu li a {
  color: #b8c4ce;
}
@media only screen
  and (min-width: 1060px) {
    .member-tools-menu {
      height: 3.75rem;
      top: 0;
    	right: 5rem; /* width of cart icon box + its right padding */
    	z-index: 2;
      -webkit-transition: all 300ms ease-out;
      -moz-transition: all 300ms ease-out;
      -o-transition: all 300ms ease-out;
      transition: all 300ms ease-out;
    }
    .member-tools-menu li {
      width: 5rem;
    	height: 3.75rem;
    	font-size: 0.7rem;
    	line-height: 0.7rem;
      margin-right: -3px;
      -webkit-transition: all 300ms ease-out;
      -moz-transition: all 300ms ease-out;
      -o-transition: all 300ms ease-out;
      transition: all 300ms ease-out;
    }
    .member-tools-menu li:last-of-type {
    	margin-right: 0;
    }
    .member-tools-menu li span {
      padding-bottom: 0.35rem;
    }
    /* scrolling animation to match cart button */
    .member-tools-menu.shrink {
      height: 3.15rem;
      right: 4.15rem;
      -webkit-transition: all 300ms ease-out;
      -moz-transition: all 300ms ease-out;
      -o-transition: all 300ms ease-out;
      transition: all 300ms ease-out;
    }
    .member-tools-menu.shrink li {
      height: 3.15rem;
      line-height: 0.6rem;
      -webkit-transition: all 300ms ease-out;
      -moz-transition: all 300ms ease-out;
      -o-transition: all 300ms ease-out;
      transition: all 300ms ease-out;
    }
  }
@media only screen
  and (min-width: 835px) and (max-width: 1059px) {
    .member-tools-menu {
      height: 2.5rem;
      top: 0;
    	right: 5rem; /* width of cart icon box + its right padding */
    	z-index: 2;
      -webkit-transition: all 300ms ease-out;
      -moz-transition: all 300ms ease-out;
      -o-transition: all 300ms ease-out;
      transition: all 300ms ease-out;
    }
    .member-tools-menu li {
    	background-color: #202a33;
      width: 3rem;
    	height: 2.5rem;
    	font-size: 0.7rem;
    	line-height: 0.7rem;
      margin-right: -3px;
      position: relative;
    }
    .member-tools-menu li:last-of-type {
    	margin-right: 0;
    }
    .member-tools-menu li a {
      opacity: 0;
      position: absolute;
    	margin-top: 1rem;
    	left: 0;
    	color: #202a33;
      -webkit-transition: all 250ms ease-out;
      -moz-transition: all 250ms ease-out;
      -o-transition: all 250ms ease-out;
      transition: all 250ms ease-out;
    }
    .member-tools-menu li:hover a, .member-tools-menu li:focus a {
      opacity: 1;
      -webkit-transition: all 250ms ease-out;
      -moz-transition: all 250ms ease-out;
      -o-transition: all 250ms ease-out;
      transition: all 250ms ease-out;
    }
    .member-tools-menu li span {
      padding-bottom: 0.35rem;
    }
    .member-tools-menu.shrink {
      right: 4.15rem;
      -webkit-transition: all 250ms ease-out;
      -moz-transition: all 250ms ease-out;
      -o-transition: all 250ms ease-out;
      transition: all 250ms ease-out;
    }
  }
  @media only screen
    and (max-width: 834px) {
      .member-tools-menu {
      	position: fixed;
      	top: calc( 2.5rem + 1px );
        left: 0;
        width: calc( 100% - 2.5rem );
        height: 2.25rem;
      }
      .member-tools-menu ul {
        width: 100%;
        height: 100%;
        display: inline-flexbox; /* for IE */
        -ms-display: flex;
        -moz-display: flex;
        -webkit-display: flex;
        display: flex;
      }
      .member-tools-menu li {
        background-color: #202a33;
        font-size: 0.7rem;
        line-height: 0.7rem;
        position: relative;
        -ms-flex: 1 1 0;
        -moz-flex: 1 1 0;
        -webkit-flex: 1 1 0;
        flex: 1 1 0;
      }
      .member-tools-menu li a {
        display: none;
      }
    }

/* member forms */
#member .page-content-main {
  margin: auto;
  width: 100%;
  max-width: 40rem;
  margin: auto;
}
#member .v65-form select {
  padding: 0 2px 0 0;
}
#member .page-content-main p,
#member .page-content-main h1,
#member .page-content-main h2,
#member .page-content-main h3 {
  max-width: 60rem;
  margin: auto;
}
#member .page-content-main table {
  max-width: 50rem;
  margin: auto;
}
#member #v65-memberOrders th:not(.orderDateRow) {
  background-color: transparent;
  padding: 1rem 3px 3px;
  font-family: 'Gelion', sans-serif;
  text-transform: uppercase;
}
#member #v65-memberFormWrapper form {
  width: 100%;
}
#v65-memberFormWrapper input[type=checkbox] {
  margin: 0.75em .3em 0 0;
}
#v65-memberFormWrapper fieldset {
  border: none;
}
#member .v65-form input[type=text],
#member .v65-form input[type=password],
#member .v65-form input[type=username] {
  width: 100%;
}
#member .v65-form input[type=text]:focus,
#member .v65-form input[type=password]:focus,
#member .v65-form input[type=username]:focus {
  background-color: #e2e1db;
}
#member input#Newsletter {
  margin-top: 0.35rem;
}
#v65-memberFormWrapper select {
  color: #202A33;
}
#v65-memberFormWrapper select[name=BirthMonth] {
  width: 20%;
  min-width: 100px;
}
#v65-memberFormWrapper .select-wrapper:after {
  background: #f1f1f1;
}
#member .select-wrapper {
  padding-bottom: 0.25rem;
  border-bottom: 2px solid #202A33;
}
#v65-fieldset-billingInfo {
  width: 100%;
}
#v65-fieldset-billingInfo div {
  font-family: 'Gelion', sans-serif;
  font-size: 1rem;
}
#v65-fieldset-billingInfo textarea#Notes {
  width: 100%;
  min-width: 280px;
  min-height: 100px;
}

/* user-choice wine club styling */
#member .page-content-main h1:first-of-type {
  display: none;
}
#member .page-content-main h1:only-of-type {
  display: block;
}
#v65-fieldset-choices legend {
  padding-top: 2rem;
  padding-bottom: 0.5rem;
  letter-spacing: normal;
  font-size: 2rem;
  border-bottom: 1px solid #dedbd7;
  width: 100%;
}
#member .v65-form fieldset div.v65-clubChoices-title,
#member .v65-clubChoices-title {
  font-size: 1rem;
  font-family: 'Gelion', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding-top: 0;
  width: 100%;
}
#member .page-content-main h3 {
  padding-top: 1rem;
  border-top: 1px solid #dedbd7;
}
#member .page-content-main h3 + p {
  font-size: 1.05rem;
  margin-bottom: 0.5rem;
}
#member .page-content-main p .error {
  display: block;
}
#member .page-content-main p a.linkBtn {
  min-width: 200px;
  margin: 0 0 1rem 0;
}
#member .page-content-main .v65-clubChoices-teaser p+p {
  margin-top: 0.5em;
}
#member .v65-memberClubDescription {
  margin-bottom: 1rem;
}

/* ---------------------
   modal cart
   --------------------- */

#cart {
  position: fixed;
  /* +1px on calc helps subtle border under member bar appear consistent across browser */
  top: calc( 2.5rem + 1px );
  right: 0;
  z-index: 100;
}
.cart-container {
  cursor: pointer;
  height: 2.25rem;
  line-height: 2.25rem;
  width: 2.5rem;
  overflow: hidden;
  background: #393b3b;
  color: #e8e8e8;
}
.cart-container:hover a {
  color: #ffffff;
}
.cart-container:before {
  opacity: 0;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  text-shadow: 0px 2px 2px rgba(65, 56, 44, 0.6);
  background-image: linear-gradient(333deg, rgba(200,223,213,0.3048406862745098) 0%, rgba(46,64,82,1) 100%);
  -webkit-transition: all 500ms ease-out;
  -moz-transition: all 500ms ease-out;
  -o-transition: all 500ms ease-out;
  transition: all 500ms ease-out;
}
.cart-container:hover:before {
  cursor: pointer;
  opacity: 1;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  text-shadow: 0px 2px 2px rgba(65, 56, 44, 0.6);
  background-image: linear-gradient(48deg, rgba(200,223,213,0.3048406862745098) 0%, rgba(46,64,82,1) 100%);
  -webkit-transition: all 500ms ease-out;
  -moz-transition: all 500ms ease-out;
  -o-transition: all 500ms ease-out;
  transition: all 500ms ease-out;
}
#v65-modalCart p a {
  box-shadow: inherit; /* overrides normal in-paragraph link styling */
}
#v65-modalCart a svg {
  width: 100%;
  margin: auto;
  font-size: 0.9rem;
  vertical-align: middle;
}

/* overriding v65-injected modal cart styles */
@media only screen
  and (max-width: 580px) {
    #v65-modalCart #v65-toggleModalCart {
      -webkit-box-sizing: inherit;
    	box-sizing: inherit;
    	display: inherit;
    	line-height: inherit;
    	text-align: inherit;
    	vertical-align: inherit;
    	width: inherit;
  }
}

/* modal cart responsive adjustments for browsers greater than or equal to 835px */
@media only screen
  and (min-width: 835px) {
    #cart {
      top: 0;
	    right: 1rem;
      z-index: 2;
    }
    .cart-container {
      height: 3.75rem;
	    line-height: 3.75rem;
	    width: 4rem;
      -webkit-transition: all 350ms ease-out;
      -moz-transition: all 350ms ease-out;
      -o-transition: all 350ms ease-out;
      transition: all 350ms ease-out;
    }
    .cart-container.shrink {
      height: 3.15rem;
	    line-height: 3.15rem;
      width: 3.15rem;
      -webkit-transition: all 350ms ease-out;
      -moz-transition: all 350ms ease-out;
      -o-transition: all 350ms ease-out;
      transition: all 350ms ease-out;
    }
    .cart-container.shrink:hover {
      height: 3.75rem;
	    line-height: 3.75rem;
	    width: 4rem;
      -webkit-transition: all 350ms ease-out;
      -moz-transition: all 350ms ease-out;
      -o-transition: all 350ms ease-out;
      transition: all 350ms ease-out;
    }
    #v65-modalCart a svg {
      font-size: 1.25rem;
    }
    #v65-toggleModalCart {
    	display: block;
    }
}
  /* mobile modal cart dropdown */
  #v65-modalCartDropdown {
  	width: 100vw;
    top: 0;
    border: none;
    background: #f9f8f8 url(/assets/images/paso-robles-tasting-room.jpg);
    background-repeat: no-repeat;
    background-position: center bottom;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    -o-background-size: contain;
    background-size: contain;
    -webkit-box-shadow: -1px 0px 6px -3px rgba(32,42,50,0.35);
    -moz-box-shadow: -1px 0px 6px -3px rgba(32,42,50,0.35);
    box-shadow: -1px 0px 6px -3px rgba(32,42,50,0.35);
  }
  #v65-modalCartBody {
    background-color: transparent;
  }
  #v65-modalCartTable td {
    font-family: 'Gelion', sans-serif;
  }
  #v65-modalCartTable td strong { /* overriding native WD styling */
    font-weight: normal;
  }
  #v65-modalCartTable td.center.bold img { /* product image height limit */
    max-height: 4rem;
  }
  #v65-modalCartTable th {
    font-family: 'Candide-Medium', sans-serif;
    font-weight: normal;
    background-color: transparent;
    border-top: transparent;
    padding-bottom: 0.5em;
  }
  #v65-modalCartTableSubtotal td {
    font-family: 'Candide-Medium', sans-serif;
    font-weight: normal;
    background-color: transparent;
    padding-top: 0.5rem;
  }
  #v65-modalCartTableSubtotal > td:nth-child(2) {
    font-family: 'Candide', serif;
    font-weight: normal;
    font-style: italic;
  }
  #v65-modalCartTableSubtotal > td:nth-child(3) {
  	font-family: 'Gelion', sans-sans-serif;
    font-weight: normal;
  }
  @media only screen
    and (max-width: 500px)
    and (max-height: 900px){
      #v65-modalCartDropdown {
        height: calc(100vh - 2.5rem);
      }
      #v65-modalCartDropdown .modalLinkAltBtn, #v65-modalCartDropdown .modalLinkBtn {
        margin-left: 0;
      }
    }
  @media only screen
    and (min-width: 501px)
    and (max-width: 834px)
    and (max-height: 1024px) {
      #v65-modalCartDropdown {
        height: calc( 100vh - 6.25rem );
      }
    }
  @media only screen
    and (min-width: 835px) {
      #v65-modalCart { /* centering cart in Firefox */
        left: 0;
        right: 0;
      }
      #v65-modalCartDropdown {
        width: 50vw;
        height: calc( 100vh - 4rem );
        right: -1rem; /* compensates for #cart being absolute 1rem from right */
      }
      #v65-modalCartBody {
        padding: 0 1rem 1rem 1rem; /* makes close button flush with top */
      }
      #v65-modalCartBody > p:nth-child(1) > a { /* selecting close button only */
        /* makes close button same size/shape as cart button */
        height: 3.75rem;
        line-height: 3.75rem;
        width: 4rem;
      }
    }

/* ---------------------
   product search box
   --------------------- */


 #search-box {
  position: fixed;
  bottom: 3.7rem;
  right: 0;
  margin: 0;
  width: 3rem; /* width of cart box + distance to page edge */
  height: 3rem;
  overflow: hidden;
  background: #c1d1cc;
  transform: scale(1);
  cursor: pointer;
  z-index: 10;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}
#search-box:hover, #search-box:focus {
  background: #c1d1cca3;
  transform: scale(0.95);
}
#search-box .search-icon {
  width: 30px;
	line-height: 3rem;
  opacity: 1;
  display: inline-block;
}
#search-box .close-search {
  display: none;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}
#search-box fieldset {
	border-width: 0;
	border-style: none;
	border-color: #c1d1cc;
}
#search-box #v65-searchWidgetInput {
  opacity: 0;
	visibility: hidden;
  -webkit-transition: all 500ms ease-out;
  -moz-transition: all 500ms ease-out;
  -o-transition: all 500ms ease-out;
  transition: all 500ms ease-out;
}
#search-box #v65-searchWidgetButton {
  visibility: hidden;
}

/* search box open (class .search-open added on click via js) */
#search-box.search-open {
  width: 100%;
  z-index: 10;
  padding-right: 0;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}
#search-box.search-open:hover, #search-box.search-open:focus {
  background: #c1d1cc;
  transform: scale(1);
}
#search-box.search-open form {
  display: inline-block;
  width: calc( 100% - 35px );
}
#search-box.search-open #v65-searchWidgetInput {
  visibility: visible;
  opacity: 1;
  display: inline-block;
  width: 75%;
  -webkit-transition: all 500ms ease-out;
  -moz-transition: all 500ms ease-out;
  -o-transition: all 500ms ease-out;
  transition: all 500ms ease-out;
}
#search-box.search-open #v65-searchWidgetButton {
  visibility: visible;
  display: inline-block;
  width: 20%;
  margin-left: 0;
}
#search-box.search-open #v65-searchWidgetButton button.defaultBtn {
  background-color: transparent;
	height: 3rem;
  width: 100%;
	line-height: 3rem;
}
#search-box.search-open #v65-searchWidgetButton button.defaultBtn span {
  color: #2e4052;
  font-family: 'Gelion', sans-serif;
  font-weight: bold;
  text-transform: uppercase;
	letter-spacing: 0.1rem;
}
#search-box.search-open button span {
  height: 3rem;
  line-height: 3rem;
}
#search-box.search-open fieldset {
  padding: 0;
  width: 100%;
}
#search-box.search-open #v65-searchWidgetInput input {
  width: 100%;
}
#search-box.search-open #v65-searchWidgetInput input:focus {
  font-family: 'Gelion', sans-serif;
  background: #fff;
}
#search-box.search-open .close-search {
  display: inherit;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}
#search-box.search-open .open-search {
  display: none !important;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}
@media only screen
  and (max-width: 768px) { /* for very narrow screens only */
    #search-box.search-open {
      height: 220px;
    	z-index: 0;
      padding-left: 0;
    }
    #search-box .search-icon {
      margin-top: 0;
    	padding-right: 1rem;
    	display: block;
    	text-align: right;
    	width: 100%;
    }
    #search-box.search-open form {
      width: 100%;
    }
    #search-box.search-open fieldset {
      padding: 0 0.5rem;
      max-width: 500px;
      margin: auto;
    }
    #search-box.search-open #v65-searchWidgetInput {
      display: block;
      width: 100%;
    }
    #search-box.search-open #v65-searchWidgetButton {
      display: block;
      width: 100%;
      margin-top: 10px;
    }
    #search-box.search-open #v65-searchWidgetButton button.defaultBtn {
      border: 3px solid #899692;
      background-color: #cad8d4;
    }
  }

@media only screen /* ipad portrait */
  and (min-device-width: 768px)
  and (max-device-width: 1024px)
  and (orientation: portrait)
  and (-webkit-min-device-pixel-ratio: 1) {
    #search-box {
      bottom: 50%;
    }
  }

@media only screen
  and (min-width: 835px) {
    #search-box {
      bottom: 6rem;
      z-index: 10;
    }
    #search-box.search-open {
      width: 50%;
    }
    #search-box.search-open form, #search-box.search-open fieldset, #search-box.search-open #v65-searchWidgetButton {
      line-height: 3rem;
      height: 3rem;
    }
    #search-box.search-open #v65-searchWidgetButton {
      height: 3rem;
    	line-height: 3rem;
    	width: calc( 25% - 5px );
    }
    #search-box.search-open #v65-searchWidgetButton button.defaultBtn span:before {
      content: "";
    	position: absolute;
    	top: 0.5rem;
    	left: 0.5rem;
    	right: 0.5rem;
    	bottom: 0.5rem;
    	border: 2px solid #aab9b4;
      background: rgba(209, 224, 219, 0.2);
    }
  }

/* search results */
ul.ui-autocomplete.ui-menu.ui-widget.ui-widget-content.ui-corner-all {
  width: 200px;
}

 /* ---------------------
    age verification / age gate
    --------------------- */

#v65-modalAgeVerification {
  border: none;
  background-color: transparent;
  color: #ffffff;
  /* overriding Wine Direct styling that breaks on mobile */
  top: 12%;
  left: 0;
  margin: 0;
  width: 100%;
}
#v65-modalAgeVerification:after {
	content: "";
	position: absolute;
	background: url(../images/icon.svg);
	opacity: 0.25;
	background-repeat: no-repeat;
	height: 1.25rem;
	width: 1.25rem;
	top: -2rem;
	right: calc( 50% - 0.625rem );
}
#v65-modalAgeVerification .v65-form {
  width: 100%;
}
#v65-modalAgeVerification .v65-form label:after {
	content: "";
	display: block;
	margin: 0;
	width: 100%;
	padding-bottom: 0.5rem;
	border-top: 1px solid #fff;
}
#v65-modalAgeVerification #v65-checkBilling {
  width: 100%
}
#v65-modalAgeVerification #v65-modalContent {
  padding: 24px;
}
#v65-modalAgeVerification #v65-modalContent p {
  font-size: 1rem;
  hyphens: none;
}
#v65-modalAgeVerification .v65-form fieldset {
  padding: 0;
  border: none;
}
#v65-modalAgeVerification .v65-form fieldset div {
  padding: 0;
  overflow: visible; /* allows asterick to hang correctly */
}
#v65-modalAgeVerification #v65-checkBilling select {
  font-family: 'Gelion-Thin', sans-serif;
  padding: 0;
  width: 94%;
  font-size: 1.5rem;
  height: 2rem;
  line-height: 2rem;
  background: transparent;
  outline: none;
  border: none;
}
#v65-modalAgeVerification #v65-checkBilling select:first-child {
  color: #ffffff; /* makes only first option white, so dropdown is not effected */
}
#v65-modalAgeVerification #v65-checkBilling > fieldset > div {
  width: 100%;
}
#v65-modalAgeVerification button.defaultBtn {
  background: transparent;
  outline: #fff solid .25em;
  font-size: 1.25rem;
  height: 3rem;
  margin-top: 2rem;
}
#v65-modalAgeVerification button.defaultBtn span {
  line-height: 3rem; /* must equal height of button.defaultBtn */
  height: 3rem; /* must equal height of button.defaultBtn */
}
#v65-modalAgeVerification button.defaultBtn:hover span {
  background: #ffffff;
	color: #83918f;
}
@media only screen
  and (min-width: 581px) {
    #v65-modalAgeVerification {
      width: 50%;
      min-width: 500px;
      top: 50%;
      transform: translateY(-50%);
      max-width: 700px;
      margin: auto;
    }
    #v65-modalAgeVerification #v65-checkBilling select {
      width: 85%;
      outline: 0;
      border-radius: 0;
      border: none;
      background: transparent;
      -webkit-appearance: none;
      appearance: none;
    }
    #v65-modalAgeVerification #v65-checkBilling > fieldset > div:first-of-type > span {
      display: inline-block;
      width: 30%;
    	margin-right: 4%;
    }
    #v65-modalAgeVerification #v65-checkBilling > fieldset > div:first-of-type > span:last-of-type {
      margin-right: 0;
    }
    #v65-modalAgeVerification .v65-form label:after {
      content: none;
    }
    #v65-modalAgeVerification .select-wrapper {
    	position: relative;
    	padding-bottom: 0.5em;
    	border-bottom: 1px solid;
    }
    #v65-modalAgeVerification .select-wrapper:after {
    	padding-bottom: 0.25em;
    }
    #v65-modalAgeVerification button.defaultBtn {
      margin-top: 3rem;
      width: 50%;
    }
  }

/* ---------------------
   modal popup
   --------------------- */

@media screen and (max-width: 550px) {
  .sm-popup {
    width: 100% !important;
    height: 100% !important;
  }
}

@media screen and (min-width: 551px) {
  .sm-popup {
    box-shadow: 0 14px 28px rgba(0,0,0,.22), 0 10px 10px rgba(0,0,0,.22);
  }
}

.sm-popup main {
  padding: 2rem !important;
}

.sm-popup legend {
  display: none;
}

.sm-popup h1 {
  font-size: 2rem;
  font-family: 'Gelion', sans-serif;
  font-weight: normal;
}

.sm-popup p + .v65-form {
  margin-top: -1em !important;
}

.sm-popup .v65-form p {
  font-family: 'Gelion', sans-serif;
  padding: 1em;
  background: #f1f1f1;
}

.sm-popup .v65-form button[type=submit] {
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 1.25em;
  width: 100%
}

/* ---------------------
   homepage template
   --------------------- */

#home-hero {
  /* background color and image properties html inline to be editable in cms */
  height: 65vh;
  width: 100%;
  /* border-bottom prevents weird line at bottom of div bug */
  border-bottom: 1px #eaeaea solid;
}
#home-hero:before {
  position: absolute;
  content: "";
  pointer-events: none;
  height: 65vh;
  width: 100%;
  background: url(../images/hero-bottom-clouds.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
@media screen
  and (min-width: 835px) {
    #home-hero {
      height: 85vh;
    }
    #home-hero:before {
      height: 85vh;
    }
  }

/* desktop hero logo */

.home-logo {
  -ms-display: flex;
  -moz-display: flex;
  -webkit-display: flex;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.home-logo svg#hearst-logo {
  width: 15%;
  margin-top: -20%;
  opacity: 1;
}
@media screen
  and (min-width: 600px) {
    .home-logo svg#hearst-logo {
      width: 10%;
      margin-top: -45%;
      opacity: 1;
    }
  }
@media screen
  and (min-width: 835px) {
    .home-logo svg#hearst-logo {
      opacity: 1;
      width: 25%;
    	margin-top: -8%;
      margin-right: -7%;
      fill: none;
      stroke: #f1f1f1;
      stroke-width: 2px;
      stroke-linejoin: round;
      /* path animation */
      opacity: 0;
      stroke-dasharray: 1000;
      stroke-dashoffset: 1000;
      -webkit-animation: logo-dash 5s linear alternate 2s forwards;
      animation: logo-dash 5s linear alternate 2s forwards;
    }
    @keyframes logo-dash {
      0% {
        opacity: 0.5;
        stroke-dashoffset: 1000;
      }
      100% {
        opacity: 1;
        stroke-dashoffset: 0;
      }
    }
  }

/* mobile homepage tagline */

.mobile-tagline {
  -ms-display: flex;
  -moz-display: flex;
  -webkit-display: flex;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-top: -38%;
}
.mobile-tagline img {
  /* width and height req'd for firefox bc of browser bug */
  width: 80%;
  height: auto;
  max-height: 100%;
  opacity: 0.8;
}
@media screen
  and (min-width: 600px) {
    .mobile-tagline {
      margin-top: -58%;
    }
    .mobile-tagline img {
      /* width and height req'd for firefox bc of browser bug */
      width: 70%;
    }
  }
@media screen
  /* show mobile tagline only on browsers less than or equal to 834px */
  and (min-width: 835px) {
    .mobile-tagline {
      display: none;
    }
  }

/* desktop tagline */

.desktop-tagline {
  position: fixed;
  bottom: 4.5rem;
  left: 1.5rem;
  width: 18%;
  max-width: 300px;
  height: auto;
  z-index: 10;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}
.desktop-tagline.shrink {
  width: 8%;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}
@media screen
  /* show desktop tagline only on browsers greater than or equal to 835px */
  and (max-width: 834px) {
    .desktop-tagline {
      display: none !important;
      opacity: 0 !important;
    }
  }
@media screen
  /* show desktop tagline only on browsers greater than or equal to 835px */
  and (min-width: 835px) {
    .desktop-tagline {
      display: initial;
      opacity: 0.8;
    }
  }

/* homepage destinations section (boxes/grid) */
section#legacy {
  cursor: default !important; /* this isn't a link but it sometimes looks like one so we're putting a stop to that! */
}
section#taste {
  margin-top: 50px; /* margin before first destinations section leaves room for desktop tagline on mobile */
}
h2.destination-title.ui.header {
  font-family: 'Gelion-Thin', sans-serif;
	font-size: 3rem;
  margin-bottom: 0;
}
.destination-image {
  position: relative;
}
#stay .destination-image:after {
  position: absolute;
	content: "";
	pointer-events: none;
	height: 100%;
	width: 100%;
	background: url(/assets/images/stay-clouds.png);
	background-repeat: no-repeat;
	background-position: center top;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
#winemaking .destination-image:after {
  position: absolute;
	content: "";
	pointer-events: none;
	height: 100%;
	width: 100%;
	background: url(/assets/images/stay-clouds.png);
	background-repeat: no-repeat;
	background-position: center top;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	-o-background-size: contain;
	background-size: contain;
}
#winemaking .destination-image:before, #stay .destination-image:before {
  content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 30%;
	overflow: visible;
  z-index: 10;
  background: rgb(241,241,241);
  background: -moz-linear-gradient(0deg, rgba(241,241,241,1) 10%, rgba(241,241,241,0) 100%);
  background: -webkit-linear-gradient(0deg, rgba(241,241,241,1) 10%, rgba(241,241,241,0) 100%);
  background: linear-gradient(0deg, rgba(241,241,241,1) 10%, rgba(241,241,241,0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f1f1f1",endColorstr="#f1f1f1",GradientType=1);
}

@media screen
  and (max-width: 767px) {
    .page-wide .destination-content {
      margin: 0 1rem;
    }
  }
@media screen
  and (min-width: 768px) and (max-width: 834px) {
    .page-right .destination-content {
      left: 1rem;
      position: inherit;
    }
    .page-left .destination-content {
      margin-right: 1rem;
      margin-top: 0;
      position: inherit;
      display: block;
    }
    .page-wide .destination-content {
      margin: 0 3rem 0 1rem;
      left: 1rem;
      position: inherit;
    }
  }
@media screen
  and (min-width: 835px) {
    h2.destination-title.ui.header {
      font-size: 3.5rem;
    }
    section#taste {
      margin-top: initial;
    }
    .ui.grid>.column:not(.row), .ui.grid>.row>.column { /* req'd override to overlay sections on desktop */
      position: initial;
    }
    .homepage-destinations.ui.grid+.grid {
      margin-top: 3rem;
    }
    .destination-content {
      position: absolute;
      cursor: pointer;
      width: 50%;
      margin-top: 2rem;
      padding-top: 1.15rem;
      z-index: 1;
    }
    .destination-text p {
      hyphens: none;
    }
    .destination-image {
      z-index: -1;
      cursor: pointer;
      -webkit-transition: all 350ms ease-out;
      -moz-transition: all 350ms ease-out;
      -o-transition: all 350ms ease-out;
      transition: all 350ms ease-out;
    }
    .destination-image:hover {
      -moz-filter: saturate(1.35);
      -webkit-filter: saturate(1.35);
    	filter: saturate(1.35);
      -webkit-transition: all 350ms ease-out;
      -moz-transition: all 350ms ease-out;
      -o-transition: all 350ms ease-out;
      transition: all 350ms ease-out;
    }
    .destination-image .ui.fluid.image img {
      min-height: 45vh;
      object-fit: cover;
      object-position: 50% 50%;
    }
    section#taste .destination-image .ui.fluid.image img,
    section#events .destination-image .ui.fluid.image img,
    section#wineclub .destination-image .ui.fluid.image img {
      box-shadow: none !important;
      -webkit-transition: all 200ms ease-out;
    	-moz-transition: all 200ms ease-out;
    	-o-transition: all 200ms ease-out;
    	transition: all 200ms ease-out;
    }
    section#taste:hover .destination-image .ui.fluid.image img,
    section#events:hover .destination-image .ui.fluid.image img,
    section#wineclub:hover .destination-image .ui.fluid.image img {
      box-shadow: 0 14px 28px rgba(0,0,0,.22), 0 10px 10px rgba(0,0,0,.22) !important;
    	-webkit-transition: all 200ms ease-out;
    	-moz-transition: all 200ms ease-out;
    	-o-transition: all 200ms ease-out;
    	transition: all 200ms ease-out;
    }
    /* right-aligned image sections */
    .page-right .destination-content {
      left: 2.5rem;
    }
    .page-right .destination-text {
      padding-right: 3rem;
      margin-left: 0.8rem;
    }
    .page-right .destination-content:before {
    	content: "";
    	position: absolute;
    	top: 0;
    	border-top: 2px solid;
    	width: 130%;
    }
    /* left-aligned image sections */
    .page-left .destination-content {
      padding-left: 1.5rem;
    }
    .page-left .destination-text {
      margin-right: 4rem;
    }
    .page-left .destination-content:before {
      content: "";
      position: absolute;
      top: 0;
      left: -15rem;
      border-top: 2px solid;
      width: calc( 85% + 13rem);
    }
    /* wide image sections */
    .page-wide .row {
    	margin: 0 5rem;
    }
    .page-wide .destination-image {
      margin: 12.35rem 0 0;
    }
    .page-wide .destination-image img {
    	min-height: 35vh;
    	max-height: 60vh;
    	object-fit: cover;
    	object-position: 50% 50%;
    }
    .page-wide .destination-content {
      width: 100%;
    }
    .page-wide .destination-content:before {
      content: "";
      position: absolute;
      top: 0;
      border-top: 2px solid;
      width: calc( 100% - 12rem )
    }
    .page-wide .destination-text {
    	width: 80%;
      margin-left: 6rem;
    }
  }
@media screen
  and (min-width: 1080px) {
    h2.destination-title.ui.header {
      font-size: 4rem;
    }
    .destination-content {
      padding-top: 2rem;
    }
    /* right-aligned image sections */
    .page-right .destination-content {
      left: 2.5rem;
    }
    /* left-aligned image sections */
    .page-left .destination-content {
      padding-left: 4rem;
    }
    .page-left .destination-content:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      border-top: 2px solid;
      width: calc( 85% - 4rem);
    }
    /* wide image sections */
    .page-wide .destination-image {
      margin: 8.35rem 0 0;
    }
  }
@media screen
  and (min-width: 1300px) {
    /* right-aligned image sections */
    .page-right .destination-text {
      padding-right: 10rem;
      margin-left: 6rem;
    }
    /* left-aligned image sections */
    .page-left .destination-text {
      margin-right: 12rem;
    }
  }

/* click the link encouragement arrows */
.hover-arrow {
	position: absolute;
	font-size: 10rem;
	margin-top: -3.5rem;
	color: #c1d1cc61;
  opacity: 0;
  z-index: 5;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}
#taste .hover-arrow {
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}
#taste:hover .hover-arrow {
  opacity: 1;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}
#wineclub .hover-arrow {
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}
#wineclub:hover .hover-arrow {
  opacity: 1;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}
#stay .hover-arrow {
  right: 40vw;
}
#stay:hover .hover-arrow {
  opacity: 1;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}
#events .hover-arrow {
  right: 20vw;
}
#events:hover .hover-arrow {
  opacity: 1;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}
#winemaking .hover-arrow {
  left: 18vw;
}
#winemaking:hover .hover-arrow {
  opacity: 1;
  -webkit-transition: all 350ms ease-out;
  -moz-transition: all 350ms ease-out;
  -o-transition: all 350ms ease-out;
  transition: all 350ms ease-out;
}

/* ---------------------
   page template
   --------------------- */

#page-content {
  padding-top: 6rem;
}
#page .page-content-main {
	margin: auto;
  width: 100%;
}
#page-content ul {
  background: -webkit-linear-gradient(#7f4836, #2e4052);
  -webkit-background-clip: text;
  /*-webkit-text-fill-color: transparent;*/
}
@media screen
  and (min-width: 835px) {
    #page-content {
      padding-top: 6rem; /* just slightly larger than height of cart at max on desktop */
    }
    #page .page-content-main { /* set content width on desktop */
      max-width: 45em;
    }
  }

/* custom link style in lists because regular styles are overwritten by background gradient */

#page-content ul li a {
  color: #2e4052;
  background: -webkit-linear-gradient(#7f4836, #2e4052);
  -webkit-background-clip: text;
  -webkit-text-fill-color: #2e4052;
  border-bottom: 5px solid #c8dfd5;
  display: inline-block;
  line-height: 0.75;
  text-shadow: 2px 2px #eaeaea, 2px -2px #eaeaea, -2px 2px #eaeaea, -2px -2px #eaeaea;
}

/* ---------------------
   page template -- 'visit' variation
   --------------------- */

#page.visit .page-content-main {
	max-width: 60em;
}
#page.visit h1.ui.header {
  opacity: 0.85;
	font-family: 'Gelion-Thin', sans-serif;
	font-size: 1.5rem;
	text-align: right;
	max-width: 80%;
	margin-left: auto;
}
#page.visit article.tasting-room:first-child {
	margin-top: 1.5rem;
}
#page.visit .san-simeon-tr .visit-img {
	position: absolute;
	top: 10rem;
	left: 0;
	width: 100%;
	height: 60vh;
	overflow: hidden;
	object-fit: cover;
	object-position: center;
	z-index: -1;
}
#page.visit .san-simeon-tr .visit-img:before {
  content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 10;
	background: rgb(241,241,241);
	background: -moz-linear-gradient(0deg, rgba(241,241,241,0) 25%, rgba(241,241,241,0.6096813725490196) 55%, rgba(241,241,241,1) 95%);
	background: -webkit-linear-gradient(0deg, rgba(241,241,241,0) 25%, rgba(241,241,241,0.6096813725490196) 55%, rgba(241,241,241,1) 95%);
	background: linear-gradient(0deg, rgba(241,241,241,0) 25%, rgba(241,241,241,0.6096813725490196) 55%, rgba(241,241,241,1) 95%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f1f1f1",endColorstr="#f1f1f1",GradientType=1);
}
#page.visit .san-simeon-tr .visit-img img.ui.fluid.image {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
}
#page.visit h2.ui.header {
	font-size: 2rem;
	font-family: 'Candide', serif;
	font-weight: normal;
	color: #2d4051;
	letter-spacing: -.01em;
  width: 80%;
  margin-bottom: 0.15rem;
}
#page.visit h3.subhead.ui.header {
  font-family: 'Gelion', sans-serif;
	font-weight: bold;
	text-transform: uppercase;
	line-height: 1.25em;
	letter-spacing: 0.15rem;
  font-size: 0.75em;
	opacity: 0.35;
}
#page.visit .san-simeon-tr-intro {
	background: #f1f1f1;
	padding: 1em;
	margin-top: 13rem;
}
#page.visit aside {
  background: #393b3b;
	color: #f1f1f1;
	margin: 0 -2rem;
	padding: 2rem;
	font-size: 1.15em;
	font-family: 'Candide-Medium', serif;
}
#page.visit aside p {
	font-family: inherit !important;
}
#page.visit .taste-img {
  margin: -1rem -1rem 1rem;
}
#page.visit .paso-tr .visit-img {
	position: absolute;
	margin: -4rem -1rem 1rem;
	width: 100%;
	height: auto;
	overflow: hidden;
	object-fit: cover;
	object-position: center;
	z-index: -1;
}
#page.visit .paso-tr .visit-img:before {
  content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 10;
	background: rgb(241,241,241);
	background: -moz-linear-gradient(0deg, rgba(241,241,241,0) 25%, rgba(241,241,241,0.6096813725490196) 55%, rgba(241,241,241,1) 95%);
	background: -webkit-linear-gradient(0deg, rgba(241,241,241,0) 25%, rgba(241,241,241,0.6096813725490196) 55%, rgba(241,241,241,1) 95%);
	background: linear-gradient(0deg, rgba(241,241,241,0) 25%, rgba(241,241,241,0.6096813725490196) 55%, rgba(241,241,241,1) 95%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f1f1f1",endColorstr="#f1f1f1",GradientType=1);
}
#page.visit .paso-tr .visit-img img.ui.fluid.image {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
}
#page.visit .paso-tr .paso-tr-intro {
  background: #f1f1f1;
	padding: 1em;
  margin-top: 11rem;
}
#page.visit .paso-tr .tasting-reqs {
  margin-top: 1rem;
}
#page.visit .tasting-reqs {
	border: 0.5em solid #cee0d9;
	padding: 1rem;
	font-family: 'Candide-Medium', sans-serif;
	font-size: 1.1em;
	font-weight: normal;
}
#page.visit .tr-contact {
  font-family: 'Gelion', sans-serif;
	margin-top: 1rem;
}
#page.visit .google-map {
  margin: 1rem 0;
}
#page.visit .google-map iframe {
	width: 100% !important;
}
/* visit sliders */
/* slider CSS */
#page.visit .slide {
 height: auto;
}
#page.visit .sss {
	height: 0;
	margin: 0;
	padding: 0;
	position: relative;
	display: block;
	overflow: hidden;
}
#page.visit .ssslide {
  width: 100%;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	overflow: hidden;
	max-height: 60vh;
	object-fit: cover;
	object-position: center;
}
#page.visit .ssslide img {
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0;
	position: relative;
	display: block;
}
#page.visit .sssnext, #page.visit .sssprev {
	width: 3rem;
	height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	background: url('https://static.tumblr.com/ztaetns/rQ1nfk553/arr.png') no-repeat;
}
#page.visit .sssprev {
	left: 1.5rem;
	background-position: 1.5rem 50%;
}
#page.visit .sssnext {
	right: 0;
	background-position: -1.5rem 50%;
}
#page.visit .sssprev:hover, #page.visit .sssnext:hover {
	cursor: pointer;
}
@media only screen
  and (min-width: 835px) {
    #page.visit .page-content-main {
      z-index: 1;
    }
    #page.visit h1.ui.header {
      text-align: right;
      width: 100%;
      margin-top: 1rem;
      font-size: 2rem;
    }
    #page.visit h2.ui.header {
      font-size: 4rem;
      margin-bottom: 0.5rem;
    }
    #page.visit h3.subhead.ui.header {
      font-size: 1em;
      max-width: 100%;
    }
    #page.visit article.tasting-room:first-child {
    	margin-top: 4rem;
    }
    #page.visit article.tasting-room {
    	padding: 0 3rem;
    }
    #page.visit .san-simeon-tr-intro {
      padding: 2em;
    	width: 50%;
      margin-left: auto;
    	margin-top: 38vh;
    	min-width: 30em;
    	max-width: 40em;
    }
    #page.visit aside {
      font-size: inherit;
      margin: 0 -4rem;
    	padding: 3rem;
    }
    #page.visit aside p {
      max-width: 50em;
      margin-right: auto;
    	margin-left: auto;
    }
    #page.visit .taste-img {
    	width: calc( 100% + 8rem);
    	margin: 0 -4rem 2rem;
    }
    #page.visit .taste-img img.ui.fluid.image {
      max-height: 50vh;
      object-fit: cover;
      object-position: center center;
    }
    #page.visit .tr-contact {
      font-family: 'Gelion-Thin', sans-serif;
    	font-size: 1.5rem;
      margin-top: 2rem;
      margin-bottom: 2rem;
      text-align: right;
    }
    #page.visit .tasting-reqs {
      max-width: 50rem;
      margin-left: auto;
      margin-right: auto;
    }
    #page.visit .tasting-room p {
    	max-width: 50rem;
    	margin-right: auto;
    	margin-left: auto;
    }
    #page.visit .paso-tr .visit-img {
      position: absolute;
    	width: initial;
    	height: auto;
    	left: 0;
    	right: 0;
    	z-index: -1;
    }
    #page.visit .paso-tr .visit-img img.ui.fluid.image {
    	height: auto;
    	max-height: 50vh;
    	width: 100%;
    	object-fit: cover;
    	object-position: center;
    }
    #page.visit .paso-tr .paso-tr-intro {
    	max-width: 54rem;
    	margin-right: auto;
    	margin-left: auto;
    	margin-top: 42vh;
    	padding-top: 2rem;
    }
    #page.visit .paso-tr .visit-img:before {
      height: 50%;
    }
    #page.visit .tr-inquiry {
    	font-family: 'Gelion', sans-serif;
    	font-size: 1.2rem;
    	border: 1px solid #f1f1f1;
    	width: fit-content;
    	padding: 1rem;
    	margin: auto;
    }
    #page.visit .google-map {
    	margin: 1rem -4rem 2rem;
    }
  }

/* tock reservations sections */
#page.visit .tock-reservations {
  max-width: 50rem;
  margin-top: 2.5rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2.5rem;
}
#page.visit .tr-content #Tock_widget_container:before {
  content: none;
}
#page.visit #Tock_widget_container button span {
  padding: initial;
  height: initial;
  line-height: initial !important;
}
#page.visit .TockWidgetWrapper .TockButton-white {
  font-family: 'Gelion', sans-serif;
  color: #202a33;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
#page.visit.desktop .TockWidgetWrapper .TockWidget-container {
  max-width: 100%;
}
#page.visit.desktop .TockWidgetWrapper .TockSearchBar-container {
  max-width: 100%;
}
#page.visit.desktop .TockWidgetWrapper .TockInlineButton {
  display: flex;
  flex: 1 0 0%;
}
#page.visit.desktop .TockWidgetWrapper .TockInlineButton-container {
  width: 100%;
}

/* visit page anchor link buttons */
#page.visit .content-links {
  position: fixed;
	top: calc( 2.5rem + 1px );
	right: 2.5rem;
	width: calc( 100% - 2.5rem );
  background: #c1d1cc;
  z-index: 2;
}
#page.visit .content-link-buttons a span svg {
  margin-right: 0.5rem;
}
#page.visit .content-link-buttons a {
  display: inline-block;
  color: #676f6d;
  background: #c1d1cc;
  padding: 0 0.5rem;
  line-height: 2.5rem;
  height: 2.25rem;
  width: calc( 50% - 2px );
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}
#page.visit .content-link-buttons a:nth-child(2):before {
  content: "";
  position: absolute;
  right: 50%;
  right: calc(50% + 2px);
  top: 0;
  width: 2px;
  height: 100%;
  background: #b1bfbb;
}
#page.visit .tr-content {
  width: 100%;
}
#page.visit .tr-content *[id]:before { /* adding top space on anchor link scroll */
  display: block;
  content: " ";
  margin-top: -6rem;
  height: 6rem;
  visibility: hidden;
}
@media only screen
  and (min-width: 835px) {
    #page.visit .content-links {
      position: fixed;
    	height: 3.75rem;
      width: auto;
    	top: 0;
    	right: 5rem;
      padding: 0 !important; /* !important req'd to override semantic ui grid styling */
    	text-align: center;
    	font-family: 'Gelion', sans-serif;
    	z-index: 2; /* z-index puts buttons in front of member bar */
      -webkit-transition: all 300ms ease-out;
      -moz-transition: all 300ms ease-out;
      -o-transition: all 300ms ease-out;
      transition: all 300ms ease-out;
    }
    #page.visit .content-link-buttons {
      position: relative;
    }
    #page.visit .content-link-buttons a {
      color: #676f6d;
      background: #c1d1cc;
      padding: 0 1rem;
      line-height: 3.75rem; /* must be equal to parent height */
      height: 3.75rem;
      width: auto;
      -webkit-transition: all 300ms ease-out;
      -moz-transition: all 300ms ease-out;
      -o-transition: all 300ms ease-out;
      transition: all 300ms ease-out;
    }
    #page.visit .content-link-buttons a:hover, #page.visit .content-link-buttons a:focus {
      color: #fff;
      background: #2e4052;
    }
    #page.visit .content-link-buttons a:nth-child(2):before {
      content: "";
    	position: absolute;
    	right: 50%;
      right: calc(50% + 2px);
    	top: 0;
    	width: 4px;
    	height: 100%;
    	background: #b1bfbb;
    }
    #page.visit .content-links.shrink {
      height: 3.15rem;
      right: 4.15rem;
      -webkit-transition: all 300ms ease-out;
      -moz-transition: all 300ms ease-out;
      -o-transition: all 300ms ease-out;
      transition: all 300ms ease-out;
    }
    #page.visit .content-links.shrink .content-link-buttons a {
      line-height: 3.15rem;
      height: 3.15rem;
      -webkit-transition: all 300ms ease-out;
      -moz-transition: all 300ms ease-out;
      -o-transition: all 300ms ease-out;
      transition: all 300ms ease-out;
    }
    #page.visit .tr-content *[id]:before { /* adding top space on anchor link scroll */
      margin-top: -5rem;
      height: 5rem;
    }
  }

/* ---------------------
   page template -- 'lodging' variation
   --------------------- */

#page.lodging .lodging-content {
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100%;
}
#page.lodging .page-content-main {
	max-width: 100%;
}
#page.lodging h1.ui.header {
	text-align: left;
	opacity: 0.85;
  font-size: 2rem;
  margin-bottom: 1rem;
}
#page.lodging h2.ui.header {
	text-align: right;
	margin-right: 15%;
}
#page.lodging .lodging-intro {
	max-width: 50rem;
	margin: auto;
  padding: 0 1rem;
}
#page.lodging .lodging-intro-img {
	position: absolute;
	top: auto;
	left: 0;
	width: 100%;
	height: 60vh;
	overflow: hidden;
	object-fit: cover;
	object-position: center;
	z-index: -1;
}
#page.lodging .lodging-intro-img:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 10;
	background: rgb(241,241,241);
	background: -moz-linear-gradient(0deg, rgba(241,241,241,0) 25%, rgba(241,241,241,0.6096813725490196) 55%, rgba(241,241,241,1) 95%);
	background: -webkit-linear-gradient(0deg, rgba(241,241,241,0) 25%, rgba(241,241,241,0.6096813725490196) 55%, rgba(241,241,241,1) 95%);
	background: linear-gradient(0deg, rgba(241,241,241,0) 25%, rgba(241,241,241,0.6096813725490196) 55%, rgba(241,241,241,1) 95%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f1f1f1",endColorstr="#f1f1f1",GradientType=1);
}
#page.lodging .lodging-intro-img img.ui.fluid.image {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
}
#page.lodging .lodging-discounts {
  padding: 1rem;
	font-family: 'Candide-Medium', sans-serif;
	font-size: 1.1em;
	font-weight: normal;
	max-width: 48rem;
}
#page.lodging .lodging-amenities h3 {
  text-align: center;
}
#page.lodging .lodging-amenities-grid .column {
  text-align: center;
	font-family: 'Gelion', sans-serif;
}
#page.lodging aside {
  color: #2e4052;
	margin-top: 60%;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 1rem;
  background: #f1f1f1;
}
#page.lodging aside p {
  font-family: inherit;
	margin-left: auto;
	margin-right: auto;
}
#page.lodging .lodging-details h3.ui.header {
	font-family: 'Candide', serif;
	font-weight: normal;
	font-size: 2.5rem;
	color: #2d4051;
	letter-spacing: -.01em;
	width: 80%;
  margin-bottom: 0;
}
#page.lodging .testimonial-group {
	font-size: 1rem;
	border: 5px solid #cee0d9;
	padding: 1rem;
	margin-left: auto;
  margin-right: auto;
	max-width: 60rem;
}
#page.lodging .testimonial-group p span {
  font-family: 'Gelion', sans-serif;
  display: block;
  text-align: right;
}
#page.lodging .lodging-amenities-grid .column .grid-icon {
  margin-right: 0.5em;
}
#page.lodging .testimonial-group p span::before {
  content: "—";
  margin-right: 0.5em;
}
#page.lodging .lodging-details-img {
  margin-bottom: 2rem;
}
#page.lodging .lodging-details-img:before {
  content: "";
	position: absolute;
	height: 40%;
	z-index: 10;
	right: 0;
	left: 0;
	margin: 0 -4rem 2rem;
	background: rgb(241,241,241);
	background: -moz-linear-gradient(0deg, rgba(241,241,241,0) 25%, rgba(241,241,241,0.6096813725490196) 55%, rgba(241,241,241,1) 95%);
	background: -webkit-linear-gradient(0deg, rgba(241,241,241,0) 25%, rgba(241,241,241,0.6096813725490196) 55%, rgba(241,241,241,1) 95%);
	background: linear-gradient(0deg, rgba(241,241,241,0) 25%, rgba(241,241,241,0.6096813725490196) 55%, rgba(241,241,241,1) 95%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f1f1f1",endColorstr="#f1f1f1",GradientType=1);
}
/* slider CSS */
#page.lodging .slide {
 height: auto;
}
#page.lodging .sss {
	height: 0;
	margin: 0;
	padding: 0;
	position: relative;
	display: block;
	overflow: hidden;
}
#page.lodging .ssslide {
  width: 100%;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	overflow: hidden;
	max-height: 50vh;
	object-fit: cover;
	object-position: center;
}
#page.lodging .ssslide img {
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 0;
	position: relative;
	display: block;
}
#page.lodging .sssnext, #page.lodging .sssprev {
	width: 3rem;
	height: 100%;
	margin: 0;
	position: absolute;
	top: 0;
	background: url('https://static.tumblr.com/ztaetns/rQ1nfk553/arr.png') no-repeat;
}
#page.lodging .sssprev {
	left: 1.5rem;
	background-position: 1.5rem 50%;
}
#page.lodging .sssnext {
	right: 0;
	background-position: -1.5rem 50%;
}
#page.lodging .sssprev:hover, #page.lodging .sssnext:hover {
	cursor: pointer;
}
#page.lodging .cta-button {
 text-align: center;
 color: #fff;
}
#page.lodging .cta-button a.largeLinkBtn {
 padding: 0 1.25rem;
}
#page.lodging .cta-button a.largeLinkBtn span.grid-icon {
 display: inline-block;
 padding-left: 0;
}
@media only screen
  and (min-width: 835px) {
    #page.lodging h1.ui.header {
    	font-size: 3.5rem;
    	margin-left: 5rem;
    }
    #page.lodging aside {
      margin-top: 35vh;
    	width: 70%;
      max-width: 54rem;
      padding: 2rem;
    }
    #page.lodging-home aside {
      margin-top: calc(35vh + 9rem);
    }
    #page.lodging .lodging-intro-img {
      position: absolute;
    	top: 9rem;
    }
    #page.lodging-home .lodging-intro-img {
      top: 0;
    }
    #page.lodging .lodging-discounts {
      margin: 1rem auto 2rem;
    }
    #page.lodging .testimonial-group {
    	margin-left: auto;
      margin-right: 0;
    }
    #page.lodging .lodging-details h3.ui.header {
    	font-family: 'Candide', serif;
    	font-weight: normal;
    	font-size: 4rem;
    	color: #2d4051;
    	letter-spacing: -.01em;
    	width: 80%;
      margin-bottom: 1rem;
    }
    /* amenities grid */
    #page.lodging .lodging-amenities {
      display: block;
      margin-top: 4.5rem;
    	margin-bottom: 3rem;
    }
    #page.lodging .lodging-amenities-grid {
      display: block;
    }
    #page.lodging .lodging-amenities h3 {
      top: -5.25rem;
    	right: 0;
    	width: 60rem;
    	position: absolute;
    	display: block;
    	font-size: 5.5rem;
    	font-family: 'Gelion-thin', sans-serif;
    	font-weight: normal;
    	color: rgb(206, 224, 217);
    }
    .lodging-amenities-grid .column {
      text-align: center;
    	font-family: 'Gelion', sans-serif;
    	font-size: 1.2rem;
    }
    #page.lodging .cta-button a.largeLinkBtn {
      font-size: 2rem;
    	font-family: 'Gelion-thin', sans-serif;
    	color: #2e4052;
    	height: 5.5rem;
    	line-height: 5.5rem;
    	padding: 0 1.25rem;
    	background: transparent;
    	border: 5px solid #2d4052;
    }
    #page.lodging .cta-button:hover a.largeLinkBtn, #page.lodging .cta-button:focus a.largeLinkBtn {
      color: #fff;
    	background: #2d4052;
    	border: 5px solid #2d4052;
    }
    #page.lodging .cta-button a.largeLinkBtn span.grid-icon {
     color: #2d4052;
     height: 100%;
    }
    #page.lodging .cta-button:hover a.largeLinkBtn span.grid-icon, #page.lodging .cta-button:focus a.largeLinkBtn span.grid-icon {
     color: #fff;
     background: #2d4052;
    }
  }

/* lodging page link buttons (same style as visit page anchor links) */
#page.lodging .content-links {
  position: fixed;
	top: calc( 2.5rem + 1px );
	right: 2.5rem;
	width: calc( 100% - 2.5rem );
  background: #c1d1cc;
  z-index: 2;
}
#page.lodging .content-link-buttons a span svg {
  margin-right: 0.5rem;
}
#page.lodging .content-link-buttons a {
  display: inline-block;
  color: #676f6d;
  background: #c1d1cc;
  padding: 0 0.5rem;
  line-height: 2.5rem;
  height: 2.25rem;
  width: calc( 50% - 2px );
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}
#page.lodging .content-link-buttons a:nth-child(2):before {
  content: "";
  position: absolute;
  right: 50%;
  right: calc(50% + 2px);
  top: 0;
  width: 2px;
  height: 100%;
  background: #b1bfbb;
}
#page.lodging .tr-content {
  width: 100%;
}
#page.lodging .tr-content *[id]:before { /* adding top space on anchor link scroll */
  display: block;
  content: " ";
  margin-top: -6rem;
  height: 6rem;
  visibility: hidden;
}
@media only screen
  and (min-width: 835px) {
    #page.lodging .content-links {
      position: fixed;
    	height: 3.75rem;
      width: auto;
    	top: 0;
    	right: 5rem;
      padding: 0 !important; /* !important req'd to override semantic ui grid styling */
    	text-align: center;
    	font-family: 'Gelion', sans-serif;
    	z-index: 2; /* z-index puts buttons in front of member bar */
      -webkit-transition: all 300ms ease-out;
      -moz-transition: all 300ms ease-out;
      -o-transition: all 300ms ease-out;
      transition: all 300ms ease-out;
    }
    #page.lodging .content-link-buttons {
      position: relative;
    }
    #page.lodging .content-link-buttons a {
      color: #676f6d;
      background: #c1d1cc;
      padding: 0 1rem;
      line-height: 3.75rem; /* must be equal to parent height */
      height: 3.75rem;
      width: auto;
      -webkit-transition: all 300ms ease-out;
      -moz-transition: all 300ms ease-out;
      -o-transition: all 300ms ease-out;
      transition: all 300ms ease-out;
    }
    #page.lodging .content-link-buttons a:hover, #page.lodging .content-link-buttons a:focus {
      color: #fff;
      background: #2e4052;
    }
    #page.lodging .content-link-buttons a:nth-child(2):before {
      content: "";
    	position: absolute;
    	right: 50%;
      right: calc(50% + 2px);
    	top: 0;
    	width: 4px;
    	height: 100%;
    	background: #b1bfbb;
    }
    #page.lodging .content-links.shrink {
      height: 3.15rem;
      right: 4.15rem;
      -webkit-transition: all 300ms ease-out;
      -moz-transition: all 300ms ease-out;
      -o-transition: all 300ms ease-out;
      transition: all 300ms ease-out;
    }
    #page.lodging .content-links.shrink .content-link-buttons a {
      line-height: 3.15rem;
      height: 3.15rem;
      -webkit-transition: all 300ms ease-out;
      -moz-transition: all 300ms ease-out;
      -o-transition: all 300ms ease-out;
      transition: all 300ms ease-out;
    }
    #page.lodging .tr-content *[id]:before { /* adding top space on anchor link scroll */
      margin-top: -5rem;
      height: 5rem;
    }
  }

/* ---------------------
   page template -- 'lodging home' variation
   --------------------- */

#page.lodging.lodging-home .lodging-intro-img {
  height: auto;
  position: relative;
}

#page.lodging.lodging-home .lodging-content article:not(:first-child) {
  margin-top: 2rem;
  text-align: center;
}

#page.lodging.lodging-home .lodging-content article:last-child {
  margin-bottom: 5rem;
}

#page.lodging.lodging-home article h2.ui.header {
   text-align: left;
   margin-left: 1rem;
   margin-right: auto;
   margin-bottom: 0.25rem;
   margin-top: 0;
   font-size: 2.5rem;
   line-height: 100%;
   font-family: 'Candide', serif;
   font-weight: normal;
   color: #2d4051;
   letter-spacing: -.01em;
 }

#page.lodging.lodging-home article h3.ui.header {
  text-align: center;
  font-family: 'Gelion', sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 1rem;
  line-height: 1.25rem;
  letter-spacing: 0.15rem;
  opacity: 0.35;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
}

#page.lodging.lodging-home .visit-img {
  margin: 0.75rem auto 0;
  max-width: calc(100% - 2rem);
  border: none;
  padding: 0;
}

#page.lodging.lodging-home .visit-img img {
  max-height: 60vh;
  object-fit: cover;
}

#page.lodging.lodging-home aside {
  margin-top: 0;
}

#page.lodging.lodging-home a.largeLinkBtn {
  position: relative;
  background-color: #eaeaea;
  padding: 1.25rem 2rem;
  margin-top: -100%;
  display: inline-block;
  line-height: 100%;
  height: 100%;
  font-size: 1rem;
  outline: 0.5em solid #f1f1f1;
}

#page.lodging.lodging-home a.largeLinkBtn:hover, #page.lodging.lodging-home a.largeLinkBtn:active {
  background-color: #cee0d9;
}

#page.lodging.lodging-home a.largeLinkBtn:focus {
  background-color: #cee0d9;
  outline: 0.5em solid #f1f1f1 !important;
}

#page.lodging.lodging-home a.largeLinkBtn span {
  display: inline-block;
  color: #2d3f51;
  line-height: 100%;
  padding: 0 0.7em 0 0;
}

#page.lodging.lodging-home a.largeLinkBtn:hover span, #page.lodging.lodging-home a.largeLinkBtn:focus span {
  background-color: transparent;
}

#page.lodging.lodging-home .lodging-intro {
  margin: 2rem auto 3rem;
}

#page.lodging.lodging-home .lodging-intro p {
  text-align: left;
}

@media only screen
  and (min-width: 835px) {
    #page.lodging.lodging-home .lodging-intro-img {
      top: 0;
      height: calc(60vh + 9rem);
      position: absolute;
    }
    #page.lodging.lodging-home .lodging-intro-img:before {
    	content: none;
    }
    #page.lodging.lodging-home aside {
      margin-top: calc(60vh - 4.5rem);
    }
    #page.lodging.lodging-home .lodging-content article:not(:first-child) {
      margin-top: 5rem;
      text-align: center;
    }
    #page.lodging.lodging-home article h2.ui.header {
      font-size: 4rem;
      line-height: 4rem;
      margin-left: 7rem;
      margin-bottom: 0.5rem;
    }
    #page.lodging.lodging-home article h3.ui.header {
      text-align: left;
      line-height: 1rem;
      margin-top: 0;
      margin-bottom: 0;
      margin-left: 10rem;
    }
    #page.lodging.lodging-home .visit-img {
      margin: 1rem auto 0;
      max-width: calc(100% - 17rem);
      border: 0.5em solid #eaeaea;
      padding: 1rem;
    }
    #page.lodging.lodging-home a.largeLinkBtn {
      padding: 1.75rem 2.25rem;
      margin-top: -100%;
      line-height: 100%;
      height: 100%;
      font-size: 1.5rem;
    }
    #page.lodging.lodging-home .lodging-intro {
      margin: 2rem auto 7rem;
    }
  }


/* ---------------------
   page template -- 'trade' variation
   --------------------- */

#page.trade .trade-wine {
  background: #fff;
  padding: 1rem;
  margin-right: -2rem;
}
#page.trade .v65-podImage {
  text-align: center;
}
#page.trade .trade-intro {
	margin-bottom: 1rem;
}
#page.trade .v65-podImage img {
	height: 30vh;
}
#page.trade .v65-podTitle {
  line-height: 1em;
	font-size: 1.25rem;
	font-family: 'Gelion', sans-serif;
	text-align: center;
	padding: 0.5rem 0;
	margin-bottom: 0.5rem;
	border-bottom: 1px solid #ece9e9;
}
#page.trade .v65-podDescription p {
  font-size: 1rem;
}
#page.trade table {
  width: 100% !important;
}
/* read more buttons for truncated text, placed via js */
.description_readmore {
  width: 100%;
  position: relative;
  margin-bottom: 1.5rem;
  line-height: 2em;
  font-size: 1em;
  text-align: left;
  box-sizing: border-box;
  padding: 0 15px;
  min-height: 100% !important; /* this is height when opened */
}
.description_readmore_wrapper {
  display: flex;
  flex-flow: column wrap;
  align-items: center;
  justify-content: center;
  max-width: none !important;
  width: 100%;
}
.description_readmore_button {
  display: inline-block;
	width: 100%;
	color: #2e4052;
	outline: 4px solid #2e4052;
	padding: 10px 0;
	cursor: pointer;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.1rem;
	font-family: 'Gelion', sans-serif;
	font-size: 0.9em;
	font-weight: bold;
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}
.description_readmore_button:hover, .description_readmore_button:focus {
  color: white;
  background: #c1d1cc;
  outline: 4px solid #c1d1cc;
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}
.description_readmore_ellipsis:after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 25px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), white 75%);
}
@media only screen
  and (min-width: 835px) {
    #page.trade .trade-wine {
      margin-right: initial;
    }
    #page.trade .v65-podImage img {
      height: 40vh;
    }
  }

/* ---------------------
   wide template -- 'club signup' variation
   --------------------- */
   /* NOTE events template uses #wide as base template, with .club-signup class injected via js when wine club signup elements are present, see: hearst.js */

#wide.club-signup .content-wrapper {
  padding: 0 1.5rem;
}
#wide.club-signup .outside-wrapper {
  padding: 0 3rem;
}
#wide.club-signup .ui.grid>* {
  padding-right: 0;
  padding-left: 0;
  margin-left: auto;
	margin-right: auto;
}
#wide.club-signup ul + p {
	margin-top: 1rem;
}
#wide.club-signup h2 { /* uniquely (for this template only) matching style of club label */
  font-size: 1.75rem;
	width: 100%;
	margin-bottom: .5em;
  margin-top: 1.5rem;
	text-align: center;
	font-family: 'Candide', serif;
}
#wide.club-signup #page-content {
	max-width: 60rem;
	margin-right: auto !important;
	margin-left: auto !important;
}
#wide.club-signup .page-content h1 {
  max-width: 35rem;
}
#wide.club-signup #page-content .v65-customForm legend {
  font-size: 1.75rem;
	width: 100%;
	margin-bottom: 0;
	margin-top: 1.5rem;
	line-height: 1.11em;
	text-align: center;
	font-family: 'Candide', serif;
}
#wide.club-signup #page-content .v65-form button[type=submit] {
  margin-top: 0.5rem;
	width: 100%;
	height: 4rem;
	line-height: 4rem;
	font-size: 1.5rem;
	font-family: 'Gelion-Light', sans-serif;
}
#wide.club-signup #page-content .v65-form button[type=submit] span {
  height: 4rem;
  line-height: 4rem;
}
#wide.club-signup .clubs-overall .v65-club {
	background: rgba(255, 255, 255, 0.57);
	padding: 1rem 1.5rem !important;
  -webkit-transition: all 300ms ease-out;
	-moz-transition: all 300ms ease-out;
	-o-transition: all 300ms ease-out;
	transition: all 300ms ease-out;
}
#wide.club-signup .clubs-overall .v65-club:hover, #wide.club-signup .clubs-overall .v65-club:focus {
  box-shadow: 0 14px 28px rgba(0,0,0,.22), 0 10px 10px rgba(0,0,0,.22);
	-webkit-transition: all 300ms ease-out;
	-moz-transition: all 300ms ease-out;
	-o-transition: all 300ms ease-out;
	transition: all 300ms ease-out;
}
#wide.club-signup .clubs-overall .v65-club:nth-of-type(n+2) {
  margin-top: 2rem;
}
#wide.club-signup .clubs-overall .v65-clubTeaser {
  padding: 0;
}
#wide.club-signup .clubs-overall .v65-clubTeaser ul {
  width: 100%;
	margin: 0 auto 1rem;
	padding: 1.25rem 0 1.25rem 1.15rem;
	border-top: 1px solid;
	border-bottom: 1px solid;
	list-style-position: inside;
}
#wide.club-signup .v65-clubTitle {
	font-size: 1.45rem;
  line-height: 1.8rem;
	margin-bottom: .5em;
  text-align: center;
}
#wide.club-signup .clubs-overall {
  width: 100%;
  margin-bottom: 0;
	padding-bottom: 1.5rem;
	border-bottom: 5px solid #c1d1cc99;
}
#wide.club-signup .clubs-overall .v65-clubTeaser > .v65-clubJoin {
  width: 100%;
	margin: auto;
	height: 4rem;
	line-height: 4rem;
}
#wide.club-signup .clubs-overall .v65-clubTeaser > .v65-clubJoin a.linkBtn {
  width: 100%;
	height: 4rem;
	line-height: 4rem;
	font-size: 1.5rem;
	font-family: 'Gelion-Light', sans-serif;
}
#wide.club-signup .v65-clubTeaser {
  border-bottom: none;
}
#wide.club-signup .clubs-overall .v65-clubTeaser p em {
  text-align: center;
}
#wide.club-signup .clubs-overall > .v65-club:nth-child(2) > .v65-clubTitle.v65-title.v65-title {
  text-align: center;
  margin-top: 1rem;
}
#wide.club-signup .clubs-overall > .v65-club:nth-child(2) > .v65-clubTeaser > p {
  text-align: center;
}
#wide.club-signup #page-content > ul.fa-ul {
  background: rgb(234, 234, 234);
	padding: 2rem 1.5rem 2rem 2.5rem !important;
}
@media only screen
 and (min-width: 835px) {
   #wide.club-signup .content-wrapper {
     padding: 0 3rem;
   }
   #wide.club-signup .clubs-overall .v65-club {
   	padding: 2rem 3rem !important;
   }
   #wide.club-signup .v65-clubTitle {
   	font-size: 1.75rem;
    line-height: inherit;
   }
   #wide.club-signup .clubs-overall {
     margin-bottom: 3rem;
     padding-bottom: 3rem;
   }
   #wide.club-signup .clubs-overall .v65-clubTeaser ul {
     width: 31em;
   	 margin: 0 auto 1rem;
   	 padding: 1.5rem 0;
   	 border-top: 1px solid;
   	 border-bottom: 1px solid;
   	 list-style-position: inside;
   }
   #wide.club-signup .clubs-overall .v65-clubTeaser > .v65-clubJoin {
     width: 35rem;
   }
   #wide.club-signup h2 { /* uniquely (for this template only) matching style of club label */
     font-size: 1.75rem;
   	 width: 100%;
     margin-top: inherit;
   	 margin-bottom: .5em;
   }
   #wide.club-signup #page-content .v65-customForm legend {
     margin-bottom: 0.5rem;
   }
   #wide.club-signup #page-content > ul.fa-ul {
     padding: 2rem 3rem !important;
   }
   #wide.club-signup #page-content .v65-form button[type=submit] {
     width: inherit;
   }
 }

 /* ---------------------
    wide template -- 'contact' variation
    --------------------- */
   /* NOTE events template uses #wide as base template, with .contact class injected based on URL name, see: hearst.js */

#wide.contact #page-content {
  padding-right: 3rem;
	padding-left: 3rem;
}
#wide.contact .v65-form legend {
  display: none;
}

/* ---------------------
   events template
   --------------------- */
   /* NOTE events template uses #page as base template, with .events class injected via js when calendar elements are present, see: hearst.js */

#page.events .page-content-main {
	max-width: 100%;
}
#page.events .events-intro {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
  display: block;
  margin-bottom: 1rem;
}
#page.events .events-intro p {
  hyphens: none;
}
#page.events .v65-calendarList-Event.group {
  background: #fff;
  max-height: 30.5rem;
	overflow: hidden;
	padding: 1rem;
  font-family: 'gelion', sans-serif;
  font-size: 0.85rem;
  line-height: 1.2rem;
}
#page.events .events-group {
  -ms-display: flex;
  -moz-display: flex;
  -webkit-display: flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -mos-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#page.events .ui.eight.wide.column.event { /* overriding semantic ui grid */
  padding-right: 0 !important;
  -ms-display: flex;
  -moz-display: flex;
  -webkit-display: flex;
  display: flex;
}
#page.events .ui.grid>.column:not(.row) { /* more overriding semantic ui grid */
  padding-bottom: 0 !important;
}
#page.events .v65-calendarList-Event { /* overriding WD styling */
  margin-bottom: 0;
}
#page.events .v65-calendarList-Description {
  position: relative; /* keeps images constrained */
  margin: 1rem auto 0;
	font-size: 1rem;
	font-family: 'Candide', serif;
	line-height: 1.5em;
}
#page.events .v65-calendarList-Month {
  display: none;
}
#page.events .v65-calendarList-Event .v65-calendarList-Title.v65-title {
  line-height: 1em;
	font-size: 1.25rem;
	font-family: 'Gelion', sans-serif;
}
#page.events .v65-calendarList-Event .v65-calendarList-Title.v65-title a {
  padding-bottom: 0.5rem;
}
#page.events .v65-calendarList-Event .v65-calendarList-Time {
  font-style: normal;
  margin-top: 0.5rem;
}
@media only screen
 and (min-width: 835px) {
   #page.events .events.ui.relaxed.stackable.grid { /* overriding semantic ui */
     margin-top: 0;
   }
   #page.events .v65-calendarList-Event.group {
     padding: 1.5rem;
   }
   #page.events .v65-calendarList-Event .v65-calendarList-Title.v65-title {
     font-size: 1.4rem;
     font-weight: bold;
     line-height: 1em;
     display: block;
     margin-bottom: 0;
   }
   #page.events .v65-calendarList-Event {
     cursor: pointer;
     box-shadow: none;
     -webkit-transition: all 300ms ease-out;
     -moz-transition: all 300ms ease-out;
     -o-transition: all 300ms ease-out;
     transition: all 300ms ease-out;
   }
   #page.events .v65-calendarList-Event:hover, #page.events .v65-calendarList-Event:focus {
     box-shadow: 0 14px 28px rgba(0,0,0,.22), 0 10px 10px rgba(0,0,0,.22);
     -webkit-transition: all 300ms ease-out;
     -moz-transition: all 300ms ease-out;
     -o-transition: all 300ms ease-out;
     transition: all 300ms ease-out;
   }
 }

 /* ---------------------
    event drilldown template
    --------------------- */

#event-drilldown #page-content {
	max-width: 60rem;
	margin-right: auto !important;
	margin-left: auto !important;
}
#event-drilldown img {
  height: auto !important;
}
#event-drilldown #v65-CalendarEventTable {
  font-family: 'gelion', sans-serif;
	font-size: 0.85rem;
	line-height: 1.2rem;
}

/* ---------------------
   product list template
   --------------------- */

/* product filter sidebar */
#product-list .product-sidebar {
  position: fixed;
	top: 2.5rem;
  height: 2.3rem; /* must match .sidebar-interior-mobile-button; needs to be overrideen by .open */
  padding: 0 !important; /* !important overrides semantic ui styling; needs to be overrideen by .open */
  z-index: 10;
}
#product-list .product-sidebar .field {
  display: block;
  margin: 0.5rem 0;
}
#product-list .product-sidebar .product-intro {
  max-width: 15rem;
  hyphens: none;
  margin-bottom: 1.15rem;
}
#product-list .product-sidebar .product-intro p {
  font-family: 'Gelion', sans-serif;
  line-height: 1.4em;
  font-size: 1rem;
}
#product-list .type-checkboxes {
  border-top: 1px solid;
  margin-top: 1rem;
  padding-top: 0.5rem;
}
/* mobile specific styling */
#product-list .sidebar-interior-mobile-button {
  display: block;
	position: fixed;
	top: 2.55rem;
	left: 0;
	right: 2.25rem;
	height: 2.3rem;
	padding: 0 1rem;
	line-height: 2.3rem;
	background: #c1d1cc;
  z-index: 5;
}
#product-list .sidebar-interior-mobile-button > span:not(.subtle) {
  margin: 0 0.5rem;
  font-family: 'Gelion', sans-serif;
}
#product-list .sidebar-interior-mobile-button > span.subtle {
  color: #aabdb7;
}
/* sidebar on mobile when toggled 'open' */
#product-list .product-sidebar .sidebar-interior {
  visibility: hidden;
}
#product-list .product-sidebar.open .sidebar-interior {
  visibility: visible;
}
#product-list .product-sidebar.open {
  background: rgb(224, 230, 228);
	position: fixed;
	top: 4.85rem;
  height: auto; /* req'd to allow for fit */
  padding: 1rem 1rem !important; /* req'd */
}
@media only screen
 and (min-width: 768px) and (max-width: 1024px) {
   #product-list .product-sidebar.open {
     min-width: 290px !important;
   }
 }
@media only screen
 and (min-width: 835px) {
   #product-list .product-sidebar {
     background: transparent;
     position: inherit;
     top: auto;
     z-index: inherit;
   }
   #product-list .product-sidebar .sidebar-interior {
     position: fixed;
     visibility: visible;
     padding-top: 1rem;
   	 padding-left: 3rem;
   }
   #product-list .sidebar-interior-mobile-button {
     display: none;
   }
   #product-list .product-sidebar .product-intro {
     margin-bottom: 1rem;
   }
 }

 /* product filter sidebar color styling (semantic ui overrides) */
.ui.slider.checkbox .box, .ui.slider.checkbox label {
 color: rgba(32, 42, 50, .4)
}
.ui.slider.checkbox input:focus~.box:before, .ui.slider.checkbox input:focus~label:before {
 background-color: rgba(32, 42, 50, .15);
}
.ui.slider.checkbox .box:hover, .ui.slider.checkbox label:hover {
 color: rgba(32, 42, 50, .8)
}
.ui.slider.checkbox .box:hover::before, .ui.slider.checkbox label:hover::before {
 background: rgba(32, 42, 50, .15)
}
.ui.slider.checkbox input:checked~.box, .ui.slider.checkbox input:checked~label { /* ed */
 color: rgb(32, 42, 50) !important;
}
.ui.slider.checkbox input:checked~.box:before, .ui.slider.checkbox input:checked~label:before { /* ed */
 background-color: #c1d1cc !important
}
.ui.slider.checkbox input:focus:checked~.box, .ui.slider.checkbox input:focus:checked~label {
 color: rgba(32, 42, 50, .95) !important
}
.ui.slider.checkbox input:focus:checked~.box:before, .ui.slider.checkbox input:focus:checked~label:before {
 background-color: #c1d1cc !important
}

/* space added to top of sections on anchor scroll */
#product-list .hearst-product-groups > *[id]:before {
  display: block;
  content: " ";
  margin-top: -7rem;
  height: 7rem;
  visibility: hidden;
}

/* product filter styling — general */
#product-list .anchor {
  margin-bottom: 6rem;
}
#product-list .v65-title, #product-list .hearst-product-groups h2, #product-list .hearst-product-groups h2.ui.header {
  font-family: 'Gelion-Thin', sans-serif;
	font-size: 2rem;
	line-height: 1em;
	margin-bottom: 1rem;
}
#product-list .v65-paging {
  border-bottom: none;
  margin: 0;
}
#product-list .v65-productGroup-product {
  background: #e8e8e8;
  padding: 0;
}
#product-list .v65-product-photo {
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-bottom: 0;
  background: #fff;
}
#product-list .v65-product-photo img {
  max-height: 315px;
}
#product-list .v65-product-addToCart-unitDescription {
  display: none;
}
#product-list .v65-productGroup-product {
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}
#product-list .v65-productGroup-product:hover {
	box-shadow: 0 14px 28px rgba(0,0,0,.22), 0 10px 10px rgba(0,0,0,.22);
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}
#product-list .v65-product-addToCart-price {
  font-size: 1.1rem;
}
#product-list .v65-product-addToCart-price .v65-product-addToCart-originalPrice {
  letter-spacing: normal;
  color: rgba(32, 42, 51, 0.55);
}
#product-list .v65-product-addToCart-priceWrapper {
  margin-bottom: 0;
	font-family: 'Gelion', sans-serif;
	font-weight: bold;
	color: #2e4153ad;
	line-height: 2.5rem;
	height: 2.5rem;
	width: 30%;
	margin-right: 0;
	padding-right: 0.5rem;
	display: inline-block;
	float: none;
}
#product-list .v65-product-addToCart-priceWrapper.two-line-price {
  line-height: 1.25rem;
	height: 2.5rem;
	width: 30%;
	margin-right: 0;
	padding-right: 0.5rem;
	display: inline-block;
	float: left;
}
#product-list .v65-product-addToCart-quantity {
  display: none;
}
/*
#product-list .v65-product-addToCart-quantity input {
  font-family: 'Gelion', sans-serif;
	font-weight: bold;
	color: #687683;
}
#product-list .v65-product-addToCart-quantity input[type=text] {
  border: 1px solid #e4e5e6;
	background: rgba(241, 241, 241, 0.37);
	border-radius: 0.25em;
	height: 2rem;
	line-height: 2rem;
	min-width: 2rem;
	padding: 0;
}
*/
#product-list .v65-product-addToCart-button {
  float: right;
	width: 70%;
	height: 2.5rem;
	line-height: 2.5rem;
}
#product-list .v65-subtitle {
  display: none;
}
#product-list .v65-product-addToCart-button button.defaultBtn {
  width: 100%;
	height: 100%;
	background-color: transparent;
	border: 3px solid #2f4052;
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}
#product-list .v65-product-addToCart-button button.defaultBtn span {
  color: #202a31;
	text-align: center;
	font-family: 'Gelion', sans-serif;
  font-weight: bold;
  height: 2.5em;
	line-height: 2.5em;
  transform: scale(1.0);
  -webkit-transition: all 300ms ease-out;
  -moz-transition: all 300ms ease-out;
  -o-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
}
#product-list .v65-product-addToCart-button button.defaultBtn:hover,
#product-list .v65-product-addToCart-button button.defaultBtn:focus {
  background-color: #2f4052;
}
#product-list .v65-product-addToCart-button button.defaultBtn:hover span,
#product-list .v65-product-addToCart-button button.defaultBtn:focus span { /*overrides global button behavior */
  background-color: transparent;
  color: #f9f9f9;
}
@media only screen
 and (min-width: 835px) and (max-width: 1024px) {
   #product-list .anchor {
     padding-left: 3rem;
   }
   #product-list .hearst-product-groups.twelve.wide.centered.column {
     padding-left: 5.5rem;
   }
 }
@media only screen
 and (min-width: 835px) {
   #product-list .v65-product-photo {
     min-height: 315px;
     cursor: pointer;
   }
   #product-list .v65-product-addToCart-price {
     font-size: 1.2rem;
   	 line-height: 0;
   }
   #product-list .v65-product-photo a {
   	position: absolute;
   	height: 100%;
   }
   #product-list .v65-product-photo a:focus { /* not necessary bc link is actually elsewhere! */
     outline: none;
     box-shadow: none;
     border: none;
   }
   #product-list .v65-product-photo a img {
    position: relative;
    max-height: 315px;
   	top: 50%;
   	transform: translateY(-50%);
   	right: 50%;
    padding-bottom: 1rem;
   }
   #product-list .v65-title, #product-list .hearst-product-groups h2, #product-list .hearst-product-groups h2.ui.header {
    font-size: 3rem;
   	line-height: 1.11em;
   }
 }

/* product boxes styling — 3 across */
#product-list .v65-productGroup-products {
  -ms-display: flex;
  -moz-display: flex;
  -webkit-display: flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#product-list .v65-productGroup-product .v65-product-addToCart .v65-product-addToCart-securityMessage {
  padding: 0.5rem;
  text-align: center;
  font-family: 'Gelion', sans-serif;
}
#product-list .v65-productGroup-product .v65-product-addToCart .v65-product-addToCart-outOfStockMessage {
  padding: 0.5rem;
  font-family: 'Gelion', sans-serif;
}
#product-list .v65-product-addToCart {
  margin-bottom: 0;
	padding: 0.75rem 0.75rem 0.5rem;
}
#product-list.desktop .v65-product-addToCart {
  height: calc(100% - (315px + 3.5rem) ); /* height of parent div minus height of image + title divs, incl padding */
}
#product-list.mobile .v65-product-actionMessage + .v65-product-addToCart {
  margin-top: 1rem;
}
#product-list.desktop .v65-product-actionMessage + .v65-product-addToCart {
  height: auto; /* if action message is present, height must be auto */
}
#product-list .v65-product-addToCart form {
  margin-bottom: 0;
}
#product-list .v65-product-title.v65-title {
  font-family: 'Candide', serif;
  line-height: 1em;
  min-height: 3em;
  padding: 0 1rem 1rem 1rem;
  margin-bottom: 0;
  text-align: center;
  font-size: 1.15rem;
  text-transform: capitalize;
  background: #fff;
}
#product-list #product_title {
  padding: 0 0 1rem 0;
}
#product-list .v65-product-addToCart fieldset {
  padding: 0;
	width: 100%;
	height: 2.5rem;
	line-height: 2.5rem;
}
/* product list action message */
#product-list .v65-product-actionMessage {
  color: #1d7559;
	font-weight: bold;
	font-family: 'Gelion', sans-serif;
  text-align: center;
	margin-top: 1rem;
	margin-bottom: 0;
	position: relative;
}
#product-list .v65-product-actionMessage:after {
	content: "";
	position: absolute;
	bottom: -0.5rem;
	left: 25%;
	width: 50%;
	border: 2px solid #1d7559;
}
@media only screen
  and (max-width: 834px) {
    #product-list .v65-productGroup-product .v65-product-addToCart {
      width: 100%;
      padding: 0.5rem;
      font-size: 0.8em;
    }
    #product-list
}
@media only screen
  and (min-width: 835px) {
    #product-list form.v65-addToCart.v65-addToCartBottle {
    	margin-bottom: 0;
    	padding: 0.7rem 0;
      position: relative;
      top: 50%; /* vertically centers price and add to cart button based on variable div height */
      transform: translateY(-50%);
    }
    #product-list .v65-product-actionMessage + .v65-product-addToCart form.v65-addToCart.v65-addToCartBottle {
      top: auto; /* removes vertical centering where action message is present */
      transform: none;
    }
    #product-list .v65-product-title.v65-title {
      cursor: pointer;
      padding: 0.5rem 1rem 0.5rem 1rem;
    }
}
@media only screen
  and (max-width: 1079px) {
    #product-list .v65-productGroup {
      /*padding-left: 3rem;*/
    }
    #product-list .v65-productGroup-teaser {
      width: 88%; /* width of 3-across products @ 28% each plus two left margins @ 2% each, (28% x 3) + (2% x 4) = 88% */
   }
   #product-list .v65-productGroup-product {
     width: 100%;
     margin-left: 0;
   }
   #product-list .v65-product-addToCart fieldset {
     padding: 0;
   }
   #product-list .v65-productGroup-product .v65-product-addToCart {
     font-size: 1em;
   }
}
@media only screen
  and (min-width: 1080px) and (max-width: 1529px) {
    #product-list .v65-productGroup-teaser {
      width: 88%; /* width of 3-across products @ 28% each plus two left margins @ 2% each, (28% x 3) + (2% x 4) = 88% */
   }
   #product-list .v65-productGroup-product {
     width: 42%;
   }
   #product-list .v65-productGroup-product:nth-of-type(odd) {
     margin-left: 0;
   }
   #product-list .v65-productGroup-product:nth-last-child(1) {
     margin-left: 2%;
   }
   #product-list .v65-productGroup-product:nth-of-type(odd):nth-last-child(1) {
     margin-left: 0;
   }
}
@media only screen
  and (min-width: 1530px) and (max-width: 1949px){
    #product-list .v65-productGroup-teaser {
      width: 88%; /* width of 3-across products @ 28% each plus two left margins @ 2% each, (28% x 3) + (2% x 4) = 88% */
   }
   #product-list .v65-productGroup-product {
     width: 28%;
   }
   #product-list .v65-productGroup-product:nth-child(3n+1) {
     margin-left: 0;
   }
}
@media only screen
  and (min-width: 1950px) {
    #product-list .v65-productGroup-teaser {
      width: 88%; /* width of 3-across products @ 28% each plus two left margins @ 2% each, (28% x 3) + (2% x 4) = 88% */
   }
   #product-list .v65-productGroup-product {
     width: 20.5%;
   }
   #product-list .v65-productGroup-product:nth-child(4n+1) {
     margin-left: 0;
   }
}

/* ---------------------
   product drilldown template -- general
   --------------------- */
#product-drilldown .v65-productAddToCart-drilldown {
  display: none;
}
#product-drilldown .v65-product-description {
 font-size: 1rem;
 max-width: 35rem;
 margin-bottom: 1.25rem;
}
#product-drilldown .v65-productWrapper .v65-product-leftCol {
 padding: 0 1rem;
 width: 100%;
}
#product-drilldown .drilldown-add-details {
 display: none;
}
#product-drilldown .price-only .v65-product-addToCart {
  margin-top: 1.75rem;
}
#product-drilldown .price-only .v65-product-addToCart-button {
  margin-left: -5px;
}
#product-drilldown .price-only .v65-product-addToCart-button button.defaultBtn span {
  color: #a9a299;
	text-align: center;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: .15em;
}
#product-drilldown .price-only .v65-product-addToCart fieldset {
  margin: -0.5rem 0 0;
}
#product-drilldown .price-only .v65-product-addToCart-quantity input[type="text"] {
  width: 20%;
}
#product-drilldown .price-only button.defaultBtn.add-to-cart {
  width: 60%;
}
@media only screen
and (min-width: 835px) {
  #product-drilldown h1.ui.header:before {
   content: "";
   border-bottom: 3px solid rgba(45, 64, 81, 0.05);
   position: absolute;
   width: 35rem;
   margin-top: 4rem;
   z-index: 1;
  }
  #product-drilldown .v65-product-photo {
    position: inherit;
  }
  #product-drilldown .price-only fieldset {
    width: 100%;
    max-width: 35rem;
  }
  #product-drilldown .v65-product-photo img {
    max-width: 100%;
    height: 60vh;
    padding: 1.5rem;
    object-fit: scale-down;
    box-shadow: 0 14px 28px rgba(0,0,0,.22), 0 10px 10px rgba(0,0,0,.22);
  }
  #product-drilldown .v65-product-addToCart-selectBox {
    display: inline-block;
  }
  #product-drilldown .v65-productWrapper .v65-product-leftCol {
   padding: 0 0 0 3rem;
   width: 62.5%;
  }
}
/* overriding vin65 styling */
@media only screen
and (max-width: 580px) {
    #product-drilldown .v65-productWrapper .v65-product-addToCart .v65-addToCart {
    margin-bottom: 0;
    border-top: none;
    border-bottom: none;
    padding: 0;
  }
}

/* ---------------------
   product drilldown template -- wine
   --------------------- */

/* switching and overriding vin65 styles */
#product-drilldown .v65-productWrapper .v65-product-rightCol {
  display: none;
}
#product-drilldown .v65-productWrapper.v65-group {
  width: 100%;
  max-width: 1380px;
  margin: auto;
}
#product-drilldown .v65-productWrapper {
  padding: 0;
}

/* overall styling */
#product-drilldown .product-drilldown-bg {
  background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	background-blend-mode: multiply;
	width: 100%;
	height: 25vh;
	bottom: 0;
	position: fixed;
	z-index: -5;
}
#product-drilldown .desktop-tagline {
  display: none !important; /* tagline conflicts with desktop content, !important overrides inline display:block, needed for animation */
}
#product-drilldown h1.ui.header .quotes {
  font-family: 'Candide', serif;
  letter-spacing: -0.02em;
}
.ui.accordion .title:not(.ui) {
  font-family: 'Gelion', sans-serif;
  font-size: 1rem;
}
#product-drilldown.wine-drilldown-page .ui.fluid.accordion, #product-drilldown.wine-drilldown-page .ui.fluid.accordion .accordion {
  margin-left: -0.25rem;
}
#product-drilldown.wine-drilldown-page .v65-productAddToCart-drilldown {
  display: initial;
}
#product-drilldown.wine-drilldown-page .v65-productAddToCart-drilldown > .v65-product-actionMessage {
  font-weight: normal;
  color: #2d4051;
  letter-spacing: -.01em;
  margin-top: 1rem;
  margin-bottom: 2rem;
  border-top: 1px solid #dad8d8;
  border-bottom: 1px solid #dad8d8;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  max-width: 35rem;
  font-family: 'Gelion-Thin', sans-serif;
  font-size: 1.5rem;
}
#product-drilldown.wine-drilldown-page .v65-productAddToCart-drilldown > .v65-product-actionMessage::after {
  content: none;
}
#product-drilldown main footer:before {
  background: none; /* removes background overlay on footer which conflicts with product drilldown background */
}

/* text (left side) styling */
#product-drilldown h1.ui.header {
  width: 100%;
	font-weight: normal;
	color: #2d4051;
	letter-spacing: -.01em;
  margin-bottom: 0;
  text-align: center;
  font-size: 1.8rem;
  padding-bottom: 0.5rem;
	border-bottom: 1px solid #e3e4e5;
}
#product-drilldown.wine-drilldown-page .drilldown-header {
  margin: 0 -1rem;
}
#product-drilldown.wine-drilldown-page .drilldown-header h2.ui.header {
  display: none;
}
#product-drilldown.wine-drilldown-page .drilldown-main-info .v65-product-brand {
  display: none;
}
#product-drilldown.wine-drilldown-page .drilldown-main-info .v65-wine-varietal {
  margin-top: -0.75rem;
  display: inline-block;
}
#product-drilldown.wine-drilldown-page .drilldown-main-info .v65-wine-varietal > .v65-product-attributeLabel {
  display: none;
}
#product-drilldown.wine-drilldown-page .drilldown-main-info .v65-wine-varietal > .v65-product-attributeValue {
  font-family: 'Gelion', sans-serif;
	font-weight: bold;
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: rgba(45, 64, 81, 0.4);
  margin-bottom: 0.15rem;
}
#product-drilldown.wine-drilldown-page .v65-product-description {
  font-size: 1rem;
  max-width: 37rem;
  margin-bottom: 1.25rem;
}
#product-drilldown.wine-drilldown-page .v65-wine-awards.v65-product-attribute .v65-product-attributeLabel {
  font-weight: normal;
	color: #2d4051;
	letter-spacing: -.01em;
	margin-bottom: 1rem;
	font-family: 'Gelion-Thin', sans-serif;
	font-size: 2rem;
}
#product-drilldown.wine-drilldown-page .v65-wine-awards.v65-product-attribute .v65-product-attributeValue {
  font-size: 1rem;
	max-width: 35rem;
}
#product-drilldown.wine-drilldown-page .v65-product-addToCart {
  max-width: 30.5rem;
}
#product-drilldown.wine-drilldown-page .v65-product-addToCart-priceWrapper {
  float: right;
  margin-right: 0;
}
#product-drilldown.wine-drilldown-page .v65-product-addToCart-unitDescription {
  display: none;
}
#product-drilldown.wine-drilldown-page .v65-product-availability {
  font-family: 'Gelion', sans-serif;
	font-weight: bold;
  font-style: normal;
	font-size: 0.55em;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: rgba(45, 64, 81, 0.9);
  text-align: right;
	max-width: 35rem;
  position: relative;
}
#product-drilldown.wine-drilldown-page .v65-product-availability:before {
  content: "";
	border-top: 2px solid;
	position: absolute;
	width: calc( 100% - 8em );
	left: 0;
	margin-top: 0.5rem;
}
#product-drilldown.wine-drilldown-page .add-to-cart {
  display: initial;
}
#product-drilldown.wine-drilldown-page .add-to-cart .v65-product-addToCart {
  margin-top: 1rem;
}
#product-drilldown.wine-drilldown-page .add-to-cart .v65-product-addToCart-button {
  margin-left: -5px;
}
#product-drilldown.wine-drilldown-page .add-to-cart .v65-product-addToCart-button button.defaultBtn span {
  color: #f1f1f1;
	text-align: center;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: .15em;
}
#product-drilldown.wine-drilldown-page .add-to-cart .v65-product-addToCart-button button.defaultBtn:hover span {
  color: #515f59;
}
#product-drilldown.wine-drilldown-page .add-to-cart .v65-product-addToCart fieldset {
  margin: -0.5rem 0 0;
}
#product-drilldown.wine-drilldown-page .add-to-cart .v65-product-addToCart fieldset > .v65-product-addToCart-securityMessage {
  width: 100%;
	font-family: 'Gelion', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.1rem;
	font-size: 0.6rem;
	font-weight: bold;
	line-height: 1rem;
	border: none;
	outline: #fff;
	color: #f1f1f1;
	padding: 0.35rem 0 0.35rem 0.5rem;
	background: #41382c;
}
#product-drilldown.wine-drilldown-page .add-to-cart .v65-product-addToCart-quantity input[type="text"] {
  width: 20%;
}
#product-drilldown.wine-drilldown-page .add-to-cart button.defaultBtn.add-to-cart {
  width: 60%;
}
#product-drilldown.wine-drilldown-page .add-to-cart .v65-product-addToCart-price {
  display: none;
}
#product-drilldown.wine-drilldown-page .price-only .v65-product-addToCart {
  margin-top: initial;
}
#product-drilldown.wine-drilldown-page .price-only .v65-product-addToCart-button {
  margin-left: initial;
}
#product-drilldown.wine-drilldown-page .price-only .v65-product-addToCart-button button.defaultBtn span {
  color: initial;
	text-align: initial;
	font-weight: initial;
	text-transform: initial;
	letter-spacing: initial;
}
#product-drilldown.wine-drilldown-page .price-only .v65-product-addToCart fieldset {
  margin: initial;
  position: relative;
}
#product-drilldown.wine-drilldown-page .price-only .v65-product-addToCart-quantity input[type="text"] {
  width: initial;
}
#product-drilldown.wine-drilldown-page .price-only button.defaultBtn.add-to-cart {
  width: initial;
}
#product-drilldown.wine-drilldown-page .price-only {
  display: inline-block;
  margin: 0;
  height: 1rem;
}
#product-drilldown.wine-drilldown-page .price-only .v65-product-addToCart-quantity, #product-drilldown.wine-drilldown-page .price-only .v65-product-addToCart-button {
  display: none;
}
#product-drilldown.wine-drilldown-page .price-only .v65-product-addToCart-priceWrapper,
#product-drilldown.wine-drilldown-page .price-only {
  font-family: 'Gelion', sans-serif;
	font-weight: bold;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	color: rgba(45, 64, 81, 0.4);
  margin-top: inherit;
  float: right;
}
#product-drilldown.wine-drilldown-page .price-only .v65-product-addToCart-securityMessage {
  display: none;
}
#product-drilldown.wine-drilldown-page .price-only .v65-product-addToCart-price {
  font-size: inherit;
  vertical-align: middle;
  margin-left: 2rem;
}
#product-drilldown.wine-drilldown-page .drilldown-add-details {
  display: initial;
  max-width: 35rem;
}
#product-drilldown.wine-drilldown-page .drawer {
  max-width: 35rem;
	border-bottom: 1px solid #dad8d8;
	padding-bottom: 0.5rem;
	margin-bottom: 0.75rem;
}
#product-drilldown.wine-drilldown-page .drilldown-add-details .content {
	margin-left: 1.5rem;
  margin-bottom: 0.5rem;
  max-width: 36rem;
}
#product-drilldown.wine-drilldown-page .drawer .v65-wine-specs .v65-product-attributeLabel {
  text-align: left;
}
#product-drilldown.wine-drilldown-page .drawer .v65-product-attributeLabel {
  display: none;
}
#product-drilldown.wine-drilldown-page .drawer .v65-product-attributeValue {
  font-size: 1rem;
  line-height: 1.5rem;
  font-family: 'Gelion', sans-serif;
  hyphens: none;
  margin-bottom: 0;
}
/* makes tech specs drawer formatting work */
#product-drilldown.wine-drilldown-page .drawer .v65-wine-specs {
  width: 100%;
}
#product-drilldown.wine-drilldown-page .drawer .v65-wine-specs .v65-wine-specs-title {
  display: none;
}
#product-drilldown.wine-drilldown-page .drawer .v65-wine-specs .v65-product-attributeLabel {
  display: inline-block;
	font-family: 'Gelion', sans-serif;
	font-size: 1.1rem;
	line-height: 1.4em;
	width: initial;
	margin-bottom: 0;
}
#product-drilldown.wine-drilldown-page .drawer .v65-wine-specs .v65-product-attributeValue {
  line-height: 1.4em;
	font-family: 'Gelion', sans-serif;
	font-size: 1.1rem;
	margin-bottom: 0;
}
.v65-productWrapper .v65-product-leftCol .v65-wine-specs { /* overriding WD styling */
  border-bottom: none;
}
/* mobile-only product images */
#product-drilldown .product-image-mobile {
  border-top: 1px solid #e3e4e5;
  padding-top: 1rem;
  margin: 0 -1rem 0.5rem;
}
#product-drilldown .product-image-mobile .v65-product-photo {
  margin-bottom: 0;
}
#product-drilldown .product-image-mobile .v65-product-photo img {
  height: 50vh;
}
@media only screen
 and (min-width: 835px) {
   #product-drilldown .product-image-mobile {
     display: none;
   }
   #product-drilldown h1.ui.header {
     font-size: 2.5rem;
     text-align: left;
     padding-bottom: inherit;
   	 border-bottom: none;
     white-space: nowrap;
   }
   #product-drilldown .v65-productWrapper {
     padding: initial;
   }
   #product-drilldown.wine-drilldown-page .v65-productWrapper.v65-group {
     min-height: 100vh;
   }
   #product-drilldown.wine-drilldown-page .v65-productWrapper .v65-product-leftCol {
     padding-left: 4rem;
     margin-top: 3rem;
   }
   #product-drilldown.wine-drilldown-page .drilldown-header h2.ui.header {
     display: block;
     visibility: hidden;
     height: 3rem;
   }
   #product-drilldown.wine-drilldown-page .drilldown-header {
     margin-right: inherit;
     margin-left: inherit;
   }
   #product-drilldown.wine-drilldown-page h1.ui.header:before {
     content: "";
   	 border-bottom: 3px solid rgba(45, 64, 81, 0.05);
   	 position: absolute;
   	 width: 78%;
   	 margin-top: 3rem;
   	 z-index: 0;
   }
   #product-drilldown.wine-drilldown-page .v65-product-description {
     margin-top: 3rem;
   }
   #product-drilldown.wine-drilldown-page .add-to-cart .v65-product-addToCart {
     margin-top: 1.75rem;
   }
   #product-drilldown .v65-productWrapper .v65-product-rightCol {
     display: block;
     width: 32.5%;
     margin-top: 3rem;
   }
   #product-drilldown.wine-drilldown-page .drilldown-main-info .v65-wine-varietal > .v65-product-attributeValue {
     margin-bottom: inherit;
   }
   #product-drilldown.wine-drilldown-page .price-only .v65-product-addToCart-priceWrapper,
   #product-drilldown.wine-drilldown-page .price-only {
     float: none;
     margin-top: 0.09rem;
   }
   #product-drilldown.wine-drilldown-page .v65-product-photo {
     position: relative;
   }
   #product-drilldown.wine-drilldown-page .v65-product-photo img {
     width: auto;
     	max-width: inherit;
     	height: 88.5vh;
     	position: fixed;
     	left: 70%; /* (leftCol width = 62.5%) + ((rightCol width = 32.5%) / 2 = 16.25) = 78.75% - half width of bottle, rounded */
      top: inherit;
      box-shadow: none;
   }
   #product-drilldown.wine-drilldown-page .drawer .v65-wine-specs {
     width: 50%;
   }
   #product-drilldown.wine-drilldown-page .v65-wine-awards.v65-product-attribute .v65-product-attributeValue {
     font-size: 1.2rem;
     line-height: 1.6em;
   	 max-width: 35rem;
   }
}
@media only screen
 and (min-width: 1050px) {
   #product-drilldown.wine-drilldown-page .v65-product-photo {
     margin-top: -3%;
   }
   #product-drilldown.wine-drilldown-page .v65-product-photo img {
     height: 95vh;
   }
}
@media only screen
 and (min-width: 1050px) and (min-height: 1101px) {
   #product-drilldown.wine-drilldown-page .v65-product-photo {
     left: 62%
   }
   #product-drilldown.wine-drilldown-page .v65-product-photo img {
     height: 108vh;
     margin-top: -11vh;
   }
}
@media only screen
 and (min-width: 1140px) and (max-height: 1100px) {
   #product-drilldown.wine-drilldown-page .v65-product-photo {
     margin-top: -8%;
  }
  #product-drilldown.wine-drilldown-page .v65-product-photo img {
    height: 100vh;
    left: 69%;
  }
}
@media only screen
 and (min-width: 1200px) and (max-height: 1100px) {
   #product-drilldown.wine-drilldown-page .v65-product-photo {
     margin-top: -13vh;
  }
  #product-drilldown.wine-drilldown-page .v65-product-photo img {
    height: 110vh;
    left: 66%;
  }
}
@media only screen
 and (min-width: 1230px) and (max-height: 1100px){
   #product-drilldown.wine-drilldown-page .v65-product-photo {
    margin-top: -15vh;
  }
  #product-drilldown.wine-drilldown-page .v65-product-photo img {
    height: 120vh;
  }
}
@media only screen
 and (min-width: 1280px) and (max-height: 1100px) {
   #product-drilldown.wine-drilldown-page .v65-product-photo {
     margin-top: -17vh;
   }
}
@media only screen
 and (min-width: 1315px) and (max-height: 1100px) {
   #product-drilldown.wine-drilldown-page .v65-product-photo {
     margin-top: -25vh;
   }
   #product-drilldown.wine-drilldown-page .v65-product-photo img {
     height: 125vh;
   }
}
@media only screen
 and (min-width: 1345px) and (max-height: 1100px) {
   #product-drilldown.wine-drilldown-page .v65-product-photo {
     margin-top: -25vh;
   }
   #product-drilldown.wine-drilldown-page .v65-product-photo img {
     height: 125vh;
     left: 65%;
   }
}

/* related products */

#product-drilldown.wine-drilldown-page .v65-product-relatedProducts {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 62.5%;
  padding: 0 1.5rem;
  margin: 5rem 0 0 0;
}

@media screen and (min-width: 835px) {
  #product-drilldown.wine-drilldown-page .v65-product-relatedProducts {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    padding: 0 3rem;
    margin: 2rem 0 0 0;
  }
}

#product-drilldown.wine-drilldown-page .v65-product-relatedProducts .v65-product-relatedProducts-title.v65-title {
  flex: 1 0 100%;
  font-family: 'Gelion', sans-serif;
  font-weight: bold;
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: rgba(45, 64, 81, 0.4);
}

#product-drilldown.wine-drilldown-page .v65-product-relatedProducts .v65-product-relatedProducts-product {
  float: none;
  width: 47%;
  height: fit-content;
  text-align: left;
}

@media screen and (min-width: 835px) {
  #product-drilldown.wine-drilldown-page .v65-product-relatedProducts .v65-product-relatedProducts-product {
    width: 23.5%;
  }
}

#product-drilldown.wine-drilldown-page.desktop .v65-product-relatedProducts.v65-group > div:nth-child(5n) {
  margin-right: 0 !important;
}

#product-drilldown.wine-drilldown-page .v65-product-relatedProducts .v65-product-title {
  display: block;
  font-family: 'Gelion', sans-serif;
  font-size: 0.75rem;
  text-align: left;
  line-height: 1.2em;
  min-height: 2em; /* 2x line-height */
}

#product-drilldown.wine-drilldown-page .v65-product-relatedProducts .v65-product-addToCart fieldset .v65-product-addToCart-button button {
  width: 60%;
}

@media screen and (min-width: 1100px) {
  #product-drilldown.wine-drilldown-page .v65-product-relatedProducts .v65-product-addToCart fieldset .v65-product-addToCart-button button {
    width: 70%;
  }
}

@media screen and (min-width: 1630px) {
  #product-drilldown.wine-drilldown-page .v65-product-relatedProducts .v65-product-addToCart fieldset .v65-product-addToCart-button button {
    width: 80%;
  }
}

#product-drilldown.wine-drilldown-page .v65-product-relatedProducts .v65-product-addToCart-priceWrapper {
  display: inline-block;
  font-family: 'Gelion', sans-serif;
  font-size: 0.75rem;
  text-align: left;
  line-height: 1.2em;
  margin-right: 0;
}

@media screen and (min-width: 835px) {
  #product-drilldown.wine-drilldown-page .v65-product-relatedProducts .v65-product-addToCart-priceWrapper {
    margin-right: 1em;
  }
}

#product-drilldown.wine-drilldown-page .v65-product-relatedProducts .v65-product-addToCart-price {
  font-weight: normal;
  font-family: 'Gelion', sans-serif;
  font-size: 0.75rem;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.075rem;
}

#product-drilldown.wine-drilldown-page .v65-product-relatedProducts .v65-product-addToCart {
  text-align: right;
}

#product-drilldown.wine-drilldown-page .v65-product-relatedProducts .v65-product-addToCart fieldset {
  width: 100%;
  outline: 1px solid #41382d;
  text-align: right;
}

#product-drilldown.wine-drilldown-page .v65-product-relatedProducts .v65-product-addToCart-unitDescription {
  display: none;
}

#product-drilldown.wine-drilldown-page .v65-product-relatedProducts-product .v65-product-photo {
  max-height: 40%;
  overflow: hidden;
}

#product-drilldown.wine-drilldown-page .v65-product-relatedProducts-product .v65-product-photo img {
  width: 100%;
  padding: 0;
  object-fit: cover;
  object-position: center bottom;
  box-shadow: none;
  background: transparent;
}

@media screen and (min-width: 835px) {
  #product-drilldown.wine-drilldown-page .v65-product-relatedProducts-product .v65-product-photo img {
    width: 100%;
    min-height: 360px;
    max-height: 360px;
  }
}

/* ---------------------
  product drilldown template -- merchandise
  --------------------- */

#product-drilldown.wine-drilldown-page.gift-set .drilldown-add-details {
  display: none;
}

/* product info */

@media only screen and (min-width: 835px) {
  #product-drilldown.merchandise .v65-productWrapper .v65-product-leftCol {
    padding-left: 4rem;
    margin-top: 3rem;
  }
}

@media only screen and (min-width: 835px) {
  #product-drilldown.merchandise h1.ui.header:before {
    content: "";
    border-bottom: 3px solid rgba(45, 64, 81, 0.05);
    position: absolute;
    margin-top: 3rem;
    z-index: 0;
  }
}

#product-drilldown.merchandise .drilldown-header h2.ui.header {
  display: block;
  visibility: hidden;
  height: 0.25rem;
}

@media only screen and (min-width: 835px) {
  #product-drilldown.merchandise .drilldown-header h2.ui.header {
    height: 3rem;
  }
}

#product-drilldown.merchandise .drilldown-main-info .v65-product-brand {
  font-family: 'Gelion', sans-serif;
  font-weight: bold;
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: rgba(45, 64, 81, 0.4);
  text-align: center;
}

@media only screen and (min-width: 835px) {
  #product-drilldown.merchandise .drilldown-main-info .v65-product-brand {
    margin-top: 0.09rem;
    text-align: left;
  }
}

#product-drilldown.merchandise .product-image-mobile {
  border-top: none;
}

#product-drilldown.merchandise .v65-product-description {
  margin-top: 1.5em;
}

@media only screen and (min-width: 835px) {
  #product-drilldown.merchandise .v65-product-description {
    margin-top: 3rem;
  }
}

#product-drilldown.merchandise .v65-product-addToCart-quantity {
  display: none;
}

#product-drilldown.merchandise .v65-product-addToCart fieldset {
  width: 100%;
  text-align: left;
}

#product-drilldown.merchandise .v65-product-addToCart fieldset .v65-product-addToCart-button button {
  width: auto;
  height: 2rem;
  line-height: 2rem;
}

#product-drilldown.merchandise .v65-product-addToCart fieldset .v65-product-addToCart-button button span {
  height: 2rem;
  line-height: 2rem;
}

#product-drilldown.merchandise .v65-product-addToCart-selectBox {
  position: relative;
  width: 100%;
	height: 2.5rem;
	line-height: 2.5rem;
	padding: 0 0 0 0.25rem;
	margin-bottom: 0.5rem;
	border: 1px solid #abb7c3;
}

#product-drilldown.merchandise .v65-product-addToCart-selectBox:after {
	content: url("data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='arrow-down' class='svg-inline--fa fa-arrow-down fa-w-14' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%231d7559' d='M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z'%3E%3C/path%3E%3C/svg%3E");
  position: absolute;
  pointer-events: none;
  background: #f1f1f1;
  top: 0.35em;
  right: 0.3em;
  width: 1.5rem;
  line-height: 1rem;
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

#product-drilldown.merchandise .v65-product-addToCart-selectBox span.select-wrapper select {
  width: 100% !important;
  font-size: 1.2rem;
  height: 2.25rem;
  line-height: 2.25rem;
}

#product-drilldown.merchandise .price-only {
  width: 100%;
  display: block;
}

#product-drilldown.merchandise .price-only .v65-product-addToCart {
  margin-top: 0;
}

#product-drilldown.merchandise .price-only .v65-product-addToCart-button {
  width: 100%;
	display: block;
	height: 2.5rem;
	line-height: 2.5rem;
	margin: 0;
}

#product-drilldown.merchandise .price-only button.defaultBtn.add-to-cart {
  width: 100%;
}

#product-drilldown.merchandise .v65-product-addToCart-outOfStockMessage {
  font-family: 'Gelion', sans-serif;
  font-size: 0.75rem;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.075rem;
  padding: 0.5em;
  outline: 1px solid #a1aebb;
  margin-top: 0.25rem;
}

/* product images */

#product-drilldown.merchandise .product-image-mobile .v65-product-photo img {
  box-shadow: 0 14px 28px rgba(0,0,0,.22), 0 10px 10px rgba(0,0,0,.22);
}

#product-drilldown.merchandise.desktop .v65-product-photos-photo {

}

/* related products */

#product-drilldown.merchandise .v65-product-relatedProducts {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  padding: 0 1.5rem;
  margin: 2.5rem 0 0 0;
}

@media screen and (min-width: 835px) {
  #product-drilldown.merchandise .v65-product-relatedProducts {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    background: #ffffff63;
    padding: 2rem 2rem 0;
    margin: 3rem;
  }
}

#product-drilldown.merchandise .v65-product-relatedProducts .v65-product-relatedProducts-title.v65-title {
  flex: 1 0 100%;
  font-family: 'Gelion', sans-serif;
  font-weight: bold;
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: rgba(45, 64, 81, 0.4);
}

#product-drilldown.merchandise .v65-product-relatedProducts .v65-product-relatedProducts-product {
  float: none;
  width: 47%;
  height: fit-content;
  text-align: left;
}

@media screen and (min-width: 835px) {
  #product-drilldown.merchandise .v65-product-relatedProducts .v65-product-relatedProducts-product {
    width: 23.5%;
  }
}

#product-drilldown.merchandise.desktop .v65-product-relatedProducts.v65-group > div:nth-child(5n) {
  margin-right: 0 !important;
}

#product-drilldown.merchandise .v65-product-relatedProducts .v65-product-title {
  display: block;
  font-family: 'Gelion', sans-serif;
  font-size: 0.75rem;
  text-align: left;
  line-height: 1.2em;
  min-height: 2em; /* 2x line-height */
}

#product-drilldown.merchandise .v65-product-relatedProducts .v65-product-addToCart fieldset .v65-product-addToCart-button button {
  width: 60%;
}

@media screen and (min-width: 1100px) {
  #product-drilldown.merchandise .v65-product-relatedProducts .v65-product-addToCart fieldset .v65-product-addToCart-button button {
    width: 70%;
  }
}

@media screen and (min-width: 1630px) {
  #product-drilldown.merchandise .v65-product-relatedProducts .v65-product-addToCart fieldset .v65-product-addToCart-button button {
    width: 80%;
  }
}

#product-drilldown.merchandise .v65-product-relatedProducts .v65-product-addToCart-priceWrapper {
  display: inline-block;
  font-family: 'Gelion', sans-serif;
  font-size: 0.75rem;
  text-align: left;
  line-height: 1.2em;
  margin-right: 0;
}

@media screen and (min-width: 835px) {
  #product-drilldown.merchandise .v65-product-relatedProducts .v65-product-addToCart-priceWrapper {
    margin-right: 1em;
  }
}

#product-drilldown.merchandise .v65-product-relatedProducts .v65-product-addToCart-price {
  font-weight: normal;
  font-family: 'Gelion', sans-serif;
  font-size: 0.75rem;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.075rem;
}

#product-drilldown.merchandise .v65-product-relatedProducts .v65-product-addToCart {
  text-align: right;
}

#product-drilldown.merchandise .v65-product-relatedProducts .v65-product-addToCart fieldset {
  width: 100%;
  outline: 1px solid #41382d;
  text-align: right;
}

#product-drilldown.merchandise .v65-product-relatedProducts .v65-product-addToCart-unitDescription {
  display: none;
}

#product-drilldown.merchandise .v65-product-relatedProducts-product .v65-product-photo {
  max-height: 40%;
  overflow: hidden;
}

#product-drilldown.merchandise .v65-product-relatedProducts-product .v65-product-photo img {
  width: 100%;
  padding: 0;
  object-fit: cover;
  object-position: center bottom;
  box-shadow: none;
  background: transparent;
}

@media screen and (min-width: 835px) {
  #product-drilldown.merchandise .v65-product-relatedProducts-product .v65-product-photo img {
    width: 100%;
    min-height: 360px;
    max-height: 360px;
  }
}

/* ---------------------
   chat widget
   --------------------- */

@media only screen /* tablet portrait */
  and (min-device-width: 768px)
  and (max-device-width: 1024px)
  and (orientation: portrait)
  and (-webkit-min-device-pixel-ratio: 1) {
    #chat-widget-container {
      bottom: 3.7rem !important;
    }
  }
